Skip to main content

nautobot_openapi/models/
location_request.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/// LocationRequest : 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 LocationRequest {
15    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16    pub id: Option<uuid::Uuid>,
17    #[serde(
18        rename = "time_zone",
19        default,
20        with = "::serde_with::rust::double_option",
21        skip_serializing_if = "Option::is_none"
22    )]
23    pub time_zone: Option<Option<String>>,
24    #[serde(rename = "name")]
25    pub name: String,
26    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
27    pub description: Option<String>,
28    /// Local facility ID or description
29    #[serde(rename = "facility", skip_serializing_if = "Option::is_none")]
30    pub facility: Option<String>,
31    /// 32-bit autonomous system number
32    #[serde(
33        rename = "asn",
34        default,
35        with = "::serde_with::rust::double_option",
36        skip_serializing_if = "Option::is_none"
37    )]
38    pub asn: Option<Option<i64>>,
39    #[serde(rename = "physical_address", skip_serializing_if = "Option::is_none")]
40    pub physical_address: Option<String>,
41    #[serde(rename = "shipping_address", skip_serializing_if = "Option::is_none")]
42    pub shipping_address: Option<String>,
43    /// GPS coordinate (latitude)
44    #[serde(
45        rename = "latitude",
46        default,
47        with = "::serde_with::rust::double_option",
48        skip_serializing_if = "Option::is_none"
49    )]
50    pub latitude: Option<Option<String>>,
51    /// GPS coordinate (longitude)
52    #[serde(
53        rename = "longitude",
54        default,
55        with = "::serde_with::rust::double_option",
56        skip_serializing_if = "Option::is_none"
57    )]
58    pub longitude: Option<Option<String>>,
59    #[serde(rename = "contact_name", skip_serializing_if = "Option::is_none")]
60    pub contact_name: Option<String>,
61    #[serde(rename = "contact_phone", skip_serializing_if = "Option::is_none")]
62    pub contact_phone: Option<String>,
63    #[serde(rename = "contact_email", skip_serializing_if = "Option::is_none")]
64    pub contact_email: Option<String>,
65    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
66    pub comments: Option<String>,
67    #[serde(
68        rename = "parent",
69        default,
70        with = "::serde_with::rust::double_option",
71        skip_serializing_if = "Option::is_none"
72    )]
73    pub parent: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
74    #[serde(rename = "location_type")]
75    pub location_type: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
76    #[serde(rename = "status")]
77    pub status: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
78    #[serde(
79        rename = "tenant",
80        default,
81        with = "::serde_with::rust::double_option",
82        skip_serializing_if = "Option::is_none"
83    )]
84    pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
85    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
86    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
87    #[serde(rename = "relationships", skip_serializing_if = "Option::is_none")]
88    pub relationships: Option<
89        ::std::collections::HashMap<
90            String,
91            crate::models::ApprovalWorkflowDefinitionRequestRelationshipsValue,
92        >,
93    >,
94    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
95    pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
96}
97
98impl LocationRequest {
99    /// Add a `tree_depth` field to non-nested model serializers based on django-tree-queries.
100    pub fn new(
101        name: String,
102        location_type: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
103        status: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
104    ) -> LocationRequest {
105        LocationRequest {
106            id: None,
107            time_zone: None,
108            name,
109            description: None,
110            facility: None,
111            asn: None,
112            physical_address: None,
113            shipping_address: None,
114            latitude: None,
115            longitude: None,
116            contact_name: None,
117            contact_phone: None,
118            contact_email: None,
119            comments: None,
120            parent: None,
121            location_type: Box::new(location_type),
122            status: Box::new(status),
123            tenant: None,
124            custom_fields: None,
125            relationships: None,
126            tags: None,
127        }
128    }
129}