redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
// Generated by redfish-codegen. Do not modify.

use crate::models;

/// The LogService schema contains properties for monitoring and configuring a log service.  When the Id property contains `DeviceLog`, the log contains device-resident log entries that follow the physical device when moved from system-to-system, and not a replication or subset of a system event log.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct LogService {
    #[serde(rename = "@odata.context")]
    #[serde(skip_deserializing)]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub odata_context: Option<models::odata_v4::Context>,
    #[serde(rename = "@odata.etag")]
    #[serde(skip_deserializing)]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub odata_etag: Option<models::odata_v4::Etag>,
    #[serde(rename = "@odata.id")]
    #[serde(skip_deserializing)]
    pub odata_id: models::odata_v4::Id,
    #[serde(rename = "@odata.type")]
    #[serde(skip_deserializing)]
    #[derivative(Default(value = "models::odata_v4::Type(\"#LogService.v1_4_0.LogService\".to_string())"))]
    pub odata_type: models::odata_v4::Type,
    #[serde(rename = "Actions")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub actions: Option<models::log_service::v1_4_0::Actions>,
    /// An indication of whether the log service is configured for automatic Daylight Saving Time (DST) adjustment.
    #[serde(rename = "AutoDSTEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub auto_dst_enabled: Option<bool>,
    /// The current date and time with UTC offset of the log service.
    #[serde(rename = "DateTime")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub date_time: Option<String>,
    /// The time offset from UTC that the DateTime property is in `+HH:MM` format.
    #[serde(rename = "DateTimeLocalOffset")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub date_time_local_offset: Option<String>,
    #[serde(rename = "Description")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub description: Option<models::resource::Description>,
    #[serde(rename = "Entries")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub entries: Option<models::odata_v4::IdRef>,
    #[serde(rename = "Id")]
    #[serde(skip_deserializing)]
    pub id: models::resource::Id,
    #[serde(rename = "LogEntryType")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub log_entry_type: Option<models::log_service::v1_4_0::LogEntryTypes>,
    /// The purposes of the log.
    #[serde(rename = "LogPurposes")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub log_purposes: Option<Vec<models::log_service::v1_4_0::LogPurpose>>,
    /// The maximum number of log entries that this service can have.
    #[serde(rename = "MaxNumberOfRecords")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub max_number_of_records: Option<i64>,
    #[serde(rename = "Name")]
    #[serde(skip_deserializing)]
    pub name: models::resource::Name,
    /// The OEM-specified purpose of the log if LogPurposes contains `OEM`.
    #[serde(rename = "OEMLogPurpose")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem_log_purpose: Option<String>,
    #[serde(rename = "Oem")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem: Option<models::resource::Oem>,
    #[serde(rename = "OverWritePolicy")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub over_write_policy: Option<models::log_service::v1_4_0::OverWritePolicy>,
    /// Indicates whether the log service has overflowed.
    #[serde(rename = "Overflow")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub overflow: Option<bool>,
    /// Indicates whether the log service is persistent across a cold reset.
    #[serde(rename = "Persistency")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub persistency: Option<bool>,
    /// An indication of whether this service is enabled.
    #[serde(rename = "ServiceEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub service_enabled: Option<bool>,
    #[serde(rename = "Status")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub status: Option<models::resource::Status>,
    /// A list of syslog message filters to be logged locally.
    #[serde(rename = "SyslogFilters")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub syslog_filters: Option<Vec<models::log_service::v1_4_0::SyslogFilter>>,
}

impl crate::Metadata<'static> for LogService {
    const JSON_SCHEMA: &'static str = "LogService.v1_4_0.json";
}