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/Connection.h>
11#include <aws/directconnect/model/HasLogicalRedundancy.h>
12#include <aws/directconnect/model/LagState.h>
13#include <aws/directconnect/model/MacSecKey.h>
14#include <aws/directconnect/model/RateLimiterStatus.h>
15#include <aws/directconnect/model/Tag.h>
26namespace DirectConnect {
37 AWS_DIRECTCONNECT_API
Lag() =
default;
49 template <
typename ConnectionsBandw
idthT = Aws::String>
51 m_connectionsBandwidthHasBeenSet =
true;
52 m_connectionsBandwidth = std::forward<ConnectionsBandwidthT>(value);
54 template <
typename ConnectionsBandw
idthT = Aws::String>
71 m_numberOfConnectionsHasBeenSet =
true;
72 m_numberOfConnections = value;
86 template <
typename LagIdT = Aws::String>
88 m_lagIdHasBeenSet =
true;
89 m_lagId = std::forward<LagIdT>(value);
91 template <
typename LagIdT = Aws::String>
93 SetLagId(std::forward<LagIdT>(value));
104 template <
typename OwnerAccountT = Aws::String>
106 m_ownerAccountHasBeenSet =
true;
107 m_ownerAccount = std::forward<OwnerAccountT>(value);
109 template <
typename OwnerAccountT = Aws::String>
122 template <
typename LagNameT = Aws::String>
124 m_lagNameHasBeenSet =
true;
125 m_lagName = std::forward<LagNameT>(value);
127 template <
typename LagNameT = Aws::String>
150 m_lagStateHasBeenSet =
true;
165 template <
typename LocationT = Aws::String>
167 m_locationHasBeenSet =
true;
168 m_location = std::forward<LocationT>(value);
170 template <
typename LocationT = Aws::String>
183 template <
typename RegionT = Aws::String>
185 m_regionHasBeenSet =
true;
186 m_region = std::forward<RegionT>(value);
188 template <
typename RegionT = Aws::String>
203 m_minimumLinksHasBeenSet =
true;
204 m_minimumLinks = value;
218 template <
typename AwsDeviceT = Aws::String>
220 m_awsDeviceHasBeenSet =
true;
221 m_awsDevice = std::forward<AwsDeviceT>(value);
223 template <
typename AwsDeviceT = Aws::String>
236 template <
typename AwsDeviceV2T = Aws::String>
238 m_awsDeviceV2HasBeenSet =
true;
239 m_awsDeviceV2 = std::forward<AwsDeviceV2T>(value);
241 template <
typename AwsDeviceV2T = Aws::String>
256 template <
typename AwsLogicalDeviceIdT = Aws::String>
258 m_awsLogicalDeviceIdHasBeenSet =
true;
259 m_awsLogicalDeviceId = std::forward<AwsLogicalDeviceIdT>(value);
261 template <
typename AwsLogicalDeviceIdT = Aws::String>
274 template <
typename ConnectionsT = Aws::Vector<Connection>>
276 m_connectionsHasBeenSet =
true;
277 m_connections = std::forward<ConnectionsT>(value);
279 template <
typename ConnectionsT = Aws::Vector<Connection>>
284 template <
typename ConnectionsT = Connection>
286 m_connectionsHasBeenSet =
true;
287 m_connections.emplace_back(std::forward<ConnectionsT>(value));
299 m_allowsHostedConnectionsHasBeenSet =
true;
300 m_allowsHostedConnections = value;
315 m_jumboFrameCapableHasBeenSet =
true;
316 m_jumboFrameCapable = value;
332 m_hasLogicalRedundancyHasBeenSet =
true;
333 m_hasLogicalRedundancy = value;
347 template <
typename TagsT = Aws::Vector<Tag>>
349 m_tagsHasBeenSet =
true;
350 m_tags = std::forward<TagsT>(value);
352 template <
typename TagsT = Aws::Vector<Tag>>
354 SetTags(std::forward<TagsT>(value));
357 template <
typename TagsT = Tag>
359 m_tagsHasBeenSet =
true;
360 m_tags.emplace_back(std::forward<TagsT>(value));
371 template <
typename Prov
iderNameT = Aws::String>
373 m_providerNameHasBeenSet =
true;
374 m_providerName = std::forward<ProviderNameT>(value);
376 template <
typename Prov
iderNameT = Aws::String>
390 m_macSecCapableHasBeenSet =
true;
391 m_macSecCapable = value;
407 template <
typename EncryptionModeT = Aws::String>
409 m_encryptionModeHasBeenSet =
true;
410 m_encryptionMode = std::forward<EncryptionModeT>(value);
412 template <
typename EncryptionModeT = Aws::String>
425 template <
typename MacSecKeysT = Aws::Vector<MacSecKey>>
427 m_macSecKeysHasBeenSet =
true;
428 m_macSecKeys = std::forward<MacSecKeysT>(value);
430 template <
typename MacSecKeysT = Aws::Vector<MacSecKey>>
435 template <
typename MacSecKeysT = MacSecKey>
437 m_macSecKeysHasBeenSet =
true;
438 m_macSecKeys.emplace_back(std::forward<MacSecKeysT>(value));
450 template <
typename RateLimiterStatusT = RateLimiterStatus>
452 m_rateLimiterStatusHasBeenSet =
true;
453 m_rateLimiterStatus = std::forward<RateLimiterStatusT>(value);
455 template <
typename RateLimiterStatusT = RateLimiterStatus>
466 template <
typename RequestIdT = Aws::String>
468 m_requestIdHasBeenSet =
true;
469 m_requestId = std::forward<RequestIdT>(value);
471 template <
typename RequestIdT = Aws::String>
480 int m_numberOfConnections{0};
494 int m_minimumLinks{0};
504 bool m_allowsHostedConnections{
false};
506 bool m_jumboFrameCapable{
false};
514 bool m_macSecCapable{
false};
520 RateLimiterStatus m_rateLimiterStatus;
523 bool m_connectionsBandwidthHasBeenSet =
false;
524 bool m_numberOfConnectionsHasBeenSet =
false;
525 bool m_lagIdHasBeenSet =
false;
526 bool m_ownerAccountHasBeenSet =
false;
527 bool m_lagNameHasBeenSet =
false;
528 bool m_lagStateHasBeenSet =
false;
529 bool m_locationHasBeenSet =
false;
530 bool m_regionHasBeenSet =
false;
531 bool m_minimumLinksHasBeenSet =
false;
532 bool m_awsDeviceHasBeenSet =
false;
533 bool m_awsDeviceV2HasBeenSet =
false;
534 bool m_awsLogicalDeviceIdHasBeenSet =
false;
535 bool m_connectionsHasBeenSet =
false;
536 bool m_allowsHostedConnectionsHasBeenSet =
false;
537 bool m_jumboFrameCapableHasBeenSet =
false;
538 bool m_hasLogicalRedundancyHasBeenSet =
false;
539 bool m_tagsHasBeenSet =
false;
540 bool m_providerNameHasBeenSet =
false;
541 bool m_macSecCapableHasBeenSet =
false;
542 bool m_encryptionModeHasBeenSet =
false;
543 bool m_macSecKeysHasBeenSet =
false;
544 bool m_rateLimiterStatusHasBeenSet =
false;
545 bool m_requestIdHasBeenSet =
false;
const Aws::String & GetLagName() const
bool GetJumboFrameCapable() const
Lag & WithJumboFrameCapable(bool value)
Lag & WithAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
bool ConnectionsHasBeenSet() 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
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
bool MacSecKeysHasBeenSet() const
Lag & WithLocation(LocationT &&value)
HasLogicalRedundancy GetHasLogicalRedundancy() 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)
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)
Lag & WithTags(TagsT &&value)
LagState GetLagState() const
bool LagIdHasBeenSet() 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 & WithProviderName(ProviderNameT &&value)
const Aws::String & GetProviderName() const
void SetOwnerAccount(OwnerAccountT &&value)
Lag & WithAwsDevice(AwsDeviceT &&value)
Lag & WithAllowsHostedConnections(bool value)
void SetLagId(LagIdT &&value)
bool MinimumLinksHasBeenSet() const
void SetRegion(RegionT &&value)
bool AwsDeviceV2HasBeenSet() const
void SetConnections(ConnectionsT &&value)
AWS_DIRECTCONNECT_API Lag(Aws::Utils::Json::JsonView jsonValue)
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
Lag & WithHasLogicalRedundancy(HasLogicalRedundancy value)
void SetAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
bool HasLogicalRedundancyHasBeenSet() const
bool RateLimiterStatusHasBeenSet() const
void SetProviderName(ProviderNameT &&value)
void SetLagName(LagNameT &&value)
bool JumboFrameCapableHasBeenSet() const
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