/* Code generated by Azure.Iot.Operations.ProtocolCompilerLib v1.0.0.0; DO NOT EDIT. */
#![allow(unused_imports)]

use std::collections::HashMap;

use chrono::{DateTime, Utc};
use derive_builder::Builder;
use iso8601_duration::Duration;
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use super::super::common_types::{b64::Bytes, date_only::Date, decimal::Decimal, time_only::Time};
use super::akri_service_error::AkriServiceError;
use super::device_status::DeviceStatus;

/// Response containing the updated device status or error details if the update failed.
#[derive(Serialize, Deserialize, Debug, Clone, Builder)]
pub struct UpdateDeviceStatusResponseSchema {
    /// The updated device status containing the specific inbound endpoint status as specified by the request.
    #[serde(rename = "updatedDeviceStatus")]
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub updated_device_status: Option<DeviceStatus>,

    /// Error for the 'updateDeviceStatus' Action.
    #[serde(rename = "updateDeviceStatusError")]
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub update_device_status_error: Option<AkriServiceError>,
}
