/* 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};

#[derive(Serialize, Deserialize, Debug, Clone, Builder)]
pub struct EdgeRegistryError {
    /// HTTP-style response code.
    pub code: u64,

    /// Detailed error description.
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub detail: Option<String>,

    /// The component that raised the error.
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub source: Option<String>,

    /// HTTP-style response status text.
    pub status: String,

    /// The XID of the entity being processed when the error occurred, if applicable.
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub subject: Option<String>,

    /// Short human-readable error title.
    pub title: String,

    /// URI identifying the error type.
    #[serde(rename = "type")]
    pub r#type: String,
}
