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/ClientVpnAuthentication.h>
19#include <aws/ec2/model/Tag.h>
58 template<
typename ClientVpnEndpo
intIdT = Aws::String>
59 void SetClientVpnEndpointId(ClientVpnEndpointIdT&& value) { m_clientVpnEndpointIdHasBeenSet =
true; m_clientVpnEndpointId = std::forward<ClientVpnEndpointIdT>(value); }
60 template<
typename ClientVpnEndpo
intIdT = Aws::String>
70 template<
typename DescriptionT = Aws::String>
71 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
72 template<
typename DescriptionT = Aws::String>
82 template<
typename StatusT = ClientVpnEndpo
intStatus>
83 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
84 template<
typename StatusT = ClientVpnEndpo
intStatus>
94 template<
typename CreationTimeT = Aws::String>
95 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet =
true; m_creationTime = std::forward<CreationTimeT>(value); }
96 template<
typename CreationTimeT = Aws::String>
106 template<
typename DeletionTimeT = Aws::String>
107 void SetDeletionTime(DeletionTimeT&& value) { m_deletionTimeHasBeenSet =
true; m_deletionTime = std::forward<DeletionTimeT>(value); }
108 template<
typename DeletionTimeT = Aws::String>
119 template<
typename DnsNameT = Aws::String>
120 void SetDnsName(DnsNameT&& value) { m_dnsNameHasBeenSet =
true; m_dnsName = std::forward<DnsNameT>(value); }
121 template<
typename DnsNameT = Aws::String>
132 template<
typename ClientC
idrBlockT = Aws::String>
133 void SetClientCidrBlock(ClientCidrBlockT&& value) { m_clientCidrBlockHasBeenSet =
true; m_clientCidrBlock = std::forward<ClientCidrBlockT>(value); }
134 template<
typename ClientC
idrBlockT = Aws::String>
144 template<
typename DnsServersT = Aws::Vector<Aws::String>>
145 void SetDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet =
true; m_dnsServers = std::forward<DnsServersT>(value); }
146 template<
typename DnsServersT = Aws::Vector<Aws::String>>
148 template<
typename DnsServersT = Aws::String>
149 ClientVpnEndpoint&
AddDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet =
true; m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
return *
this; }
161 inline void SetSplitTunnel(
bool value) { m_splitTunnelHasBeenSet =
true; m_splitTunnel = value; }
191 inline void SetVpnPort(
int value) { m_vpnPortHasBeenSet =
true; m_vpnPort = value; }
201 template<
typename ServerCertificateArnT = Aws::String>
202 void SetServerCertificateArn(ServerCertificateArnT&& value) { m_serverCertificateArnHasBeenSet =
true; m_serverCertificateArn = std::forward<ServerCertificateArnT>(value); }
203 template<
typename ServerCertificateArnT = Aws::String>
214 template<
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
215 void SetAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet =
true; m_authenticationOptions = std::forward<AuthenticationOptionsT>(value); }
216 template<
typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthentication>>
218 template<
typename AuthenticationOptionsT = ClientVpnAuthentication>
219 ClientVpnEndpoint&
AddAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet =
true; m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
return *
this; }
229 template<
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
230 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) { m_connectionLogOptionsHasBeenSet =
true; m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value); }
231 template<
typename ConnectionLogOptionsT = ConnectionLogResponseOptions>
241 template<
typename TagsT = Aws::Vector<Tag>>
242 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
243 template<
typename TagsT = Aws::Vector<Tag>>
245 template<
typename TagsT = Tag>
246 ClientVpnEndpoint&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
255 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
256 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
257 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
259 template<
typename SecurityGroupIdsT = Aws::String>
260 ClientVpnEndpoint&
AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
return *
this; }
269 template<
typename VpcIdT = Aws::String>
270 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
271 template<
typename VpcIdT = Aws::String>
281 template<
typename SelfServicePortalUrlT = Aws::String>
282 void SetSelfServicePortalUrl(SelfServicePortalUrlT&& value) { m_selfServicePortalUrlHasBeenSet =
true; m_selfServicePortalUrl = std::forward<SelfServicePortalUrlT>(value); }
283 template<
typename SelfServicePortalUrlT = Aws::String>
294 template<
typename ClientConnectOptionsT = ClientConnectResponseOptions>
295 void SetClientConnectOptions(ClientConnectOptionsT&& value) { m_clientConnectOptionsHasBeenSet =
true; m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value); }
296 template<
typename ClientConnectOptionsT = ClientConnectResponseOptions>
318 template<
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
319 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) { m_clientLoginBannerOptionsHasBeenSet =
true; m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value); }
320 template<
typename ClientLoginBannerOptionsT = ClientLoginBannerResponseOptions>
338 template<
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
339 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) { m_clientRouteEnforcementOptionsHasBeenSet =
true; m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value); }
340 template<
typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementResponseOptions>
359 bool m_clientVpnEndpointIdHasBeenSet =
false;
362 bool m_descriptionHasBeenSet =
false;
365 bool m_statusHasBeenSet =
false;
368 bool m_creationTimeHasBeenSet =
false;
371 bool m_deletionTimeHasBeenSet =
false;
374 bool m_dnsNameHasBeenSet =
false;
377 bool m_clientCidrBlockHasBeenSet =
false;
380 bool m_dnsServersHasBeenSet =
false;
382 bool m_splitTunnel{
false};
383 bool m_splitTunnelHasBeenSet =
false;
386 bool m_vpnProtocolHasBeenSet =
false;
389 bool m_transportProtocolHasBeenSet =
false;
392 bool m_vpnPortHasBeenSet =
false;
395 bool m_serverCertificateArnHasBeenSet =
false;
398 bool m_authenticationOptionsHasBeenSet =
false;
400 ConnectionLogResponseOptions m_connectionLogOptions;
401 bool m_connectionLogOptionsHasBeenSet =
false;
404 bool m_tagsHasBeenSet =
false;
407 bool m_securityGroupIdsHasBeenSet =
false;
410 bool m_vpcIdHasBeenSet =
false;
413 bool m_selfServicePortalUrlHasBeenSet =
false;
415 ClientConnectResponseOptions m_clientConnectOptions;
416 bool m_clientConnectOptionsHasBeenSet =
false;
418 int m_sessionTimeoutHours{0};
419 bool m_sessionTimeoutHoursHasBeenSet =
false;
421 ClientLoginBannerResponseOptions m_clientLoginBannerOptions;
422 bool m_clientLoginBannerOptionsHasBeenSet =
false;
424 ClientRouteEnforcementResponseOptions m_clientRouteEnforcementOptions;
425 bool m_clientRouteEnforcementOptionsHasBeenSet =
false;
427 bool m_disconnectOnSessionTimeout{
false};
428 bool m_disconnectOnSessionTimeoutHasBeenSet =
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 SetVpcId(VpcIdT &&value)
void SetCreationTime(CreationTimeT &&value)
ClientVpnEndpoint & WithSessionTimeoutHours(int value)
const Aws::String & GetClientVpnEndpointId() 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 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
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
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)
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