7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/ClientVpnEndpointStatus.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/VpnProtocol.h>
13#include <aws/ec2/model/TransportProtocol.h>
14#include <aws/ec2/model/ConnectionLogResponseOptions.h>
15#include <aws/ec2/model/ClientConnectResponseOptions.h>
16#include <aws/ec2/model/ClientLoginBannerResponseOptions.h>
17#include <aws/ec2/model/ClientRouteEnforcementResponseOptions.h>
18#include <aws/ec2/model/EndpointIpAddressType.h>
19#include <aws/ec2/model/TrafficIpAddressType.h>
20#include <aws/ec2/model/ClientVpnAuthentication.h>
21#include <aws/ec2/model/Tag.h>
60 template<
typename ClientVpnEndpo
intIdT = Aws::String>
61 void SetClientVpnEndpointId(ClientVpnEndpointIdT&& value) { m_clientVpnEndpointIdHasBeenSet =
true; m_clientVpnEndpointId = std::forward<ClientVpnEndpointIdT>(value); }
62 template<
typename ClientVpnEndpo
intIdT = Aws::String>
72 template<
typename DescriptionT = Aws::String>
73 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
74 template<
typename DescriptionT = Aws::String>
84 template<
typename StatusT = ClientVpnEndpo
intStatus>
85 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
86 template<
typename StatusT = ClientVpnEndpo
intStatus>
96 template<
typename CreationTimeT = Aws::String>
97 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet =
true; m_creationTime = std::forward<CreationTimeT>(value); }
98 template<
typename CreationTimeT = Aws::String>
108 template<
typename DeletionTimeT = Aws::String>
109 void SetDeletionTime(DeletionTimeT&& value) { m_deletionTimeHasBeenSet =
true; m_deletionTime = std::forward<DeletionTimeT>(value); }
110 template<
typename DeletionTimeT = Aws::String>
121 template<
typename DnsNameT = Aws::String>
122 void SetDnsName(DnsNameT&& value) { m_dnsNameHasBeenSet =
true; m_dnsName = std::forward<DnsNameT>(value); }
123 template<
typename DnsNameT = Aws::String>
134 template<
typename ClientC
idrBlockT = Aws::String>
135 void SetClientCidrBlock(ClientCidrBlockT&& value) { m_clientCidrBlockHasBeenSet =
true; m_clientCidrBlock = std::forward<ClientCidrBlockT>(value); }
136 template<
typename ClientC
idrBlockT = Aws::String>
146 template<
typename DnsServersT = Aws::Vector<Aws::String>>
147 void SetDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet =
true; m_dnsServers = std::forward<DnsServersT>(value); }
148 template<
typename DnsServersT = Aws::Vector<Aws::String>>
150 template<
typename DnsServersT = Aws::String>
151 ClientVpnEndpoint&
AddDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet =
true; m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
return *
this; }
163 inline void SetSplitTunnel(
bool value) { m_splitTunnelHasBeenSet =
true; m_splitTunnel = value; }
193 inline void SetVpnPort(
int value) { m_vpnPortHasBeenSet =
true; m_vpnPort = value; }
203 template<
typename ServerCertificateArnT = Aws::String>
204 void SetServerCertificateArn(ServerCertificateArnT&& value) { m_serverCertificateArnHasBeenSet =
true; m_serverCertificateArn = std::forward<ServerCertificateArnT>(value); }
205 template<
typename ServerCertificateArnT = Aws::String>
216 template<
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
217 void SetAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet =
true; m_authenticationOptions = std::forward<AuthenticationOptionsT>(value); }
218 template<
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
220 template<
typename AuthenticationOptionsT = ClientVpnAuthentication>
221 ClientVpnEndpoint&
AddAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet =
true; m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
return *
this; }
231 template<
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
232 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) { m_connectionLogOptionsHasBeenSet =
true; m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value); }
233 template<
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
243 template<
typename TagsT = Aws::Vector<Tag>>
244 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
245 template<
typename TagsT = Aws::Vector<Tag>>
247 template<
typename TagsT = Tag>
248 ClientVpnEndpoint&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
257 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
258 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
259 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
261 template<
typename SecurityGroupIdsT = Aws::String>
262 ClientVpnEndpoint&
AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
return *
this; }
271 template<
typename VpcIdT = Aws::String>
272 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
273 template<
typename VpcIdT = Aws::String>
283 template<
typename SelfServicePortalUrlT = Aws::String>
284 void SetSelfServicePortalUrl(SelfServicePortalUrlT&& value) { m_selfServicePortalUrlHasBeenSet =
true; m_selfServicePortalUrl = std::forward<SelfServicePortalUrlT>(value); }
285 template<
typename SelfServicePortalUrlT = Aws::String>
296 template<
typename ClientConnectOptionsT = ClientConnectResponseOptions>
297 void SetClientConnectOptions(ClientConnectOptionsT&& value) { m_clientConnectOptionsHasBeenSet =
true; m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value); }
298 template<
typename ClientConnectOptionsT = ClientConnectResponseOptions>
320 template<
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
321 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) { m_clientLoginBannerOptionsHasBeenSet =
true; m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value); }
322 template<
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
340 template<
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
341 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) { m_clientRouteEnforcementOptionsHasBeenSet =
true; m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value); }
342 template<
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
387 bool m_clientVpnEndpointIdHasBeenSet =
false;
390 bool m_descriptionHasBeenSet =
false;
393 bool m_statusHasBeenSet =
false;
396 bool m_creationTimeHasBeenSet =
false;
399 bool m_deletionTimeHasBeenSet =
false;
402 bool m_dnsNameHasBeenSet =
false;
405 bool m_clientCidrBlockHasBeenSet =
false;
408 bool m_dnsServersHasBeenSet =
false;
410 bool m_splitTunnel{
false};
411 bool m_splitTunnelHasBeenSet =
false;
414 bool m_vpnProtocolHasBeenSet =
false;
417 bool m_transportProtocolHasBeenSet =
false;
420 bool m_vpnPortHasBeenSet =
false;
423 bool m_serverCertificateArnHasBeenSet =
false;
426 bool m_authenticationOptionsHasBeenSet =
false;
428 ConnectionLogResponseOptions m_connectionLogOptions;
429 bool m_connectionLogOptionsHasBeenSet =
false;
432 bool m_tagsHasBeenSet =
false;
435 bool m_securityGroupIdsHasBeenSet =
false;
438 bool m_vpcIdHasBeenSet =
false;
441 bool m_selfServicePortalUrlHasBeenSet =
false;
443 ClientConnectResponseOptions m_clientConnectOptions;
444 bool m_clientConnectOptionsHasBeenSet =
false;
446 int m_sessionTimeoutHours{0};
447 bool m_sessionTimeoutHoursHasBeenSet =
false;
449 ClientLoginBannerResponseOptions m_clientLoginBannerOptions;
450 bool m_clientLoginBannerOptionsHasBeenSet =
false;
452 ClientRouteEnforcementResponseOptions m_clientRouteEnforcementOptions;
453 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
455 bool m_disconnectOnSessionTimeout{
false};
456 bool m_disconnectOnSessionTimeoutHasBeenSet =
false;
459 bool m_endpointIpAddressTypeHasBeenSet =
false;
462 bool m_trafficIpAddressTypeHasBeenSet =
false;
ClientVpnEndpoint & WithDnsServers(DnsServersT &&value)
AWS_EC2_API ClientVpnEndpoint(const Aws::Utils::Xml::XmlNode &xmlNode)
ClientVpnEndpoint & WithAuthenticationOptions(AuthenticationOptionsT &&value)
const Aws::String & GetDnsName() const
ClientVpnEndpoint & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool DisconnectOnSessionTimeoutHasBeenSet() const
bool DnsServersHasBeenSet() const
void SetSelfServicePortalUrl(SelfServicePortalUrlT &&value)
void SetEndpointIpAddressType(EndpointIpAddressType value)
void SetVpcId(VpcIdT &&value)
void SetCreationTime(CreationTimeT &&value)
ClientVpnEndpoint & WithSessionTimeoutHours(int value)
EndpointIpAddressType GetEndpointIpAddressType() const
const Aws::String & GetClientVpnEndpointId() const
bool TrafficIpAddressTypeHasBeenSet() const
bool VpnProtocolHasBeenSet() const
bool SelfServicePortalUrlHasBeenSet() const
void SetTransportProtocol(TransportProtocol value)
void SetDnsServers(DnsServersT &&value)
ClientVpnEndpoint & WithDescription(DescriptionT &&value)
bool ClientVpnEndpointIdHasBeenSet() const
void SetVpnPort(int value)
ClientVpnEndpoint & AddAuthenticationOptions(AuthenticationOptionsT &&value)
const ClientConnectResponseOptions & GetClientConnectOptions() const
ClientVpnEndpoint & WithSelfServicePortalUrl(SelfServicePortalUrlT &&value)
bool ClientCidrBlockHasBeenSet() const
ClientVpnEndpoint & WithDnsName(DnsNameT &&value)
void SetSessionTimeoutHours(int value)
ClientVpnEndpoint & WithServerCertificateArn(ServerCertificateArnT &&value)
bool EndpointIpAddressTypeHasBeenSet() const
bool GetSplitTunnel() const
ClientVpnEndpoint & AddDnsServers(DnsServersT &&value)
bool ClientRouteEnforcementOptionsHasBeenSet() const
bool DeletionTimeHasBeenSet() const
bool ClientLoginBannerOptionsHasBeenSet() const
VpnProtocol GetVpnProtocol() const
const ClientLoginBannerResponseOptions & GetClientLoginBannerOptions() const
ClientVpnEndpoint & WithConnectionLogOptions(ConnectionLogOptionsT &&value)
const ConnectionLogResponseOptions & GetConnectionLogOptions() const
void SetVpnProtocol(VpnProtocol value)
ClientVpnEndpoint & AddTags(TagsT &&value)
const Aws::String & GetClientCidrBlock() const
const Aws::String & GetVpcId() const
ClientVpnEndpoint & WithCreationTime(CreationTimeT &&value)
const Aws::Vector< ClientVpnAuthentication > & GetAuthenticationOptions() const
TrafficIpAddressType GetTrafficIpAddressType() const
ClientVpnEndpoint & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetDisconnectOnSessionTimeout(bool value)
ClientVpnEndpoint & WithTransportProtocol(TransportProtocol value)
void SetAuthenticationOptions(AuthenticationOptionsT &&value)
void SetDeletionTime(DeletionTimeT &&value)
void SetClientCidrBlock(ClientCidrBlockT &&value)
bool GetDisconnectOnSessionTimeout() const
void SetSplitTunnel(bool value)
int GetSessionTimeoutHours() const
ClientVpnEndpoint & WithStatus(StatusT &&value)
bool ServerCertificateArnHasBeenSet() const
ClientVpnEndpoint & WithVpnPort(int value)
ClientVpnEndpoint & WithDeletionTime(DeletionTimeT &&value)
ClientVpnEndpoint & WithClientVpnEndpointId(ClientVpnEndpointIdT &&value)
bool AuthenticationOptionsHasBeenSet() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
bool DescriptionHasBeenSet() const
const ClientVpnEndpointStatus & GetStatus() const
bool ConnectionLogOptionsHasBeenSet() const
ClientVpnEndpoint & WithClientConnectOptions(ClientConnectOptionsT &&value)
AWS_EC2_API ClientVpnEndpoint()=default
const Aws::String & GetCreationTime() const
const ClientRouteEnforcementResponseOptions & GetClientRouteEnforcementOptions() const
ClientVpnEndpoint & WithTags(TagsT &&value)
bool VpcIdHasBeenSet() const
bool SessionTimeoutHoursHasBeenSet() const
TransportProtocol GetTransportProtocol() const
const Aws::String & GetDescription() const
void SetClientVpnEndpointId(ClientVpnEndpointIdT &&value)
void SetDnsName(DnsNameT &&value)
const Aws::Vector< Aws::String > & GetDnsServers() const
bool VpnPortHasBeenSet() const
bool SecurityGroupIdsHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ClientVpnEndpoint & WithDisconnectOnSessionTimeout(bool value)
void SetConnectionLogOptions(ConnectionLogOptionsT &&value)
bool CreationTimeHasBeenSet() const
ClientVpnEndpoint & WithClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
bool DnsNameHasBeenSet() const
ClientVpnEndpoint & WithClientCidrBlock(ClientCidrBlockT &&value)
ClientVpnEndpoint & WithVpcId(VpcIdT &&value)
ClientVpnEndpoint & WithSplitTunnel(bool value)
const Aws::Vector< Tag > & GetTags() const
ClientVpnEndpoint & WithEndpointIpAddressType(EndpointIpAddressType value)
bool TagsHasBeenSet() const
ClientVpnEndpoint & WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
const Aws::String & GetSelfServicePortalUrl() const
bool ClientConnectOptionsHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetStatus(StatusT &&value)
bool TransportProtocolHasBeenSet() const
bool StatusHasBeenSet() const
void SetDescription(DescriptionT &&value)
bool SplitTunnelHasBeenSet() const
void SetServerCertificateArn(ServerCertificateArnT &&value)
ClientVpnEndpoint & WithVpnProtocol(VpnProtocol value)
void SetClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const Aws::String & GetServerCertificateArn() const
void SetTags(TagsT &&value)
const Aws::String & GetDeletionTime() const
void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
AWS_EC2_API ClientVpnEndpoint & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ClientVpnEndpoint & WithTrafficIpAddressType(TrafficIpAddressType value)
void SetTrafficIpAddressType(TrafficIpAddressType value)
void SetClientConnectOptions(ClientConnectOptionsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream