1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/directconnect/DirectConnect_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/directconnect/model/LagState.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/directconnect/model/HasLogicalRedundancy.h>
12 #include <aws/directconnect/model/Connection.h>
13 #include <aws/directconnect/model/Tag.h>
14 #include <aws/directconnect/model/MacSecKey.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 template<typename RESULT_TYPE>
20 class AmazonWebServiceResult;
21 
22 namespace Utils
23 {
24 namespace Json
25 {
26   class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace DirectConnect
30 {
31 namespace Model
32 {
33   /**
34    * <p>Information about a link aggregation group (LAG).</p><p><h3>See Also:</h3>
35    * <a
36    * href="http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/Lag">AWS
37    * API Reference</a></p>
38    */
39   class AWS_DIRECTCONNECT_API DeleteLagResult
40   {
41   public:
42     DeleteLagResult();
43     DeleteLagResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
44     DeleteLagResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
45 
46 
47     /**
48      * <p>The individual bandwidth of the physical connections bundled by the LAG. The
49      * possible values are 1Gbps and 10Gbps. </p>
50      */
GetConnectionsBandwidth()51     inline const Aws::String& GetConnectionsBandwidth() const{ return m_connectionsBandwidth; }
52 
53     /**
54      * <p>The individual bandwidth of the physical connections bundled by the LAG. The
55      * possible values are 1Gbps and 10Gbps. </p>
56      */
SetConnectionsBandwidth(const Aws::String & value)57     inline void SetConnectionsBandwidth(const Aws::String& value) { m_connectionsBandwidth = value; }
58 
59     /**
60      * <p>The individual bandwidth of the physical connections bundled by the LAG. The
61      * possible values are 1Gbps and 10Gbps. </p>
62      */
SetConnectionsBandwidth(Aws::String && value)63     inline void SetConnectionsBandwidth(Aws::String&& value) { m_connectionsBandwidth = std::move(value); }
64 
65     /**
66      * <p>The individual bandwidth of the physical connections bundled by the LAG. The
67      * possible values are 1Gbps and 10Gbps. </p>
68      */
SetConnectionsBandwidth(const char * value)69     inline void SetConnectionsBandwidth(const char* value) { m_connectionsBandwidth.assign(value); }
70 
71     /**
72      * <p>The individual bandwidth of the physical connections bundled by the LAG. The
73      * possible values are 1Gbps and 10Gbps. </p>
74      */
WithConnectionsBandwidth(const Aws::String & value)75     inline DeleteLagResult& WithConnectionsBandwidth(const Aws::String& value) { SetConnectionsBandwidth(value); return *this;}
76 
77     /**
78      * <p>The individual bandwidth of the physical connections bundled by the LAG. The
79      * possible values are 1Gbps and 10Gbps. </p>
80      */
WithConnectionsBandwidth(Aws::String && value)81     inline DeleteLagResult& WithConnectionsBandwidth(Aws::String&& value) { SetConnectionsBandwidth(std::move(value)); return *this;}
82 
83     /**
84      * <p>The individual bandwidth of the physical connections bundled by the LAG. The
85      * possible values are 1Gbps and 10Gbps. </p>
86      */
WithConnectionsBandwidth(const char * value)87     inline DeleteLagResult& WithConnectionsBandwidth(const char* value) { SetConnectionsBandwidth(value); return *this;}
88 
89 
90     /**
91      * <p>The number of physical dedicated connections bundled by the LAG, up to a
92      * maximum of 10.</p>
93      */
GetNumberOfConnections()94     inline int GetNumberOfConnections() const{ return m_numberOfConnections; }
95 
96     /**
97      * <p>The number of physical dedicated connections bundled by the LAG, up to a
98      * maximum of 10.</p>
99      */
SetNumberOfConnections(int value)100     inline void SetNumberOfConnections(int value) { m_numberOfConnections = value; }
101 
102     /**
103      * <p>The number of physical dedicated connections bundled by the LAG, up to a
104      * maximum of 10.</p>
105      */
WithNumberOfConnections(int value)106     inline DeleteLagResult& WithNumberOfConnections(int value) { SetNumberOfConnections(value); return *this;}
107 
108 
109     /**
110      * <p>The ID of the LAG.</p>
111      */
GetLagId()112     inline const Aws::String& GetLagId() const{ return m_lagId; }
113 
114     /**
115      * <p>The ID of the LAG.</p>
116      */
SetLagId(const Aws::String & value)117     inline void SetLagId(const Aws::String& value) { m_lagId = value; }
118 
119     /**
120      * <p>The ID of the LAG.</p>
121      */
SetLagId(Aws::String && value)122     inline void SetLagId(Aws::String&& value) { m_lagId = std::move(value); }
123 
124     /**
125      * <p>The ID of the LAG.</p>
126      */
SetLagId(const char * value)127     inline void SetLagId(const char* value) { m_lagId.assign(value); }
128 
129     /**
130      * <p>The ID of the LAG.</p>
131      */
WithLagId(const Aws::String & value)132     inline DeleteLagResult& WithLagId(const Aws::String& value) { SetLagId(value); return *this;}
133 
134     /**
135      * <p>The ID of the LAG.</p>
136      */
WithLagId(Aws::String && value)137     inline DeleteLagResult& WithLagId(Aws::String&& value) { SetLagId(std::move(value)); return *this;}
138 
139     /**
140      * <p>The ID of the LAG.</p>
141      */
WithLagId(const char * value)142     inline DeleteLagResult& WithLagId(const char* value) { SetLagId(value); return *this;}
143 
144 
145     /**
146      * <p>The ID of the Amazon Web Services account that owns the LAG.</p>
147      */
GetOwnerAccount()148     inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; }
149 
150     /**
151      * <p>The ID of the Amazon Web Services account that owns the LAG.</p>
152      */
SetOwnerAccount(const Aws::String & value)153     inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccount = value; }
154 
155     /**
156      * <p>The ID of the Amazon Web Services account that owns the LAG.</p>
157      */
SetOwnerAccount(Aws::String && value)158     inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccount = std::move(value); }
159 
160     /**
161      * <p>The ID of the Amazon Web Services account that owns the LAG.</p>
162      */
SetOwnerAccount(const char * value)163     inline void SetOwnerAccount(const char* value) { m_ownerAccount.assign(value); }
164 
165     /**
166      * <p>The ID of the Amazon Web Services account that owns the LAG.</p>
167      */
WithOwnerAccount(const Aws::String & value)168     inline DeleteLagResult& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;}
169 
170     /**
171      * <p>The ID of the Amazon Web Services account that owns the LAG.</p>
172      */
WithOwnerAccount(Aws::String && value)173     inline DeleteLagResult& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;}
174 
175     /**
176      * <p>The ID of the Amazon Web Services account that owns the LAG.</p>
177      */
WithOwnerAccount(const char * value)178     inline DeleteLagResult& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;}
179 
180 
181     /**
182      * <p>The name of the LAG.</p>
183      */
GetLagName()184     inline const Aws::String& GetLagName() const{ return m_lagName; }
185 
186     /**
187      * <p>The name of the LAG.</p>
188      */
SetLagName(const Aws::String & value)189     inline void SetLagName(const Aws::String& value) { m_lagName = value; }
190 
191     /**
192      * <p>The name of the LAG.</p>
193      */
SetLagName(Aws::String && value)194     inline void SetLagName(Aws::String&& value) { m_lagName = std::move(value); }
195 
196     /**
197      * <p>The name of the LAG.</p>
198      */
SetLagName(const char * value)199     inline void SetLagName(const char* value) { m_lagName.assign(value); }
200 
201     /**
202      * <p>The name of the LAG.</p>
203      */
WithLagName(const Aws::String & value)204     inline DeleteLagResult& WithLagName(const Aws::String& value) { SetLagName(value); return *this;}
205 
206     /**
207      * <p>The name of the LAG.</p>
208      */
WithLagName(Aws::String && value)209     inline DeleteLagResult& WithLagName(Aws::String&& value) { SetLagName(std::move(value)); return *this;}
210 
211     /**
212      * <p>The name of the LAG.</p>
213      */
WithLagName(const char * value)214     inline DeleteLagResult& WithLagName(const char* value) { SetLagName(value); return *this;}
215 
216 
217     /**
218      * <p>The state of the LAG. The following are the possible values:</p> <ul> <li>
219      * <p> <code>requested</code>: The initial state of a LAG. The LAG stays in the
220      * requested state until the Letter of Authorization (LOA) is available.</p> </li>
221      * <li> <p> <code>pending</code>: The LAG has been approved and is being
222      * initialized.</p> </li> <li> <p> <code>available</code>: The network link is
223      * established and the LAG is ready for use.</p> </li> <li> <p> <code>down</code>:
224      * The network link is down.</p> </li> <li> <p> <code>deleting</code>: The LAG is
225      * being deleted.</p> </li> <li> <p> <code>deleted</code>: The LAG is deleted.</p>
226      * </li> <li> <p> <code>unknown</code>: The state of the LAG is not available.</p>
227      * </li> </ul>
228      */
GetLagState()229     inline const LagState& GetLagState() const{ return m_lagState; }
230 
231     /**
232      * <p>The state of the LAG. The following are the possible values:</p> <ul> <li>
233      * <p> <code>requested</code>: The initial state of a LAG. The LAG stays in the
234      * requested state until the Letter of Authorization (LOA) is available.</p> </li>
235      * <li> <p> <code>pending</code>: The LAG has been approved and is being
236      * initialized.</p> </li> <li> <p> <code>available</code>: The network link is
237      * established and the LAG is ready for use.</p> </li> <li> <p> <code>down</code>:
238      * The network link is down.</p> </li> <li> <p> <code>deleting</code>: The LAG is
239      * being deleted.</p> </li> <li> <p> <code>deleted</code>: The LAG is deleted.</p>
240      * </li> <li> <p> <code>unknown</code>: The state of the LAG is not available.</p>
241      * </li> </ul>
242      */
SetLagState(const LagState & value)243     inline void SetLagState(const LagState& value) { m_lagState = value; }
244 
245     /**
246      * <p>The state of the LAG. The following are the possible values:</p> <ul> <li>
247      * <p> <code>requested</code>: The initial state of a LAG. The LAG stays in the
248      * requested state until the Letter of Authorization (LOA) is available.</p> </li>
249      * <li> <p> <code>pending</code>: The LAG has been approved and is being
250      * initialized.</p> </li> <li> <p> <code>available</code>: The network link is
251      * established and the LAG is ready for use.</p> </li> <li> <p> <code>down</code>:
252      * The network link is down.</p> </li> <li> <p> <code>deleting</code>: The LAG is
253      * being deleted.</p> </li> <li> <p> <code>deleted</code>: The LAG is deleted.</p>
254      * </li> <li> <p> <code>unknown</code>: The state of the LAG is not available.</p>
255      * </li> </ul>
256      */
SetLagState(LagState && value)257     inline void SetLagState(LagState&& value) { m_lagState = std::move(value); }
258 
259     /**
260      * <p>The state of the LAG. The following are the possible values:</p> <ul> <li>
261      * <p> <code>requested</code>: The initial state of a LAG. The LAG stays in the
262      * requested state until the Letter of Authorization (LOA) is available.</p> </li>
263      * <li> <p> <code>pending</code>: The LAG has been approved and is being
264      * initialized.</p> </li> <li> <p> <code>available</code>: The network link is
265      * established and the LAG is ready for use.</p> </li> <li> <p> <code>down</code>:
266      * The network link is down.</p> </li> <li> <p> <code>deleting</code>: The LAG is
267      * being deleted.</p> </li> <li> <p> <code>deleted</code>: The LAG is deleted.</p>
268      * </li> <li> <p> <code>unknown</code>: The state of the LAG is not available.</p>
269      * </li> </ul>
270      */
WithLagState(const LagState & value)271     inline DeleteLagResult& WithLagState(const LagState& value) { SetLagState(value); return *this;}
272 
273     /**
274      * <p>The state of the LAG. The following are the possible values:</p> <ul> <li>
275      * <p> <code>requested</code>: The initial state of a LAG. The LAG stays in the
276      * requested state until the Letter of Authorization (LOA) is available.</p> </li>
277      * <li> <p> <code>pending</code>: The LAG has been approved and is being
278      * initialized.</p> </li> <li> <p> <code>available</code>: The network link is
279      * established and the LAG is ready for use.</p> </li> <li> <p> <code>down</code>:
280      * The network link is down.</p> </li> <li> <p> <code>deleting</code>: The LAG is
281      * being deleted.</p> </li> <li> <p> <code>deleted</code>: The LAG is deleted.</p>
282      * </li> <li> <p> <code>unknown</code>: The state of the LAG is not available.</p>
283      * </li> </ul>
284      */
WithLagState(LagState && value)285     inline DeleteLagResult& WithLagState(LagState&& value) { SetLagState(std::move(value)); return *this;}
286 
287 
288     /**
289      * <p>The location of the LAG.</p>
290      */
GetLocation()291     inline const Aws::String& GetLocation() const{ return m_location; }
292 
293     /**
294      * <p>The location of the LAG.</p>
295      */
SetLocation(const Aws::String & value)296     inline void SetLocation(const Aws::String& value) { m_location = value; }
297 
298     /**
299      * <p>The location of the LAG.</p>
300      */
SetLocation(Aws::String && value)301     inline void SetLocation(Aws::String&& value) { m_location = std::move(value); }
302 
303     /**
304      * <p>The location of the LAG.</p>
305      */
SetLocation(const char * value)306     inline void SetLocation(const char* value) { m_location.assign(value); }
307 
308     /**
309      * <p>The location of the LAG.</p>
310      */
WithLocation(const Aws::String & value)311     inline DeleteLagResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;}
312 
313     /**
314      * <p>The location of the LAG.</p>
315      */
WithLocation(Aws::String && value)316     inline DeleteLagResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;}
317 
318     /**
319      * <p>The location of the LAG.</p>
320      */
WithLocation(const char * value)321     inline DeleteLagResult& WithLocation(const char* value) { SetLocation(value); return *this;}
322 
323 
324     /**
325      * <p>The Amazon Web Services Region where the connection is located.</p>
326      */
GetRegion()327     inline const Aws::String& GetRegion() const{ return m_region; }
328 
329     /**
330      * <p>The Amazon Web Services Region where the connection is located.</p>
331      */
SetRegion(const Aws::String & value)332     inline void SetRegion(const Aws::String& value) { m_region = value; }
333 
334     /**
335      * <p>The Amazon Web Services Region where the connection is located.</p>
336      */
SetRegion(Aws::String && value)337     inline void SetRegion(Aws::String&& value) { m_region = std::move(value); }
338 
339     /**
340      * <p>The Amazon Web Services Region where the connection is located.</p>
341      */
SetRegion(const char * value)342     inline void SetRegion(const char* value) { m_region.assign(value); }
343 
344     /**
345      * <p>The Amazon Web Services Region where the connection is located.</p>
346      */
WithRegion(const Aws::String & value)347     inline DeleteLagResult& WithRegion(const Aws::String& value) { SetRegion(value); return *this;}
348 
349     /**
350      * <p>The Amazon Web Services Region where the connection is located.</p>
351      */
WithRegion(Aws::String && value)352     inline DeleteLagResult& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;}
353 
354     /**
355      * <p>The Amazon Web Services Region where the connection is located.</p>
356      */
WithRegion(const char * value)357     inline DeleteLagResult& WithRegion(const char* value) { SetRegion(value); return *this;}
358 
359 
360     /**
361      * <p>The minimum number of physical dedicated connections that must be operational
362      * for the LAG itself to be operational.</p>
363      */
GetMinimumLinks()364     inline int GetMinimumLinks() const{ return m_minimumLinks; }
365 
366     /**
367      * <p>The minimum number of physical dedicated connections that must be operational
368      * for the LAG itself to be operational.</p>
369      */
SetMinimumLinks(int value)370     inline void SetMinimumLinks(int value) { m_minimumLinks = value; }
371 
372     /**
373      * <p>The minimum number of physical dedicated connections that must be operational
374      * for the LAG itself to be operational.</p>
375      */
WithMinimumLinks(int value)376     inline DeleteLagResult& WithMinimumLinks(int value) { SetMinimumLinks(value); return *this;}
377 
378 
379     /**
380      * <p>The Direct Connect endpoint that hosts the LAG.</p>
381      */
GetAwsDevice()382     inline const Aws::String& GetAwsDevice() const{ return m_awsDevice; }
383 
384     /**
385      * <p>The Direct Connect endpoint that hosts the LAG.</p>
386      */
SetAwsDevice(const Aws::String & value)387     inline void SetAwsDevice(const Aws::String& value) { m_awsDevice = value; }
388 
389     /**
390      * <p>The Direct Connect endpoint that hosts the LAG.</p>
391      */
SetAwsDevice(Aws::String && value)392     inline void SetAwsDevice(Aws::String&& value) { m_awsDevice = std::move(value); }
393 
394     /**
395      * <p>The Direct Connect endpoint that hosts the LAG.</p>
396      */
SetAwsDevice(const char * value)397     inline void SetAwsDevice(const char* value) { m_awsDevice.assign(value); }
398 
399     /**
400      * <p>The Direct Connect endpoint that hosts the LAG.</p>
401      */
WithAwsDevice(const Aws::String & value)402     inline DeleteLagResult& WithAwsDevice(const Aws::String& value) { SetAwsDevice(value); return *this;}
403 
404     /**
405      * <p>The Direct Connect endpoint that hosts the LAG.</p>
406      */
WithAwsDevice(Aws::String && value)407     inline DeleteLagResult& WithAwsDevice(Aws::String&& value) { SetAwsDevice(std::move(value)); return *this;}
408 
409     /**
410      * <p>The Direct Connect endpoint that hosts the LAG.</p>
411      */
WithAwsDevice(const char * value)412     inline DeleteLagResult& WithAwsDevice(const char* value) { SetAwsDevice(value); return *this;}
413 
414 
415     /**
416      * <p>The Direct Connect endpoint that hosts the LAG.</p>
417      */
GetAwsDeviceV2()418     inline const Aws::String& GetAwsDeviceV2() const{ return m_awsDeviceV2; }
419 
420     /**
421      * <p>The Direct Connect endpoint that hosts the LAG.</p>
422      */
SetAwsDeviceV2(const Aws::String & value)423     inline void SetAwsDeviceV2(const Aws::String& value) { m_awsDeviceV2 = value; }
424 
425     /**
426      * <p>The Direct Connect endpoint that hosts the LAG.</p>
427      */
SetAwsDeviceV2(Aws::String && value)428     inline void SetAwsDeviceV2(Aws::String&& value) { m_awsDeviceV2 = std::move(value); }
429 
430     /**
431      * <p>The Direct Connect endpoint that hosts the LAG.</p>
432      */
SetAwsDeviceV2(const char * value)433     inline void SetAwsDeviceV2(const char* value) { m_awsDeviceV2.assign(value); }
434 
435     /**
436      * <p>The Direct Connect endpoint that hosts the LAG.</p>
437      */
WithAwsDeviceV2(const Aws::String & value)438     inline DeleteLagResult& WithAwsDeviceV2(const Aws::String& value) { SetAwsDeviceV2(value); return *this;}
439 
440     /**
441      * <p>The Direct Connect endpoint that hosts the LAG.</p>
442      */
WithAwsDeviceV2(Aws::String && value)443     inline DeleteLagResult& WithAwsDeviceV2(Aws::String&& value) { SetAwsDeviceV2(std::move(value)); return *this;}
444 
445     /**
446      * <p>The Direct Connect endpoint that hosts the LAG.</p>
447      */
WithAwsDeviceV2(const char * value)448     inline DeleteLagResult& WithAwsDeviceV2(const char* value) { SetAwsDeviceV2(value); return *this;}
449 
450 
451     /**
452      * <p>The Direct Connect endpoint that terminates the logical connection. This
453      * device might be different than the device that terminates the physical
454      * connection.</p>
455      */
GetAwsLogicalDeviceId()456     inline const Aws::String& GetAwsLogicalDeviceId() const{ return m_awsLogicalDeviceId; }
457 
458     /**
459      * <p>The Direct Connect endpoint that terminates the logical connection. This
460      * device might be different than the device that terminates the physical
461      * connection.</p>
462      */
SetAwsLogicalDeviceId(const Aws::String & value)463     inline void SetAwsLogicalDeviceId(const Aws::String& value) { m_awsLogicalDeviceId = value; }
464 
465     /**
466      * <p>The Direct Connect endpoint that terminates the logical connection. This
467      * device might be different than the device that terminates the physical
468      * connection.</p>
469      */
SetAwsLogicalDeviceId(Aws::String && value)470     inline void SetAwsLogicalDeviceId(Aws::String&& value) { m_awsLogicalDeviceId = std::move(value); }
471 
472     /**
473      * <p>The Direct Connect endpoint that terminates the logical connection. This
474      * device might be different than the device that terminates the physical
475      * connection.</p>
476      */
SetAwsLogicalDeviceId(const char * value)477     inline void SetAwsLogicalDeviceId(const char* value) { m_awsLogicalDeviceId.assign(value); }
478 
479     /**
480      * <p>The Direct Connect endpoint that terminates the logical connection. This
481      * device might be different than the device that terminates the physical
482      * connection.</p>
483      */
WithAwsLogicalDeviceId(const Aws::String & value)484     inline DeleteLagResult& WithAwsLogicalDeviceId(const Aws::String& value) { SetAwsLogicalDeviceId(value); return *this;}
485 
486     /**
487      * <p>The Direct Connect endpoint that terminates the logical connection. This
488      * device might be different than the device that terminates the physical
489      * connection.</p>
490      */
WithAwsLogicalDeviceId(Aws::String && value)491     inline DeleteLagResult& WithAwsLogicalDeviceId(Aws::String&& value) { SetAwsLogicalDeviceId(std::move(value)); return *this;}
492 
493     /**
494      * <p>The Direct Connect endpoint that terminates the logical connection. This
495      * device might be different than the device that terminates the physical
496      * connection.</p>
497      */
WithAwsLogicalDeviceId(const char * value)498     inline DeleteLagResult& WithAwsLogicalDeviceId(const char* value) { SetAwsLogicalDeviceId(value); return *this;}
499 
500 
501     /**
502      * <p>The connections bundled by the LAG.</p>
503      */
GetConnections()504     inline const Aws::Vector<Connection>& GetConnections() const{ return m_connections; }
505 
506     /**
507      * <p>The connections bundled by the LAG.</p>
508      */
SetConnections(const Aws::Vector<Connection> & value)509     inline void SetConnections(const Aws::Vector<Connection>& value) { m_connections = value; }
510 
511     /**
512      * <p>The connections bundled by the LAG.</p>
513      */
SetConnections(Aws::Vector<Connection> && value)514     inline void SetConnections(Aws::Vector<Connection>&& value) { m_connections = std::move(value); }
515 
516     /**
517      * <p>The connections bundled by the LAG.</p>
518      */
WithConnections(const Aws::Vector<Connection> & value)519     inline DeleteLagResult& WithConnections(const Aws::Vector<Connection>& value) { SetConnections(value); return *this;}
520 
521     /**
522      * <p>The connections bundled by the LAG.</p>
523      */
WithConnections(Aws::Vector<Connection> && value)524     inline DeleteLagResult& WithConnections(Aws::Vector<Connection>&& value) { SetConnections(std::move(value)); return *this;}
525 
526     /**
527      * <p>The connections bundled by the LAG.</p>
528      */
AddConnections(const Connection & value)529     inline DeleteLagResult& AddConnections(const Connection& value) { m_connections.push_back(value); return *this; }
530 
531     /**
532      * <p>The connections bundled by the LAG.</p>
533      */
AddConnections(Connection && value)534     inline DeleteLagResult& AddConnections(Connection&& value) { m_connections.push_back(std::move(value)); return *this; }
535 
536 
537     /**
538      * <p>Indicates whether the LAG can host other connections.</p>
539      */
GetAllowsHostedConnections()540     inline bool GetAllowsHostedConnections() const{ return m_allowsHostedConnections; }
541 
542     /**
543      * <p>Indicates whether the LAG can host other connections.</p>
544      */
SetAllowsHostedConnections(bool value)545     inline void SetAllowsHostedConnections(bool value) { m_allowsHostedConnections = value; }
546 
547     /**
548      * <p>Indicates whether the LAG can host other connections.</p>
549      */
WithAllowsHostedConnections(bool value)550     inline DeleteLagResult& WithAllowsHostedConnections(bool value) { SetAllowsHostedConnections(value); return *this;}
551 
552 
553     /**
554      * <p>Indicates whether jumbo frames (9001 MTU) are supported.</p>
555      */
GetJumboFrameCapable()556     inline bool GetJumboFrameCapable() const{ return m_jumboFrameCapable; }
557 
558     /**
559      * <p>Indicates whether jumbo frames (9001 MTU) are supported.</p>
560      */
SetJumboFrameCapable(bool value)561     inline void SetJumboFrameCapable(bool value) { m_jumboFrameCapable = value; }
562 
563     /**
564      * <p>Indicates whether jumbo frames (9001 MTU) are supported.</p>
565      */
WithJumboFrameCapable(bool value)566     inline DeleteLagResult& WithJumboFrameCapable(bool value) { SetJumboFrameCapable(value); return *this;}
567 
568 
569     /**
570      * <p>Indicates whether the LAG supports a secondary BGP peer in the same address
571      * family (IPv4/IPv6).</p>
572      */
GetHasLogicalRedundancy()573     inline const HasLogicalRedundancy& GetHasLogicalRedundancy() const{ return m_hasLogicalRedundancy; }
574 
575     /**
576      * <p>Indicates whether the LAG supports a secondary BGP peer in the same address
577      * family (IPv4/IPv6).</p>
578      */
SetHasLogicalRedundancy(const HasLogicalRedundancy & value)579     inline void SetHasLogicalRedundancy(const HasLogicalRedundancy& value) { m_hasLogicalRedundancy = value; }
580 
581     /**
582      * <p>Indicates whether the LAG supports a secondary BGP peer in the same address
583      * family (IPv4/IPv6).</p>
584      */
SetHasLogicalRedundancy(HasLogicalRedundancy && value)585     inline void SetHasLogicalRedundancy(HasLogicalRedundancy&& value) { m_hasLogicalRedundancy = std::move(value); }
586 
587     /**
588      * <p>Indicates whether the LAG supports a secondary BGP peer in the same address
589      * family (IPv4/IPv6).</p>
590      */
WithHasLogicalRedundancy(const HasLogicalRedundancy & value)591     inline DeleteLagResult& WithHasLogicalRedundancy(const HasLogicalRedundancy& value) { SetHasLogicalRedundancy(value); return *this;}
592 
593     /**
594      * <p>Indicates whether the LAG supports a secondary BGP peer in the same address
595      * family (IPv4/IPv6).</p>
596      */
WithHasLogicalRedundancy(HasLogicalRedundancy && value)597     inline DeleteLagResult& WithHasLogicalRedundancy(HasLogicalRedundancy&& value) { SetHasLogicalRedundancy(std::move(value)); return *this;}
598 
599 
600     /**
601      * <p>The tags associated with the LAG.</p>
602      */
GetTags()603     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
604 
605     /**
606      * <p>The tags associated with the LAG.</p>
607      */
SetTags(const Aws::Vector<Tag> & value)608     inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
609 
610     /**
611      * <p>The tags associated with the LAG.</p>
612      */
SetTags(Aws::Vector<Tag> && value)613     inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
614 
615     /**
616      * <p>The tags associated with the LAG.</p>
617      */
WithTags(const Aws::Vector<Tag> & value)618     inline DeleteLagResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
619 
620     /**
621      * <p>The tags associated with the LAG.</p>
622      */
WithTags(Aws::Vector<Tag> && value)623     inline DeleteLagResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
624 
625     /**
626      * <p>The tags associated with the LAG.</p>
627      */
AddTags(const Tag & value)628     inline DeleteLagResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
629 
630     /**
631      * <p>The tags associated with the LAG.</p>
632      */
AddTags(Tag && value)633     inline DeleteLagResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
634 
635 
636     /**
637      * <p>The name of the service provider associated with the LAG.</p>
638      */
GetProviderName()639     inline const Aws::String& GetProviderName() const{ return m_providerName; }
640 
641     /**
642      * <p>The name of the service provider associated with the LAG.</p>
643      */
SetProviderName(const Aws::String & value)644     inline void SetProviderName(const Aws::String& value) { m_providerName = value; }
645 
646     /**
647      * <p>The name of the service provider associated with the LAG.</p>
648      */
SetProviderName(Aws::String && value)649     inline void SetProviderName(Aws::String&& value) { m_providerName = std::move(value); }
650 
651     /**
652      * <p>The name of the service provider associated with the LAG.</p>
653      */
SetProviderName(const char * value)654     inline void SetProviderName(const char* value) { m_providerName.assign(value); }
655 
656     /**
657      * <p>The name of the service provider associated with the LAG.</p>
658      */
WithProviderName(const Aws::String & value)659     inline DeleteLagResult& WithProviderName(const Aws::String& value) { SetProviderName(value); return *this;}
660 
661     /**
662      * <p>The name of the service provider associated with the LAG.</p>
663      */
WithProviderName(Aws::String && value)664     inline DeleteLagResult& WithProviderName(Aws::String&& value) { SetProviderName(std::move(value)); return *this;}
665 
666     /**
667      * <p>The name of the service provider associated with the LAG.</p>
668      */
WithProviderName(const char * value)669     inline DeleteLagResult& WithProviderName(const char* value) { SetProviderName(value); return *this;}
670 
671 
672     /**
673      * <p>Indicates whether the LAG supports MAC Security (MACsec).</p>
674      */
GetMacSecCapable()675     inline bool GetMacSecCapable() const{ return m_macSecCapable; }
676 
677     /**
678      * <p>Indicates whether the LAG supports MAC Security (MACsec).</p>
679      */
SetMacSecCapable(bool value)680     inline void SetMacSecCapable(bool value) { m_macSecCapable = value; }
681 
682     /**
683      * <p>Indicates whether the LAG supports MAC Security (MACsec).</p>
684      */
WithMacSecCapable(bool value)685     inline DeleteLagResult& WithMacSecCapable(bool value) { SetMacSecCapable(value); return *this;}
686 
687 
688     /**
689      * <p>The LAG MAC Security (MACsec) encryption mode.</p> <p>The valid values are
690      * <code>no_encrypt</code>, <code>should_encrypt</code>, and
691      * <code>must_encrypt</code>.</p>
692      */
GetEncryptionMode()693     inline const Aws::String& GetEncryptionMode() const{ return m_encryptionMode; }
694 
695     /**
696      * <p>The LAG MAC Security (MACsec) encryption mode.</p> <p>The valid values are
697      * <code>no_encrypt</code>, <code>should_encrypt</code>, and
698      * <code>must_encrypt</code>.</p>
699      */
SetEncryptionMode(const Aws::String & value)700     inline void SetEncryptionMode(const Aws::String& value) { m_encryptionMode = value; }
701 
702     /**
703      * <p>The LAG MAC Security (MACsec) encryption mode.</p> <p>The valid values are
704      * <code>no_encrypt</code>, <code>should_encrypt</code>, and
705      * <code>must_encrypt</code>.</p>
706      */
SetEncryptionMode(Aws::String && value)707     inline void SetEncryptionMode(Aws::String&& value) { m_encryptionMode = std::move(value); }
708 
709     /**
710      * <p>The LAG MAC Security (MACsec) encryption mode.</p> <p>The valid values are
711      * <code>no_encrypt</code>, <code>should_encrypt</code>, and
712      * <code>must_encrypt</code>.</p>
713      */
SetEncryptionMode(const char * value)714     inline void SetEncryptionMode(const char* value) { m_encryptionMode.assign(value); }
715 
716     /**
717      * <p>The LAG MAC Security (MACsec) encryption mode.</p> <p>The valid values are
718      * <code>no_encrypt</code>, <code>should_encrypt</code>, and
719      * <code>must_encrypt</code>.</p>
720      */
WithEncryptionMode(const Aws::String & value)721     inline DeleteLagResult& WithEncryptionMode(const Aws::String& value) { SetEncryptionMode(value); return *this;}
722 
723     /**
724      * <p>The LAG MAC Security (MACsec) encryption mode.</p> <p>The valid values are
725      * <code>no_encrypt</code>, <code>should_encrypt</code>, and
726      * <code>must_encrypt</code>.</p>
727      */
WithEncryptionMode(Aws::String && value)728     inline DeleteLagResult& WithEncryptionMode(Aws::String&& value) { SetEncryptionMode(std::move(value)); return *this;}
729 
730     /**
731      * <p>The LAG MAC Security (MACsec) encryption mode.</p> <p>The valid values are
732      * <code>no_encrypt</code>, <code>should_encrypt</code>, and
733      * <code>must_encrypt</code>.</p>
734      */
WithEncryptionMode(const char * value)735     inline DeleteLagResult& WithEncryptionMode(const char* value) { SetEncryptionMode(value); return *this;}
736 
737 
738     /**
739      * <p>The MAC Security (MACsec) security keys associated with the LAG.</p>
740      */
GetMacSecKeys()741     inline const Aws::Vector<MacSecKey>& GetMacSecKeys() const{ return m_macSecKeys; }
742 
743     /**
744      * <p>The MAC Security (MACsec) security keys associated with the LAG.</p>
745      */
SetMacSecKeys(const Aws::Vector<MacSecKey> & value)746     inline void SetMacSecKeys(const Aws::Vector<MacSecKey>& value) { m_macSecKeys = value; }
747 
748     /**
749      * <p>The MAC Security (MACsec) security keys associated with the LAG.</p>
750      */
SetMacSecKeys(Aws::Vector<MacSecKey> && value)751     inline void SetMacSecKeys(Aws::Vector<MacSecKey>&& value) { m_macSecKeys = std::move(value); }
752 
753     /**
754      * <p>The MAC Security (MACsec) security keys associated with the LAG.</p>
755      */
WithMacSecKeys(const Aws::Vector<MacSecKey> & value)756     inline DeleteLagResult& WithMacSecKeys(const Aws::Vector<MacSecKey>& value) { SetMacSecKeys(value); return *this;}
757 
758     /**
759      * <p>The MAC Security (MACsec) security keys associated with the LAG.</p>
760      */
WithMacSecKeys(Aws::Vector<MacSecKey> && value)761     inline DeleteLagResult& WithMacSecKeys(Aws::Vector<MacSecKey>&& value) { SetMacSecKeys(std::move(value)); return *this;}
762 
763     /**
764      * <p>The MAC Security (MACsec) security keys associated with the LAG.</p>
765      */
AddMacSecKeys(const MacSecKey & value)766     inline DeleteLagResult& AddMacSecKeys(const MacSecKey& value) { m_macSecKeys.push_back(value); return *this; }
767 
768     /**
769      * <p>The MAC Security (MACsec) security keys associated with the LAG.</p>
770      */
AddMacSecKeys(MacSecKey && value)771     inline DeleteLagResult& AddMacSecKeys(MacSecKey&& value) { m_macSecKeys.push_back(std::move(value)); return *this; }
772 
773   private:
774 
775     Aws::String m_connectionsBandwidth;
776 
777     int m_numberOfConnections;
778 
779     Aws::String m_lagId;
780 
781     Aws::String m_ownerAccount;
782 
783     Aws::String m_lagName;
784 
785     LagState m_lagState;
786 
787     Aws::String m_location;
788 
789     Aws::String m_region;
790 
791     int m_minimumLinks;
792 
793     Aws::String m_awsDevice;
794 
795     Aws::String m_awsDeviceV2;
796 
797     Aws::String m_awsLogicalDeviceId;
798 
799     Aws::Vector<Connection> m_connections;
800 
801     bool m_allowsHostedConnections;
802 
803     bool m_jumboFrameCapable;
804 
805     HasLogicalRedundancy m_hasLogicalRedundancy;
806 
807     Aws::Vector<Tag> m_tags;
808 
809     Aws::String m_providerName;
810 
811     bool m_macSecCapable;
812 
813     Aws::String m_encryptionMode;
814 
815     Aws::Vector<MacSecKey> m_macSecKeys;
816   };
817 
818 } // namespace Model
819 } // namespace DirectConnect
820 } // namespace Aws
821