1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct BulkWritableVirtualServerRequest {
15 #[serde(rename = "id")]
16 pub id: uuid::Uuid,
17 #[serde(rename = "name")]
18 pub name: String,
19 #[serde(
20 rename = "port",
21 default,
22 with = "::serde_with::rust::double_option",
23 skip_serializing_if = "Option::is_none"
24 )]
25 pub port: Option<Option<i32>>,
26 #[serde(rename = "protocol")]
27 pub protocol: Box<crate::models::BulkWritableVirtualServerRequestProtocol>,
28 #[serde(rename = "source_nat_type", skip_serializing_if = "Option::is_none")]
29 pub source_nat_type: Option<Box<crate::models::BulkWritableVirtualServerRequestSourceNatType>>,
30 #[serde(rename = "load_balancer_type", skip_serializing_if = "Option::is_none")]
31 pub load_balancer_type:
32 Option<Box<crate::models::BulkWritableVirtualServerRequestLoadBalancerType>>,
33 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
34 pub enabled: Option<bool>,
35 #[serde(rename = "ssl_offload", skip_serializing_if = "Option::is_none")]
36 pub ssl_offload: Option<bool>,
37 #[serde(rename = "vip")]
38 pub vip: Box<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>,
39 #[serde(
40 rename = "source_nat_pool",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub source_nat_pool: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
46 #[serde(
47 rename = "device",
48 default,
49 with = "::serde_with::rust::double_option",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub device: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
53 #[serde(
54 rename = "device_redundancy_group",
55 default,
56 with = "::serde_with::rust::double_option",
57 skip_serializing_if = "Option::is_none"
58 )]
59 pub device_redundancy_group: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
60 #[serde(
61 rename = "cloud_service",
62 default,
63 with = "::serde_with::rust::double_option",
64 skip_serializing_if = "Option::is_none"
65 )]
66 pub cloud_service: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
67 #[serde(
68 rename = "virtual_chassis",
69 default,
70 with = "::serde_with::rust::double_option",
71 skip_serializing_if = "Option::is_none"
72 )]
73 pub virtual_chassis: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
74 #[serde(
75 rename = "tenant",
76 default,
77 with = "::serde_with::rust::double_option",
78 skip_serializing_if = "Option::is_none"
79 )]
80 pub tenant: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
81 #[serde(
82 rename = "load_balancer_pool",
83 default,
84 with = "::serde_with::rust::double_option",
85 skip_serializing_if = "Option::is_none"
86 )]
87 pub load_balancer_pool: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
88 #[serde(
89 rename = "health_check_monitor",
90 default,
91 with = "::serde_with::rust::double_option",
92 skip_serializing_if = "Option::is_none"
93 )]
94 pub health_check_monitor: Option<Option<Box<crate::models::ApprovalWorkflowUser>>>,
95 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
96 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
97 #[serde(rename = "relationships", skip_serializing_if = "Option::is_none")]
98 pub relationships: Option<
99 ::std::collections::HashMap<
100 String,
101 crate::models::ApprovalWorkflowDefinitionRequestRelationshipsValue,
102 >,
103 >,
104 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
105 pub tags: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
106}
107
108impl BulkWritableVirtualServerRequest {
109 pub fn new(
111 id: uuid::Uuid,
112 name: String,
113 protocol: crate::models::BulkWritableVirtualServerRequestProtocol,
114 vip: crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage,
115 ) -> BulkWritableVirtualServerRequest {
116 BulkWritableVirtualServerRequest {
117 id,
118 name,
119 port: None,
120 protocol: Box::new(protocol),
121 source_nat_type: None,
122 load_balancer_type: None,
123 enabled: None,
124 ssl_offload: None,
125 vip: Box::new(vip),
126 source_nat_pool: None,
127 device: None,
128 device_redundancy_group: None,
129 cloud_service: None,
130 virtual_chassis: None,
131 tenant: None,
132 load_balancer_pool: None,
133 health_check_monitor: None,
134 custom_fields: None,
135 relationships: None,
136 tags: None,
137 }
138 }
139}