/* Code generated by Azure.Iot.Operations.ProtocolCompilerLib v0.10.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};

/// Additional details about an error
#[derive(Serialize, Deserialize, Debug, Clone, Builder)]
pub struct SchemaRegistryErrorDetails {
    /// Multi-part error code for classification and root causing of errors (e.g., '400.200').
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub code: Option<String>,

    /// Correlation ID for tracing the error across systems.
    #[serde(rename = "correlationId")]
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub correlation_id: Option<String>,

    /// Human-readable helpful error message to provide additional context for the error
    #[serde(skip_serializing_if = "Option::is_none")]
    #[builder(default = "None")]
    pub message: Option<String>,
}
