netbox_openapi/models/
prefix_request.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PrefixRequest {
15 #[serde(rename = "prefix")]
16 pub prefix: String,
17 #[serde(
18 rename = "vrf",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub vrf: Option<Option<Box<crate::models::IpAddressRequestVrf>>>,
24 #[serde(
25 rename = "scope_type",
26 default,
27 with = "::serde_with::rust::double_option",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub scope_type: Option<Option<String>>,
31 #[serde(
32 rename = "scope_id",
33 default,
34 with = "::serde_with::rust::double_option",
35 skip_serializing_if = "Option::is_none"
36 )]
37 pub scope_id: Option<Option<i32>>,
38 #[serde(
39 rename = "tenant",
40 default,
41 with = "::serde_with::rust::double_option",
42 skip_serializing_if = "Option::is_none"
43 )]
44 pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
45 #[serde(
46 rename = "vlan",
47 default,
48 with = "::serde_with::rust::double_option",
49 skip_serializing_if = "Option::is_none"
50 )]
51 pub vlan: Option<Option<Box<crate::models::InterfaceRequestUntaggedVlan>>>,
52 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
54 pub status: Option<Status>,
55 #[serde(
56 rename = "role",
57 default,
58 with = "::serde_with::rust::double_option",
59 skip_serializing_if = "Option::is_none"
60 )]
61 pub role: Option<Option<Box<crate::models::AsnRequestRole>>>,
62 #[serde(rename = "is_pool", skip_serializing_if = "Option::is_none")]
64 pub is_pool: Option<bool>,
65 #[serde(rename = "mark_utilized", skip_serializing_if = "Option::is_none")]
67 pub mark_utilized: Option<bool>,
68 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
69 pub description: Option<String>,
70 #[serde(
71 rename = "owner",
72 default,
73 with = "::serde_with::rust::double_option",
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
77 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
78 pub comments: Option<String>,
79 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
80 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
81 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
82 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
83}
84
85impl PrefixRequest {
86 pub fn new(prefix: String) -> PrefixRequest {
88 PrefixRequest {
89 prefix,
90 vrf: None,
91 scope_type: None,
92 scope_id: None,
93 tenant: None,
94 vlan: None,
95 status: None,
96 role: None,
97 is_pool: None,
98 mark_utilized: None,
99 description: None,
100 owner: None,
101 comments: None,
102 tags: None,
103 custom_fields: None,
104 }
105 }
106}
107
108#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
110pub enum Status {
111 #[serde(rename = "container")]
112 Container,
113 #[serde(rename = "active")]
114 Active,
115 #[serde(rename = "reserved")]
116 Reserved,
117 #[serde(rename = "deprecated")]
118 Deprecated,
119}
120
121impl Default for Status {
122 fn default() -> Status {
123 Self::Container
124 }
125}