use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use super::{ODataId, ODataLinks};
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(rename_all = "PascalCase")]
pub struct NetworkDeviceFunction {
#[serde(flatten)]
pub odata: Option<ODataLinks>,
pub description: Option<String>,
pub id: Option<String>,
pub ethernet: Option<Ethernet>,
pub name: Option<String>,
pub net_dev_func_capabilities: Option<Vec<String>>,
pub net_dev_func_type: Option<String>,
pub links: Option<NetworkDeviceFunctionLinks>,
pub oem: Option<HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(rename_all = "PascalCase")]
pub struct NetworkDeviceFunctionLinks {
#[serde(default, rename = "PCIeFunction")]
pub pcie_function: Option<ODataId>,
}
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(rename_all = "PascalCase")]
pub struct Ethernet {
#[serde(flatten)]
pub ethernet_interfaces: Option<ODataId>,
#[serde(rename = "MACAddress")]
pub mac_address: Option<String>,
#[serde(rename = "MTUSize")]
pub mtu_size: Option<i32>,
}