7#include <aws/workspaces-instances/WorkspacesInstances_EXPORTS.h>
8#include <aws/workspaces-instances/model/ConnectionTrackingSpecificationRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/workspaces-instances/model/EnaSrdSpecificationRequest.h>
11#include <aws/workspaces-instances/model/InterfaceTypeEnum.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/workspaces-instances/model/Ipv4PrefixSpecificationRequest.h>
14#include <aws/workspaces-instances/model/InstanceIpv6Address.h>
15#include <aws/workspaces-instances/model/Ipv6PrefixSpecificationRequest.h>
16#include <aws/workspaces-instances/model/PrivateIpAddressSpecification.h>
29namespace WorkspacesInstances
75 template<
typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
76 void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT&& value) { m_connectionTrackingSpecificationHasBeenSet =
true; m_connectionTrackingSpecification = std::forward<ConnectionTrackingSpecificationT>(value); }
77 template<
typename ConnectionTrackingSpecificationT = ConnectionTrackingSpecificationRequest>
87 template<
typename DescriptionT = Aws::String>
88 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
89 template<
typename DescriptionT = Aws::String>
99 inline void SetDeviceIndex(
int value) { m_deviceIndexHasBeenSet =
true; m_deviceIndex = value; }
109 template<
typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
110 void SetEnaSrdSpecification(EnaSrdSpecificationT&& value) { m_enaSrdSpecificationHasBeenSet =
true; m_enaSrdSpecification = std::forward<EnaSrdSpecificationT>(value); }
111 template<
typename EnaSrdSpecificationT = EnaSrdSpecificationRequest>
131 template<
typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
132 void SetIpv4Prefixes(Ipv4PrefixesT&& value) { m_ipv4PrefixesHasBeenSet =
true; m_ipv4Prefixes = std::forward<Ipv4PrefixesT>(value); }
133 template<
typename Ipv4PrefixesT = Aws::Vector<Ipv4PrefixSpecificationRequest>>
135 template<
typename Ipv4PrefixesT = Ipv4PrefixSpecificationRequest>
145 inline void SetIpv4PrefixCount(
int value) { m_ipv4PrefixCountHasBeenSet =
true; m_ipv4PrefixCount = value; }
155 inline void SetIpv6AddressCount(
int value) { m_ipv6AddressCountHasBeenSet =
true; m_ipv6AddressCount = value; }
165 template<
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
166 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet =
true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
167 template<
typename Ipv6AddressesT = Aws::Vector<InstanceIpv6Address>>
169 template<
typename Ipv6AddressesT = InstanceIpv6Address>
179 template<
typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
180 void SetIpv6Prefixes(Ipv6PrefixesT&& value) { m_ipv6PrefixesHasBeenSet =
true; m_ipv6Prefixes = std::forward<Ipv6PrefixesT>(value); }
181 template<
typename Ipv6PrefixesT = Aws::Vector<Ipv6PrefixSpecificationRequest>>
183 template<
typename Ipv6PrefixesT = Ipv6PrefixSpecificationRequest>
193 inline void SetIpv6PrefixCount(
int value) { m_ipv6PrefixCountHasBeenSet =
true; m_ipv6PrefixCount = value; }
203 inline void SetNetworkCardIndex(
int value) { m_networkCardIndexHasBeenSet =
true; m_networkCardIndex = value; }
213 template<
typename NetworkInterfaceIdT = Aws::String>
214 void SetNetworkInterfaceId(NetworkInterfaceIdT&& value) { m_networkInterfaceIdHasBeenSet =
true; m_networkInterfaceId = std::forward<NetworkInterfaceIdT>(value); }
215 template<
typename NetworkInterfaceIdT = Aws::String>
225 inline void SetPrimaryIpv6(
bool value) { m_primaryIpv6HasBeenSet =
true; m_primaryIpv6 = value; }
235 template<
typename PrivateIpAddressT = Aws::String>
236 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet =
true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
237 template<
typename PrivateIpAddressT = Aws::String>
247 template<
typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
248 void SetPrivateIpAddresses(PrivateIpAddressesT&& value) { m_privateIpAddressesHasBeenSet =
true; m_privateIpAddresses = std::forward<PrivateIpAddressesT>(value); }
249 template<
typename PrivateIpAddressesT = Aws::Vector<PrivateIpAddressSpecification>>
251 template<
typename PrivateIpAddressesT = PrivateIpAddressSpecification>
271 template<
typename GroupsT = Aws::Vector<Aws::String>>
272 void SetGroups(GroupsT&& value) { m_groupsHasBeenSet =
true; m_groups = std::forward<GroupsT>(value); }
273 template<
typename GroupsT = Aws::Vector<Aws::String>>
275 template<
typename GroupsT = Aws::String>
285 template<
typename SubnetIdT = Aws::String>
286 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet =
true; m_subnetId = std::forward<SubnetIdT>(value); }
287 template<
typename SubnetIdT = Aws::String>
292 bool m_associateCarrierIpAddress{
false};
293 bool m_associateCarrierIpAddressHasBeenSet =
false;
295 bool m_associatePublicIpAddress{
false};
296 bool m_associatePublicIpAddressHasBeenSet =
false;
298 ConnectionTrackingSpecificationRequest m_connectionTrackingSpecification;
299 bool m_connectionTrackingSpecificationHasBeenSet =
false;
302 bool m_descriptionHasBeenSet =
false;
304 int m_deviceIndex{0};
305 bool m_deviceIndexHasBeenSet =
false;
307 EnaSrdSpecificationRequest m_enaSrdSpecification;
308 bool m_enaSrdSpecificationHasBeenSet =
false;
311 bool m_interfaceTypeHasBeenSet =
false;
314 bool m_ipv4PrefixesHasBeenSet =
false;
316 int m_ipv4PrefixCount{0};
317 bool m_ipv4PrefixCountHasBeenSet =
false;
319 int m_ipv6AddressCount{0};
320 bool m_ipv6AddressCountHasBeenSet =
false;
323 bool m_ipv6AddressesHasBeenSet =
false;
326 bool m_ipv6PrefixesHasBeenSet =
false;
328 int m_ipv6PrefixCount{0};
329 bool m_ipv6PrefixCountHasBeenSet =
false;
331 int m_networkCardIndex{0};
332 bool m_networkCardIndexHasBeenSet =
false;
335 bool m_networkInterfaceIdHasBeenSet =
false;
337 bool m_primaryIpv6{
false};
338 bool m_primaryIpv6HasBeenSet =
false;
341 bool m_privateIpAddressHasBeenSet =
false;
344 bool m_privateIpAddressesHasBeenSet =
false;
346 int m_secondaryPrivateIpAddressCount{0};
347 bool m_secondaryPrivateIpAddressCountHasBeenSet =
false;
350 bool m_groupsHasBeenSet =
false;
353 bool m_subnetIdHasBeenSet =
false;
InstanceNetworkInterfaceSpecification & AddIpv4Prefixes(Ipv4PrefixesT &&value)
void SetSubnetId(SubnetIdT &&value)
void SetAssociateCarrierIpAddress(bool value)
bool PrimaryIpv6HasBeenSet() const
void SetNetworkCardIndex(int value)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
void SetInterfaceType(InterfaceTypeEnum value)
void SetIpv6AddressCount(int value)
bool GetAssociatePublicIpAddress() const
InstanceNetworkInterfaceSpecification & WithPrimaryIpv6(bool value)
bool DescriptionHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithIpv6AddressCount(int value)
void SetPrimaryIpv6(bool value)
bool Ipv6AddressCountHasBeenSet() const
void SetIpv4PrefixCount(int value)
InstanceNetworkInterfaceSpecification & AddPrivateIpAddresses(PrivateIpAddressesT &&value)
void SetNetworkInterfaceId(NetworkInterfaceIdT &&value)
InstanceNetworkInterfaceSpecification & WithSecondaryPrivateIpAddressCount(int value)
int GetIpv6PrefixCount() const
const Aws::String & GetSubnetId() const
bool GroupsHasBeenSet() const
AWS_WORKSPACESINSTANCES_API Aws::Utils::Json::JsonValue Jsonize() const
InstanceNetworkInterfaceSpecification & WithNetworkInterfaceId(NetworkInterfaceIdT &&value)
bool InterfaceTypeHasBeenSet() const
bool NetworkCardIndexHasBeenSet() const
int GetDeviceIndex() const
InstanceNetworkInterfaceSpecification & WithNetworkCardIndex(int value)
const Aws::String & GetPrivateIpAddress() const
void SetDeviceIndex(int value)
const Aws::String & GetDescription() const
bool DeviceIndexHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithAssociatePublicIpAddress(bool value)
InstanceNetworkInterfaceSpecification & WithPrivateIpAddress(PrivateIpAddressT &&value)
AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification(Aws::Utils::Json::JsonView jsonValue)
bool ConnectionTrackingSpecificationHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithIpv6Addresses(Ipv6AddressesT &&value)
void SetPrivateIpAddresses(PrivateIpAddressesT &&value)
const EnaSrdSpecificationRequest & GetEnaSrdSpecification() const
const Aws::Vector< Ipv4PrefixSpecificationRequest > & GetIpv4Prefixes() const
bool GetAssociateCarrierIpAddress() const
InstanceNetworkInterfaceSpecification & WithDeviceIndex(int value)
InstanceNetworkInterfaceSpecification & WithSubnetId(SubnetIdT &&value)
int GetNetworkCardIndex() const
const Aws::String & GetNetworkInterfaceId() const
bool SecondaryPrivateIpAddressCountHasBeenSet() const
const ConnectionTrackingSpecificationRequest & GetConnectionTrackingSpecification() const
InterfaceTypeEnum GetInterfaceType() const
void SetDescription(DescriptionT &&value)
void SetIpv6Addresses(Ipv6AddressesT &&value)
const Aws::Vector< Ipv6PrefixSpecificationRequest > & GetIpv6Prefixes() const
InstanceNetworkInterfaceSpecification & WithIpv6PrefixCount(int value)
const Aws::Vector< InstanceIpv6Address > & GetIpv6Addresses() const
InstanceNetworkInterfaceSpecification & WithDescription(DescriptionT &&value)
InstanceNetworkInterfaceSpecification & AddIpv6Prefixes(Ipv6PrefixesT &&value)
void SetAssociatePublicIpAddress(bool value)
AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification()=default
bool Ipv6PrefixCountHasBeenSet() const
bool Ipv4PrefixCountHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithIpv4Prefixes(Ipv4PrefixesT &&value)
int GetIpv6AddressCount() const
void SetEnaSrdSpecification(EnaSrdSpecificationT &&value)
InstanceNetworkInterfaceSpecification & WithAssociateCarrierIpAddress(bool value)
bool GetPrimaryIpv6() const
bool PrivateIpAddressesHasBeenSet() const
bool AssociateCarrierIpAddressHasBeenSet() const
const Aws::Vector< Aws::String > & GetGroups() const
AWS_WORKSPACESINSTANCES_API InstanceNetworkInterfaceSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetIpv6Prefixes(Ipv6PrefixesT &&value)
void SetSecondaryPrivateIpAddressCount(int value)
bool Ipv6PrefixesHasBeenSet() const
const Aws::Vector< PrivateIpAddressSpecification > & GetPrivateIpAddresses() const
void SetGroups(GroupsT &&value)
bool AssociatePublicIpAddressHasBeenSet() const
void SetIpv6PrefixCount(int value)
int GetSecondaryPrivateIpAddressCount() const
bool Ipv4PrefixesHasBeenSet() const
InstanceNetworkInterfaceSpecification & WithPrivateIpAddresses(PrivateIpAddressesT &&value)
InstanceNetworkInterfaceSpecification & WithGroups(GroupsT &&value)
InstanceNetworkInterfaceSpecification & WithInterfaceType(InterfaceTypeEnum value)
void SetConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
InstanceNetworkInterfaceSpecification & WithEnaSrdSpecification(EnaSrdSpecificationT &&value)
bool SubnetIdHasBeenSet() const
bool Ipv6AddressesHasBeenSet() const
InstanceNetworkInterfaceSpecification & AddIpv6Addresses(Ipv6AddressesT &&value)
InstanceNetworkInterfaceSpecification & WithIpv4PrefixCount(int value)
InstanceNetworkInterfaceSpecification & WithIpv6Prefixes(Ipv6PrefixesT &&value)
InstanceNetworkInterfaceSpecification & WithConnectionTrackingSpecification(ConnectionTrackingSpecificationT &&value)
bool PrivateIpAddressHasBeenSet() const
InstanceNetworkInterfaceSpecification & AddGroups(GroupsT &&value)
bool NetworkInterfaceIdHasBeenSet() const
bool EnaSrdSpecificationHasBeenSet() const
void SetIpv4Prefixes(Ipv4PrefixesT &&value)
int GetIpv4PrefixCount() 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