redfish_codegen/models/address_pool/v1_2_2/
ipv4.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// IPv4 and Virtual LAN (VLAN) related addressing for an Ethernet fabric.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct IPv4 {
10    /// The anycast gateway IPv4 address.
11    #[serde(rename = "AnycastGatewayIPAddress")]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub anycast_gateway_ip_address: Option<String>,
14    /// The anycast gateway MAC address.
15    #[serde(rename = "AnycastGatewayMACAddress")]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub anycast_gateway_mac_address: Option<String>,
18    #[serde(rename = "DHCP")]
19    #[serde(default, skip_serializing_if = "Option::is_none")]
20    pub dhcp: Option<models::address_pool::v1_2_2::DHCP>,
21    /// The Domain Name Service (DNS) domain name for this Ethernet fabric.
22    #[serde(rename = "DNSDomainName")]
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub dns_domain_name: Option<String>,
25    /// The Domain Name Service (DNS) servers for this Ethernet fabric.
26    #[serde(rename = "DNSServer")]
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub dns_server: Option<Vec<String>>,
29    /// Indicates if host subnets should be distributed into the fabric underlay.
30    #[serde(rename = "DistributeIntoUnderlayEnabled")]
31    #[serde(default, skip_serializing_if = "Option::is_none")]
32    pub distribute_into_underlay_enabled: Option<bool>,
33    #[serde(rename = "EBGPAddressRange")]
34    #[serde(default, skip_serializing_if = "Option::is_none")]
35    pub ebgp_address_range: Option<models::address_pool::v1_2_2::IPv4AddressRange>,
36    #[serde(rename = "FabricLinkAddressRange")]
37    #[serde(default, skip_serializing_if = "Option::is_none")]
38    pub fabric_link_address_range: Option<models::address_pool::v1_2_2::IPv4AddressRange>,
39    /// The gateway IPv4 address.
40    #[serde(rename = "GatewayIPAddress")]
41    #[serde(default, skip_serializing_if = "Option::is_none")]
42    pub gateway_ip_address: Option<String>,
43    #[serde(rename = "HostAddressRange")]
44    #[serde(default, skip_serializing_if = "Option::is_none")]
45    pub host_address_range: Option<models::address_pool::v1_2_2::IPv4AddressRange>,
46    #[serde(rename = "IBGPAddressRange")]
47    #[serde(default, skip_serializing_if = "Option::is_none")]
48    pub ibgp_address_range: Option<models::address_pool::v1_2_2::IPv4AddressRange>,
49    #[serde(rename = "LoopbackAddressRange")]
50    #[serde(default, skip_serializing_if = "Option::is_none")]
51    pub loopback_address_range: Option<models::address_pool::v1_2_2::IPv4AddressRange>,
52    #[serde(rename = "ManagementAddressRange")]
53    #[serde(default, skip_serializing_if = "Option::is_none")]
54    pub management_address_range: Option<models::address_pool::v1_2_2::IPv4AddressRange>,
55    /// The Network Time Protocol (NTP) offset configuration.
56    #[serde(rename = "NTPOffsetHoursMinutes")]
57    #[serde(default, skip_serializing_if = "Option::is_none")]
58    pub ntp_offset_hours_minutes: Option<i64>,
59    /// The Network Time Protocol (NTP) servers for this Ethernet fabric.
60    #[serde(rename = "NTPServer")]
61    #[serde(default, skip_serializing_if = "Option::is_none")]
62    pub ntp_server: Option<Vec<String>>,
63    /// The Network Time Protocol (NTP) timezone for this Ethernet fabric.
64    #[serde(rename = "NTPTimezone")]
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub ntp_timezone: Option<String>,
67    /// The untagged Virtual LAN (VLAN) ID value.
68    #[serde(rename = "NativeVLAN")]
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    pub native_vlan: Option<i64>,
71    #[serde(rename = "SystemMACRange")]
72    #[serde(default, skip_serializing_if = "Option::is_none")]
73    pub system_mac_range: Option<models::address_pool::v1_2_2::SystemMACRange>,
74    #[serde(rename = "VLANIdentifierAddressRange")]
75    #[serde(default, skip_serializing_if = "Option::is_none")]
76    pub vlan_identifier_address_range: Option<models::address_pool::v1_2_2::VLANIdentifierAddressRange>,
77}
78
79impl crate::Metadata<'static> for IPv4 {
80    const JSON_SCHEMA: &'static str = "AddressPool.v1_2_2.json";
81}