Skip to main content

netbox_openapi/models/
bulk_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.6.8 (4.6)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// BulkFrontPortTemplateRequest : 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 BulkFrontPortTemplateRequest {
15    #[serde(rename = "id")]
16    pub id: i32,
17    #[serde(
18        rename = "device_type",
19        default,
20        with = "::serde_with::rust::double_option",
21        skip_serializing_if = "Option::is_none"
22    )]
23    pub device_type: Option<Option<Box<crate::models::BulkConsolePortTemplateRequestDeviceType>>>,
24    #[serde(
25        rename = "module_type",
26        default,
27        with = "::serde_with::rust::double_option",
28        skip_serializing_if = "Option::is_none"
29    )]
30    pub module_type: Option<Option<Box<crate::models::BulkConsolePortTemplateRequestModuleType>>>,
31    /// {module} is accepted as a substitution for the module bay position when attached to a module type.
32    #[serde(rename = "name")]
33    pub name: String,
34    /// Physical label
35    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
36    pub label: Option<String>,
37    /// * `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 * `mu` - MU * `mu-pc` - MU/PC * `mu-upc` - MU/UPC * `mu-apc` - MU/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 * `mdc` - MDC * `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
38    #[serde(rename = "type")]
39    pub r#type: RHashType,
40    #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
41    pub color: Option<Box<crate::models::BulkCableRequestColor>>,
42    #[serde(rename = "positions", skip_serializing_if = "Option::is_none")]
43    pub positions: Option<i32>,
44    #[serde(rename = "rear_ports", skip_serializing_if = "Option::is_none")]
45    pub rear_ports: Option<Vec<crate::models::FrontPortTemplateMappingRequest>>,
46    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
47    pub description: Option<String>,
48}
49
50impl BulkFrontPortTemplateRequest {
51    /// 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>)
52    pub fn new(id: i32, name: String, r#type: RHashType) -> BulkFrontPortTemplateRequest {
53        BulkFrontPortTemplateRequest {
54            id,
55            device_type: None,
56            module_type: None,
57            name,
58            label: None,
59            r#type,
60            color: None,
61            positions: None,
62            rear_ports: None,
63            description: None,
64        }
65    }
66}
67
68/// * `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 * `mu` - MU * `mu-pc` - MU/PC * `mu-upc` - MU/UPC * `mu-apc` - MU/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 * `mdc` - MDC * `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
69#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum RHashType {
71    #[serde(rename = "8p8c")]
72    Variant8p8c,
73    #[serde(rename = "8p6c")]
74    Variant8p6c,
75    #[serde(rename = "8p4c")]
76    Variant8p4c,
77    #[serde(rename = "8p2c")]
78    Variant8p2c,
79    #[serde(rename = "6p6c")]
80    Variant6p6c,
81    #[serde(rename = "6p4c")]
82    Variant6p4c,
83    #[serde(rename = "6p2c")]
84    Variant6p2c,
85    #[serde(rename = "4p4c")]
86    Variant4p4c,
87    #[serde(rename = "4p2c")]
88    Variant4p2c,
89    #[serde(rename = "gg45")]
90    Gg45,
91    #[serde(rename = "tera-4p")]
92    Tera4p,
93    #[serde(rename = "tera-2p")]
94    Tera2p,
95    #[serde(rename = "tera-1p")]
96    Tera1p,
97    #[serde(rename = "110-punch")]
98    Variant110Punch,
99    #[serde(rename = "bnc")]
100    Bnc,
101    #[serde(rename = "f")]
102    F,
103    #[serde(rename = "n")]
104    N,
105    #[serde(rename = "mrj21")]
106    Mrj21,
107    #[serde(rename = "fc")]
108    Fc,
109    #[serde(rename = "fc-pc")]
110    FcPc,
111    #[serde(rename = "fc-upc")]
112    FcUpc,
113    #[serde(rename = "fc-apc")]
114    FcApc,
115    #[serde(rename = "lc")]
116    Lc,
117    #[serde(rename = "lc-pc")]
118    LcPc,
119    #[serde(rename = "lc-upc")]
120    LcUpc,
121    #[serde(rename = "lc-apc")]
122    LcApc,
123    #[serde(rename = "mu")]
124    Mu,
125    #[serde(rename = "mu-pc")]
126    MuPc,
127    #[serde(rename = "mu-upc")]
128    MuUpc,
129    #[serde(rename = "mu-apc")]
130    MuApc,
131    #[serde(rename = "lsh")]
132    Lsh,
133    #[serde(rename = "lsh-pc")]
134    LshPc,
135    #[serde(rename = "lsh-upc")]
136    LshUpc,
137    #[serde(rename = "lsh-apc")]
138    LshApc,
139    #[serde(rename = "lx5")]
140    Lx5,
141    #[serde(rename = "lx5-pc")]
142    Lx5Pc,
143    #[serde(rename = "lx5-upc")]
144    Lx5Upc,
145    #[serde(rename = "lx5-apc")]
146    Lx5Apc,
147    #[serde(rename = "mpo")]
148    Mpo,
149    #[serde(rename = "mtrj")]
150    Mtrj,
151    #[serde(rename = "sc")]
152    Sc,
153    #[serde(rename = "sc-pc")]
154    ScPc,
155    #[serde(rename = "sc-upc")]
156    ScUpc,
157    #[serde(rename = "sc-apc")]
158    ScApc,
159    #[serde(rename = "st")]
160    St,
161    #[serde(rename = "cs")]
162    Cs,
163    #[serde(rename = "sn")]
164    Sn,
165    #[serde(rename = "mdc")]
166    Mdc,
167    #[serde(rename = "sma-905")]
168    Sma905,
169    #[serde(rename = "sma-906")]
170    Sma906,
171    #[serde(rename = "urm-p2")]
172    UrmP2,
173    #[serde(rename = "urm-p4")]
174    UrmP4,
175    #[serde(rename = "urm-p8")]
176    UrmP8,
177    #[serde(rename = "splice")]
178    Splice,
179    #[serde(rename = "usb-a")]
180    UsbA,
181    #[serde(rename = "usb-b")]
182    UsbB,
183    #[serde(rename = "usb-c")]
184    UsbC,
185    #[serde(rename = "usb-mini-a")]
186    UsbMiniA,
187    #[serde(rename = "usb-mini-b")]
188    UsbMiniB,
189    #[serde(rename = "usb-micro-a")]
190    UsbMicroA,
191    #[serde(rename = "usb-micro-b")]
192    UsbMicroB,
193    #[serde(rename = "usb-micro-ab")]
194    UsbMicroAb,
195    #[serde(rename = "other")]
196    Other,
197}
198
199impl Default for RHashType {
200    fn default() -> RHashType {
201        Self::Variant8p8c
202    }
203}