netbox_openapi/models/
circuits_virtual_circuits_create_request.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct CircuitsVirtualCircuitsCreateRequest {
13 #[serde(rename = "cid")]
15 pub cid: String,
16 #[serde(rename = "provider_network")]
17 pub provider_network: Box<crate::models::BriefVirtualCircuitRequestProviderNetwork>,
18 #[serde(
19 rename = "provider_account",
20 default,
21 with = "::serde_with::rust::double_option",
22 skip_serializing_if = "Option::is_none"
23 )]
24 pub provider_account: Option<Option<Box<crate::models::CircuitRequestProviderAccount>>>,
25 #[serde(rename = "type")]
26 pub r#type: Box<crate::models::PatchedWritableVirtualCircuitRequestType>,
27 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
29 pub status: Option<Status>,
30 #[serde(
31 rename = "tenant",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
37 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
38 pub description: Option<String>,
39 #[serde(
40 rename = "owner",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
46 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
47 pub comments: Option<String>,
48 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
49 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
50 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
51 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
52}
53
54impl CircuitsVirtualCircuitsCreateRequest {
55 pub fn new(
56 cid: String,
57 provider_network: crate::models::BriefVirtualCircuitRequestProviderNetwork,
58 r#type: crate::models::PatchedWritableVirtualCircuitRequestType,
59 ) -> CircuitsVirtualCircuitsCreateRequest {
60 CircuitsVirtualCircuitsCreateRequest {
61 cid,
62 provider_network: Box::new(provider_network),
63 provider_account: None,
64 r#type: Box::new(r#type),
65 status: None,
66 tenant: None,
67 description: None,
68 owner: None,
69 comments: None,
70 tags: None,
71 custom_fields: None,
72 }
73 }
74}
75
76#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
78pub enum Status {
79 #[serde(rename = "planned")]
80 Planned,
81 #[serde(rename = "provisioning")]
82 Provisioning,
83 #[serde(rename = "active")]
84 Active,
85 #[serde(rename = "offline")]
86 Offline,
87 #[serde(rename = "deprovisioning")]
88 Deprovisioning,
89 #[serde(rename = "decommissioned")]
90 Decommissioned,
91}
92
93impl Default for Status {
94 fn default() -> Status {
95 Self::Planned
96 }
97}