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>
27namespace DirectConnect
41 AWS_DIRECTCONNECT_API
Lag() =
default;
54 template<
typename ConnectionsBandw
idthT = Aws::String>
55 void SetConnectionsBandwidth(ConnectionsBandwidthT&& value) { m_connectionsBandwidthHasBeenSet =
true; m_connectionsBandwidth = std::forward<ConnectionsBandwidthT>(value); }
56 template<
typename ConnectionsBandw
idthT = Aws::String>
69 inline void SetNumberOfConnections(
int value) { m_numberOfConnectionsHasBeenSet =
true; m_numberOfConnections = value; }
79 template<
typename LagIdT = Aws::String>
80 void SetLagId(LagIdT&& value) { m_lagIdHasBeenSet =
true; m_lagId = std::forward<LagIdT>(value); }
81 template<
typename LagIdT = Aws::String>
91 template<
typename OwnerAccountT = Aws::String>
92 void SetOwnerAccount(OwnerAccountT&& value) { m_ownerAccountHasBeenSet =
true; m_ownerAccount = std::forward<OwnerAccountT>(value); }
93 template<
typename OwnerAccountT = Aws::String>
103 template<
typename LagNameT = Aws::String>
104 void SetLagName(LagNameT&& value) { m_lagNameHasBeenSet =
true; m_lagName = std::forward<LagNameT>(value); }
105 template<
typename LagNameT = Aws::String>
134 template<
typename LocationT = Aws::String>
135 void SetLocation(LocationT&& value) { m_locationHasBeenSet =
true; m_location = std::forward<LocationT>(value); }
136 template<
typename LocationT = Aws::String>
146 template<
typename RegionT = Aws::String>
147 void SetRegion(RegionT&& value) { m_regionHasBeenSet =
true; m_region = std::forward<RegionT>(value); }
148 template<
typename RegionT = Aws::String>
159 inline void SetMinimumLinks(
int value) { m_minimumLinksHasBeenSet =
true; m_minimumLinks = value; }
169 template<
typename AwsDeviceT = Aws::String>
170 void SetAwsDevice(AwsDeviceT&& value) { m_awsDeviceHasBeenSet =
true; m_awsDevice = std::forward<AwsDeviceT>(value); }
171 template<
typename AwsDeviceT = Aws::String>
181 template<
typename AwsDeviceV2T = Aws::String>
182 void SetAwsDeviceV2(AwsDeviceV2T&& value) { m_awsDeviceV2HasBeenSet =
true; m_awsDeviceV2 = std::forward<AwsDeviceV2T>(value); }
183 template<
typename AwsDeviceV2T = Aws::String>
195 template<
typename AwsLogicalDeviceIdT = Aws::String>
196 void SetAwsLogicalDeviceId(AwsLogicalDeviceIdT&& value) { m_awsLogicalDeviceIdHasBeenSet =
true; m_awsLogicalDeviceId = std::forward<AwsLogicalDeviceIdT>(value); }
197 template<
typename AwsLogicalDeviceIdT = Aws::String>
207 template<
typename ConnectionsT = Aws::Vector<Connection>>
208 void SetConnections(ConnectionsT&& value) { m_connectionsHasBeenSet =
true; m_connections = std::forward<ConnectionsT>(value); }
209 template<
typename ConnectionsT = Aws::Vector<Connection>>
211 template<
typename ConnectionsT = Connection>
212 Lag&
AddConnections(ConnectionsT&& value) { m_connectionsHasBeenSet =
true; m_connections.emplace_back(std::forward<ConnectionsT>(value));
return *
this; }
231 inline void SetJumboFrameCapable(
bool value) { m_jumboFrameCapableHasBeenSet =
true; m_jumboFrameCapable = value; }
252 template<
typename TagsT = Aws::Vector<Tag>>
253 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
254 template<
typename TagsT = Aws::Vector<Tag>>
256 template<
typename TagsT = Tag>
257 Lag&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
266 template<
typename Prov
iderNameT = Aws::String>
267 void SetProviderName(ProviderNameT&& value) { m_providerNameHasBeenSet =
true; m_providerName = std::forward<ProviderNameT>(value); }
268 template<
typename Prov
iderNameT = Aws::String>
278 inline void SetMacSecCapable(
bool value) { m_macSecCapableHasBeenSet =
true; m_macSecCapable = value; }
290 template<
typename EncryptionModeT = Aws::String>
291 void SetEncryptionMode(EncryptionModeT&& value) { m_encryptionModeHasBeenSet =
true; m_encryptionMode = std::forward<EncryptionModeT>(value); }
292 template<
typename EncryptionModeT = Aws::String>
302 template<
typename MacSecKeysT = Aws::Vector<MacSecKey>>
303 void SetMacSecKeys(MacSecKeysT&& value) { m_macSecKeysHasBeenSet =
true; m_macSecKeys = std::forward<MacSecKeysT>(value); }
304 template<
typename MacSecKeysT = Aws::Vector<MacSecKey>>
306 template<
typename MacSecKeysT = MacSecKey>
307 Lag&
AddMacSecKeys(MacSecKeysT&& value) { m_macSecKeysHasBeenSet =
true; m_macSecKeys.emplace_back(std::forward<MacSecKeysT>(value));
return *
this; }
314 template<
typename RequestIdT = Aws::String>
315 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet =
true; m_requestId = std::forward<RequestIdT>(value); }
316 template<
typename RequestIdT = Aws::String>
322 bool m_connectionsBandwidthHasBeenSet =
false;
324 int m_numberOfConnections{0};
325 bool m_numberOfConnectionsHasBeenSet =
false;
328 bool m_lagIdHasBeenSet =
false;
331 bool m_ownerAccountHasBeenSet =
false;
334 bool m_lagNameHasBeenSet =
false;
337 bool m_lagStateHasBeenSet =
false;
340 bool m_locationHasBeenSet =
false;
343 bool m_regionHasBeenSet =
false;
345 int m_minimumLinks{0};
346 bool m_minimumLinksHasBeenSet =
false;
349 bool m_awsDeviceHasBeenSet =
false;
352 bool m_awsDeviceV2HasBeenSet =
false;
355 bool m_awsLogicalDeviceIdHasBeenSet =
false;
358 bool m_connectionsHasBeenSet =
false;
360 bool m_allowsHostedConnections{
false};
361 bool m_allowsHostedConnectionsHasBeenSet =
false;
363 bool m_jumboFrameCapable{
false};
364 bool m_jumboFrameCapableHasBeenSet =
false;
367 bool m_hasLogicalRedundancyHasBeenSet =
false;
370 bool m_tagsHasBeenSet =
false;
373 bool m_providerNameHasBeenSet =
false;
375 bool m_macSecCapable{
false};
376 bool m_macSecCapableHasBeenSet =
false;
379 bool m_encryptionModeHasBeenSet =
false;
382 bool m_macSecKeysHasBeenSet =
false;
385 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)
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)
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 & 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
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