Skip to main content

clientapi_pbs/models/
nodes_network_create_network_request.rs

1/*
2 * Proxmox Backup Server API
3 *
4 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pbs.proxmox.com/docs/api-viewer/ for the upstream documentation.
5 *
6 * The version of the OpenAPI document: 9.x
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct NodesNetworkCreateNetworkRequest {
16
17    /// Autostart interface.
18    #[serde(rename = "autostart", skip_serializing_if = "Option::is_none")]
19    pub autostart: Option<bool>,
20
21    /// Network interface name.
22    #[serde(rename = "bond-primary", skip_serializing_if = "Option::is_none")]
23    pub bond_primary: Option<String>,
24
25    /// Linux Bond Mode
26    #[serde(rename = "bond_mode", skip_serializing_if = "Option::is_none")]
27    pub bond_mode: Option<models::PbsBondModeEnum>,
28
29    /// Bond Transmit Hash Policy for LACP (802.3ad)
30    #[serde(rename = "bond_xmit_hash_policy", skip_serializing_if = "Option::is_none")]
31    pub bond_xmit_hash_policy: Option<models::PbsBondXmitHashPolicyEnum>,
32
33    /// A list of network devices, comma separated.
34    #[serde(rename = "bridge_ports", skip_serializing_if = "Option::is_none")]
35    pub bridge_ports: Option<Box<models::PbsBridgePortsField>>,
36
37    /// Enable bridge vlan support.
38    #[serde(rename = "bridge_vlan_aware", skip_serializing_if = "Option::is_none")]
39    pub bridge_vlan_aware: Option<bool>,
40
41    /// IPv4 address with netmask (CIDR notation).
42    #[serde(rename = "cidr", skip_serializing_if = "Option::is_none")]
43    pub cidr: Option<String>,
44
45    /// IPv6 address with netmask (CIDR notation).
46    #[serde(rename = "cidr6", skip_serializing_if = "Option::is_none")]
47    pub cidr6: Option<String>,
48
49    /// Comments (inet, may span multiple lines)
50    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
51    pub comments: Option<String>,
52
53    /// Comments (inet5, may span multiple lines)
54    #[serde(rename = "comments6", skip_serializing_if = "Option::is_none")]
55    pub comments6: Option<String>,
56
57    /// IPv4 address.
58    #[serde(rename = "gateway", skip_serializing_if = "Option::is_none")]
59    pub gateway: Option<String>,
60
61    /// IPv6 address.
62    #[serde(rename = "gateway6", skip_serializing_if = "Option::is_none")]
63    pub gateway6: Option<String>,
64
65    /// Network interface name.
66    #[serde(rename = "iface")]
67    pub iface: String,
68
69    /// Interface configuration method
70    #[serde(rename = "method", skip_serializing_if = "Option::is_none")]
71    pub method: Option<models::PbsNodesNetworkMethodEnum>,
72
73    /// Interface configuration method
74    #[serde(rename = "method6", skip_serializing_if = "Option::is_none")]
75    pub method6: Option<models::PbsNodesNetworkMethodEnum>,
76
77    /// Maximum Transmission Unit.
78    #[serde(rename = "mtu", skip_serializing_if = "Option::is_none")]
79    pub mtu: Option<i32>,
80
81    /// A list of network devices, comma separated.
82    #[serde(rename = "slaves", skip_serializing_if = "Option::is_none")]
83    pub slaves: Option<Box<models::PbsBridgePortsField>>,
84
85    /// Network interface type
86    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
87    pub r#type: Option<models::PbsNodesNetworkTypeEnum>,
88
89    /// VLAN ID.
90    #[serde(rename = "vlan-id", skip_serializing_if = "Option::is_none")]
91    pub vlan_id: Option<i64>,
92
93    /// Network interface name.
94    #[serde(rename = "vlan-raw-device", skip_serializing_if = "Option::is_none")]
95    pub vlan_raw_device: Option<String>,
96
97
98}
99
100impl NodesNetworkCreateNetworkRequest {
101    pub fn new(iface: String) -> NodesNetworkCreateNetworkRequest {
102        NodesNetworkCreateNetworkRequest {
103            
104            autostart: None,
105            
106            bond_primary: None,
107            
108            bond_mode: None,
109            
110            bond_xmit_hash_policy: None,
111            
112            bridge_ports: None,
113            
114            bridge_vlan_aware: None,
115            
116            cidr: None,
117            
118            cidr6: None,
119            
120            comments: None,
121            
122            comments6: None,
123            
124            gateway: None,
125            
126            gateway6: None,
127            
128            iface,
129            
130            method: None,
131            
132            method6: None,
133            
134            mtu: None,
135            
136            slaves: None,
137            
138            r#type: None,
139            
140            vlan_id: None,
141            
142            vlan_raw_device: None,
143            
144        }
145    }
146}
147
148