redfish_codegen/models/ethernet_interface/v1_10_0/
ethernet_interface.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The EthernetInterface schema represents a single, logical Ethernet interface or network interface controller (NIC).
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct EthernetInterface {
10    #[serde(rename = "@odata.context")]
11    #[serde(skip_deserializing)]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub odata_context: Option<models::odata_v4::Context>,
14    #[serde(rename = "@odata.etag")]
15    #[serde(skip_deserializing)]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub odata_etag: Option<models::odata_v4::Etag>,
18    #[serde(rename = "@odata.id")]
19    #[serde(skip_deserializing)]
20    pub odata_id: models::odata_v4::Id,
21    #[serde(rename = "@odata.type")]
22    #[serde(skip_deserializing)]
23    #[derivative(Default(value = "models::odata_v4::Type(\"#EthernetInterface.v1_10_0.EthernetInterface\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    #[serde(rename = "Actions")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub actions: Option<models::ethernet_interface::v1_10_0::Actions>,
28    /// An indication of whether the speed and duplex are automatically negotiated and configured on this interface.
29    #[serde(rename = "AutoNeg")]
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub auto_neg: Option<bool>,
32    #[serde(rename = "DHCPv4")]
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub dhc_pv_4: Option<models::ethernet_interface::v1_10_0::DHCPv4C>,
35    #[serde(rename = "DHCPv6")]
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub dhc_pv_6: Option<models::ethernet_interface::v1_10_0::DHCPv6C>,
38    #[serde(rename = "Description")]
39    #[serde(default, skip_serializing_if = "Option::is_none")]
40    pub description: Option<models::resource::Description>,
41    #[serde(rename = "EthernetInterfaceType")]
42    #[serde(default, skip_serializing_if = "Option::is_none")]
43    pub ethernet_interface_type: Option<models::ethernet_interface::v1_10_0::EthernetDeviceType>,
44    /// The complete, fully qualified domain name that DNS obtains for this interface.
45    #[serde(rename = "FQDN")]
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub fqdn: Option<String>,
48    /// An indication of whether full-duplex mode is enabled on the Ethernet connection for this interface.
49    #[serde(rename = "FullDuplex")]
50    #[serde(default, skip_serializing_if = "Option::is_none")]
51    pub full_duplex: Option<bool>,
52    /// The DNS host name, without any domain information.
53    #[serde(rename = "HostName")]
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub host_name: Option<String>,
56    /// The IPv4 addresses currently in use by this interface.
57    #[serde(rename = "IPv4Addresses")]
58    #[serde(default, skip_serializing_if = "Option::is_none")]
59    pub ipv4_addresses: Option<Vec<models::ip_addresses::IPv4Address>>,
60    /// The IPv4 static addresses assigned to this interface.  See IPv4Addresses for the addresses in use by this interface.
61    #[serde(rename = "IPv4StaticAddresses")]
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub ipv4_static_addresses: Option<Vec<models::ip_addresses::IPv4Address>>,
64    /// An array that represents the RFC6724-defined address selection policy table.
65    #[serde(rename = "IPv6AddressPolicyTable")]
66    #[serde(default, skip_serializing_if = "Option::is_none")]
67    pub ipv6_address_policy_table: Option<Vec<models::ethernet_interface::v1_10_0::IPv6AddressPolicyEntry>>,
68    /// The IPv6 addresses currently in use by this interface.
69    #[serde(rename = "IPv6Addresses")]
70    #[serde(default, skip_serializing_if = "Option::is_none")]
71    pub ipv6_addresses: Option<Vec<models::ip_addresses::IPv6Address>>,
72    /// The IPv6 default gateway address in use on this interface.
73    #[serde(rename = "IPv6DefaultGateway")]
74    #[serde(default, skip_serializing_if = "Option::is_none")]
75    pub ipv6_default_gateway: Option<String>,
76    /// The IPv6 static addresses assigned to this interface.  See IPv6Addresses for the addresses in use by this interface.
77    #[serde(rename = "IPv6StaticAddresses")]
78    #[serde(default, skip_serializing_if = "Option::is_none")]
79    pub ipv6_static_addresses: Option<Vec<models::ip_addresses::IPv6StaticAddress>>,
80    /// The IPv6 static default gateways for this interface.
81    #[serde(rename = "IPv6StaticDefaultGateways")]
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    pub ipv6_static_default_gateways: Option<Vec<models::ip_addresses::IPv6GatewayStaticAddress>>,
84    #[serde(rename = "Id")]
85    #[serde(skip_deserializing)]
86    pub id: models::resource::Id,
87    /// An indication of whether this interface is enabled.
88    #[serde(rename = "InterfaceEnabled")]
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub interface_enabled: Option<bool>,
91    #[serde(rename = "LinkStatus")]
92    #[serde(default, skip_serializing_if = "Option::is_none")]
93    pub link_status: Option<models::ethernet_interface::v1_10_0::LinkStatus>,
94    #[serde(rename = "Links")]
95    #[serde(default, skip_serializing_if = "Option::is_none")]
96    pub links: Option<models::ethernet_interface::v1_10_0::Links>,
97    #[serde(rename = "MACAddress")]
98    #[serde(default, skip_serializing_if = "Option::is_none")]
99    pub mac_address: Option<models::ethernet_interface::v1_10_0::MACAddress>,
100    /// The currently configured maximum transmission unit (MTU), in bytes, on this interface.
101    #[serde(rename = "MTUSize")]
102    #[serde(default, skip_serializing_if = "Option::is_none")]
103    pub mtu_size: Option<i64>,
104    /// The maximum number of static IPv6 addresses that can be configured on this interface.
105    #[serde(rename = "MaxIPv6StaticAddresses")]
106    #[serde(default, skip_serializing_if = "Option::is_none")]
107    pub max_ipv6_static_addresses: Option<i64>,
108    #[serde(rename = "Name")]
109    #[serde(skip_deserializing)]
110    pub name: models::resource::Name,
111    /// The DNS servers in use on this interface.
112    #[serde(rename = "NameServers")]
113    #[serde(default, skip_serializing_if = "Option::is_none")]
114    pub name_servers: Option<Vec<String>>,
115    #[serde(rename = "Oem")]
116    #[serde(default, skip_serializing_if = "Option::is_none")]
117    pub oem: Option<models::resource::Oem>,
118    #[serde(rename = "PermanentMACAddress")]
119    #[serde(default, skip_serializing_if = "Option::is_none")]
120    pub permanent_mac_address: Option<models::ethernet_interface::v1_10_0::MACAddress>,
121    /// The current speed, in Mbit/s, of this interface.
122    #[serde(rename = "SpeedMbps")]
123    #[serde(default, skip_serializing_if = "Option::is_none")]
124    pub speed_mbps: Option<i64>,
125    #[serde(rename = "StatelessAddressAutoConfig")]
126    #[serde(default, skip_serializing_if = "Option::is_none")]
127    pub stateless_address_auto_config: Option<models::ethernet_interface::v1_10_0::StatelessAddressAutoConfiguration>,
128    /// The statically-defined set of DNS server IPv4 and IPv6 addresses.
129    #[serde(rename = "StaticNameServers")]
130    #[serde(default, skip_serializing_if = "Option::is_none")]
131    pub static_name_servers: Option<Vec<String>>,
132    #[serde(rename = "Status")]
133    #[serde(default, skip_serializing_if = "Option::is_none")]
134    pub status: Option<models::resource::Status>,
135    #[serde(rename = "TeamMode")]
136    #[serde(default, skip_serializing_if = "Option::is_none")]
137    pub team_mode: Option<models::ethernet_interface::v1_10_0::TeamMode>,
138    /// The UEFI device path for this interface.
139    #[serde(rename = "UefiDevicePath")]
140    #[serde(default, skip_serializing_if = "Option::is_none")]
141    pub uefi_device_path: Option<String>,
142    #[serde(rename = "VLAN")]
143    #[serde(default, skip_serializing_if = "Option::is_none")]
144    pub vlan: Option<models::vlan_network_interface::VLAN>,
145    #[serde(rename = "VLANs")]
146    #[serde(default, skip_serializing_if = "Option::is_none")]
147    pub vlans: Option<models::odata_v4::IdRef>,
148}
149
150impl crate::Metadata<'static> for EthernetInterface {
151    const JSON_SCHEMA: &'static str = "EthernetInterface.v1_10_0.json";
152}