redfish_codegen/models/network_device_function/v1_9_0/
iscsi_boot.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The iSCSI boot capabilities, status, and configuration for a network device function.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct IscsiBoot {
10    #[serde(rename = "AuthenticationMethod")]
11    #[serde(default, skip_serializing_if = "Option::is_none")]
12    pub authentication_method: Option<models::network_device_function::v1_9_0::AuthenticationMethod>,
13    /// The shared secret for CHAP authentication.
14    #[serde(rename = "CHAPSecret")]
15    #[serde(default, skip_serializing_if = "Option::is_none")]
16    pub chap_secret: Option<String>,
17    /// The user name for CHAP authentication.
18    #[serde(rename = "CHAPUsername")]
19    #[serde(default, skip_serializing_if = "Option::is_none")]
20    pub chap_username: Option<String>,
21    #[serde(rename = "IPAddressType")]
22    #[serde(default, skip_serializing_if = "Option::is_none")]
23    pub ip_address_type: Option<models::network_device_function::v1_9_0::IPAddressType>,
24    /// An indication of whether the iSCSI boot initiator uses DHCP to obtain the initiator name, IP address, and netmask.
25    #[serde(rename = "IPMaskDNSViaDHCP")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub ip_mask_dns_via_dhcp: Option<bool>,
28    /// The IPv6 or IPv4 iSCSI boot default gateway.
29    #[serde(rename = "InitiatorDefaultGateway")]
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub initiator_default_gateway: Option<String>,
32    /// The IPv6 or IPv4 address of the iSCSI initiator.
33    #[serde(rename = "InitiatorIPAddress")]
34    #[serde(default, skip_serializing_if = "Option::is_none")]
35    pub initiator_ip_address: Option<String>,
36    /// The iSCSI initiator name.
37    #[serde(rename = "InitiatorName")]
38    #[serde(default, skip_serializing_if = "Option::is_none")]
39    pub initiator_name: Option<String>,
40    /// The IPv6 or IPv4 netmask of the iSCSI boot initiator.
41    #[serde(rename = "InitiatorNetmask")]
42    #[serde(default, skip_serializing_if = "Option::is_none")]
43    pub initiator_netmask: Option<String>,
44    /// The CHAP secret for two-way CHAP authentication.
45    #[serde(rename = "MutualCHAPSecret")]
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub mutual_chap_secret: Option<String>,
48    /// The CHAP user name for two-way CHAP authentication.
49    #[serde(rename = "MutualCHAPUsername")]
50    #[serde(default, skip_serializing_if = "Option::is_none")]
51    pub mutual_chap_username: Option<String>,
52    /// The IPv6 or IPv4 address of the primary DNS server for the iSCSI boot initiator.
53    #[serde(rename = "PrimaryDNS")]
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub primary_dns: Option<String>,
56    /// The logical unit number (LUN) for the primary iSCSI boot target.
57    #[serde(rename = "PrimaryLUN")]
58    #[serde(default, skip_serializing_if = "Option::is_none")]
59    pub primary_lun: Option<i64>,
60    /// The IPv4 or IPv6 address for the primary iSCSI boot target.
61    #[serde(rename = "PrimaryTargetIPAddress")]
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub primary_target_ip_address: Option<String>,
64    /// The name of the iSCSI primary boot target.
65    #[serde(rename = "PrimaryTargetName")]
66    #[serde(default, skip_serializing_if = "Option::is_none")]
67    pub primary_target_name: Option<String>,
68    /// The TCP port for the primary iSCSI boot target.
69    #[serde(rename = "PrimaryTargetTCPPort")]
70    #[serde(default, skip_serializing_if = "Option::is_none")]
71    pub primary_target_tcp_port: Option<i64>,
72    /// An indication of whether the primary VLAN is enabled.
73    #[serde(rename = "PrimaryVLANEnable")]
74    #[serde(default, skip_serializing_if = "Option::is_none")]
75    pub primary_vlan_enable: Option<bool>,
76    /// The 802.1q VLAN ID to use for iSCSI boot from the primary target.
77    #[serde(rename = "PrimaryVLANId")]
78    #[serde(default, skip_serializing_if = "Option::is_none")]
79    pub primary_vlan_id: Option<i64>,
80    /// An indication of whether IPv6 router advertisement is enabled for the iSCSI boot target.
81    #[serde(rename = "RouterAdvertisementEnabled")]
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    pub router_advertisement_enabled: Option<bool>,
84    /// The IPv6 or IPv4 address of the secondary DNS server for the iSCSI boot initiator.
85    #[serde(rename = "SecondaryDNS")]
86    #[serde(default, skip_serializing_if = "Option::is_none")]
87    pub secondary_dns: Option<String>,
88    /// The logical unit number (LUN) for the secondary iSCSI boot target.
89    #[serde(rename = "SecondaryLUN")]
90    #[serde(default, skip_serializing_if = "Option::is_none")]
91    pub secondary_lun: Option<i64>,
92    /// The IPv4 or IPv6 address for the secondary iSCSI boot target.
93    #[serde(rename = "SecondaryTargetIPAddress")]
94    #[serde(default, skip_serializing_if = "Option::is_none")]
95    pub secondary_target_ip_address: Option<String>,
96    /// The name of the iSCSI secondary boot target.
97    #[serde(rename = "SecondaryTargetName")]
98    #[serde(default, skip_serializing_if = "Option::is_none")]
99    pub secondary_target_name: Option<String>,
100    /// The TCP port for the secondary iSCSI boot target.
101    #[serde(rename = "SecondaryTargetTCPPort")]
102    #[serde(default, skip_serializing_if = "Option::is_none")]
103    pub secondary_target_tcp_port: Option<i64>,
104    /// An indication of whether the secondary VLAN is enabled.
105    #[serde(rename = "SecondaryVLANEnable")]
106    #[serde(default, skip_serializing_if = "Option::is_none")]
107    pub secondary_vlan_enable: Option<bool>,
108    /// The 802.1q VLAN ID to use for iSCSI boot from the secondary target.
109    #[serde(rename = "SecondaryVLANId")]
110    #[serde(default, skip_serializing_if = "Option::is_none")]
111    pub secondary_vlan_id: Option<i64>,
112    /// An indication of whether the iSCSI boot target name, LUN, IP address, and netmask should be obtained from DHCP.
113    #[serde(rename = "TargetInfoViaDHCP")]
114    #[serde(default, skip_serializing_if = "Option::is_none")]
115    pub target_info_via_dhcp: Option<bool>,
116}
117
118impl crate::Metadata<'static> for IscsiBoot {
119    const JSON_SCHEMA: &'static str = "NetworkDeviceFunction.v1_9_0.json";
120}