7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/directconnect/DirectConnect_EXPORTS.h>
10#include <aws/directconnect/model/BillingMode.h>
11#include <aws/directconnect/model/Connection.h>
12#include <aws/directconnect/model/HasLogicalRedundancy.h>
13#include <aws/directconnect/model/LagState.h>
14#include <aws/directconnect/model/MacSecKey.h>
15#include <aws/directconnect/model/RateLimiterStatus.h>
16#include <aws/directconnect/model/Tag.h>
27namespace DirectConnect {
38 AWS_DIRECTCONNECT_API
Lag() =
default;
50 template <
typename ConnectionsBandw
idthT = Aws::String>
52 m_connectionsBandwidthHasBeenSet =
true;
53 m_connectionsBandwidth = std::forward<ConnectionsBandwidthT>(value);
55 template <
typename ConnectionsBandw
idthT = Aws::String>
72 m_numberOfConnectionsHasBeenSet =
true;
73 m_numberOfConnections = value;
87 template <
typename LagIdT = Aws::String>
89 m_lagIdHasBeenSet =
true;
90 m_lagId = std::forward<LagIdT>(value);
92 template <
typename LagIdT = Aws::String>
94 SetLagId(std::forward<LagIdT>(value));
105 template <
typename OwnerAccountT = Aws::String>
107 m_ownerAccountHasBeenSet =
true;
108 m_ownerAccount = std::forward<OwnerAccountT>(value);
110 template <
typename OwnerAccountT = Aws::String>
123 template <
typename LagNameT = Aws::String>
125 m_lagNameHasBeenSet =
true;
126 m_lagName = std::forward<LagNameT>(value);
128 template <
typename LagNameT = Aws::String>
151 m_lagStateHasBeenSet =
true;
166 template <
typename LocationT = Aws::String>
168 m_locationHasBeenSet =
true;
169 m_location = std::forward<LocationT>(value);
171 template <
typename LocationT = Aws::String>
184 template <
typename RegionT = Aws::String>
186 m_regionHasBeenSet =
true;
187 m_region = std::forward<RegionT>(value);
189 template <
typename RegionT = Aws::String>
204 m_minimumLinksHasBeenSet =
true;
205 m_minimumLinks = value;
219 template <
typename AwsDeviceT = Aws::String>
221 m_awsDeviceHasBeenSet =
true;
222 m_awsDevice = std::forward<AwsDeviceT>(value);
224 template <
typename AwsDeviceT = Aws::String>
237 template <
typename AwsDeviceV2T = Aws::String>
239 m_awsDeviceV2HasBeenSet =
true;
240 m_awsDeviceV2 = std::forward<AwsDeviceV2T>(value);
242 template <
typename AwsDeviceV2T = Aws::String>
257 template <
typename AwsLogicalDeviceIdT = Aws::String>
259 m_awsLogicalDeviceIdHasBeenSet =
true;
260 m_awsLogicalDeviceId = std::forward<AwsLogicalDeviceIdT>(value);
262 template <
typename AwsLogicalDeviceIdT = Aws::String>
275 template <
typename ConnectionsT = Aws::Vector<Connection>>
277 m_connectionsHasBeenSet =
true;
278 m_connections = std::forward<ConnectionsT>(value);
280 template <
typename ConnectionsT = Aws::Vector<Connection>>
285 template <
typename ConnectionsT = Connection>
287 m_connectionsHasBeenSet =
true;
288 m_connections.emplace_back(std::forward<ConnectionsT>(value));
300 m_allowsHostedConnectionsHasBeenSet =
true;
301 m_allowsHostedConnections = value;
316 m_jumboFrameCapableHasBeenSet =
true;
317 m_jumboFrameCapable = value;
333 m_hasLogicalRedundancyHasBeenSet =
true;
334 m_hasLogicalRedundancy = value;
348 template <
typename TagsT = Aws::Vector<Tag>>
350 m_tagsHasBeenSet =
true;
351 m_tags = std::forward<TagsT>(value);
353 template <
typename TagsT = Aws::Vector<Tag>>
355 SetTags(std::forward<TagsT>(value));
358 template <
typename TagsT = Tag>
360 m_tagsHasBeenSet =
true;
361 m_tags.emplace_back(std::forward<TagsT>(value));
372 template <
typename Prov
iderNameT = Aws::String>
374 m_providerNameHasBeenSet =
true;
375 m_providerName = std::forward<ProviderNameT>(value);
377 template <
typename Prov
iderNameT = Aws::String>
391 m_macSecCapableHasBeenSet =
true;
392 m_macSecCapable = value;
408 template <
typename EncryptionModeT = Aws::String>
410 m_encryptionModeHasBeenSet =
true;
411 m_encryptionMode = std::forward<EncryptionModeT>(value);
413 template <
typename EncryptionModeT = Aws::String>
426 template <
typename MacSecKeysT = Aws::Vector<MacSecKey>>
428 m_macSecKeysHasBeenSet =
true;
429 m_macSecKeys = std::forward<MacSecKeysT>(value);
431 template <
typename MacSecKeysT = Aws::Vector<MacSecKey>>
436 template <
typename MacSecKeysT = MacSecKey>
438 m_macSecKeysHasBeenSet =
true;
439 m_macSecKeys.emplace_back(std::forward<MacSecKeysT>(value));
453 m_prefixPoolSizeIpv4HasBeenSet =
true;
454 m_prefixPoolSizeIpv4 = value;
471 m_prefixPoolSizeIpv6HasBeenSet =
true;
472 m_prefixPoolSizeIpv6 = value;
489 m_prefixPoolUnallocatedCountIpv4HasBeenSet =
true;
490 m_prefixPoolUnallocatedCountIpv4 = value;
507 m_prefixPoolUnallocatedCountIpv6HasBeenSet =
true;
508 m_prefixPoolUnallocatedCountIpv6 = value;
523 template <
typename RateLimiterStatusT = RateLimiterStatus>
525 m_rateLimiterStatusHasBeenSet =
true;
526 m_rateLimiterStatus = std::forward<RateLimiterStatusT>(value);
528 template <
typename RateLimiterStatusT = RateLimiterStatus>
542 m_billingModeHasBeenSet =
true;
543 m_billingMode = value;
555 template <
typename RequestIdT = Aws::String>
557 m_requestIdHasBeenSet =
true;
558 m_requestId = std::forward<RequestIdT>(value);
560 template <
typename RequestIdT = Aws::String>
569 int m_numberOfConnections{0};
583 int m_minimumLinks{0};
593 bool m_allowsHostedConnections{
false};
595 bool m_jumboFrameCapable{
false};
603 bool m_macSecCapable{
false};
609 int m_prefixPoolSizeIpv4{0};
611 int m_prefixPoolSizeIpv6{0};
613 int m_prefixPoolUnallocatedCountIpv4{0};
615 int m_prefixPoolUnallocatedCountIpv6{0};
617 RateLimiterStatus m_rateLimiterStatus;
622 bool m_connectionsBandwidthHasBeenSet =
false;
623 bool m_numberOfConnectionsHasBeenSet =
false;
624 bool m_lagIdHasBeenSet =
false;
625 bool m_ownerAccountHasBeenSet =
false;
626 bool m_lagNameHasBeenSet =
false;
627 bool m_lagStateHasBeenSet =
false;
628 bool m_locationHasBeenSet =
false;
629 bool m_regionHasBeenSet =
false;
630 bool m_minimumLinksHasBeenSet =
false;
631 bool m_awsDeviceHasBeenSet =
false;
632 bool m_awsDeviceV2HasBeenSet =
false;
633 bool m_awsLogicalDeviceIdHasBeenSet =
false;
634 bool m_connectionsHasBeenSet =
false;
635 bool m_allowsHostedConnectionsHasBeenSet =
false;
636 bool m_jumboFrameCapableHasBeenSet =
false;
637 bool m_hasLogicalRedundancyHasBeenSet =
false;
638 bool m_tagsHasBeenSet =
false;
639 bool m_providerNameHasBeenSet =
false;
640 bool m_macSecCapableHasBeenSet =
false;
641 bool m_encryptionModeHasBeenSet =
false;
642 bool m_macSecKeysHasBeenSet =
false;
643 bool m_prefixPoolSizeIpv4HasBeenSet =
false;
644 bool m_prefixPoolSizeIpv6HasBeenSet =
false;
645 bool m_prefixPoolUnallocatedCountIpv4HasBeenSet =
false;
646 bool m_prefixPoolUnallocatedCountIpv6HasBeenSet =
false;
647 bool m_rateLimiterStatusHasBeenSet =
false;
648 bool m_billingModeHasBeenSet =
false;
649 bool m_requestIdHasBeenSet =
false;
const Aws::String & GetLagName() const
bool GetJumboFrameCapable() const
BillingMode GetBillingMode() const
Lag & WithJumboFrameCapable(bool value)
bool BillingModeHasBeenSet() const
Lag & WithAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
bool ConnectionsHasBeenSet() const
int GetPrefixPoolUnallocatedCountIpv6() const
Lag & WithLagState(LagState value)
void SetAwsDeviceV2(AwsDeviceV2T &&value)
void SetLagState(LagState value)
const Aws::Vector< Tag > & GetTags() const
bool MacSecCapableHasBeenSet() const
const Aws::String & GetLagId() const
Lag & WithBillingMode(BillingMode value)
void SetJumboFrameCapable(bool value)
bool LagNameHasBeenSet() const
Lag & WithNumberOfConnections(int value)
void SetRateLimiterStatus(RateLimiterStatusT &&value)
bool AwsDeviceHasBeenSet() const
const Aws::String & GetConnectionsBandwidth() const
void SetHasLogicalRedundancy(HasLogicalRedundancy value)
Lag & AddMacSecKeys(MacSecKeysT &&value)
void SetMinimumLinks(int value)
const Aws::Vector< Connection > & GetConnections() const
AWS_DIRECTCONNECT_API Lag()=default
const Aws::String & GetRegion() const
const Aws::String & GetAwsLogicalDeviceId() const
Lag & WithPrefixPoolUnallocatedCountIpv6(int value)
void SetPrefixPoolSizeIpv4(int value)
bool MacSecKeysHasBeenSet() const
Lag & WithLocation(LocationT &&value)
HasLogicalRedundancy GetHasLogicalRedundancy() const
bool PrefixPoolUnallocatedCountIpv4HasBeenSet() const
const Aws::String & GetLocation() const
void SetMacSecCapable(bool value)
Lag & WithRateLimiterStatus(RateLimiterStatusT &&value)
bool EncryptionModeHasBeenSet() const
Lag & WithRequestId(RequestIdT &&value)
bool TagsHasBeenSet() const
AWS_DIRECTCONNECT_API Lag & operator=(Aws::Utils::Json::JsonView jsonValue)
Lag & AddConnections(ConnectionsT &&value)
Lag & WithMacSecCapable(bool value)
AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
Lag & WithOwnerAccount(OwnerAccountT &&value)
Lag & WithPrefixPoolSizeIpv6(int value)
const RateLimiterStatus & GetRateLimiterStatus() const
Lag & WithMinimumLinks(int value)
bool RequestIdHasBeenSet() const
bool LagStateHasBeenSet() const
Lag & WithAwsDeviceV2(AwsDeviceV2T &&value)
const Aws::Vector< MacSecKey > & GetMacSecKeys() const
void SetAllowsHostedConnections(bool value)
const Aws::String & GetRequestId() const
bool LocationHasBeenSet() const
bool GetMacSecCapable() const
bool AwsLogicalDeviceIdHasBeenSet() const
const Aws::String & GetOwnerAccount() const
Lag & WithEncryptionMode(EncryptionModeT &&value)
void SetAwsDevice(AwsDeviceT &&value)
const Aws::String & GetAwsDeviceV2() const
bool RegionHasBeenSet() const
Lag & WithLagId(LagIdT &&value)
bool AllowsHostedConnectionsHasBeenSet() const
const Aws::String & GetAwsDevice() const
void SetNumberOfConnections(int value)
Lag & WithLagName(LagNameT &&value)
Lag & WithConnections(ConnectionsT &&value)
void SetPrefixPoolUnallocatedCountIpv4(int value)
Lag & WithTags(TagsT &&value)
LagState GetLagState() const
bool LagIdHasBeenSet() const
int GetPrefixPoolSizeIpv6() const
void SetMacSecKeys(MacSecKeysT &&value)
void SetConnectionsBandwidth(ConnectionsBandwidthT &&value)
void SetLocation(LocationT &&value)
bool NumberOfConnectionsHasBeenSet() const
void SetTags(TagsT &&value)
void SetRequestId(RequestIdT &&value)
Lag & WithConnectionsBandwidth(ConnectionsBandwidthT &&value)
const Aws::String & GetEncryptionMode() const
int GetNumberOfConnections() const
Lag & WithPrefixPoolUnallocatedCountIpv4(int value)
Lag & WithProviderName(ProviderNameT &&value)
const Aws::String & GetProviderName() const
void SetPrefixPoolUnallocatedCountIpv6(int value)
bool PrefixPoolSizeIpv4HasBeenSet() const
void SetOwnerAccount(OwnerAccountT &&value)
Lag & WithAwsDevice(AwsDeviceT &&value)
void SetBillingMode(BillingMode value)
Lag & WithAllowsHostedConnections(bool value)
void SetLagId(LagIdT &&value)
int GetPrefixPoolUnallocatedCountIpv4() const
bool MinimumLinksHasBeenSet() const
void SetRegion(RegionT &&value)
bool AwsDeviceV2HasBeenSet() const
void SetConnections(ConnectionsT &&value)
AWS_DIRECTCONNECT_API Lag(Aws::Utils::Json::JsonView jsonValue)
bool PrefixPoolSizeIpv6HasBeenSet() const
bool PrefixPoolUnallocatedCountIpv6HasBeenSet() const
void SetEncryptionMode(EncryptionModeT &&value)
bool OwnerAccountHasBeenSet() const
Lag & WithMacSecKeys(MacSecKeysT &&value)
Lag & AddTags(TagsT &&value)
Lag & WithRegion(RegionT &&value)
int GetMinimumLinks() const
bool GetAllowsHostedConnections() const
bool ConnectionsBandwidthHasBeenSet() const
int GetPrefixPoolSizeIpv4() const
Lag & WithHasLogicalRedundancy(HasLogicalRedundancy value)
void SetPrefixPoolSizeIpv6(int value)
void SetAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
bool HasLogicalRedundancyHasBeenSet() const
bool RateLimiterStatusHasBeenSet() const
void SetProviderName(ProviderNameT &&value)
void SetLagName(LagNameT &&value)
bool JumboFrameCapableHasBeenSet() const
Lag & WithPrefixPoolSizeIpv4(int value)
bool ProviderNameHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue