Skip to main content

nautobot_openapi/models/
virtual_server.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/// VirtualServer : VirtualServer Serializer.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct VirtualServer {
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 = "name")]
27    pub name: String,
28    #[serde(
29        rename = "port",
30        default,
31        with = "::serde_with::rust::double_option",
32        skip_serializing_if = "Option::is_none"
33    )]
34    pub port: Option<Option<i32>>,
35    #[serde(rename = "protocol")]
36    pub protocol: Box<crate::models::BulkWritableVirtualServerRequestProtocol>,
37    #[serde(rename = "source_nat_type", skip_serializing_if = "Option::is_none")]
38    pub source_nat_type: Option<Box<crate::models::BulkWritableVirtualServerRequestSourceNatType>>,
39    #[serde(rename = "load_balancer_type", skip_serializing_if = "Option::is_none")]
40    pub load_balancer_type:
41        Option<Box<crate::models::BulkWritableVirtualServerRequestLoadBalancerType>>,
42    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
43    pub enabled: Option<bool>,
44    #[serde(rename = "ssl_offload", skip_serializing_if = "Option::is_none")]
45    pub ssl_offload: Option<bool>,
46    #[serde(rename = "vip")]
47    pub vip: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
48    #[serde(
49        rename = "source_nat_pool",
50        default,
51        with = "::serde_with::rust::double_option",
52        skip_serializing_if = "Option::is_none"
53    )]
54    pub source_nat_pool: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
55    #[serde(
56        rename = "device",
57        default,
58        with = "::serde_with::rust::double_option",
59        skip_serializing_if = "Option::is_none"
60    )]
61    pub device: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
62    #[serde(
63        rename = "device_redundancy_group",
64        default,
65        with = "::serde_with::rust::double_option",
66        skip_serializing_if = "Option::is_none"
67    )]
68    pub device_redundancy_group: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
69    #[serde(
70        rename = "cloud_service",
71        default,
72        with = "::serde_with::rust::double_option",
73        skip_serializing_if = "Option::is_none"
74    )]
75    pub cloud_service: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
76    #[serde(
77        rename = "virtual_chassis",
78        default,
79        with = "::serde_with::rust::double_option",
80        skip_serializing_if = "Option::is_none"
81    )]
82    pub virtual_chassis: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
83    #[serde(
84        rename = "tenant",
85        default,
86        with = "::serde_with::rust::double_option",
87        skip_serializing_if = "Option::is_none"
88    )]
89    pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
90    #[serde(
91        rename = "load_balancer_pool",
92        default,
93        with = "::serde_with::rust::double_option",
94        skip_serializing_if = "Option::is_none"
95    )]
96    pub load_balancer_pool: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
97    #[serde(
98        rename = "health_check_monitor",
99        default,
100        with = "::serde_with::rust::double_option",
101        skip_serializing_if = "Option::is_none"
102    )]
103    pub health_check_monitor: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
104    #[serde(
105        rename = "created",
106        default,
107        with = "::serde_with::rust::double_option",
108        skip_serializing_if = "Option::is_none"
109    )]
110    pub created: Option<Option<String>>,
111    #[serde(
112        rename = "last_updated",
113        default,
114        with = "::serde_with::rust::double_option",
115        skip_serializing_if = "Option::is_none"
116    )]
117    pub last_updated: Option<Option<String>>,
118    #[serde(rename = "notes_url", skip_serializing_if = "Option::is_none")]
119    pub notes_url: Option<String>,
120    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
121    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
122    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
123    pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
124}
125
126impl VirtualServer {
127    /// VirtualServer Serializer.
128    pub fn new(
129        name: String,
130        protocol: crate::models::BulkWritableVirtualServerRequestProtocol,
131        vip: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
132    ) -> VirtualServer {
133        VirtualServer {
134            id: None,
135            object_type: None,
136            display: None,
137            url: None,
138            natural_slug: None,
139            name,
140            port: None,
141            protocol: Box::new(protocol),
142            source_nat_type: None,
143            load_balancer_type: None,
144            enabled: None,
145            ssl_offload: None,
146            vip: Box::new(vip),
147            source_nat_pool: None,
148            device: None,
149            device_redundancy_group: None,
150            cloud_service: None,
151            virtual_chassis: None,
152            tenant: None,
153            load_balancer_pool: None,
154            health_check_monitor: None,
155            created: None,
156            last_updated: None,
157            notes_url: None,
158            custom_fields: None,
159            tags: None,
160        }
161    }
162}