Skip to main content

netbox_openapi/models/
virtual_machine_with_config_context_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.8 (4.6)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// VirtualMachineWithConfigContextRequest : Base serializer class for models inheriting from PrimaryModel.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct VirtualMachineWithConfigContextRequest {
15    #[serde(rename = "name")]
16    pub name: String,
17    #[serde(
18        rename = "virtual_machine_type",
19        default,
20        with = "::serde_with::rust::double_option",
21        skip_serializing_if = "Option::is_none"
22    )]
23    pub virtual_machine_type: Option<
24        Option<Box<crate::models::BulkVirtualMachineWithConfigContextRequestVirtualMachineType>>,
25    >,
26    #[serde(
27        rename = "role",
28        default,
29        with = "::serde_with::rust::double_option",
30        skip_serializing_if = "Option::is_none"
31    )]
32    pub role: Option<Option<Box<crate::models::BulkVirtualMachineWithConfigContextRequestRole>>>,
33    /// * `offline` - Offline * `active` - Active * `planned` - Planned * `staged` - Staged * `failed` - Failed * `decommissioning` - Decommissioning * `paused` - Paused
34    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
35    pub status: Option<Status>,
36    /// * `on` - On * `off` - Off * `laststate` - Last State
37    #[serde(rename = "start_on_boot", skip_serializing_if = "Option::is_none")]
38    pub start_on_boot: Option<StartOnBoot>,
39    #[serde(
40        rename = "site",
41        default,
42        with = "::serde_with::rust::double_option",
43        skip_serializing_if = "Option::is_none"
44    )]
45    pub site: Option<Option<Box<crate::models::BulkVlanRequestSite>>>,
46    #[serde(
47        rename = "cluster",
48        default,
49        with = "::serde_with::rust::double_option",
50        skip_serializing_if = "Option::is_none"
51    )]
52    pub cluster: Option<Option<Box<crate::models::BulkDeviceWithConfigContextRequestCluster>>>,
53    #[serde(
54        rename = "device",
55        default,
56        with = "::serde_with::rust::double_option",
57        skip_serializing_if = "Option::is_none"
58    )]
59    pub device: Option<Option<Box<crate::models::BulkDeviceBayRequestInstalledDevice>>>,
60    #[serde(
61        rename = "platform",
62        default,
63        with = "::serde_with::rust::double_option",
64        skip_serializing_if = "Option::is_none"
65    )]
66    pub platform: Option<Option<Box<crate::models::BulkDeviceTypeRequestDefaultPlatform>>>,
67    #[serde(
68        rename = "primary_ip4",
69        default,
70        with = "::serde_with::rust::double_option",
71        skip_serializing_if = "Option::is_none"
72    )]
73    pub primary_ip4:
74        Option<Option<Box<crate::models::BulkDeviceWithConfigContextRequestPrimaryIp4>>>,
75    #[serde(
76        rename = "primary_ip6",
77        default,
78        with = "::serde_with::rust::double_option",
79        skip_serializing_if = "Option::is_none"
80    )]
81    pub primary_ip6:
82        Option<Option<Box<crate::models::BulkDeviceWithConfigContextRequestPrimaryIp4>>>,
83    #[serde(
84        rename = "vcpus",
85        default,
86        with = "::serde_with::rust::double_option",
87        skip_serializing_if = "Option::is_none"
88    )]
89    pub vcpus: Option<Option<f64>>,
90    #[serde(
91        rename = "memory",
92        default,
93        with = "::serde_with::rust::double_option",
94        skip_serializing_if = "Option::is_none"
95    )]
96    pub memory: Option<Option<i32>>,
97    #[serde(
98        rename = "disk",
99        default,
100        with = "::serde_with::rust::double_option",
101        skip_serializing_if = "Option::is_none"
102    )]
103    pub disk: Option<Option<i32>>,
104    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
105    pub description: Option<String>,
106    #[serde(rename = "serial", skip_serializing_if = "Option::is_none")]
107    pub serial: Option<String>,
108    #[serde(
109        rename = "tenant",
110        default,
111        with = "::serde_with::rust::double_option",
112        skip_serializing_if = "Option::is_none"
113    )]
114    pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
115    #[serde(
116        rename = "owner",
117        default,
118        with = "::serde_with::rust::double_option",
119        skip_serializing_if = "Option::is_none"
120    )]
121    pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
122    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
123    pub comments: Option<String>,
124    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
125    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
126    /// Local config context data takes precedence over source contexts in the final rendered config context
127    #[serde(
128        rename = "local_context_data",
129        default,
130        with = "::serde_with::rust::double_option",
131        skip_serializing_if = "Option::is_none"
132    )]
133    pub local_context_data: Option<Option<serde_json::Value>>,
134    #[serde(
135        rename = "config_template",
136        default,
137        with = "::serde_with::rust::double_option",
138        skip_serializing_if = "Option::is_none"
139    )]
140    pub config_template: Option<Option<Box<crate::models::BulkDeviceRoleRequestConfigTemplate>>>,
141    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
142    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
143}
144
145impl VirtualMachineWithConfigContextRequest {
146    /// Base serializer class for models inheriting from PrimaryModel.
147    pub fn new(name: String) -> VirtualMachineWithConfigContextRequest {
148        VirtualMachineWithConfigContextRequest {
149            name,
150            virtual_machine_type: None,
151            role: None,
152            status: None,
153            start_on_boot: None,
154            site: None,
155            cluster: None,
156            device: None,
157            platform: None,
158            primary_ip4: None,
159            primary_ip6: None,
160            vcpus: None,
161            memory: None,
162            disk: None,
163            description: None,
164            serial: None,
165            tenant: None,
166            owner: None,
167            comments: None,
168            tags: None,
169            local_context_data: None,
170            config_template: None,
171            custom_fields: None,
172        }
173    }
174}
175
176/// * `offline` - Offline * `active` - Active * `planned` - Planned * `staged` - Staged * `failed` - Failed * `decommissioning` - Decommissioning * `paused` - Paused
177#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
178pub enum Status {
179    #[serde(rename = "offline")]
180    Offline,
181    #[serde(rename = "active")]
182    Active,
183    #[serde(rename = "planned")]
184    Planned,
185    #[serde(rename = "staged")]
186    Staged,
187    #[serde(rename = "failed")]
188    Failed,
189    #[serde(rename = "decommissioning")]
190    Decommissioning,
191    #[serde(rename = "paused")]
192    Paused,
193}
194
195impl Default for Status {
196    fn default() -> Status {
197        Self::Offline
198    }
199}
200/// * `on` - On * `off` - Off * `laststate` - Last State
201#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
202pub enum StartOnBoot {
203    #[serde(rename = "on")]
204    On,
205    #[serde(rename = "off")]
206    Off,
207    #[serde(rename = "laststate")]
208    Laststate,
209}
210
211impl Default for StartOnBoot {
212    fn default() -> StartOnBoot {
213        Self::On
214    }
215}