Skip to main content

nautobot_openapi/models/
vlan.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/// Vlan : 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 Vlan {
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 = "prefix_count", skip_serializing_if = "Option::is_none")]
27    pub prefix_count: Option<i32>,
28    #[serde(rename = "vid")]
29    pub vid: i32,
30    #[serde(rename = "name")]
31    pub name: String,
32    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
33    pub description: Option<String>,
34    #[serde(
35        rename = "vlan_group",
36        default,
37        with = "::serde_with::rust::double_option",
38        skip_serializing_if = "Option::is_none"
39    )]
40    pub vlan_group: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
41    #[serde(rename = "status")]
42    pub status: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
43    #[serde(
44        rename = "role",
45        default,
46        with = "::serde_with::rust::double_option",
47        skip_serializing_if = "Option::is_none"
48    )]
49    pub role: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
50    #[serde(
51        rename = "tenant",
52        default,
53        with = "::serde_with::rust::double_option",
54        skip_serializing_if = "Option::is_none"
55    )]
56    pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
57    #[serde(
58        rename = "created",
59        default,
60        with = "::serde_with::rust::double_option",
61        skip_serializing_if = "Option::is_none"
62    )]
63    pub created: Option<Option<String>>,
64    #[serde(
65        rename = "last_updated",
66        default,
67        with = "::serde_with::rust::double_option",
68        skip_serializing_if = "Option::is_none"
69    )]
70    pub last_updated: Option<Option<String>>,
71    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
72    pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
73    #[serde(rename = "notes_url", skip_serializing_if = "Option::is_none")]
74    pub notes_url: Option<String>,
75    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
76    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
77    #[serde(rename = "computed_fields", skip_serializing_if = "Option::is_none")]
78    pub computed_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
79    #[serde(rename = "relationships", skip_serializing_if = "Option::is_none")]
80    pub relationships: Option<
81        ::std::collections::HashMap<
82            String,
83            crate::models::ApprovalWorkflowDefinitionRequestRelationshipsValue,
84        >,
85    >,
86}
87
88impl Vlan {
89    /// 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.
90    pub fn new(
91        vid: i32,
92        name: String,
93        status: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
94    ) -> Vlan {
95        Vlan {
96            id: None,
97            object_type: None,
98            display: None,
99            url: None,
100            natural_slug: None,
101            prefix_count: None,
102            vid,
103            name,
104            description: None,
105            vlan_group: None,
106            status: Box::new(status),
107            role: None,
108            tenant: None,
109            created: None,
110            last_updated: None,
111            tags: None,
112            notes_url: None,
113            custom_fields: None,
114            computed_fields: None,
115            relationships: None,
116        }
117    }
118}