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