AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateClientVpnEndpointRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/ConnectionLogOptions.h>
12#include <aws/ec2/model/TransportProtocol.h>
13#include <aws/ec2/model/SelfServicePortal.h>
14#include <aws/ec2/model/ClientConnectOptions.h>
15#include <aws/ec2/model/ClientLoginBannerOptions.h>
16#include <aws/ec2/model/ClientRouteEnforcementOptions.h>
17#include <aws/ec2/model/ClientVpnAuthenticationRequest.h>
18#include <aws/ec2/model/TagSpecification.h>
19#include <utility>
20#include <aws/core/utils/UUID.h>
21
22namespace Aws
23{
24namespace EC2
25{
26namespace Model
27{
28
32 {
33 public:
34 AWS_EC2_API CreateClientVpnEndpointRequest() = default;
35
36 // Service request name is the Operation name which will send this request out,
37 // each operation should has unique request name, so that we can get operation's name from this request.
38 // Note: this is not true for response, multiple operations may have the same response name,
39 // so we can not get operation's name from response.
40 inline virtual const char* GetServiceRequestName() const override { return "CreateClientVpnEndpoint"; }
41
42 AWS_EC2_API Aws::String SerializePayload() const override;
43
44 protected:
45 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
46
47 public:
48
50
58 inline const Aws::String& GetClientCidrBlock() const { return m_clientCidrBlock; }
59 inline bool ClientCidrBlockHasBeenSet() const { return m_clientCidrBlockHasBeenSet; }
60 template<typename ClientCidrBlockT = Aws::String>
61 void SetClientCidrBlock(ClientCidrBlockT&& value) { m_clientCidrBlockHasBeenSet = true; m_clientCidrBlock = std::forward<ClientCidrBlockT>(value); }
62 template<typename ClientCidrBlockT = Aws::String>
63 CreateClientVpnEndpointRequest& WithClientCidrBlock(ClientCidrBlockT&& value) { SetClientCidrBlock(std::forward<ClientCidrBlockT>(value)); return *this;}
65
67
72 inline const Aws::String& GetServerCertificateArn() const { return m_serverCertificateArn; }
73 inline bool ServerCertificateArnHasBeenSet() const { return m_serverCertificateArnHasBeenSet; }
74 template<typename ServerCertificateArnT = Aws::String>
75 void SetServerCertificateArn(ServerCertificateArnT&& value) { m_serverCertificateArnHasBeenSet = true; m_serverCertificateArn = std::forward<ServerCertificateArnT>(value); }
76 template<typename ServerCertificateArnT = Aws::String>
77 CreateClientVpnEndpointRequest& WithServerCertificateArn(ServerCertificateArnT&& value) { SetServerCertificateArn(std::forward<ServerCertificateArnT>(value)); return *this;}
79
81
85 inline const Aws::Vector<ClientVpnAuthenticationRequest>& GetAuthenticationOptions() const { return m_authenticationOptions; }
86 inline bool AuthenticationOptionsHasBeenSet() const { return m_authenticationOptionsHasBeenSet; }
87 template<typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
88 void SetAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet = true; m_authenticationOptions = std::forward<AuthenticationOptionsT>(value); }
89 template<typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
90 CreateClientVpnEndpointRequest& WithAuthenticationOptions(AuthenticationOptionsT&& value) { SetAuthenticationOptions(std::forward<AuthenticationOptionsT>(value)); return *this;}
91 template<typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
92 CreateClientVpnEndpointRequest& AddAuthenticationOptions(AuthenticationOptionsT&& value) { m_authenticationOptionsHasBeenSet = true; m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value)); return *this; }
94
96
104 inline const ConnectionLogOptions& GetConnectionLogOptions() const { return m_connectionLogOptions; }
105 inline bool ConnectionLogOptionsHasBeenSet() const { return m_connectionLogOptionsHasBeenSet; }
106 template<typename ConnectionLogOptionsT = ConnectionLogOptions>
107 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) { m_connectionLogOptionsHasBeenSet = true; m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value); }
108 template<typename ConnectionLogOptionsT = ConnectionLogOptions>
109 CreateClientVpnEndpointRequest& WithConnectionLogOptions(ConnectionLogOptionsT&& value) { SetConnectionLogOptions(std::forward<ConnectionLogOptionsT>(value)); return *this;}
111
113
118 inline const Aws::Vector<Aws::String>& GetDnsServers() const { return m_dnsServers; }
119 inline bool DnsServersHasBeenSet() const { return m_dnsServersHasBeenSet; }
120 template<typename DnsServersT = Aws::Vector<Aws::String>>
121 void SetDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet = true; m_dnsServers = std::forward<DnsServersT>(value); }
122 template<typename DnsServersT = Aws::Vector<Aws::String>>
123 CreateClientVpnEndpointRequest& WithDnsServers(DnsServersT&& value) { SetDnsServers(std::forward<DnsServersT>(value)); return *this;}
124 template<typename DnsServersT = Aws::String>
125 CreateClientVpnEndpointRequest& AddDnsServers(DnsServersT&& value) { m_dnsServersHasBeenSet = true; m_dnsServers.emplace_back(std::forward<DnsServersT>(value)); return *this; }
127
129
133 inline TransportProtocol GetTransportProtocol() const { return m_transportProtocol; }
134 inline bool TransportProtocolHasBeenSet() const { return m_transportProtocolHasBeenSet; }
135 inline void SetTransportProtocol(TransportProtocol value) { m_transportProtocolHasBeenSet = true; m_transportProtocol = value; }
138
140
145 inline int GetVpnPort() const { return m_vpnPort; }
146 inline bool VpnPortHasBeenSet() const { return m_vpnPortHasBeenSet; }
147 inline void SetVpnPort(int value) { m_vpnPortHasBeenSet = true; m_vpnPort = value; }
148 inline CreateClientVpnEndpointRequest& WithVpnPort(int value) { SetVpnPort(value); return *this;}
150
152
155 inline const Aws::String& GetDescription() const { return m_description; }
156 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
157 template<typename DescriptionT = Aws::String>
158 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
159 template<typename DescriptionT = Aws::String>
160 CreateClientVpnEndpointRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
162
164
171 inline bool GetSplitTunnel() const { return m_splitTunnel; }
172 inline bool SplitTunnelHasBeenSet() const { return m_splitTunnelHasBeenSet; }
173 inline void SetSplitTunnel(bool value) { m_splitTunnelHasBeenSet = true; m_splitTunnel = value; }
174 inline CreateClientVpnEndpointRequest& WithSplitTunnel(bool value) { SetSplitTunnel(value); return *this;}
176
178
184 inline bool GetDryRun() const { return m_dryRun; }
185 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
186 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
187 inline CreateClientVpnEndpointRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
189
191
197 inline const Aws::String& GetClientToken() const { return m_clientToken; }
198 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
199 template<typename ClientTokenT = Aws::String>
200 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
201 template<typename ClientTokenT = Aws::String>
202 CreateClientVpnEndpointRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
204
206
209 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
210 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
211 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
212 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
213 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
214 CreateClientVpnEndpointRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
215 template<typename TagSpecificationsT = TagSpecification>
216 CreateClientVpnEndpointRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
218
220
224 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
225 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
226 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
227 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
228 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
229 CreateClientVpnEndpointRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
230 template<typename SecurityGroupIdsT = Aws::String>
231 CreateClientVpnEndpointRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
233
235
240 inline const Aws::String& GetVpcId() const { return m_vpcId; }
241 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
242 template<typename VpcIdT = Aws::String>
243 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::forward<VpcIdT>(value); }
244 template<typename VpcIdT = Aws::String>
245 CreateClientVpnEndpointRequest& WithVpcId(VpcIdT&& value) { SetVpcId(std::forward<VpcIdT>(value)); return *this;}
247
249
253 inline SelfServicePortal GetSelfServicePortal() const { return m_selfServicePortal; }
254 inline bool SelfServicePortalHasBeenSet() const { return m_selfServicePortalHasBeenSet; }
255 inline void SetSelfServicePortal(SelfServicePortal value) { m_selfServicePortalHasBeenSet = true; m_selfServicePortal = value; }
258
260
264 inline const ClientConnectOptions& GetClientConnectOptions() const { return m_clientConnectOptions; }
265 inline bool ClientConnectOptionsHasBeenSet() const { return m_clientConnectOptionsHasBeenSet; }
266 template<typename ClientConnectOptionsT = ClientConnectOptions>
267 void SetClientConnectOptions(ClientConnectOptionsT&& value) { m_clientConnectOptionsHasBeenSet = true; m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value); }
268 template<typename ClientConnectOptionsT = ClientConnectOptions>
269 CreateClientVpnEndpointRequest& WithClientConnectOptions(ClientConnectOptionsT&& value) { SetClientConnectOptions(std::forward<ClientConnectOptionsT>(value)); return *this;}
271
273
277 inline int GetSessionTimeoutHours() const { return m_sessionTimeoutHours; }
278 inline bool SessionTimeoutHoursHasBeenSet() const { return m_sessionTimeoutHoursHasBeenSet; }
279 inline void SetSessionTimeoutHours(int value) { m_sessionTimeoutHoursHasBeenSet = true; m_sessionTimeoutHours = value; }
282
284
288 inline const ClientLoginBannerOptions& GetClientLoginBannerOptions() const { return m_clientLoginBannerOptions; }
289 inline bool ClientLoginBannerOptionsHasBeenSet() const { return m_clientLoginBannerOptionsHasBeenSet; }
290 template<typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
291 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) { m_clientLoginBannerOptionsHasBeenSet = true; m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value); }
292 template<typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
293 CreateClientVpnEndpointRequest& WithClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) { SetClientLoginBannerOptions(std::forward<ClientLoginBannerOptionsT>(value)); return *this;}
295
297
308 inline const ClientRouteEnforcementOptions& GetClientRouteEnforcementOptions() const { return m_clientRouteEnforcementOptions; }
309 inline bool ClientRouteEnforcementOptionsHasBeenSet() const { return m_clientRouteEnforcementOptionsHasBeenSet; }
310 template<typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
311 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) { m_clientRouteEnforcementOptionsHasBeenSet = true; m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value); }
312 template<typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
313 CreateClientVpnEndpointRequest& WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) { SetClientRouteEnforcementOptions(std::forward<ClientRouteEnforcementOptionsT>(value)); return *this;}
315
317
324 inline bool GetDisconnectOnSessionTimeout() const { return m_disconnectOnSessionTimeout; }
325 inline bool DisconnectOnSessionTimeoutHasBeenSet() const { return m_disconnectOnSessionTimeoutHasBeenSet; }
326 inline void SetDisconnectOnSessionTimeout(bool value) { m_disconnectOnSessionTimeoutHasBeenSet = true; m_disconnectOnSessionTimeout = value; }
329 private:
330
331 Aws::String m_clientCidrBlock;
332 bool m_clientCidrBlockHasBeenSet = false;
333
334 Aws::String m_serverCertificateArn;
335 bool m_serverCertificateArnHasBeenSet = false;
336
337 Aws::Vector<ClientVpnAuthenticationRequest> m_authenticationOptions;
338 bool m_authenticationOptionsHasBeenSet = false;
339
340 ConnectionLogOptions m_connectionLogOptions;
341 bool m_connectionLogOptionsHasBeenSet = false;
342
343 Aws::Vector<Aws::String> m_dnsServers;
344 bool m_dnsServersHasBeenSet = false;
345
347 bool m_transportProtocolHasBeenSet = false;
348
349 int m_vpnPort{0};
350 bool m_vpnPortHasBeenSet = false;
351
352 Aws::String m_description;
353 bool m_descriptionHasBeenSet = false;
354
355 bool m_splitTunnel{false};
356 bool m_splitTunnelHasBeenSet = false;
357
358 bool m_dryRun{false};
359 bool m_dryRunHasBeenSet = false;
360
362 bool m_clientTokenHasBeenSet = true;
363
364 Aws::Vector<TagSpecification> m_tagSpecifications;
365 bool m_tagSpecificationsHasBeenSet = false;
366
367 Aws::Vector<Aws::String> m_securityGroupIds;
368 bool m_securityGroupIdsHasBeenSet = false;
369
370 Aws::String m_vpcId;
371 bool m_vpcIdHasBeenSet = false;
372
374 bool m_selfServicePortalHasBeenSet = false;
375
376 ClientConnectOptions m_clientConnectOptions;
377 bool m_clientConnectOptionsHasBeenSet = false;
378
379 int m_sessionTimeoutHours{0};
380 bool m_sessionTimeoutHoursHasBeenSet = false;
381
382 ClientLoginBannerOptions m_clientLoginBannerOptions;
383 bool m_clientLoginBannerOptionsHasBeenSet = false;
384
385 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
386 bool m_clientRouteEnforcementOptionsHasBeenSet = false;
387
388 bool m_disconnectOnSessionTimeout{false};
389 bool m_disconnectOnSessionTimeoutHasBeenSet = false;
390 };
391
392} // namespace Model
393} // namespace EC2
394} // namespace Aws
const Aws::Vector< Aws::String > & GetDnsServers() const
CreateClientVpnEndpointRequest & WithClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
CreateClientVpnEndpointRequest & WithVpnPort(int value)
CreateClientVpnEndpointRequest & WithAuthenticationOptions(AuthenticationOptionsT &&value)
void SetAuthenticationOptions(AuthenticationOptionsT &&value)
CreateClientVpnEndpointRequest & WithVpcId(VpcIdT &&value)
CreateClientVpnEndpointRequest & WithClientCidrBlock(ClientCidrBlockT &&value)
CreateClientVpnEndpointRequest & WithDryRun(bool value)
void SetClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
CreateClientVpnEndpointRequest & WithClientConnectOptions(ClientConnectOptionsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const ClientLoginBannerOptions & GetClientLoginBannerOptions() const
CreateClientVpnEndpointRequest & WithConnectionLogOptions(ConnectionLogOptionsT &&value)
CreateClientVpnEndpointRequest & WithDnsServers(DnsServersT &&value)
CreateClientVpnEndpointRequest & WithSelfServicePortal(SelfServicePortal value)
CreateClientVpnEndpointRequest & AddTagSpecifications(TagSpecificationsT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateClientVpnEndpointRequest & WithServerCertificateArn(ServerCertificateArnT &&value)
CreateClientVpnEndpointRequest & AddDnsServers(DnsServersT &&value)
CreateClientVpnEndpointRequest & WithSessionTimeoutHours(int value)
const Aws::Vector< ClientVpnAuthenticationRequest > & GetAuthenticationOptions() const
AWS_EC2_API Aws::String SerializePayload() const override
CreateClientVpnEndpointRequest & AddAuthenticationOptions(AuthenticationOptionsT &&value)
CreateClientVpnEndpointRequest & WithTransportProtocol(TransportProtocol value)
CreateClientVpnEndpointRequest & WithSplitTunnel(bool value)
CreateClientVpnEndpointRequest & WithDescription(DescriptionT &&value)
CreateClientVpnEndpointRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
CreateClientVpnEndpointRequest & WithTagSpecifications(TagSpecificationsT &&value)
CreateClientVpnEndpointRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
virtual const char * GetServiceRequestName() const override
void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
CreateClientVpnEndpointRequest & WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
const ClientRouteEnforcementOptions & GetClientRouteEnforcementOptions() const
CreateClientVpnEndpointRequest & WithClientToken(ClientTokenT &&value)
CreateClientVpnEndpointRequest & WithDisconnectOnSessionTimeout(bool value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector