Skip to main content

netbox_openapi/models/
circuit.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/// Circuit : Base serializer class for models inheriting from PrimaryModel.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct Circuit {
15    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16    pub id: Option<i32>,
17    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
18    pub url: Option<String>,
19    #[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
20    pub display_url: Option<String>,
21    #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
22    pub display: Option<String>,
23    /// Unique circuit ID
24    #[serde(rename = "cid")]
25    pub cid: String,
26    #[serde(rename = "provider")]
27    pub provider: Box<crate::models::BriefProvider>,
28    #[serde(
29        rename = "provider_account",
30        default,
31        with = "::serde_with::rust::double_option",
32        skip_serializing_if = "Option::is_none"
33    )]
34    pub provider_account: Option<Option<Box<crate::models::BriefProviderAccount>>>,
35    #[serde(rename = "type")]
36    pub r#type: Box<crate::models::BriefCircuitType>,
37    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
38    pub status: Option<Box<crate::models::CircuitStatus>>,
39    #[serde(
40        rename = "tenant",
41        default,
42        with = "::serde_with::rust::double_option",
43        skip_serializing_if = "Option::is_none"
44    )]
45    pub tenant: Option<Option<Box<crate::models::BriefTenant>>>,
46    #[serde(
47        rename = "install_date",
48        default,
49        with = "::serde_with::rust::double_option",
50        skip_serializing_if = "Option::is_none"
51    )]
52    pub install_date: Option<Option<String>>,
53    #[serde(
54        rename = "termination_date",
55        default,
56        with = "::serde_with::rust::double_option",
57        skip_serializing_if = "Option::is_none"
58    )]
59    pub termination_date: Option<Option<String>>,
60    /// Committed rate
61    #[serde(
62        rename = "commit_rate",
63        default,
64        with = "::serde_with::rust::double_option",
65        skip_serializing_if = "Option::is_none"
66    )]
67    pub commit_rate: Option<Option<i32>>,
68    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
69    pub description: Option<String>,
70    #[serde(
71        rename = "distance",
72        default,
73        with = "::serde_with::rust::double_option",
74        skip_serializing_if = "Option::is_none"
75    )]
76    pub distance: Option<Option<f64>>,
77    #[serde(
78        rename = "distance_unit",
79        default,
80        with = "::serde_with::rust::double_option",
81        skip_serializing_if = "Option::is_none"
82    )]
83    pub distance_unit: Option<Option<Box<crate::models::CircuitDistanceUnit>>>,
84    #[serde(
85        rename = "termination_a",
86        default,
87        with = "::serde_with::rust::double_option",
88        skip_serializing_if = "Option::is_none"
89    )]
90    pub termination_a: Option<Option<Box<crate::models::CircuitCircuitTermination>>>,
91    #[serde(
92        rename = "termination_z",
93        default,
94        with = "::serde_with::rust::double_option",
95        skip_serializing_if = "Option::is_none"
96    )]
97    pub termination_z: Option<Option<Box<crate::models::CircuitCircuitTermination>>>,
98    #[serde(
99        rename = "owner",
100        default,
101        with = "::serde_with::rust::double_option",
102        skip_serializing_if = "Option::is_none"
103    )]
104    pub owner: Option<Option<Box<crate::models::BriefOwner>>>,
105    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
106    pub comments: Option<String>,
107    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
108    pub tags: Option<Vec<crate::models::NestedTag>>,
109    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
110    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
111    #[serde(
112        rename = "created",
113        default,
114        with = "::serde_with::rust::double_option",
115        skip_serializing_if = "Option::is_none"
116    )]
117    pub created: Option<Option<String>>,
118    #[serde(
119        rename = "last_updated",
120        default,
121        with = "::serde_with::rust::double_option",
122        skip_serializing_if = "Option::is_none"
123    )]
124    pub last_updated: Option<Option<String>>,
125    #[serde(rename = "assignments", skip_serializing_if = "Option::is_none")]
126    pub assignments: Option<Vec<crate::models::BriefCircuitGroupAssignmentSerializer>>,
127}
128
129impl Circuit {
130    /// Base serializer class for models inheriting from PrimaryModel.
131    pub fn new(
132        cid: String,
133        provider: crate::models::BriefProvider,
134        r#type: crate::models::BriefCircuitType,
135    ) -> Circuit {
136        Circuit {
137            id: None,
138            url: None,
139            display_url: None,
140            display: None,
141            cid,
142            provider: Box::new(provider),
143            provider_account: None,
144            r#type: Box::new(r#type),
145            status: None,
146            tenant: None,
147            install_date: None,
148            termination_date: None,
149            commit_rate: None,
150            description: None,
151            distance: None,
152            distance_unit: None,
153            termination_a: None,
154            termination_z: None,
155            owner: None,
156            comments: None,
157            tags: None,
158            custom_fields: None,
159            created: None,
160            last_updated: None,
161            assignments: None,
162        }
163    }
164}