AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateClientVpnEndpointRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/ClientConnectOptions.h>
13#include <aws/ec2/model/ClientLoginBannerOptions.h>
14#include <aws/ec2/model/ClientRouteEnforcementOptions.h>
15#include <aws/ec2/model/ClientVpnAuthenticationRequest.h>
16#include <aws/ec2/model/ConnectionLogOptions.h>
17#include <aws/ec2/model/EndpointIpAddressType.h>
18#include <aws/ec2/model/SelfServicePortal.h>
19#include <aws/ec2/model/TagSpecification.h>
20#include <aws/ec2/model/TrafficIpAddressType.h>
21#include <aws/ec2/model/TransportProtocol.h>
22
23#include <utility>
24
25namespace Aws {
26namespace EC2 {
27namespace Model {
28
32 public:
33 AWS_EC2_API CreateClientVpnEndpointRequest() = default;
34
35 // Service request name is the Operation name which will send this request out,
36 // each operation should has unique request name, so that we can get operation's name from this request.
37 // Note: this is not true for response, multiple operations may have the same response name,
38 // so we can not get operation's name from response.
39 inline virtual const char* GetServiceRequestName() const override { return "CreateClientVpnEndpoint"; }
40
41 AWS_EC2_API Aws::String SerializePayload() const override;
42
43 protected:
44 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
45
46 public:
48
56 inline const Aws::String& GetClientCidrBlock() const { return m_clientCidrBlock; }
57 inline bool ClientCidrBlockHasBeenSet() const { return m_clientCidrBlockHasBeenSet; }
58 template <typename ClientCidrBlockT = Aws::String>
59 void SetClientCidrBlock(ClientCidrBlockT&& value) {
60 m_clientCidrBlockHasBeenSet = true;
61 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
62 }
63 template <typename ClientCidrBlockT = Aws::String>
65 SetClientCidrBlock(std::forward<ClientCidrBlockT>(value));
66 return *this;
67 }
69
71
76 inline const Aws::String& GetServerCertificateArn() const { return m_serverCertificateArn; }
77 inline bool ServerCertificateArnHasBeenSet() const { return m_serverCertificateArnHasBeenSet; }
78 template <typename ServerCertificateArnT = Aws::String>
79 void SetServerCertificateArn(ServerCertificateArnT&& value) {
80 m_serverCertificateArnHasBeenSet = true;
81 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
82 }
83 template <typename ServerCertificateArnT = Aws::String>
85 SetServerCertificateArn(std::forward<ServerCertificateArnT>(value));
86 return *this;
87 }
89
91
95 inline const Aws::Vector<ClientVpnAuthenticationRequest>& GetAuthenticationOptions() const { return m_authenticationOptions; }
96 inline bool AuthenticationOptionsHasBeenSet() const { return m_authenticationOptionsHasBeenSet; }
97 template <typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
98 void SetAuthenticationOptions(AuthenticationOptionsT&& value) {
99 m_authenticationOptionsHasBeenSet = true;
100 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
101 }
102 template <typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
104 SetAuthenticationOptions(std::forward<AuthenticationOptionsT>(value));
105 return *this;
106 }
107 template <typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
109 m_authenticationOptionsHasBeenSet = true;
110 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
111 return *this;
112 }
114
116
124 inline const ConnectionLogOptions& GetConnectionLogOptions() const { return m_connectionLogOptions; }
125 inline bool ConnectionLogOptionsHasBeenSet() const { return m_connectionLogOptionsHasBeenSet; }
126 template <typename ConnectionLogOptionsT = ConnectionLogOptions>
127 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) {
128 m_connectionLogOptionsHasBeenSet = true;
129 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
130 }
131 template <typename ConnectionLogOptionsT = ConnectionLogOptions>
133 SetConnectionLogOptions(std::forward<ConnectionLogOptionsT>(value));
134 return *this;
135 }
137
139
144 inline const Aws::Vector<Aws::String>& GetDnsServers() const { return m_dnsServers; }
145 inline bool DnsServersHasBeenSet() const { return m_dnsServersHasBeenSet; }
146 template <typename DnsServersT = Aws::Vector<Aws::String>>
147 void SetDnsServers(DnsServersT&& value) {
148 m_dnsServersHasBeenSet = true;
149 m_dnsServers = std::forward<DnsServersT>(value);
150 }
151 template <typename DnsServersT = Aws::Vector<Aws::String>>
153 SetDnsServers(std::forward<DnsServersT>(value));
154 return *this;
155 }
156 template <typename DnsServersT = Aws::String>
158 m_dnsServersHasBeenSet = true;
159 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
160 return *this;
161 }
163
165
169 inline TransportProtocol GetTransportProtocol() const { return m_transportProtocol; }
170 inline bool TransportProtocolHasBeenSet() const { return m_transportProtocolHasBeenSet; }
172 m_transportProtocolHasBeenSet = true;
173 m_transportProtocol = value;
174 }
177 return *this;
178 }
180
182
187 inline int GetVpnPort() const { return m_vpnPort; }
188 inline bool VpnPortHasBeenSet() const { return m_vpnPortHasBeenSet; }
189 inline void SetVpnPort(int value) {
190 m_vpnPortHasBeenSet = true;
191 m_vpnPort = value;
192 }
194 SetVpnPort(value);
195 return *this;
196 }
198
200
203 inline const Aws::String& GetDescription() const { return m_description; }
204 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
205 template <typename DescriptionT = Aws::String>
206 void SetDescription(DescriptionT&& value) {
207 m_descriptionHasBeenSet = true;
208 m_description = std::forward<DescriptionT>(value);
209 }
210 template <typename DescriptionT = Aws::String>
212 SetDescription(std::forward<DescriptionT>(value));
213 return *this;
214 }
216
218
225 inline bool GetSplitTunnel() const { return m_splitTunnel; }
226 inline bool SplitTunnelHasBeenSet() const { return m_splitTunnelHasBeenSet; }
227 inline void SetSplitTunnel(bool value) {
228 m_splitTunnelHasBeenSet = true;
229 m_splitTunnel = value;
230 }
232 SetSplitTunnel(value);
233 return *this;
234 }
236
238
244 inline bool GetDryRun() const { return m_dryRun; }
245 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
246 inline void SetDryRun(bool value) {
247 m_dryRunHasBeenSet = true;
248 m_dryRun = value;
249 }
251 SetDryRun(value);
252 return *this;
253 }
255
257
263 inline const Aws::String& GetClientToken() const { return m_clientToken; }
264 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
265 template <typename ClientTokenT = Aws::String>
266 void SetClientToken(ClientTokenT&& value) {
267 m_clientTokenHasBeenSet = true;
268 m_clientToken = std::forward<ClientTokenT>(value);
269 }
270 template <typename ClientTokenT = Aws::String>
272 SetClientToken(std::forward<ClientTokenT>(value));
273 return *this;
274 }
276
278
281 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
282 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
283 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
284 void SetTagSpecifications(TagSpecificationsT&& value) {
285 m_tagSpecificationsHasBeenSet = true;
286 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
287 }
288 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
290 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
291 return *this;
292 }
293 template <typename TagSpecificationsT = TagSpecification>
295 m_tagSpecificationsHasBeenSet = true;
296 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
297 return *this;
298 }
300
302
306 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
307 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
308 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
309 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
310 m_securityGroupIdsHasBeenSet = true;
311 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
312 }
313 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
315 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
316 return *this;
317 }
318 template <typename SecurityGroupIdsT = Aws::String>
320 m_securityGroupIdsHasBeenSet = true;
321 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
322 return *this;
323 }
325
327
332 inline const Aws::String& GetVpcId() const { return m_vpcId; }
333 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
334 template <typename VpcIdT = Aws::String>
335 void SetVpcId(VpcIdT&& value) {
336 m_vpcIdHasBeenSet = true;
337 m_vpcId = std::forward<VpcIdT>(value);
338 }
339 template <typename VpcIdT = Aws::String>
341 SetVpcId(std::forward<VpcIdT>(value));
342 return *this;
343 }
345
347
351 inline SelfServicePortal GetSelfServicePortal() const { return m_selfServicePortal; }
352 inline bool SelfServicePortalHasBeenSet() const { return m_selfServicePortalHasBeenSet; }
354 m_selfServicePortalHasBeenSet = true;
355 m_selfServicePortal = value;
356 }
359 return *this;
360 }
362
364
368 inline const ClientConnectOptions& GetClientConnectOptions() const { return m_clientConnectOptions; }
369 inline bool ClientConnectOptionsHasBeenSet() const { return m_clientConnectOptionsHasBeenSet; }
370 template <typename ClientConnectOptionsT = ClientConnectOptions>
371 void SetClientConnectOptions(ClientConnectOptionsT&& value) {
372 m_clientConnectOptionsHasBeenSet = true;
373 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
374 }
375 template <typename ClientConnectOptionsT = ClientConnectOptions>
377 SetClientConnectOptions(std::forward<ClientConnectOptionsT>(value));
378 return *this;
379 }
381
383
387 inline int GetSessionTimeoutHours() const { return m_sessionTimeoutHours; }
388 inline bool SessionTimeoutHoursHasBeenSet() const { return m_sessionTimeoutHoursHasBeenSet; }
389 inline void SetSessionTimeoutHours(int value) {
390 m_sessionTimeoutHoursHasBeenSet = true;
391 m_sessionTimeoutHours = value;
392 }
395 return *this;
396 }
398
400
404 inline const ClientLoginBannerOptions& GetClientLoginBannerOptions() const { return m_clientLoginBannerOptions; }
405 inline bool ClientLoginBannerOptionsHasBeenSet() const { return m_clientLoginBannerOptionsHasBeenSet; }
406 template <typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
407 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) {
408 m_clientLoginBannerOptionsHasBeenSet = true;
409 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
410 }
411 template <typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
413 SetClientLoginBannerOptions(std::forward<ClientLoginBannerOptionsT>(value));
414 return *this;
415 }
417
419
430 inline const ClientRouteEnforcementOptions& GetClientRouteEnforcementOptions() const { return m_clientRouteEnforcementOptions; }
431 inline bool ClientRouteEnforcementOptionsHasBeenSet() const { return m_clientRouteEnforcementOptionsHasBeenSet; }
432 template <typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
433 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) {
434 m_clientRouteEnforcementOptionsHasBeenSet = true;
435 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
436 }
437 template <typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
438 CreateClientVpnEndpointRequest& WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) {
439 SetClientRouteEnforcementOptions(std::forward<ClientRouteEnforcementOptionsT>(value));
440 return *this;
441 }
443
445
452 inline bool GetDisconnectOnSessionTimeout() const { return m_disconnectOnSessionTimeout; }
453 inline bool DisconnectOnSessionTimeoutHasBeenSet() const { return m_disconnectOnSessionTimeoutHasBeenSet; }
454 inline void SetDisconnectOnSessionTimeout(bool value) {
455 m_disconnectOnSessionTimeoutHasBeenSet = true;
456 m_disconnectOnSessionTimeout = value;
457 }
460 return *this;
461 }
463
465
472 inline EndpointIpAddressType GetEndpointIpAddressType() const { return m_endpointIpAddressType; }
473 inline bool EndpointIpAddressTypeHasBeenSet() const { return m_endpointIpAddressTypeHasBeenSet; }
475 m_endpointIpAddressTypeHasBeenSet = true;
476 m_endpointIpAddressType = value;
477 }
480 return *this;
481 }
483
485
492 inline TrafficIpAddressType GetTrafficIpAddressType() const { return m_trafficIpAddressType; }
493 inline bool TrafficIpAddressTypeHasBeenSet() const { return m_trafficIpAddressTypeHasBeenSet; }
495 m_trafficIpAddressTypeHasBeenSet = true;
496 m_trafficIpAddressType = value;
497 }
500 return *this;
501 }
503 private:
504 Aws::String m_clientCidrBlock;
505
506 Aws::String m_serverCertificateArn;
507
508 Aws::Vector<ClientVpnAuthenticationRequest> m_authenticationOptions;
509
510 ConnectionLogOptions m_connectionLogOptions;
511
512 Aws::Vector<Aws::String> m_dnsServers;
513
515
516 int m_vpnPort{0};
517
518 Aws::String m_description;
519
520 bool m_splitTunnel{false};
521
522 bool m_dryRun{false};
523
525
526 Aws::Vector<TagSpecification> m_tagSpecifications;
527
528 Aws::Vector<Aws::String> m_securityGroupIds;
529
530 Aws::String m_vpcId;
531
533
534 ClientConnectOptions m_clientConnectOptions;
535
536 int m_sessionTimeoutHours{0};
537
538 ClientLoginBannerOptions m_clientLoginBannerOptions;
539
540 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
541
542 bool m_disconnectOnSessionTimeout{false};
543
545
547 bool m_clientCidrBlockHasBeenSet = false;
548 bool m_serverCertificateArnHasBeenSet = false;
549 bool m_authenticationOptionsHasBeenSet = false;
550 bool m_connectionLogOptionsHasBeenSet = false;
551 bool m_dnsServersHasBeenSet = false;
552 bool m_transportProtocolHasBeenSet = false;
553 bool m_vpnPortHasBeenSet = false;
554 bool m_descriptionHasBeenSet = false;
555 bool m_splitTunnelHasBeenSet = false;
556 bool m_dryRunHasBeenSet = false;
557 bool m_clientTokenHasBeenSet = true;
558 bool m_tagSpecificationsHasBeenSet = false;
559 bool m_securityGroupIdsHasBeenSet = false;
560 bool m_vpcIdHasBeenSet = false;
561 bool m_selfServicePortalHasBeenSet = false;
562 bool m_clientConnectOptionsHasBeenSet = false;
563 bool m_sessionTimeoutHoursHasBeenSet = false;
564 bool m_clientLoginBannerOptionsHasBeenSet = false;
565 bool m_clientRouteEnforcementOptionsHasBeenSet = false;
566 bool m_disconnectOnSessionTimeoutHasBeenSet = false;
567 bool m_endpointIpAddressTypeHasBeenSet = false;
568 bool m_trafficIpAddressTypeHasBeenSet = false;
569};
570
571} // namespace Model
572} // namespace EC2
573} // 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 & WithEndpointIpAddressType(EndpointIpAddressType value)
CreateClientVpnEndpointRequest & WithTagSpecifications(TagSpecificationsT &&value)
CreateClientVpnEndpointRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
virtual const char * GetServiceRequestName() const override
void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
CreateClientVpnEndpointRequest & WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT &&value)
CreateClientVpnEndpointRequest & WithTrafficIpAddressType(TrafficIpAddressType 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