Skip to main content

nautobot_openapi/models/
location.rs

1/*
2 * API Documentation
3 *
4 * Source of truth and network automation platform
5 *
6 * The version of the OpenAPI document: 3.1.0 (3.1)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// Location : Add a `tree_depth` field to non-nested model serializers based on django-tree-queries.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct Location {
15    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16    pub id: Option<uuid::Uuid>,
17    #[serde(rename = "object_type", skip_serializing_if = "Option::is_none")]
18    pub object_type: Option<String>,
19    /// Human friendly display value
20    #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
21    pub display: Option<String>,
22    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
23    pub url: Option<String>,
24    #[serde(rename = "natural_slug", skip_serializing_if = "Option::is_none")]
25    pub natural_slug: Option<String>,
26    #[serde(
27        rename = "tree_depth",
28        default,
29        with = "::serde_with::rust::double_option",
30        skip_serializing_if = "Option::is_none"
31    )]
32    pub tree_depth: Option<Option<i32>>,
33    #[serde(
34        rename = "time_zone",
35        default,
36        with = "::serde_with::rust::double_option",
37        skip_serializing_if = "Option::is_none"
38    )]
39    pub time_zone: Option<Option<String>>,
40    #[serde(rename = "circuit_count", skip_serializing_if = "Option::is_none")]
41    pub circuit_count: Option<i32>,
42    #[serde(rename = "device_count", skip_serializing_if = "Option::is_none")]
43    pub device_count: Option<i32>,
44    #[serde(rename = "prefix_count", skip_serializing_if = "Option::is_none")]
45    pub prefix_count: Option<i32>,
46    #[serde(rename = "rack_count", skip_serializing_if = "Option::is_none")]
47    pub rack_count: Option<i32>,
48    #[serde(
49        rename = "virtual_machine_count",
50        skip_serializing_if = "Option::is_none"
51    )]
52    pub virtual_machine_count: Option<i32>,
53    #[serde(rename = "vlan_count", skip_serializing_if = "Option::is_none")]
54    pub vlan_count: Option<i32>,
55    #[serde(rename = "name")]
56    pub name: String,
57    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
58    pub description: Option<String>,
59    /// Local facility ID or description
60    #[serde(rename = "facility", skip_serializing_if = "Option::is_none")]
61    pub facility: Option<String>,
62    /// 32-bit autonomous system number
63    #[serde(
64        rename = "asn",
65        default,
66        with = "::serde_with::rust::double_option",
67        skip_serializing_if = "Option::is_none"
68    )]
69    pub asn: Option<Option<i64>>,
70    #[serde(rename = "physical_address", skip_serializing_if = "Option::is_none")]
71    pub physical_address: Option<String>,
72    #[serde(rename = "shipping_address", skip_serializing_if = "Option::is_none")]
73    pub shipping_address: Option<String>,
74    /// GPS coordinate (latitude)
75    #[serde(
76        rename = "latitude",
77        default,
78        with = "::serde_with::rust::double_option",
79        skip_serializing_if = "Option::is_none"
80    )]
81    pub latitude: Option<Option<String>>,
82    /// GPS coordinate (longitude)
83    #[serde(
84        rename = "longitude",
85        default,
86        with = "::serde_with::rust::double_option",
87        skip_serializing_if = "Option::is_none"
88    )]
89    pub longitude: Option<Option<String>>,
90    #[serde(rename = "contact_name", skip_serializing_if = "Option::is_none")]
91    pub contact_name: Option<String>,
92    #[serde(rename = "contact_phone", skip_serializing_if = "Option::is_none")]
93    pub contact_phone: Option<String>,
94    #[serde(rename = "contact_email", skip_serializing_if = "Option::is_none")]
95    pub contact_email: Option<String>,
96    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
97    pub comments: Option<String>,
98    #[serde(
99        rename = "parent",
100        default,
101        with = "::serde_with::rust::double_option",
102        skip_serializing_if = "Option::is_none"
103    )]
104    pub parent: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
105    #[serde(rename = "location_type")]
106    pub location_type: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
107    #[serde(rename = "status")]
108    pub status: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
109    #[serde(
110        rename = "tenant",
111        default,
112        with = "::serde_with::rust::double_option",
113        skip_serializing_if = "Option::is_none"
114    )]
115    pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
116    #[serde(
117        rename = "created",
118        default,
119        with = "::serde_with::rust::double_option",
120        skip_serializing_if = "Option::is_none"
121    )]
122    pub created: Option<Option<String>>,
123    #[serde(
124        rename = "last_updated",
125        default,
126        with = "::serde_with::rust::double_option",
127        skip_serializing_if = "Option::is_none"
128    )]
129    pub last_updated: Option<Option<String>>,
130    #[serde(rename = "notes_url", skip_serializing_if = "Option::is_none")]
131    pub notes_url: Option<String>,
132    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
133    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
134    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
135    pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
136}
137
138impl Location {
139    /// Add a `tree_depth` field to non-nested model serializers based on django-tree-queries.
140    pub fn new(
141        name: String,
142        location_type: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
143        status: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
144    ) -> Location {
145        Location {
146            id: None,
147            object_type: None,
148            display: None,
149            url: None,
150            natural_slug: None,
151            tree_depth: None,
152            time_zone: None,
153            circuit_count: None,
154            device_count: None,
155            prefix_count: None,
156            rack_count: None,
157            virtual_machine_count: None,
158            vlan_count: None,
159            name,
160            description: None,
161            facility: None,
162            asn: None,
163            physical_address: None,
164            shipping_address: None,
165            latitude: None,
166            longitude: None,
167            contact_name: None,
168            contact_phone: None,
169            contact_email: None,
170            comments: None,
171            parent: None,
172            location_type: Box::new(location_type),
173            status: Box::new(status),
174            tenant: None,
175            created: None,
176            last_updated: None,
177            notes_url: None,
178            custom_fields: None,
179            tags: None,
180        }
181    }
182}