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