Skip to main content

nautobot_openapi/models/
bulk_writable_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/// BulkWritableLoadBalancerPoolMemberRequest : LoadBalancerPoolMember Serializer.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct BulkWritableLoadBalancerPoolMemberRequest {
15    #[serde(rename = "id")]
16    pub id: 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 BulkWritableLoadBalancerPoolMemberRequest {
58    /// LoadBalancerPoolMember Serializer.
59    pub fn new(
60        id: uuid::Uuid,
61        port: i32,
62        ip_address: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
63        load_balancer_pool: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
64        status: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
65    ) -> BulkWritableLoadBalancerPoolMemberRequest {
66        BulkWritableLoadBalancerPoolMemberRequest {
67            id,
68            label: None,
69            port,
70            ssl_offload: None,
71            ip_address: Box::new(ip_address),
72            load_balancer_pool: Box::new(load_balancer_pool),
73            health_check_monitor: None,
74            tenant: None,
75            status: Box::new(status),
76            custom_fields: None,
77            relationships: None,
78            tags: None,
79        }
80    }
81}