Skip to main content

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