Skip to main content

nautobot_openapi/models/
load_balancer_pool_member_request.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/// LoadBalancerPoolMemberRequest : LoadBalancerPoolMember Serializer.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct LoadBalancerPoolMemberRequest {
15    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16    pub id: Option<uuid::Uuid>,
17    /// Optional label for the load balancer pool member.
18    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
19    pub label: Option<String>,
20    #[serde(rename = "port")]
21    pub port: i32,
22    #[serde(rename = "ssl_offload", skip_serializing_if = "Option::is_none")]
23    pub ssl_offload: Option<bool>,
24    #[serde(rename = "ip_address")]
25    pub ip_address: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
26    #[serde(rename = "load_balancer_pool")]
27    pub load_balancer_pool: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
28    #[serde(
29        rename = "health_check_monitor",
30        default,
31        with = "::serde_with::rust::double_option",
32        skip_serializing_if = "Option::is_none"
33    )]
34    pub health_check_monitor: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
35    #[serde(
36        rename = "tenant",
37        default,
38        with = "::serde_with::rust::double_option",
39        skip_serializing_if = "Option::is_none"
40    )]
41    pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
42    #[serde(rename = "status")]
43    pub status: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
44    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
45    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
46    #[serde(rename = "relationships", skip_serializing_if = "Option::is_none")]
47    pub relationships: Option<
48        ::std::collections::HashMap<
49            String,
50            crate::models::ApprovalWorkflowDefinitionRequestRelationshipsValue,
51        >,
52    >,
53    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
54    pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
55}
56
57impl LoadBalancerPoolMemberRequest {
58    /// LoadBalancerPoolMember Serializer.
59    pub fn new(
60        port: i32,
61        ip_address: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
62        load_balancer_pool: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
63        status: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
64    ) -> LoadBalancerPoolMemberRequest {
65        LoadBalancerPoolMemberRequest {
66            id: None,
67            label: None,
68            port,
69            ssl_offload: None,
70            ip_address: Box::new(ip_address),
71            load_balancer_pool: Box::new(load_balancer_pool),
72            health_check_monitor: None,
73            tenant: None,
74            status: Box::new(status),
75            custom_fields: None,
76            relationships: None,
77            tags: None,
78        }
79    }
80}