netbox_openapi/models/
patched_writable_front_port_template_request.rs

1/*
2 * NetBox REST API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 4.4.2-Docker-3.4.1 (4.4)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// PatchedWritableFrontPortTemplateRequest : Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PatchedWritableFrontPortTemplateRequest {
15    #[serde(
16        rename = "device_type",
17        default,
18        with = "::serde_with::rust::double_option",
19        skip_serializing_if = "Option::is_none"
20    )]
21    pub device_type: Option<Option<Box<crate::models::ConsolePortTemplateRequestDeviceType>>>,
22    #[serde(
23        rename = "module_type",
24        default,
25        with = "::serde_with::rust::double_option",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub module_type: Option<Option<Box<crate::models::ConsolePortTemplateRequestModuleType>>>,
29    /// {module} is accepted as a substitution for the module bay position when attached to a module type.
30    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
31    pub name: Option<String>,
32    /// Physical label
33    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
34    pub label: Option<String>,
35    /// * `8p8c` - 8P8C * `8p6c` - 8P6C * `8p4c` - 8P4C * `8p2c` - 8P2C * `6p6c` - 6P6C * `6p4c` - 6P4C * `6p2c` - 6P2C * `4p4c` - 4P4C * `4p2c` - 4P2C * `gg45` - GG45 * `tera-4p` - TERA 4P * `tera-2p` - TERA 2P * `tera-1p` - TERA 1P * `110-punch` - 110 Punch * `bnc` - BNC * `f` - F Connector * `n` - N Connector * `mrj21` - MRJ21 * `fc` - FC * `fc-pc` - FC/PC * `fc-upc` - FC/UPC * `fc-apc` - FC/APC * `lc` - LC * `lc-pc` - LC/PC * `lc-upc` - LC/UPC * `lc-apc` - LC/APC * `lsh` - LSH * `lsh-pc` - LSH/PC * `lsh-upc` - LSH/UPC * `lsh-apc` - LSH/APC * `lx5` - LX.5 * `lx5-pc` - LX.5/PC * `lx5-upc` - LX.5/UPC * `lx5-apc` - LX.5/APC * `mpo` - MPO * `mtrj` - MTRJ * `sc` - SC * `sc-pc` - SC/PC * `sc-upc` - SC/UPC * `sc-apc` - SC/APC * `st` - ST * `cs` - CS * `sn` - SN * `sma-905` - SMA 905 * `sma-906` - SMA 906 * `urm-p2` - URM-P2 * `urm-p4` - URM-P4 * `urm-p8` - URM-P8 * `splice` - Splice * `usb-a` - USB Type A * `usb-b` - USB Type B * `usb-c` - USB Type C * `usb-mini-a` - USB Mini A * `usb-mini-b` - USB Mini B * `usb-micro-a` - USB Micro A * `usb-micro-b` - USB Micro B * `usb-micro-ab` - USB Micro AB * `other` - Other
36    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
37    pub r#type: Option<RHashType>,
38    #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
39    pub color: Option<String>,
40    #[serde(rename = "rear_port", skip_serializing_if = "Option::is_none")]
41    pub rear_port: Option<Box<crate::models::FrontPortTemplateRequestRearPort>>,
42    #[serde(rename = "rear_port_position", skip_serializing_if = "Option::is_none")]
43    pub rear_port_position: Option<i32>,
44    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
45    pub description: Option<String>,
46}
47
48impl PatchedWritableFrontPortTemplateRequest {
49    /// Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
50    pub fn new() -> PatchedWritableFrontPortTemplateRequest {
51        PatchedWritableFrontPortTemplateRequest {
52            device_type: None,
53            module_type: None,
54            name: None,
55            label: None,
56            r#type: None,
57            color: None,
58            rear_port: None,
59            rear_port_position: None,
60            description: None,
61        }
62    }
63}
64
65/// * `8p8c` - 8P8C * `8p6c` - 8P6C * `8p4c` - 8P4C * `8p2c` - 8P2C * `6p6c` - 6P6C * `6p4c` - 6P4C * `6p2c` - 6P2C * `4p4c` - 4P4C * `4p2c` - 4P2C * `gg45` - GG45 * `tera-4p` - TERA 4P * `tera-2p` - TERA 2P * `tera-1p` - TERA 1P * `110-punch` - 110 Punch * `bnc` - BNC * `f` - F Connector * `n` - N Connector * `mrj21` - MRJ21 * `fc` - FC * `fc-pc` - FC/PC * `fc-upc` - FC/UPC * `fc-apc` - FC/APC * `lc` - LC * `lc-pc` - LC/PC * `lc-upc` - LC/UPC * `lc-apc` - LC/APC * `lsh` - LSH * `lsh-pc` - LSH/PC * `lsh-upc` - LSH/UPC * `lsh-apc` - LSH/APC * `lx5` - LX.5 * `lx5-pc` - LX.5/PC * `lx5-upc` - LX.5/UPC * `lx5-apc` - LX.5/APC * `mpo` - MPO * `mtrj` - MTRJ * `sc` - SC * `sc-pc` - SC/PC * `sc-upc` - SC/UPC * `sc-apc` - SC/APC * `st` - ST * `cs` - CS * `sn` - SN * `sma-905` - SMA 905 * `sma-906` - SMA 906 * `urm-p2` - URM-P2 * `urm-p4` - URM-P4 * `urm-p8` - URM-P8 * `splice` - Splice * `usb-a` - USB Type A * `usb-b` - USB Type B * `usb-c` - USB Type C * `usb-mini-a` - USB Mini A * `usb-mini-b` - USB Mini B * `usb-micro-a` - USB Micro A * `usb-micro-b` - USB Micro B * `usb-micro-ab` - USB Micro AB * `other` - Other
66#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
67pub enum RHashType {
68    #[serde(rename = "8p8c")]
69    Variant8p8c,
70    #[serde(rename = "8p6c")]
71    Variant8p6c,
72    #[serde(rename = "8p4c")]
73    Variant8p4c,
74    #[serde(rename = "8p2c")]
75    Variant8p2c,
76    #[serde(rename = "6p6c")]
77    Variant6p6c,
78    #[serde(rename = "6p4c")]
79    Variant6p4c,
80    #[serde(rename = "6p2c")]
81    Variant6p2c,
82    #[serde(rename = "4p4c")]
83    Variant4p4c,
84    #[serde(rename = "4p2c")]
85    Variant4p2c,
86    #[serde(rename = "gg45")]
87    Gg45,
88    #[serde(rename = "tera-4p")]
89    Tera4p,
90    #[serde(rename = "tera-2p")]
91    Tera2p,
92    #[serde(rename = "tera-1p")]
93    Tera1p,
94    #[serde(rename = "110-punch")]
95    Variant110Punch,
96    #[serde(rename = "bnc")]
97    Bnc,
98    #[serde(rename = "f")]
99    F,
100    #[serde(rename = "n")]
101    N,
102    #[serde(rename = "mrj21")]
103    Mrj21,
104    #[serde(rename = "fc")]
105    Fc,
106    #[serde(rename = "fc-pc")]
107    FcPc,
108    #[serde(rename = "fc-upc")]
109    FcUpc,
110    #[serde(rename = "fc-apc")]
111    FcApc,
112    #[serde(rename = "lc")]
113    Lc,
114    #[serde(rename = "lc-pc")]
115    LcPc,
116    #[serde(rename = "lc-upc")]
117    LcUpc,
118    #[serde(rename = "lc-apc")]
119    LcApc,
120    #[serde(rename = "lsh")]
121    Lsh,
122    #[serde(rename = "lsh-pc")]
123    LshPc,
124    #[serde(rename = "lsh-upc")]
125    LshUpc,
126    #[serde(rename = "lsh-apc")]
127    LshApc,
128    #[serde(rename = "lx5")]
129    Lx5,
130    #[serde(rename = "lx5-pc")]
131    Lx5Pc,
132    #[serde(rename = "lx5-upc")]
133    Lx5Upc,
134    #[serde(rename = "lx5-apc")]
135    Lx5Apc,
136    #[serde(rename = "mpo")]
137    Mpo,
138    #[serde(rename = "mtrj")]
139    Mtrj,
140    #[serde(rename = "sc")]
141    Sc,
142    #[serde(rename = "sc-pc")]
143    ScPc,
144    #[serde(rename = "sc-upc")]
145    ScUpc,
146    #[serde(rename = "sc-apc")]
147    ScApc,
148    #[serde(rename = "st")]
149    St,
150    #[serde(rename = "cs")]
151    Cs,
152    #[serde(rename = "sn")]
153    Sn,
154    #[serde(rename = "sma-905")]
155    Sma905,
156    #[serde(rename = "sma-906")]
157    Sma906,
158    #[serde(rename = "urm-p2")]
159    UrmP2,
160    #[serde(rename = "urm-p4")]
161    UrmP4,
162    #[serde(rename = "urm-p8")]
163    UrmP8,
164    #[serde(rename = "splice")]
165    Splice,
166    #[serde(rename = "usb-a")]
167    UsbA,
168    #[serde(rename = "usb-b")]
169    UsbB,
170    #[serde(rename = "usb-c")]
171    UsbC,
172    #[serde(rename = "usb-mini-a")]
173    UsbMiniA,
174    #[serde(rename = "usb-mini-b")]
175    UsbMiniB,
176    #[serde(rename = "usb-micro-a")]
177    UsbMicroA,
178    #[serde(rename = "usb-micro-b")]
179    UsbMicroB,
180    #[serde(rename = "usb-micro-ab")]
181    UsbMicroAb,
182    #[serde(rename = "other")]
183    Other,
184}
185
186impl Default for RHashType {
187    fn default() -> RHashType {
188        Self::Variant8p8c
189    }
190}