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;

/// Add ability to manage spare capacity.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Links {
    /// A pointer to the data volumes this volume serves as a cache volume.
    #[serde(rename = "CacheDataVolumes")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cache_data_volumes: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "CacheDataVolumes@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cache_data_volumes_odata_count: Option<models::odata_v4::Count>,
    #[serde(rename = "CacheVolumeSource")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cache_volume_source: Option<models::odata_v4::IdRef>,
    #[serde(rename = "ClassOfService")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub class_of_service: Option<models::odata_v4::IdRef>,
    /// An array of references to the client Endpoints associated with this volume.
    #[serde(rename = "ClientEndpoints")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub client_endpoints: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ClientEndpoints@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub client_endpoints_odata_count: Option<models::odata_v4::Count>,
    /// An array of references to the ConsistencyGroups associated with this volume.
    #[serde(rename = "ConsistencyGroups")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub consistency_groups: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ConsistencyGroups@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub consistency_groups_odata_count: Option<models::odata_v4::Count>,
    /// An array of references to the drives which are dedicated spares for this volume.
    #[serde(rename = "DedicatedSpareDrives")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub dedicated_spare_drives: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "DedicatedSpareDrives@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub dedicated_spare_drives_odata_count: Option<models::odata_v4::Count>,
    /// An array of references to the drives which contain this volume. This will reference Drives that either wholly or only partly contain this volume.
    #[serde(rename = "Drives")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub drives: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "Drives@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub drives_odata_count: Option<models::odata_v4::Count>,
    #[serde(rename = "JournalingMedia")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub journaling_media: Option<models::odata_v4::IdRef>,
    #[serde(rename = "Oem")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem: Option<models::resource::Oem>,
    #[serde(rename = "OwningStorageResource")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub owning_storage_resource: Option<models::odata_v4::IdRef>,
    #[serde(rename = "OwningStorageService")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub owning_storage_service: Option<models::odata_v4::IdRef>,
    /// An array of references to the server Endpoints associated with this volume.
    #[serde(rename = "ServerEndpoints")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub server_endpoints: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ServerEndpoints@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub server_endpoints_odata_count: Option<models::odata_v4::Count>,
    /// An array of references to SpareResourceSets.
    #[serde(rename = "SpareResourceSets")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub spare_resource_sets: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "SpareResourceSets@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub spare_resource_sets_odata_count: Option<models::odata_v4::Count>,
    /// An array of references to the StorageGroups associated with this volume.
    #[serde(rename = "StorageGroups")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub storage_groups: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "StorageGroups@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub storage_groups_odata_count: Option<models::odata_v4::Count>,
}

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