redfish_codegen/models/network_device_function/v1_9_0/
network_device_function.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The NetworkDeviceFunction schema represents a logical interface that a network adapter exposes.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct NetworkDeviceFunction {
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(\"#NetworkDeviceFunction.v1_9_0.NetworkDeviceFunction\".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::network_device_function::v1_9_0::Actions>,
28    #[serde(rename = "AllowDeny")]
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub allow_deny: Option<models::odata_v4::IdRef>,
31    /// An array of physical ports to which this network device function can be assigned.
32    #[serde(rename = "AssignablePhysicalNetworkPorts")]
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub assignable_physical_network_ports: Option<Vec<models::odata_v4::IdRef>>,
35    #[serde(rename = "AssignablePhysicalNetworkPorts@odata.count")]
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub assignable_physical_network_ports_odata_count: Option<models::odata_v4::Count>,
38    /// An array of physical ports to which this network device function can be assigned.
39    #[serde(rename = "AssignablePhysicalPorts")]
40    #[serde(default, skip_serializing_if = "Option::is_none")]
41    pub assignable_physical_ports: Option<Vec<models::odata_v4::IdRef>>,
42    #[serde(rename = "AssignablePhysicalPorts@odata.count")]
43    #[serde(default, skip_serializing_if = "Option::is_none")]
44    pub assignable_physical_ports_odata_count: Option<models::odata_v4::Count>,
45    #[serde(rename = "BootMode")]
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub boot_mode: Option<models::network_device_function::v1_9_0::BootMode>,
48    #[serde(rename = "Description")]
49    #[serde(default, skip_serializing_if = "Option::is_none")]
50    pub description: Option<models::resource::Description>,
51    /// An indication of whether the network device function is enabled.
52    #[serde(rename = "DeviceEnabled")]
53    #[serde(default, skip_serializing_if = "Option::is_none")]
54    pub device_enabled: Option<bool>,
55    #[serde(rename = "Ethernet")]
56    #[serde(default, skip_serializing_if = "Option::is_none")]
57    pub ethernet: Option<models::network_device_function::v1_9_0::Ethernet>,
58    #[serde(rename = "FibreChannel")]
59    #[serde(default, skip_serializing_if = "Option::is_none")]
60    pub fibre_channel: Option<models::network_device_function::v1_9_0::FibreChannel>,
61    #[serde(rename = "HTTPBoot")]
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub http_boot: Option<models::network_device_function::v1_9_0::HTTPBoot>,
64    #[serde(rename = "Id")]
65    #[serde(skip_deserializing)]
66    pub id: models::resource::Id,
67    #[serde(rename = "InfiniBand")]
68    #[serde(default, skip_serializing_if = "Option::is_none")]
69    pub infini_band: Option<models::network_device_function::v1_9_0::InfiniBand>,
70    /// The byte and packet limits for this network device function.
71    #[serde(rename = "Limits")]
72    #[serde(default, skip_serializing_if = "Option::is_none")]
73    pub limits: Option<Vec<models::network_device_function::v1_9_0::Limit>>,
74    #[serde(rename = "Links")]
75    #[serde(default, skip_serializing_if = "Option::is_none")]
76    pub links: Option<models::network_device_function::v1_9_0::Links>,
77    /// The number of virtual functions that are available for this network device function.
78    #[serde(rename = "MaxVirtualFunctions")]
79    #[serde(default, skip_serializing_if = "Option::is_none")]
80    pub max_virtual_functions: Option<i64>,
81    #[serde(rename = "Metrics")]
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    pub metrics: Option<models::odata_v4::IdRef>,
84    #[serde(rename = "Name")]
85    #[serde(skip_deserializing)]
86    pub name: models::resource::Name,
87    /// An array of capabilities for this network device function.
88    #[serde(rename = "NetDevFuncCapabilities")]
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub net_dev_func_capabilities: Option<Vec<models::network_device_function::v1_9_0::NetworkDeviceTechnology>>,
91    #[serde(rename = "NetDevFuncType")]
92    #[serde(default, skip_serializing_if = "Option::is_none")]
93    pub net_dev_func_type: Option<models::network_device_function::v1_9_0::NetworkDeviceTechnology>,
94    #[serde(rename = "Oem")]
95    #[serde(default, skip_serializing_if = "Option::is_none")]
96    pub oem: Option<models::resource::Oem>,
97    #[serde(rename = "PhysicalNetworkPortAssignment")]
98    #[serde(default, skip_serializing_if = "Option::is_none")]
99    pub physical_network_port_assignment: Option<models::odata_v4::IdRef>,
100    #[serde(rename = "PhysicalPortAssignment")]
101    #[serde(default, skip_serializing_if = "Option::is_none")]
102    pub physical_port_assignment: Option<models::odata_v4::IdRef>,
103    /// Indicates if Source Address Validation Improvement (SAVI) is enabled for this network device function.
104    #[serde(rename = "SAVIEnabled")]
105    #[serde(default, skip_serializing_if = "Option::is_none")]
106    pub savi_enabled: Option<bool>,
107    #[serde(rename = "Status")]
108    #[serde(default, skip_serializing_if = "Option::is_none")]
109    pub status: Option<models::resource::Status>,
110    /// An indication of whether single root input/output virtualization (SR-IOV) virtual functions are enabled for this network device function.
111    #[serde(rename = "VirtualFunctionsEnabled")]
112    #[serde(default, skip_serializing_if = "Option::is_none")]
113    pub virtual_functions_enabled: Option<bool>,
114    #[serde(rename = "iSCSIBoot")]
115    #[serde(default, skip_serializing_if = "Option::is_none")]
116    pub iscsi_boot: Option<models::network_device_function::v1_9_0::IscsiBoot>,
117}
118
119impl crate::Metadata<'static> for NetworkDeviceFunction {
120    const JSON_SCHEMA: &'static str = "NetworkDeviceFunction.v1_9_0.json";
121}