1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct Site {
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 #[serde(rename = "name")]
25 pub name: String,
26 #[serde(rename = "slug")]
27 pub slug: String,
28 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
29 pub status: Option<Box<crate::models::LocationStatus>>,
30 #[serde(
31 rename = "region",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub region: Option<Option<Box<crate::models::BriefRegion>>>,
37 #[serde(
38 rename = "group",
39 default,
40 with = "::serde_with::rust::double_option",
41 skip_serializing_if = "Option::is_none"
42 )]
43 pub group: Option<Option<Box<crate::models::BriefSiteGroup>>>,
44 #[serde(
45 rename = "tenant",
46 default,
47 with = "::serde_with::rust::double_option",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub tenant: Option<Option<Box<crate::models::BriefTenant>>>,
51 #[serde(rename = "facility", skip_serializing_if = "Option::is_none")]
53 pub facility: Option<String>,
54 #[serde(
55 rename = "time_zone",
56 default,
57 with = "::serde_with::rust::double_option",
58 skip_serializing_if = "Option::is_none"
59 )]
60 pub time_zone: Option<Option<String>>,
61 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
62 pub description: Option<String>,
63 #[serde(rename = "physical_address", skip_serializing_if = "Option::is_none")]
65 pub physical_address: Option<String>,
66 #[serde(rename = "shipping_address", skip_serializing_if = "Option::is_none")]
68 pub shipping_address: Option<String>,
69 #[serde(
71 rename = "latitude",
72 default,
73 with = "::serde_with::rust::double_option",
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub latitude: Option<Option<f64>>,
77 #[serde(
79 rename = "longitude",
80 default,
81 with = "::serde_with::rust::double_option",
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub longitude: Option<Option<f64>>,
85 #[serde(
86 rename = "owner",
87 default,
88 with = "::serde_with::rust::double_option",
89 skip_serializing_if = "Option::is_none"
90 )]
91 pub owner: Option<Option<Box<crate::models::BriefOwner>>>,
92 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
93 pub comments: Option<String>,
94 #[serde(rename = "asns", skip_serializing_if = "Option::is_none")]
95 pub asns: Option<Vec<crate::models::Asn>>,
96 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
97 pub tags: Option<Vec<crate::models::NestedTag>>,
98 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
99 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
100 #[serde(
101 rename = "created",
102 default,
103 with = "::serde_with::rust::double_option",
104 skip_serializing_if = "Option::is_none"
105 )]
106 pub created: Option<Option<String>>,
107 #[serde(
108 rename = "last_updated",
109 default,
110 with = "::serde_with::rust::double_option",
111 skip_serializing_if = "Option::is_none"
112 )]
113 pub last_updated: Option<Option<String>>,
114 #[serde(rename = "circuit_count", skip_serializing_if = "Option::is_none")]
115 pub circuit_count: Option<i64>,
116 #[serde(rename = "device_count", skip_serializing_if = "Option::is_none")]
117 pub device_count: Option<i64>,
118 #[serde(rename = "prefix_count", skip_serializing_if = "Option::is_none")]
119 pub prefix_count: Option<i64>,
120 #[serde(rename = "rack_count", skip_serializing_if = "Option::is_none")]
121 pub rack_count: Option<i64>,
122 #[serde(
123 rename = "virtualmachine_count",
124 skip_serializing_if = "Option::is_none"
125 )]
126 pub virtualmachine_count: Option<i64>,
127 #[serde(rename = "vlan_count", skip_serializing_if = "Option::is_none")]
128 pub vlan_count: Option<i64>,
129}
130
131impl Site {
132 pub fn new(name: String, slug: String) -> Site {
134 Site {
135 id: None,
136 url: None,
137 display_url: None,
138 display: None,
139 name,
140 slug,
141 status: None,
142 region: None,
143 group: None,
144 tenant: None,
145 facility: None,
146 time_zone: None,
147 description: None,
148 physical_address: None,
149 shipping_address: None,
150 latitude: None,
151 longitude: None,
152 owner: None,
153 comments: None,
154 asns: None,
155 tags: None,
156 custom_fields: None,
157 created: None,
158 last_updated: None,
159 circuit_count: None,
160 device_count: None,
161 prefix_count: None,
162 rack_count: None,
163 virtualmachine_count: None,
164 vlan_count: None,
165 }
166 }
167}