aws_sdk_directconnect/operation/delete_connection/
_delete_connection_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Information about an Direct Connect connection.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DeleteConnectionOutput {
7    /// <p>The ID of the Amazon Web Services account that owns the connection.</p>
8    pub owner_account: ::std::option::Option<::std::string::String>,
9    /// <p>The ID of the connection.</p>
10    pub connection_id: ::std::option::Option<::std::string::String>,
11    /// <p>The name of the connection.</p>
12    pub connection_name: ::std::option::Option<::std::string::String>,
13    /// <p>The state of the connection. The following are the possible values:</p>
14    /// <ul>
15    /// <li>
16    /// <p><code>ordering</code>: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.</p></li>
17    /// <li>
18    /// <p><code>requested</code>: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.</p></li>
19    /// <li>
20    /// <p><code>pending</code>: The connection has been approved and is being initialized.</p></li>
21    /// <li>
22    /// <p><code>available</code>: The network link is up and the connection is ready for use.</p></li>
23    /// <li>
24    /// <p><code>down</code>: The network link is down.</p></li>
25    /// <li>
26    /// <p><code>deleting</code>: The connection is being deleted.</p></li>
27    /// <li>
28    /// <p><code>deleted</code>: The connection has been deleted.</p></li>
29    /// <li>
30    /// <p><code>rejected</code>: A hosted connection in the <code>ordering</code> state enters the <code>rejected</code> state if it is deleted by the customer.</p></li>
31    /// <li>
32    /// <p><code>unknown</code>: The state of the connection is not available.</p></li>
33    /// </ul>
34    pub connection_state: ::std::option::Option<crate::types::ConnectionState>,
35    /// <p>The Amazon Web Services Region where the connection is located.</p>
36    pub region: ::std::option::Option<::std::string::String>,
37    /// <p>The location of the connection.</p>
38    pub location: ::std::option::Option<::std::string::String>,
39    /// <p>The bandwidth of the connection.</p>
40    pub bandwidth: ::std::option::Option<::std::string::String>,
41    /// <p>The ID of the VLAN.</p>
42    pub vlan: i32,
43    /// <p>The name of the Direct Connect service provider associated with the connection.</p>
44    pub partner_name: ::std::option::Option<::std::string::String>,
45    /// <p>The time of the most recent call to <code>DescribeLoa</code> for this connection.</p>
46    pub loa_issue_time: ::std::option::Option<::aws_smithy_types::DateTime>,
47    /// <p>The ID of the LAG.</p>
48    pub lag_id: ::std::option::Option<::std::string::String>,
49    /// <p>The Direct Connect endpoint on which the physical connection terminates.</p>
50    pub aws_device: ::std::option::Option<::std::string::String>,
51    /// <p>Indicates whether jumbo frames are supported.</p>
52    pub jumbo_frame_capable: ::std::option::Option<bool>,
53    /// <p>The Direct Connect endpoint that terminates the physical connection.</p>
54    pub aws_device_v2: ::std::option::Option<::std::string::String>,
55    /// <p>The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.</p>
56    pub aws_logical_device_id: ::std::option::Option<::std::string::String>,
57    /// <p>Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).</p>
58    pub has_logical_redundancy: ::std::option::Option<crate::types::HasLogicalRedundancy>,
59    /// <p>The tags associated with the connection.</p>
60    pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
61    /// <p>The name of the service provider associated with the connection.</p>
62    pub provider_name: ::std::option::Option<::std::string::String>,
63    /// <p>Indicates whether the connection supports MAC Security (MACsec).</p>
64    pub mac_sec_capable: ::std::option::Option<bool>,
65    /// <p>The MAC Security (MACsec) port link status of the connection.</p>
66    /// <p>The valid values are <code>Encryption Up</code>, which means that there is an active Connection Key Name, or <code>Encryption Down</code>.</p>
67    pub port_encryption_status: ::std::option::Option<::std::string::String>,
68    /// <p>The MAC Security (MACsec) connection encryption mode.</p>
69    /// <p>The valid values are <code>no_encrypt</code>, <code>should_encrypt</code>, and <code>must_encrypt</code>.</p>
70    pub encryption_mode: ::std::option::Option<::std::string::String>,
71    /// <p>The MAC Security (MACsec) security keys associated with the connection.</p>
72    pub mac_sec_keys: ::std::option::Option<::std::vec::Vec<crate::types::MacSecKey>>,
73    _request_id: Option<String>,
74}
75impl DeleteConnectionOutput {
76    /// <p>The ID of the Amazon Web Services account that owns the connection.</p>
77    pub fn owner_account(&self) -> ::std::option::Option<&str> {
78        self.owner_account.as_deref()
79    }
80    /// <p>The ID of the connection.</p>
81    pub fn connection_id(&self) -> ::std::option::Option<&str> {
82        self.connection_id.as_deref()
83    }
84    /// <p>The name of the connection.</p>
85    pub fn connection_name(&self) -> ::std::option::Option<&str> {
86        self.connection_name.as_deref()
87    }
88    /// <p>The state of the connection. The following are the possible values:</p>
89    /// <ul>
90    /// <li>
91    /// <p><code>ordering</code>: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.</p></li>
92    /// <li>
93    /// <p><code>requested</code>: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.</p></li>
94    /// <li>
95    /// <p><code>pending</code>: The connection has been approved and is being initialized.</p></li>
96    /// <li>
97    /// <p><code>available</code>: The network link is up and the connection is ready for use.</p></li>
98    /// <li>
99    /// <p><code>down</code>: The network link is down.</p></li>
100    /// <li>
101    /// <p><code>deleting</code>: The connection is being deleted.</p></li>
102    /// <li>
103    /// <p><code>deleted</code>: The connection has been deleted.</p></li>
104    /// <li>
105    /// <p><code>rejected</code>: A hosted connection in the <code>ordering</code> state enters the <code>rejected</code> state if it is deleted by the customer.</p></li>
106    /// <li>
107    /// <p><code>unknown</code>: The state of the connection is not available.</p></li>
108    /// </ul>
109    pub fn connection_state(&self) -> ::std::option::Option<&crate::types::ConnectionState> {
110        self.connection_state.as_ref()
111    }
112    /// <p>The Amazon Web Services Region where the connection is located.</p>
113    pub fn region(&self) -> ::std::option::Option<&str> {
114        self.region.as_deref()
115    }
116    /// <p>The location of the connection.</p>
117    pub fn location(&self) -> ::std::option::Option<&str> {
118        self.location.as_deref()
119    }
120    /// <p>The bandwidth of the connection.</p>
121    pub fn bandwidth(&self) -> ::std::option::Option<&str> {
122        self.bandwidth.as_deref()
123    }
124    /// <p>The ID of the VLAN.</p>
125    pub fn vlan(&self) -> i32 {
126        self.vlan
127    }
128    /// <p>The name of the Direct Connect service provider associated with the connection.</p>
129    pub fn partner_name(&self) -> ::std::option::Option<&str> {
130        self.partner_name.as_deref()
131    }
132    /// <p>The time of the most recent call to <code>DescribeLoa</code> for this connection.</p>
133    pub fn loa_issue_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
134        self.loa_issue_time.as_ref()
135    }
136    /// <p>The ID of the LAG.</p>
137    pub fn lag_id(&self) -> ::std::option::Option<&str> {
138        self.lag_id.as_deref()
139    }
140    /// <p>The Direct Connect endpoint on which the physical connection terminates.</p>
141    pub fn aws_device(&self) -> ::std::option::Option<&str> {
142        self.aws_device.as_deref()
143    }
144    /// <p>Indicates whether jumbo frames are supported.</p>
145    pub fn jumbo_frame_capable(&self) -> ::std::option::Option<bool> {
146        self.jumbo_frame_capable
147    }
148    /// <p>The Direct Connect endpoint that terminates the physical connection.</p>
149    pub fn aws_device_v2(&self) -> ::std::option::Option<&str> {
150        self.aws_device_v2.as_deref()
151    }
152    /// <p>The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.</p>
153    pub fn aws_logical_device_id(&self) -> ::std::option::Option<&str> {
154        self.aws_logical_device_id.as_deref()
155    }
156    /// <p>Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).</p>
157    pub fn has_logical_redundancy(&self) -> ::std::option::Option<&crate::types::HasLogicalRedundancy> {
158        self.has_logical_redundancy.as_ref()
159    }
160    /// <p>The tags associated with the connection.</p>
161    ///
162    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
163    pub fn tags(&self) -> &[crate::types::Tag] {
164        self.tags.as_deref().unwrap_or_default()
165    }
166    /// <p>The name of the service provider associated with the connection.</p>
167    pub fn provider_name(&self) -> ::std::option::Option<&str> {
168        self.provider_name.as_deref()
169    }
170    /// <p>Indicates whether the connection supports MAC Security (MACsec).</p>
171    pub fn mac_sec_capable(&self) -> ::std::option::Option<bool> {
172        self.mac_sec_capable
173    }
174    /// <p>The MAC Security (MACsec) port link status of the connection.</p>
175    /// <p>The valid values are <code>Encryption Up</code>, which means that there is an active Connection Key Name, or <code>Encryption Down</code>.</p>
176    pub fn port_encryption_status(&self) -> ::std::option::Option<&str> {
177        self.port_encryption_status.as_deref()
178    }
179    /// <p>The MAC Security (MACsec) connection encryption mode.</p>
180    /// <p>The valid values are <code>no_encrypt</code>, <code>should_encrypt</code>, and <code>must_encrypt</code>.</p>
181    pub fn encryption_mode(&self) -> ::std::option::Option<&str> {
182        self.encryption_mode.as_deref()
183    }
184    /// <p>The MAC Security (MACsec) security keys associated with the connection.</p>
185    ///
186    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.mac_sec_keys.is_none()`.
187    pub fn mac_sec_keys(&self) -> &[crate::types::MacSecKey] {
188        self.mac_sec_keys.as_deref().unwrap_or_default()
189    }
190}
191impl ::aws_types::request_id::RequestId for DeleteConnectionOutput {
192    fn request_id(&self) -> Option<&str> {
193        self._request_id.as_deref()
194    }
195}
196impl DeleteConnectionOutput {
197    /// Creates a new builder-style object to manufacture [`DeleteConnectionOutput`](crate::operation::delete_connection::DeleteConnectionOutput).
198    pub fn builder() -> crate::operation::delete_connection::builders::DeleteConnectionOutputBuilder {
199        crate::operation::delete_connection::builders::DeleteConnectionOutputBuilder::default()
200    }
201}
202
203/// A builder for [`DeleteConnectionOutput`](crate::operation::delete_connection::DeleteConnectionOutput).
204#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
205#[non_exhaustive]
206pub struct DeleteConnectionOutputBuilder {
207    pub(crate) owner_account: ::std::option::Option<::std::string::String>,
208    pub(crate) connection_id: ::std::option::Option<::std::string::String>,
209    pub(crate) connection_name: ::std::option::Option<::std::string::String>,
210    pub(crate) connection_state: ::std::option::Option<crate::types::ConnectionState>,
211    pub(crate) region: ::std::option::Option<::std::string::String>,
212    pub(crate) location: ::std::option::Option<::std::string::String>,
213    pub(crate) bandwidth: ::std::option::Option<::std::string::String>,
214    pub(crate) vlan: ::std::option::Option<i32>,
215    pub(crate) partner_name: ::std::option::Option<::std::string::String>,
216    pub(crate) loa_issue_time: ::std::option::Option<::aws_smithy_types::DateTime>,
217    pub(crate) lag_id: ::std::option::Option<::std::string::String>,
218    pub(crate) aws_device: ::std::option::Option<::std::string::String>,
219    pub(crate) jumbo_frame_capable: ::std::option::Option<bool>,
220    pub(crate) aws_device_v2: ::std::option::Option<::std::string::String>,
221    pub(crate) aws_logical_device_id: ::std::option::Option<::std::string::String>,
222    pub(crate) has_logical_redundancy: ::std::option::Option<crate::types::HasLogicalRedundancy>,
223    pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
224    pub(crate) provider_name: ::std::option::Option<::std::string::String>,
225    pub(crate) mac_sec_capable: ::std::option::Option<bool>,
226    pub(crate) port_encryption_status: ::std::option::Option<::std::string::String>,
227    pub(crate) encryption_mode: ::std::option::Option<::std::string::String>,
228    pub(crate) mac_sec_keys: ::std::option::Option<::std::vec::Vec<crate::types::MacSecKey>>,
229    _request_id: Option<String>,
230}
231impl DeleteConnectionOutputBuilder {
232    /// <p>The ID of the Amazon Web Services account that owns the connection.</p>
233    pub fn owner_account(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
234        self.owner_account = ::std::option::Option::Some(input.into());
235        self
236    }
237    /// <p>The ID of the Amazon Web Services account that owns the connection.</p>
238    pub fn set_owner_account(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
239        self.owner_account = input;
240        self
241    }
242    /// <p>The ID of the Amazon Web Services account that owns the connection.</p>
243    pub fn get_owner_account(&self) -> &::std::option::Option<::std::string::String> {
244        &self.owner_account
245    }
246    /// <p>The ID of the connection.</p>
247    pub fn connection_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
248        self.connection_id = ::std::option::Option::Some(input.into());
249        self
250    }
251    /// <p>The ID of the connection.</p>
252    pub fn set_connection_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
253        self.connection_id = input;
254        self
255    }
256    /// <p>The ID of the connection.</p>
257    pub fn get_connection_id(&self) -> &::std::option::Option<::std::string::String> {
258        &self.connection_id
259    }
260    /// <p>The name of the connection.</p>
261    pub fn connection_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
262        self.connection_name = ::std::option::Option::Some(input.into());
263        self
264    }
265    /// <p>The name of the connection.</p>
266    pub fn set_connection_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
267        self.connection_name = input;
268        self
269    }
270    /// <p>The name of the connection.</p>
271    pub fn get_connection_name(&self) -> &::std::option::Option<::std::string::String> {
272        &self.connection_name
273    }
274    /// <p>The state of the connection. The following are the possible values:</p>
275    /// <ul>
276    /// <li>
277    /// <p><code>ordering</code>: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.</p></li>
278    /// <li>
279    /// <p><code>requested</code>: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.</p></li>
280    /// <li>
281    /// <p><code>pending</code>: The connection has been approved and is being initialized.</p></li>
282    /// <li>
283    /// <p><code>available</code>: The network link is up and the connection is ready for use.</p></li>
284    /// <li>
285    /// <p><code>down</code>: The network link is down.</p></li>
286    /// <li>
287    /// <p><code>deleting</code>: The connection is being deleted.</p></li>
288    /// <li>
289    /// <p><code>deleted</code>: The connection has been deleted.</p></li>
290    /// <li>
291    /// <p><code>rejected</code>: A hosted connection in the <code>ordering</code> state enters the <code>rejected</code> state if it is deleted by the customer.</p></li>
292    /// <li>
293    /// <p><code>unknown</code>: The state of the connection is not available.</p></li>
294    /// </ul>
295    pub fn connection_state(mut self, input: crate::types::ConnectionState) -> Self {
296        self.connection_state = ::std::option::Option::Some(input);
297        self
298    }
299    /// <p>The state of the connection. The following are the possible values:</p>
300    /// <ul>
301    /// <li>
302    /// <p><code>ordering</code>: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.</p></li>
303    /// <li>
304    /// <p><code>requested</code>: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.</p></li>
305    /// <li>
306    /// <p><code>pending</code>: The connection has been approved and is being initialized.</p></li>
307    /// <li>
308    /// <p><code>available</code>: The network link is up and the connection is ready for use.</p></li>
309    /// <li>
310    /// <p><code>down</code>: The network link is down.</p></li>
311    /// <li>
312    /// <p><code>deleting</code>: The connection is being deleted.</p></li>
313    /// <li>
314    /// <p><code>deleted</code>: The connection has been deleted.</p></li>
315    /// <li>
316    /// <p><code>rejected</code>: A hosted connection in the <code>ordering</code> state enters the <code>rejected</code> state if it is deleted by the customer.</p></li>
317    /// <li>
318    /// <p><code>unknown</code>: The state of the connection is not available.</p></li>
319    /// </ul>
320    pub fn set_connection_state(mut self, input: ::std::option::Option<crate::types::ConnectionState>) -> Self {
321        self.connection_state = input;
322        self
323    }
324    /// <p>The state of the connection. The following are the possible values:</p>
325    /// <ul>
326    /// <li>
327    /// <p><code>ordering</code>: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.</p></li>
328    /// <li>
329    /// <p><code>requested</code>: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.</p></li>
330    /// <li>
331    /// <p><code>pending</code>: The connection has been approved and is being initialized.</p></li>
332    /// <li>
333    /// <p><code>available</code>: The network link is up and the connection is ready for use.</p></li>
334    /// <li>
335    /// <p><code>down</code>: The network link is down.</p></li>
336    /// <li>
337    /// <p><code>deleting</code>: The connection is being deleted.</p></li>
338    /// <li>
339    /// <p><code>deleted</code>: The connection has been deleted.</p></li>
340    /// <li>
341    /// <p><code>rejected</code>: A hosted connection in the <code>ordering</code> state enters the <code>rejected</code> state if it is deleted by the customer.</p></li>
342    /// <li>
343    /// <p><code>unknown</code>: The state of the connection is not available.</p></li>
344    /// </ul>
345    pub fn get_connection_state(&self) -> &::std::option::Option<crate::types::ConnectionState> {
346        &self.connection_state
347    }
348    /// <p>The Amazon Web Services Region where the connection is located.</p>
349    pub fn region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
350        self.region = ::std::option::Option::Some(input.into());
351        self
352    }
353    /// <p>The Amazon Web Services Region where the connection is located.</p>
354    pub fn set_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
355        self.region = input;
356        self
357    }
358    /// <p>The Amazon Web Services Region where the connection is located.</p>
359    pub fn get_region(&self) -> &::std::option::Option<::std::string::String> {
360        &self.region
361    }
362    /// <p>The location of the connection.</p>
363    pub fn location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
364        self.location = ::std::option::Option::Some(input.into());
365        self
366    }
367    /// <p>The location of the connection.</p>
368    pub fn set_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
369        self.location = input;
370        self
371    }
372    /// <p>The location of the connection.</p>
373    pub fn get_location(&self) -> &::std::option::Option<::std::string::String> {
374        &self.location
375    }
376    /// <p>The bandwidth of the connection.</p>
377    pub fn bandwidth(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
378        self.bandwidth = ::std::option::Option::Some(input.into());
379        self
380    }
381    /// <p>The bandwidth of the connection.</p>
382    pub fn set_bandwidth(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
383        self.bandwidth = input;
384        self
385    }
386    /// <p>The bandwidth of the connection.</p>
387    pub fn get_bandwidth(&self) -> &::std::option::Option<::std::string::String> {
388        &self.bandwidth
389    }
390    /// <p>The ID of the VLAN.</p>
391    pub fn vlan(mut self, input: i32) -> Self {
392        self.vlan = ::std::option::Option::Some(input);
393        self
394    }
395    /// <p>The ID of the VLAN.</p>
396    pub fn set_vlan(mut self, input: ::std::option::Option<i32>) -> Self {
397        self.vlan = input;
398        self
399    }
400    /// <p>The ID of the VLAN.</p>
401    pub fn get_vlan(&self) -> &::std::option::Option<i32> {
402        &self.vlan
403    }
404    /// <p>The name of the Direct Connect service provider associated with the connection.</p>
405    pub fn partner_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
406        self.partner_name = ::std::option::Option::Some(input.into());
407        self
408    }
409    /// <p>The name of the Direct Connect service provider associated with the connection.</p>
410    pub fn set_partner_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
411        self.partner_name = input;
412        self
413    }
414    /// <p>The name of the Direct Connect service provider associated with the connection.</p>
415    pub fn get_partner_name(&self) -> &::std::option::Option<::std::string::String> {
416        &self.partner_name
417    }
418    /// <p>The time of the most recent call to <code>DescribeLoa</code> for this connection.</p>
419    pub fn loa_issue_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
420        self.loa_issue_time = ::std::option::Option::Some(input);
421        self
422    }
423    /// <p>The time of the most recent call to <code>DescribeLoa</code> for this connection.</p>
424    pub fn set_loa_issue_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
425        self.loa_issue_time = input;
426        self
427    }
428    /// <p>The time of the most recent call to <code>DescribeLoa</code> for this connection.</p>
429    pub fn get_loa_issue_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
430        &self.loa_issue_time
431    }
432    /// <p>The ID of the LAG.</p>
433    pub fn lag_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
434        self.lag_id = ::std::option::Option::Some(input.into());
435        self
436    }
437    /// <p>The ID of the LAG.</p>
438    pub fn set_lag_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
439        self.lag_id = input;
440        self
441    }
442    /// <p>The ID of the LAG.</p>
443    pub fn get_lag_id(&self) -> &::std::option::Option<::std::string::String> {
444        &self.lag_id
445    }
446    /// <p>The Direct Connect endpoint on which the physical connection terminates.</p>
447    pub fn aws_device(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
448        self.aws_device = ::std::option::Option::Some(input.into());
449        self
450    }
451    /// <p>The Direct Connect endpoint on which the physical connection terminates.</p>
452    pub fn set_aws_device(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
453        self.aws_device = input;
454        self
455    }
456    /// <p>The Direct Connect endpoint on which the physical connection terminates.</p>
457    pub fn get_aws_device(&self) -> &::std::option::Option<::std::string::String> {
458        &self.aws_device
459    }
460    /// <p>Indicates whether jumbo frames are supported.</p>
461    pub fn jumbo_frame_capable(mut self, input: bool) -> Self {
462        self.jumbo_frame_capable = ::std::option::Option::Some(input);
463        self
464    }
465    /// <p>Indicates whether jumbo frames are supported.</p>
466    pub fn set_jumbo_frame_capable(mut self, input: ::std::option::Option<bool>) -> Self {
467        self.jumbo_frame_capable = input;
468        self
469    }
470    /// <p>Indicates whether jumbo frames are supported.</p>
471    pub fn get_jumbo_frame_capable(&self) -> &::std::option::Option<bool> {
472        &self.jumbo_frame_capable
473    }
474    /// <p>The Direct Connect endpoint that terminates the physical connection.</p>
475    pub fn aws_device_v2(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
476        self.aws_device_v2 = ::std::option::Option::Some(input.into());
477        self
478    }
479    /// <p>The Direct Connect endpoint that terminates the physical connection.</p>
480    pub fn set_aws_device_v2(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
481        self.aws_device_v2 = input;
482        self
483    }
484    /// <p>The Direct Connect endpoint that terminates the physical connection.</p>
485    pub fn get_aws_device_v2(&self) -> &::std::option::Option<::std::string::String> {
486        &self.aws_device_v2
487    }
488    /// <p>The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.</p>
489    pub fn aws_logical_device_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
490        self.aws_logical_device_id = ::std::option::Option::Some(input.into());
491        self
492    }
493    /// <p>The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.</p>
494    pub fn set_aws_logical_device_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
495        self.aws_logical_device_id = input;
496        self
497    }
498    /// <p>The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.</p>
499    pub fn get_aws_logical_device_id(&self) -> &::std::option::Option<::std::string::String> {
500        &self.aws_logical_device_id
501    }
502    /// <p>Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).</p>
503    pub fn has_logical_redundancy(mut self, input: crate::types::HasLogicalRedundancy) -> Self {
504        self.has_logical_redundancy = ::std::option::Option::Some(input);
505        self
506    }
507    /// <p>Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).</p>
508    pub fn set_has_logical_redundancy(mut self, input: ::std::option::Option<crate::types::HasLogicalRedundancy>) -> Self {
509        self.has_logical_redundancy = input;
510        self
511    }
512    /// <p>Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).</p>
513    pub fn get_has_logical_redundancy(&self) -> &::std::option::Option<crate::types::HasLogicalRedundancy> {
514        &self.has_logical_redundancy
515    }
516    /// Appends an item to `tags`.
517    ///
518    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
519    ///
520    /// <p>The tags associated with the connection.</p>
521    pub fn tags(mut self, input: crate::types::Tag) -> Self {
522        let mut v = self.tags.unwrap_or_default();
523        v.push(input);
524        self.tags = ::std::option::Option::Some(v);
525        self
526    }
527    /// <p>The tags associated with the connection.</p>
528    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
529        self.tags = input;
530        self
531    }
532    /// <p>The tags associated with the connection.</p>
533    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
534        &self.tags
535    }
536    /// <p>The name of the service provider associated with the connection.</p>
537    pub fn provider_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
538        self.provider_name = ::std::option::Option::Some(input.into());
539        self
540    }
541    /// <p>The name of the service provider associated with the connection.</p>
542    pub fn set_provider_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
543        self.provider_name = input;
544        self
545    }
546    /// <p>The name of the service provider associated with the connection.</p>
547    pub fn get_provider_name(&self) -> &::std::option::Option<::std::string::String> {
548        &self.provider_name
549    }
550    /// <p>Indicates whether the connection supports MAC Security (MACsec).</p>
551    pub fn mac_sec_capable(mut self, input: bool) -> Self {
552        self.mac_sec_capable = ::std::option::Option::Some(input);
553        self
554    }
555    /// <p>Indicates whether the connection supports MAC Security (MACsec).</p>
556    pub fn set_mac_sec_capable(mut self, input: ::std::option::Option<bool>) -> Self {
557        self.mac_sec_capable = input;
558        self
559    }
560    /// <p>Indicates whether the connection supports MAC Security (MACsec).</p>
561    pub fn get_mac_sec_capable(&self) -> &::std::option::Option<bool> {
562        &self.mac_sec_capable
563    }
564    /// <p>The MAC Security (MACsec) port link status of the connection.</p>
565    /// <p>The valid values are <code>Encryption Up</code>, which means that there is an active Connection Key Name, or <code>Encryption Down</code>.</p>
566    pub fn port_encryption_status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
567        self.port_encryption_status = ::std::option::Option::Some(input.into());
568        self
569    }
570    /// <p>The MAC Security (MACsec) port link status of the connection.</p>
571    /// <p>The valid values are <code>Encryption Up</code>, which means that there is an active Connection Key Name, or <code>Encryption Down</code>.</p>
572    pub fn set_port_encryption_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
573        self.port_encryption_status = input;
574        self
575    }
576    /// <p>The MAC Security (MACsec) port link status of the connection.</p>
577    /// <p>The valid values are <code>Encryption Up</code>, which means that there is an active Connection Key Name, or <code>Encryption Down</code>.</p>
578    pub fn get_port_encryption_status(&self) -> &::std::option::Option<::std::string::String> {
579        &self.port_encryption_status
580    }
581    /// <p>The MAC Security (MACsec) connection encryption mode.</p>
582    /// <p>The valid values are <code>no_encrypt</code>, <code>should_encrypt</code>, and <code>must_encrypt</code>.</p>
583    pub fn encryption_mode(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
584        self.encryption_mode = ::std::option::Option::Some(input.into());
585        self
586    }
587    /// <p>The MAC Security (MACsec) connection encryption mode.</p>
588    /// <p>The valid values are <code>no_encrypt</code>, <code>should_encrypt</code>, and <code>must_encrypt</code>.</p>
589    pub fn set_encryption_mode(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
590        self.encryption_mode = input;
591        self
592    }
593    /// <p>The MAC Security (MACsec) connection encryption mode.</p>
594    /// <p>The valid values are <code>no_encrypt</code>, <code>should_encrypt</code>, and <code>must_encrypt</code>.</p>
595    pub fn get_encryption_mode(&self) -> &::std::option::Option<::std::string::String> {
596        &self.encryption_mode
597    }
598    /// Appends an item to `mac_sec_keys`.
599    ///
600    /// To override the contents of this collection use [`set_mac_sec_keys`](Self::set_mac_sec_keys).
601    ///
602    /// <p>The MAC Security (MACsec) security keys associated with the connection.</p>
603    pub fn mac_sec_keys(mut self, input: crate::types::MacSecKey) -> Self {
604        let mut v = self.mac_sec_keys.unwrap_or_default();
605        v.push(input);
606        self.mac_sec_keys = ::std::option::Option::Some(v);
607        self
608    }
609    /// <p>The MAC Security (MACsec) security keys associated with the connection.</p>
610    pub fn set_mac_sec_keys(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::MacSecKey>>) -> Self {
611        self.mac_sec_keys = input;
612        self
613    }
614    /// <p>The MAC Security (MACsec) security keys associated with the connection.</p>
615    pub fn get_mac_sec_keys(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::MacSecKey>> {
616        &self.mac_sec_keys
617    }
618    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
619        self._request_id = Some(request_id.into());
620        self
621    }
622
623    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
624        self._request_id = request_id;
625        self
626    }
627    /// Consumes the builder and constructs a [`DeleteConnectionOutput`](crate::operation::delete_connection::DeleteConnectionOutput).
628    pub fn build(self) -> crate::operation::delete_connection::DeleteConnectionOutput {
629        crate::operation::delete_connection::DeleteConnectionOutput {
630            owner_account: self.owner_account,
631            connection_id: self.connection_id,
632            connection_name: self.connection_name,
633            connection_state: self.connection_state,
634            region: self.region,
635            location: self.location,
636            bandwidth: self.bandwidth,
637            vlan: self.vlan.unwrap_or_default(),
638            partner_name: self.partner_name,
639            loa_issue_time: self.loa_issue_time,
640            lag_id: self.lag_id,
641            aws_device: self.aws_device,
642            jumbo_frame_capable: self.jumbo_frame_capable,
643            aws_device_v2: self.aws_device_v2,
644            aws_logical_device_id: self.aws_logical_device_id,
645            has_logical_redundancy: self.has_logical_redundancy,
646            tags: self.tags,
647            provider_name: self.provider_name,
648            mac_sec_capable: self.mac_sec_capable,
649            port_encryption_status: self.port_encryption_status,
650            encryption_mode: self.encryption_mode,
651            mac_sec_keys: self.mac_sec_keys,
652            _request_id: self._request_id,
653        }
654    }
655}