Skip to main content

nautobot_openapi/models/
load_balancer_pool_member.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/// LoadBalancerPoolMember : LoadBalancerPoolMember Serializer.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct LoadBalancerPoolMember {
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    /// Optional label for the load balancer pool member.
27    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
28    pub label: Option<String>,
29    #[serde(rename = "port")]
30    pub port: i32,
31    #[serde(rename = "ssl_offload", skip_serializing_if = "Option::is_none")]
32    pub ssl_offload: Option<bool>,
33    #[serde(rename = "ip_address")]
34    pub ip_address: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
35    #[serde(rename = "load_balancer_pool")]
36    pub load_balancer_pool: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
37    #[serde(
38        rename = "health_check_monitor",
39        default,
40        with = "::serde_with::rust::double_option",
41        skip_serializing_if = "Option::is_none"
42    )]
43    pub health_check_monitor: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
44    #[serde(
45        rename = "tenant",
46        default,
47        with = "::serde_with::rust::double_option",
48        skip_serializing_if = "Option::is_none"
49    )]
50    pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
51    #[serde(rename = "status")]
52    pub status: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
53    #[serde(
54        rename = "created",
55        default,
56        with = "::serde_with::rust::double_option",
57        skip_serializing_if = "Option::is_none"
58    )]
59    pub created: Option<Option<String>>,
60    #[serde(
61        rename = "last_updated",
62        default,
63        with = "::serde_with::rust::double_option",
64        skip_serializing_if = "Option::is_none"
65    )]
66    pub last_updated: Option<Option<String>>,
67    #[serde(rename = "notes_url", skip_serializing_if = "Option::is_none")]
68    pub notes_url: Option<String>,
69    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
70    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
71    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
72    pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
73}
74
75impl LoadBalancerPoolMember {
76    /// LoadBalancerPoolMember Serializer.
77    pub fn new(
78        port: i32,
79        ip_address: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
80        load_balancer_pool: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
81        status: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
82    ) -> LoadBalancerPoolMember {
83        LoadBalancerPoolMember {
84            id: None,
85            object_type: None,
86            display: None,
87            url: None,
88            natural_slug: None,
89            label: None,
90            port,
91            ssl_offload: None,
92            ip_address: Box::new(ip_address),
93            load_balancer_pool: Box::new(load_balancer_pool),
94            health_check_monitor: None,
95            tenant: None,
96            status: Box::new(status),
97            created: None,
98            last_updated: None,
99            notes_url: None,
100            custom_fields: None,
101            tags: None,
102        }
103    }
104}