Skip to main content

netbox_openapi/models/
ip_address_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/// IpAddressRequest : Base serializer class for models inheriting from PrimaryModel.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct IpAddressRequest {
15    #[serde(rename = "address")]
16    pub address: 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::BulkIpAddressRequestVrf>>>,
24    #[serde(
25        rename = "tenant",
26        default,
27        with = "::serde_with::rust::double_option",
28        skip_serializing_if = "Option::is_none"
29    )]
30    pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
31    /// * `active` - Active * `reserved` - Reserved * `deprecated` - Deprecated * `dhcp` - DHCP * `slaac` - SLAAC
32    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
33    pub status: Option<Status>,
34    /// * `loopback` - Loopback * `secondary` - Secondary * `anycast` - Anycast * `vip` - VIP * `vrrp` - VRRP * `hsrp` - HSRP * `glbp` - GLBP * `carp` - CARP
35    #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
36    pub role: Option<Role>,
37    #[serde(
38        rename = "assigned_object_type",
39        default,
40        with = "::serde_with::rust::double_option",
41        skip_serializing_if = "Option::is_none"
42    )]
43    pub assigned_object_type: Option<Option<String>>,
44    #[serde(
45        rename = "assigned_object_id",
46        default,
47        with = "::serde_with::rust::double_option",
48        skip_serializing_if = "Option::is_none"
49    )]
50    pub assigned_object_id: Option<Option<i64>>,
51    #[serde(
52        rename = "nat_inside",
53        default,
54        with = "::serde_with::rust::double_option",
55        skip_serializing_if = "Option::is_none"
56    )]
57    pub nat_inside: Option<Option<Box<crate::models::NestedIpAddressRequest>>>,
58    #[serde(rename = "dns_name", skip_serializing_if = "Option::is_none")]
59    pub dns_name: Option<Box<crate::models::BriefIpAddressDnsName>>,
60    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
61    pub description: Option<String>,
62    #[serde(
63        rename = "owner",
64        default,
65        with = "::serde_with::rust::double_option",
66        skip_serializing_if = "Option::is_none"
67    )]
68    pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
69    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
70    pub comments: Option<String>,
71    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
72    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
73    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
74    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
75}
76
77impl IpAddressRequest {
78    /// Base serializer class for models inheriting from PrimaryModel.
79    pub fn new(address: String) -> IpAddressRequest {
80        IpAddressRequest {
81            address,
82            vrf: None,
83            tenant: None,
84            status: None,
85            role: None,
86            assigned_object_type: None,
87            assigned_object_id: None,
88            nat_inside: None,
89            dns_name: None,
90            description: None,
91            owner: None,
92            comments: None,
93            tags: None,
94            custom_fields: None,
95        }
96    }
97}
98
99/// * `active` - Active * `reserved` - Reserved * `deprecated` - Deprecated * `dhcp` - DHCP * `slaac` - SLAAC
100#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
101pub enum Status {
102    #[serde(rename = "active")]
103    Active,
104    #[serde(rename = "reserved")]
105    Reserved,
106    #[serde(rename = "deprecated")]
107    Deprecated,
108    #[serde(rename = "dhcp")]
109    Dhcp,
110    #[serde(rename = "slaac")]
111    Slaac,
112}
113
114impl Default for Status {
115    fn default() -> Status {
116        Self::Active
117    }
118}
119/// * `loopback` - Loopback * `secondary` - Secondary * `anycast` - Anycast * `vip` - VIP * `vrrp` - VRRP * `hsrp` - HSRP * `glbp` - GLBP * `carp` - CARP
120#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
121pub enum Role {
122    #[serde(rename = "loopback")]
123    Loopback,
124    #[serde(rename = "secondary")]
125    Secondary,
126    #[serde(rename = "anycast")]
127    Anycast,
128    #[serde(rename = "vip")]
129    Vip,
130    #[serde(rename = "vrrp")]
131    Vrrp,
132    #[serde(rename = "hsrp")]
133    Hsrp,
134    #[serde(rename = "glbp")]
135    Glbp,
136    #[serde(rename = "carp")]
137    Carp,
138    #[serde(rename = "")]
139    Empty,
140}
141
142impl Default for Role {
143    fn default() -> Role {
144        Self::Loopback
145    }
146}