aws_sdk_ec2/types/
_scheduled_instances_network_interface.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct ScheduledInstancesNetworkInterface {
7 pub associate_public_ip_address: ::std::option::Option<bool>,
10 pub delete_on_termination: ::std::option::Option<bool>,
12 pub description: ::std::option::Option<::std::string::String>,
14 pub device_index: ::std::option::Option<i32>,
16 pub groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
18 pub ipv6_address_count: ::std::option::Option<i32>,
20 pub ipv6_addresses: ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesIpv6Address>>,
22 pub network_interface_id: ::std::option::Option<::std::string::String>,
24 pub private_ip_address: ::std::option::Option<::std::string::String>,
26 pub private_ip_address_configs: ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesPrivateIpAddressConfig>>,
28 pub secondary_private_ip_address_count: ::std::option::Option<i32>,
30 pub subnet_id: ::std::option::Option<::std::string::String>,
32}
33impl ScheduledInstancesNetworkInterface {
34 pub fn associate_public_ip_address(&self) -> ::std::option::Option<bool> {
37 self.associate_public_ip_address
38 }
39 pub fn delete_on_termination(&self) -> ::std::option::Option<bool> {
41 self.delete_on_termination
42 }
43 pub fn description(&self) -> ::std::option::Option<&str> {
45 self.description.as_deref()
46 }
47 pub fn device_index(&self) -> ::std::option::Option<i32> {
49 self.device_index
50 }
51 pub fn groups(&self) -> &[::std::string::String] {
55 self.groups.as_deref().unwrap_or_default()
56 }
57 pub fn ipv6_address_count(&self) -> ::std::option::Option<i32> {
59 self.ipv6_address_count
60 }
61 pub fn ipv6_addresses(&self) -> &[crate::types::ScheduledInstancesIpv6Address] {
65 self.ipv6_addresses.as_deref().unwrap_or_default()
66 }
67 pub fn network_interface_id(&self) -> ::std::option::Option<&str> {
69 self.network_interface_id.as_deref()
70 }
71 pub fn private_ip_address(&self) -> ::std::option::Option<&str> {
73 self.private_ip_address.as_deref()
74 }
75 pub fn private_ip_address_configs(&self) -> &[crate::types::ScheduledInstancesPrivateIpAddressConfig] {
79 self.private_ip_address_configs.as_deref().unwrap_or_default()
80 }
81 pub fn secondary_private_ip_address_count(&self) -> ::std::option::Option<i32> {
83 self.secondary_private_ip_address_count
84 }
85 pub fn subnet_id(&self) -> ::std::option::Option<&str> {
87 self.subnet_id.as_deref()
88 }
89}
90impl ScheduledInstancesNetworkInterface {
91 pub fn builder() -> crate::types::builders::ScheduledInstancesNetworkInterfaceBuilder {
93 crate::types::builders::ScheduledInstancesNetworkInterfaceBuilder::default()
94 }
95}
96
97#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
99#[non_exhaustive]
100pub struct ScheduledInstancesNetworkInterfaceBuilder {
101 pub(crate) associate_public_ip_address: ::std::option::Option<bool>,
102 pub(crate) delete_on_termination: ::std::option::Option<bool>,
103 pub(crate) description: ::std::option::Option<::std::string::String>,
104 pub(crate) device_index: ::std::option::Option<i32>,
105 pub(crate) groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
106 pub(crate) ipv6_address_count: ::std::option::Option<i32>,
107 pub(crate) ipv6_addresses: ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesIpv6Address>>,
108 pub(crate) network_interface_id: ::std::option::Option<::std::string::String>,
109 pub(crate) private_ip_address: ::std::option::Option<::std::string::String>,
110 pub(crate) private_ip_address_configs: ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesPrivateIpAddressConfig>>,
111 pub(crate) secondary_private_ip_address_count: ::std::option::Option<i32>,
112 pub(crate) subnet_id: ::std::option::Option<::std::string::String>,
113}
114impl ScheduledInstancesNetworkInterfaceBuilder {
115 pub fn associate_public_ip_address(mut self, input: bool) -> Self {
118 self.associate_public_ip_address = ::std::option::Option::Some(input);
119 self
120 }
121 pub fn set_associate_public_ip_address(mut self, input: ::std::option::Option<bool>) -> Self {
124 self.associate_public_ip_address = input;
125 self
126 }
127 pub fn get_associate_public_ip_address(&self) -> &::std::option::Option<bool> {
130 &self.associate_public_ip_address
131 }
132 pub fn delete_on_termination(mut self, input: bool) -> Self {
134 self.delete_on_termination = ::std::option::Option::Some(input);
135 self
136 }
137 pub fn set_delete_on_termination(mut self, input: ::std::option::Option<bool>) -> Self {
139 self.delete_on_termination = input;
140 self
141 }
142 pub fn get_delete_on_termination(&self) -> &::std::option::Option<bool> {
144 &self.delete_on_termination
145 }
146 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
148 self.description = ::std::option::Option::Some(input.into());
149 self
150 }
151 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
153 self.description = input;
154 self
155 }
156 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
158 &self.description
159 }
160 pub fn device_index(mut self, input: i32) -> Self {
162 self.device_index = ::std::option::Option::Some(input);
163 self
164 }
165 pub fn set_device_index(mut self, input: ::std::option::Option<i32>) -> Self {
167 self.device_index = input;
168 self
169 }
170 pub fn get_device_index(&self) -> &::std::option::Option<i32> {
172 &self.device_index
173 }
174 pub fn groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
180 let mut v = self.groups.unwrap_or_default();
181 v.push(input.into());
182 self.groups = ::std::option::Option::Some(v);
183 self
184 }
185 pub fn set_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
187 self.groups = input;
188 self
189 }
190 pub fn get_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
192 &self.groups
193 }
194 pub fn ipv6_address_count(mut self, input: i32) -> Self {
196 self.ipv6_address_count = ::std::option::Option::Some(input);
197 self
198 }
199 pub fn set_ipv6_address_count(mut self, input: ::std::option::Option<i32>) -> Self {
201 self.ipv6_address_count = input;
202 self
203 }
204 pub fn get_ipv6_address_count(&self) -> &::std::option::Option<i32> {
206 &self.ipv6_address_count
207 }
208 pub fn ipv6_addresses(mut self, input: crate::types::ScheduledInstancesIpv6Address) -> Self {
214 let mut v = self.ipv6_addresses.unwrap_or_default();
215 v.push(input);
216 self.ipv6_addresses = ::std::option::Option::Some(v);
217 self
218 }
219 pub fn set_ipv6_addresses(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesIpv6Address>>) -> Self {
221 self.ipv6_addresses = input;
222 self
223 }
224 pub fn get_ipv6_addresses(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesIpv6Address>> {
226 &self.ipv6_addresses
227 }
228 pub fn network_interface_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230 self.network_interface_id = ::std::option::Option::Some(input.into());
231 self
232 }
233 pub fn set_network_interface_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
235 self.network_interface_id = input;
236 self
237 }
238 pub fn get_network_interface_id(&self) -> &::std::option::Option<::std::string::String> {
240 &self.network_interface_id
241 }
242 pub fn private_ip_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
244 self.private_ip_address = ::std::option::Option::Some(input.into());
245 self
246 }
247 pub fn set_private_ip_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
249 self.private_ip_address = input;
250 self
251 }
252 pub fn get_private_ip_address(&self) -> &::std::option::Option<::std::string::String> {
254 &self.private_ip_address
255 }
256 pub fn private_ip_address_configs(mut self, input: crate::types::ScheduledInstancesPrivateIpAddressConfig) -> Self {
262 let mut v = self.private_ip_address_configs.unwrap_or_default();
263 v.push(input);
264 self.private_ip_address_configs = ::std::option::Option::Some(v);
265 self
266 }
267 pub fn set_private_ip_address_configs(
269 mut self,
270 input: ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesPrivateIpAddressConfig>>,
271 ) -> Self {
272 self.private_ip_address_configs = input;
273 self
274 }
275 pub fn get_private_ip_address_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstancesPrivateIpAddressConfig>> {
277 &self.private_ip_address_configs
278 }
279 pub fn secondary_private_ip_address_count(mut self, input: i32) -> Self {
281 self.secondary_private_ip_address_count = ::std::option::Option::Some(input);
282 self
283 }
284 pub fn set_secondary_private_ip_address_count(mut self, input: ::std::option::Option<i32>) -> Self {
286 self.secondary_private_ip_address_count = input;
287 self
288 }
289 pub fn get_secondary_private_ip_address_count(&self) -> &::std::option::Option<i32> {
291 &self.secondary_private_ip_address_count
292 }
293 pub fn subnet_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
295 self.subnet_id = ::std::option::Option::Some(input.into());
296 self
297 }
298 pub fn set_subnet_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
300 self.subnet_id = input;
301 self
302 }
303 pub fn get_subnet_id(&self) -> &::std::option::Option<::std::string::String> {
305 &self.subnet_id
306 }
307 pub fn build(self) -> crate::types::ScheduledInstancesNetworkInterface {
309 crate::types::ScheduledInstancesNetworkInterface {
310 associate_public_ip_address: self.associate_public_ip_address,
311 delete_on_termination: self.delete_on_termination,
312 description: self.description,
313 device_index: self.device_index,
314 groups: self.groups,
315 ipv6_address_count: self.ipv6_address_count,
316 ipv6_addresses: self.ipv6_addresses,
317 network_interface_id: self.network_interface_id,
318 private_ip_address: self.private_ip_address,
319 private_ip_address_configs: self.private_ip_address_configs,
320 secondary_private_ip_address_count: self.secondary_private_ip_address_count,
321 subnet_id: self.subnet_id,
322 }
323 }
324}