Skip to main content

netbox_openapi/models/
patched_writable_site_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/// PatchedWritableSiteRequest : Base serializer class for models inheriting from PrimaryModel.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PatchedWritableSiteRequest {
15    /// Full name of the site
16    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
17    pub name: Option<String>,
18    #[serde(rename = "slug", skip_serializing_if = "Option::is_none")]
19    pub slug: Option<String>,
20    /// * `planned` - Planned * `staging` - Staging * `active` - Active * `decommissioning` - Decommissioning * `retired` - Retired
21    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
22    pub status: Option<Status>,
23    #[serde(
24        rename = "region",
25        default,
26        with = "::serde_with::rust::double_option",
27        skip_serializing_if = "Option::is_none"
28    )]
29    pub region: Option<Option<Box<crate::models::PatchedWritableSiteRequestRegion>>>,
30    #[serde(
31        rename = "group",
32        default,
33        with = "::serde_with::rust::double_option",
34        skip_serializing_if = "Option::is_none"
35    )]
36    pub group: Option<Option<Box<crate::models::PatchedWritableSiteRequestGroup>>>,
37    #[serde(
38        rename = "tenant",
39        default,
40        with = "::serde_with::rust::double_option",
41        skip_serializing_if = "Option::is_none"
42    )]
43    pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
44    /// Local facility ID or description
45    #[serde(rename = "facility", skip_serializing_if = "Option::is_none")]
46    pub facility: Option<String>,
47    #[serde(
48        rename = "time_zone",
49        default,
50        with = "::serde_with::rust::double_option",
51        skip_serializing_if = "Option::is_none"
52    )]
53    pub time_zone: Option<Option<String>>,
54    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
55    pub description: Option<String>,
56    /// Physical location of the building
57    #[serde(rename = "physical_address", skip_serializing_if = "Option::is_none")]
58    pub physical_address: Option<String>,
59    /// If different from the physical address
60    #[serde(rename = "shipping_address", skip_serializing_if = "Option::is_none")]
61    pub shipping_address: Option<String>,
62    /// GPS coordinate in decimal format (xx.yyyyyy)
63    #[serde(
64        rename = "latitude",
65        default,
66        with = "::serde_with::rust::double_option",
67        skip_serializing_if = "Option::is_none"
68    )]
69    pub latitude: Option<Option<f64>>,
70    /// GPS coordinate in decimal format (xx.yyyyyy)
71    #[serde(
72        rename = "longitude",
73        default,
74        with = "::serde_with::rust::double_option",
75        skip_serializing_if = "Option::is_none"
76    )]
77    pub longitude: Option<Option<f64>>,
78    #[serde(
79        rename = "owner",
80        default,
81        with = "::serde_with::rust::double_option",
82        skip_serializing_if = "Option::is_none"
83    )]
84    pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
85    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
86    pub comments: Option<String>,
87    #[serde(rename = "asns", skip_serializing_if = "Option::is_none")]
88    pub asns: Option<Vec<i32>>,
89    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
90    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
91    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
92    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
93}
94
95impl PatchedWritableSiteRequest {
96    /// Base serializer class for models inheriting from PrimaryModel.
97    pub fn new() -> PatchedWritableSiteRequest {
98        PatchedWritableSiteRequest {
99            name: None,
100            slug: None,
101            status: None,
102            region: None,
103            group: None,
104            tenant: None,
105            facility: None,
106            time_zone: None,
107            description: None,
108            physical_address: None,
109            shipping_address: None,
110            latitude: None,
111            longitude: None,
112            owner: None,
113            comments: None,
114            asns: None,
115            tags: None,
116            custom_fields: None,
117        }
118    }
119}
120
121/// * `planned` - Planned * `staging` - Staging * `active` - Active * `decommissioning` - Decommissioning * `retired` - Retired
122#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
123pub enum Status {
124    #[serde(rename = "planned")]
125    Planned,
126    #[serde(rename = "staging")]
127    Staging,
128    #[serde(rename = "active")]
129    Active,
130    #[serde(rename = "decommissioning")]
131    Decommissioning,
132    #[serde(rename = "retired")]
133    Retired,
134}
135
136impl Default for Status {
137    fn default() -> Status {
138        Self::Planned
139    }
140}