1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PatchedBulkVlanRequest {
15 #[serde(rename = "id")]
16 pub id: i32,
17 #[serde(
18 rename = "site",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub site: Option<Option<Box<crate::models::BulkVlanRequestSite>>>,
24 #[serde(
25 rename = "group",
26 default,
27 with = "::serde_with::rust::double_option",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub group: Option<Option<Box<crate::models::BulkVlanRequestGroup>>>,
31 #[serde(rename = "vid", skip_serializing_if = "Option::is_none")]
33 pub vid: Option<i32>,
34 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
35 pub name: Option<String>,
36 #[serde(
37 rename = "tenant",
38 default,
39 with = "::serde_with::rust::double_option",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
43 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
45 pub status: Option<Status>,
46 #[serde(
47 rename = "role",
48 default,
49 with = "::serde_with::rust::double_option",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub role: Option<Option<Box<crate::models::AsnRequestRole>>>,
53 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
54 pub description: Option<String>,
55 #[serde(
57 rename = "qinq_role",
58 default,
59 with = "::serde_with::rust::double_option",
60 skip_serializing_if = "Option::is_none"
61 )]
62 pub qinq_role: Option<Option<QinqRole>>,
63 #[serde(
64 rename = "qinq_svlan",
65 default,
66 with = "::serde_with::rust::double_option",
67 skip_serializing_if = "Option::is_none"
68 )]
69 pub qinq_svlan: Option<Option<Box<crate::models::NestedVlanRequest>>>,
70 #[serde(
71 rename = "owner",
72 default,
73 with = "::serde_with::rust::double_option",
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
77 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
78 pub comments: Option<String>,
79 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
80 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
81 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
82 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
83}
84
85impl PatchedBulkVlanRequest {
86 pub fn new(id: i32) -> PatchedBulkVlanRequest {
88 PatchedBulkVlanRequest {
89 id,
90 site: None,
91 group: None,
92 vid: None,
93 name: None,
94 tenant: None,
95 status: None,
96 role: None,
97 description: None,
98 qinq_role: None,
99 qinq_svlan: None,
100 owner: None,
101 comments: None,
102 tags: None,
103 custom_fields: None,
104 }
105 }
106}
107
108#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
110pub enum Status {
111 #[serde(rename = "active")]
112 Active,
113 #[serde(rename = "reserved")]
114 Reserved,
115 #[serde(rename = "deprecated")]
116 Deprecated,
117}
118
119impl Default for Status {
120 fn default() -> Status {
121 Self::Active
122 }
123}
124#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
126pub enum QinqRole {
127 #[serde(rename = "svlan")]
128 Svlan,
129 #[serde(rename = "cvlan")]
130 Cvlan,
131 #[serde(rename = "null")]
132 Null,
133}
134
135impl Default for QinqRole {
136 fn default() -> QinqRole {
137 Self::Svlan
138 }
139}