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 links to other resources that are related to this resource.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Links {
    /// An array of links to the address pools associated with this zone.
    #[serde(rename = "AddressPools")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub address_pools: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "AddressPools@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub address_pools_odata_count: Option<models::odata_v4::Count>,
    /// An array of links to the zone that contain this zone.
    #[serde(rename = "ContainedByZones")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub contained_by_zones: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ContainedByZones@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub contained_by_zones_odata_count: Option<models::odata_v4::Count>,
    /// An array of links to the zones that are contained by this zone.
    #[serde(rename = "ContainsZones")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub contains_zones: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ContainsZones@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub contains_zones_odata_count: Option<models::odata_v4::Count>,
    /// The links to the endpoints that this zone contains.
    #[serde(rename = "Endpoints")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub endpoints: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "Endpoints@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub endpoints_odata_count: Option<models::odata_v4::Count>,
    /// The links to the collection of switches in this zone.
    #[serde(rename = "InvolvedSwitches")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub involved_switches: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "InvolvedSwitches@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub involved_switches_odata_count: Option<models::odata_v4::Count>,
    #[serde(rename = "Oem")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem: Option<models::resource::Oem>,
    /// The links to the resource blocks with which this zone is associated.
    #[serde(rename = "ResourceBlocks")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub resource_blocks: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ResourceBlocks@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub resource_blocks_odata_count: Option<models::odata_v4::Count>,
}

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