1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PatchedBulkWritableInterfaceRequest {
15 #[serde(rename = "id")]
16 pub id: uuid::Uuid,
17 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
18 pub r#type: Option<crate::models::InterfaceTypeChoices>,
19 #[serde(rename = "port_type", skip_serializing_if = "Option::is_none")]
20 pub port_type: Option<crate::models::PortTypeChoices>,
21 #[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
22 pub mode: Option<crate::models::InterfaceModeChoices>,
23 #[serde(
24 rename = "mac_address",
25 default,
26 with = "::serde_with::rust::double_option",
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub mac_address: Option<Option<String>>,
30 #[serde(
31 rename = "speed",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub speed: Option<Option<i32>>,
37 #[serde(rename = "duplex", skip_serializing_if = "Option::is_none")]
38 pub duplex: Option<crate::models::DuplexEnum>,
39 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
40 pub name: Option<String>,
41 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
43 pub label: Option<String>,
44 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
45 pub description: Option<String>,
46 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
47 pub enabled: Option<bool>,
48 #[serde(
49 rename = "mtu",
50 default,
51 with = "::serde_with::rust::double_option",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub mtu: Option<Option<i32>>,
55 #[serde(rename = "mgmt_only", skip_serializing_if = "Option::is_none")]
57 pub mgmt_only: Option<bool>,
58 #[serde(
59 rename = "device",
60 default,
61 with = "::serde_with::rust::double_option",
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub device: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
65 #[serde(
66 rename = "module",
67 default,
68 with = "::serde_with::rust::double_option",
69 skip_serializing_if = "Option::is_none"
70 )]
71 pub module: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
72 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
73 pub status: Option<Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
74 #[serde(
75 rename = "role",
76 default,
77 with = "::serde_with::rust::double_option",
78 skip_serializing_if = "Option::is_none"
79 )]
80 pub role: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
81 #[serde(
82 rename = "parent_interface",
83 default,
84 with = "::serde_with::rust::double_option",
85 skip_serializing_if = "Option::is_none"
86 )]
87 pub parent_interface:
88 Option<Option<Box<crate::models::BulkWritableInterfaceRequestParentInterface>>>,
89 #[serde(
90 rename = "bridge",
91 default,
92 with = "::serde_with::rust::double_option",
93 skip_serializing_if = "Option::is_none"
94 )]
95 pub bridge: Option<Option<Box<crate::models::BridgeInterface>>>,
96 #[serde(
97 rename = "lag",
98 default,
99 with = "::serde_with::rust::double_option",
100 skip_serializing_if = "Option::is_none"
101 )]
102 pub lag: Option<Option<Box<crate::models::ParentLag>>>,
103 #[serde(
104 rename = "untagged_vlan",
105 default,
106 with = "::serde_with::rust::double_option",
107 skip_serializing_if = "Option::is_none"
108 )]
109 pub untagged_vlan: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
110 #[serde(
111 rename = "vrf",
112 default,
113 with = "::serde_with::rust::double_option",
114 skip_serializing_if = "Option::is_none"
115 )]
116 pub vrf: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
117 #[serde(rename = "tagged_vlans", skip_serializing_if = "Option::is_none")]
118 pub tagged_vlans: Option<Vec<crate::models::TaggedVlans>>,
119 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
120 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
121 #[serde(rename = "relationships", skip_serializing_if = "Option::is_none")]
122 pub relationships: Option<
123 ::std::collections::HashMap<
124 String,
125 crate::models::ApprovalWorkflowDefinitionRequestRelationshipsValue,
126 >,
127 >,
128 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
129 pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
130}
131
132impl PatchedBulkWritableInterfaceRequest {
133 pub fn new(id: uuid::Uuid) -> PatchedBulkWritableInterfaceRequest {
135 PatchedBulkWritableInterfaceRequest {
136 id,
137 r#type: None,
138 port_type: None,
139 mode: None,
140 mac_address: None,
141 speed: None,
142 duplex: None,
143 name: None,
144 label: None,
145 description: None,
146 enabled: None,
147 mtu: None,
148 mgmt_only: None,
149 device: None,
150 module: None,
151 status: None,
152 role: None,
153 parent_interface: None,
154 bridge: None,
155 lag: None,
156 untagged_vlan: None,
157 vrf: None,
158 tagged_vlans: None,
159 custom_fields: None,
160 relationships: None,
161 tags: None,
162 }
163 }
164}