1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct VmInterface {
15 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16 pub id: Option<i32>,
17 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
18 pub url: Option<String>,
19 #[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
20 pub display_url: Option<String>,
21 #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
22 pub display: Option<String>,
23 #[serde(rename = "virtual_machine")]
24 pub virtual_machine: Box<crate::models::BriefVirtualMachine>,
25 #[serde(rename = "name")]
26 pub name: String,
27 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
28 pub enabled: Option<bool>,
29 #[serde(
30 rename = "parent",
31 default,
32 with = "::serde_with::rust::double_option",
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub parent: Option<Option<Box<crate::models::NestedVmInterface>>>,
36 #[serde(
37 rename = "bridge",
38 default,
39 with = "::serde_with::rust::double_option",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub bridge: Option<Option<Box<crate::models::NestedVmInterface>>>,
43 #[serde(
44 rename = "mtu",
45 default,
46 with = "::serde_with::rust::double_option",
47 skip_serializing_if = "Option::is_none"
48 )]
49 pub mtu: Option<Option<i32>>,
50 #[serde(
51 rename = "mac_address",
52 default,
53 with = "::serde_with::rust::double_option",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub mac_address: Option<Option<String>>,
57 #[serde(
58 rename = "primary_mac_address",
59 default,
60 with = "::serde_with::rust::double_option",
61 skip_serializing_if = "Option::is_none"
62 )]
63 pub primary_mac_address: Option<Option<Box<crate::models::BriefMacAddress>>>,
64 #[serde(
65 rename = "mac_addresses",
66 default,
67 with = "::serde_with::rust::double_option",
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub mac_addresses: Option<Option<Vec<crate::models::BriefMacAddress>>>,
71 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
72 pub description: Option<String>,
73 #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
74 pub mode: Option<Box<crate::models::InterfaceMode>>,
75 #[serde(
76 rename = "untagged_vlan",
77 default,
78 with = "::serde_with::rust::double_option",
79 skip_serializing_if = "Option::is_none"
80 )]
81 pub untagged_vlan: Option<Option<Box<crate::models::BriefVlan>>>,
82 #[serde(rename = "tagged_vlans", skip_serializing_if = "Option::is_none")]
83 pub tagged_vlans: Option<Vec<crate::models::Vlan>>,
84 #[serde(
85 rename = "qinq_svlan",
86 default,
87 with = "::serde_with::rust::double_option",
88 skip_serializing_if = "Option::is_none"
89 )]
90 pub qinq_svlan: Option<Option<Box<crate::models::BriefVlan>>>,
91 #[serde(
92 rename = "vlan_translation_policy",
93 default,
94 with = "::serde_with::rust::double_option",
95 skip_serializing_if = "Option::is_none"
96 )]
97 pub vlan_translation_policy: Option<Option<Box<crate::models::BriefVlanTranslationPolicy>>>,
98 #[serde(
99 rename = "vrf",
100 default,
101 with = "::serde_with::rust::double_option",
102 skip_serializing_if = "Option::is_none"
103 )]
104 pub vrf: Option<Option<Box<crate::models::BriefVrf>>>,
105 #[serde(
106 rename = "l2vpn_termination",
107 default,
108 with = "::serde_with::rust::double_option",
109 skip_serializing_if = "Option::is_none"
110 )]
111 pub l2vpn_termination: Option<Option<Box<crate::models::BriefL2VpnTermination>>>,
112 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
113 pub tags: Option<Vec<crate::models::NestedTag>>,
114 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
115 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
116 #[serde(
117 rename = "created",
118 default,
119 with = "::serde_with::rust::double_option",
120 skip_serializing_if = "Option::is_none"
121 )]
122 pub created: Option<Option<String>>,
123 #[serde(
124 rename = "last_updated",
125 default,
126 with = "::serde_with::rust::double_option",
127 skip_serializing_if = "Option::is_none"
128 )]
129 pub last_updated: Option<Option<String>>,
130 #[serde(rename = "count_ipaddresses", skip_serializing_if = "Option::is_none")]
131 pub count_ipaddresses: Option<i32>,
132 #[serde(rename = "count_fhrp_groups", skip_serializing_if = "Option::is_none")]
133 pub count_fhrp_groups: Option<i32>,
134}
135
136impl VmInterface {
137 pub fn new(virtual_machine: crate::models::BriefVirtualMachine, name: String) -> VmInterface {
139 VmInterface {
140 id: None,
141 url: None,
142 display_url: None,
143 display: None,
144 virtual_machine: Box::new(virtual_machine),
145 name,
146 enabled: None,
147 parent: None,
148 bridge: None,
149 mtu: None,
150 mac_address: None,
151 primary_mac_address: None,
152 mac_addresses: None,
153 description: None,
154 mode: None,
155 untagged_vlan: None,
156 tagged_vlans: None,
157 qinq_svlan: None,
158 vlan_translation_policy: None,
159 vrf: None,
160 l2vpn_termination: None,
161 tags: None,
162 custom_fields: None,
163 created: None,
164 last_updated: None,
165 count_ipaddresses: None,
166 count_fhrp_groups: None,
167 }
168 }
169}