Skip to main content

nautobot_openapi/models/
ip_address.rs

1/*
2 * API Documentation
3 *
4 * Source of truth and network automation platform
5 *
6 * The version of the OpenAPI document: 3.1.0 (3.1)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// IpAddress : Base class to use for serializers based on OrganizationalModel or PrimaryModel.  Can also be used for models derived from BaseModel, so long as they support custom fields, notes, and relationships.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct IpAddress {
15    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16    pub id: Option<uuid::Uuid>,
17    #[serde(rename = "object_type", skip_serializing_if = "Option::is_none")]
18    pub object_type: Option<String>,
19    /// Human friendly display value
20    #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
21    pub display: Option<String>,
22    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
23    pub url: Option<String>,
24    #[serde(rename = "natural_slug", skip_serializing_if = "Option::is_none")]
25    pub natural_slug: Option<String>,
26    #[serde(rename = "address")]
27    pub address: String,
28    /// IPv4 or IPv6 host address
29    #[serde(rename = "host", skip_serializing_if = "Option::is_none")]
30    pub host: Option<String>,
31    /// Length of the network mask, in bits.
32    #[serde(rename = "mask_length", skip_serializing_if = "Option::is_none")]
33    pub mask_length: Option<i32>,
34    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
35    pub r#type: Option<crate::models::IpAddressTypeChoices>,
36    #[serde(rename = "ip_version", skip_serializing_if = "Option::is_none")]
37    pub ip_version: Option<i32>,
38    /// Hostname or FQDN (not case-sensitive)
39    #[serde(rename = "dns_name", skip_serializing_if = "Option::is_none")]
40    pub dns_name: Option<String>,
41    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
42    pub description: Option<String>,
43    #[serde(rename = "status")]
44    pub status: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
45    #[serde(
46        rename = "role",
47        default,
48        with = "::serde_with::rust::double_option",
49        skip_serializing_if = "Option::is_none"
50    )]
51    pub role: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
52    #[serde(
53        rename = "parent",
54        default,
55        with = "::serde_with::rust::double_option",
56        skip_serializing_if = "Option::is_none"
57    )]
58    pub parent: Option<Option<Box<crate::models::BulkWritableIpAddressRequestParent>>>,
59    #[serde(
60        rename = "tenant",
61        default,
62        with = "::serde_with::rust::double_option",
63        skip_serializing_if = "Option::is_none"
64    )]
65    pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
66    #[serde(
67        rename = "nat_inside",
68        default,
69        with = "::serde_with::rust::double_option",
70        skip_serializing_if = "Option::is_none"
71    )]
72    pub nat_inside: Option<Option<Box<crate::models::NatInside>>>,
73    #[serde(
74        rename = "created",
75        default,
76        with = "::serde_with::rust::double_option",
77        skip_serializing_if = "Option::is_none"
78    )]
79    pub created: Option<Option<String>>,
80    #[serde(
81        rename = "last_updated",
82        default,
83        with = "::serde_with::rust::double_option",
84        skip_serializing_if = "Option::is_none"
85    )]
86    pub last_updated: Option<Option<String>>,
87    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
88    pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
89    #[serde(rename = "notes_url", skip_serializing_if = "Option::is_none")]
90    pub notes_url: Option<String>,
91    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
92    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
93}
94
95impl IpAddress {
96    /// Base class to use for serializers based on OrganizationalModel or PrimaryModel.  Can also be used for models derived from BaseModel, so long as they support custom fields, notes, and relationships.
97    pub fn new(
98        address: String,
99        status: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
100    ) -> IpAddress {
101        IpAddress {
102            id: None,
103            object_type: None,
104            display: None,
105            url: None,
106            natural_slug: None,
107            address,
108            host: None,
109            mask_length: None,
110            r#type: None,
111            ip_version: None,
112            dns_name: None,
113            description: None,
114            status: Box::new(status),
115            role: None,
116            parent: None,
117            tenant: None,
118            nat_inside: None,
119            created: None,
120            last_updated: None,
121            tags: None,
122            notes_url: None,
123            custom_fields: None,
124        }
125    }
126}