AWS SDK for C++

AWS SDK for C++ Version 1.11.906

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/DevicePostureOptions.h>
18#include <aws/ec2/model/EndpointIpAddressType.h>
19#include <aws/ec2/model/SelfServicePortal.h>
20#include <aws/ec2/model/TagSpecification.h>
21#include <aws/ec2/model/TrafficIpAddressType.h>
22#include <aws/ec2/model/TransitGatewayConfigurationInputStructure.h>
23#include <aws/ec2/model/TransportProtocol.h>
24
25#include <utility>
26
27namespace Aws {
28namespace EC2 {
29namespace Model {
30
34 public:
35 AWS_EC2_API CreateClientVpnEndpointRequest() = default;
36
37 // Service request name is the Operation name which will send this request out,
38 // each operation should has unique request name, so that we can get operation's name from this request.
39 // Note: this is not true for response, multiple operations may have the same response name,
40 // so we can not get operation's name from response.
41 inline virtual const char* GetServiceRequestName() const override { return "CreateClientVpnEndpoint"; }
42
43 AWS_EC2_API Aws::String SerializePayload() const override;
44
45 protected:
46 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
47
48 public:
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) {
62 m_clientCidrBlockHasBeenSet = true;
63 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
64 }
65 template <typename ClientCidrBlockT = Aws::String>
67 SetClientCidrBlock(std::forward<ClientCidrBlockT>(value));
68 return *this;
69 }
71
73
78 inline const Aws::String& GetServerCertificateArn() const { return m_serverCertificateArn; }
79 inline bool ServerCertificateArnHasBeenSet() const { return m_serverCertificateArnHasBeenSet; }
80 template <typename ServerCertificateArnT = Aws::String>
81 void SetServerCertificateArn(ServerCertificateArnT&& value) {
82 m_serverCertificateArnHasBeenSet = true;
83 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
84 }
85 template <typename ServerCertificateArnT = Aws::String>
87 SetServerCertificateArn(std::forward<ServerCertificateArnT>(value));
88 return *this;
89 }
91
93
97 inline const Aws::Vector<ClientVpnAuthenticationRequest>& GetAuthenticationOptions() const { return m_authenticationOptions; }
98 inline bool AuthenticationOptionsHasBeenSet() const { return m_authenticationOptionsHasBeenSet; }
99 template <typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
100 void SetAuthenticationOptions(AuthenticationOptionsT&& value) {
101 m_authenticationOptionsHasBeenSet = true;
102 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
103 }
104 template <typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
106 SetAuthenticationOptions(std::forward<AuthenticationOptionsT>(value));
107 return *this;
108 }
109 template <typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
111 m_authenticationOptionsHasBeenSet = true;
112 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
113 return *this;
114 }
116
118
126 inline const ConnectionLogOptions& GetConnectionLogOptions() const { return m_connectionLogOptions; }
127 inline bool ConnectionLogOptionsHasBeenSet() const { return m_connectionLogOptionsHasBeenSet; }
128 template <typename ConnectionLogOptionsT = ConnectionLogOptions>
129 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) {
130 m_connectionLogOptionsHasBeenSet = true;
131 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
132 }
133 template <typename ConnectionLogOptionsT = ConnectionLogOptions>
135 SetConnectionLogOptions(std::forward<ConnectionLogOptionsT>(value));
136 return *this;
137 }
139
141
146 inline const Aws::Vector<Aws::String>& GetDnsServers() const { return m_dnsServers; }
147 inline bool DnsServersHasBeenSet() const { return m_dnsServersHasBeenSet; }
148 template <typename DnsServersT = Aws::Vector<Aws::String>>
149 void SetDnsServers(DnsServersT&& value) {
150 m_dnsServersHasBeenSet = true;
151 m_dnsServers = std::forward<DnsServersT>(value);
152 }
153 template <typename DnsServersT = Aws::Vector<Aws::String>>
155 SetDnsServers(std::forward<DnsServersT>(value));
156 return *this;
157 }
158 template <typename DnsServersT = Aws::String>
160 m_dnsServersHasBeenSet = true;
161 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
162 return *this;
163 }
165
167
171 inline TransportProtocol GetTransportProtocol() const { return m_transportProtocol; }
172 inline bool TransportProtocolHasBeenSet() const { return m_transportProtocolHasBeenSet; }
174 m_transportProtocolHasBeenSet = true;
175 m_transportProtocol = value;
176 }
179 return *this;
180 }
182
184
189 inline int GetVpnPort() const { return m_vpnPort; }
190 inline bool VpnPortHasBeenSet() const { return m_vpnPortHasBeenSet; }
191 inline void SetVpnPort(int value) {
192 m_vpnPortHasBeenSet = true;
193 m_vpnPort = value;
194 }
196 SetVpnPort(value);
197 return *this;
198 }
200
202
205 inline const Aws::String& GetDescription() const { return m_description; }
206 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
207 template <typename DescriptionT = Aws::String>
208 void SetDescription(DescriptionT&& value) {
209 m_descriptionHasBeenSet = true;
210 m_description = std::forward<DescriptionT>(value);
211 }
212 template <typename DescriptionT = Aws::String>
214 SetDescription(std::forward<DescriptionT>(value));
215 return *this;
216 }
218
220
227 inline bool GetSplitTunnel() const { return m_splitTunnel; }
228 inline bool SplitTunnelHasBeenSet() const { return m_splitTunnelHasBeenSet; }
229 inline void SetSplitTunnel(bool value) {
230 m_splitTunnelHasBeenSet = true;
231 m_splitTunnel = value;
232 }
234 SetSplitTunnel(value);
235 return *this;
236 }
238
240
246 inline bool GetDryRun() const { return m_dryRun; }
247 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
248 inline void SetDryRun(bool value) {
249 m_dryRunHasBeenSet = true;
250 m_dryRun = value;
251 }
253 SetDryRun(value);
254 return *this;
255 }
257
259
265 inline const Aws::String& GetClientToken() const { return m_clientToken; }
266 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
267 template <typename ClientTokenT = Aws::String>
268 void SetClientToken(ClientTokenT&& value) {
269 m_clientTokenHasBeenSet = true;
270 m_clientToken = std::forward<ClientTokenT>(value);
271 }
272 template <typename ClientTokenT = Aws::String>
274 SetClientToken(std::forward<ClientTokenT>(value));
275 return *this;
276 }
278
280
283 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
284 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
285 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
286 void SetTagSpecifications(TagSpecificationsT&& value) {
287 m_tagSpecificationsHasBeenSet = true;
288 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
289 }
290 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
292 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
293 return *this;
294 }
295 template <typename TagSpecificationsT = TagSpecification>
297 m_tagSpecificationsHasBeenSet = true;
298 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
299 return *this;
300 }
302
304
308 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
309 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
310 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
311 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
312 m_securityGroupIdsHasBeenSet = true;
313 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
314 }
315 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
317 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
318 return *this;
319 }
320 template <typename SecurityGroupIdsT = Aws::String>
322 m_securityGroupIdsHasBeenSet = true;
323 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
324 return *this;
325 }
327
329
334 inline const Aws::String& GetVpcId() const { return m_vpcId; }
335 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
336 template <typename VpcIdT = Aws::String>
337 void SetVpcId(VpcIdT&& value) {
338 m_vpcIdHasBeenSet = true;
339 m_vpcId = std::forward<VpcIdT>(value);
340 }
341 template <typename VpcIdT = Aws::String>
343 SetVpcId(std::forward<VpcIdT>(value));
344 return *this;
345 }
347
349
353 inline SelfServicePortal GetSelfServicePortal() const { return m_selfServicePortal; }
354 inline bool SelfServicePortalHasBeenSet() const { return m_selfServicePortalHasBeenSet; }
356 m_selfServicePortalHasBeenSet = true;
357 m_selfServicePortal = value;
358 }
361 return *this;
362 }
364
366
370 inline const ClientConnectOptions& GetClientConnectOptions() const { return m_clientConnectOptions; }
371 inline bool ClientConnectOptionsHasBeenSet() const { return m_clientConnectOptionsHasBeenSet; }
372 template <typename ClientConnectOptionsT = ClientConnectOptions>
373 void SetClientConnectOptions(ClientConnectOptionsT&& value) {
374 m_clientConnectOptionsHasBeenSet = true;
375 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
376 }
377 template <typename ClientConnectOptionsT = ClientConnectOptions>
379 SetClientConnectOptions(std::forward<ClientConnectOptionsT>(value));
380 return *this;
381 }
383
385
389 inline int GetSessionTimeoutHours() const { return m_sessionTimeoutHours; }
390 inline bool SessionTimeoutHoursHasBeenSet() const { return m_sessionTimeoutHoursHasBeenSet; }
391 inline void SetSessionTimeoutHours(int value) {
392 m_sessionTimeoutHoursHasBeenSet = true;
393 m_sessionTimeoutHours = value;
394 }
397 return *this;
398 }
400
402
406 inline const ClientLoginBannerOptions& GetClientLoginBannerOptions() const { return m_clientLoginBannerOptions; }
407 inline bool ClientLoginBannerOptionsHasBeenSet() const { return m_clientLoginBannerOptionsHasBeenSet; }
408 template <typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
409 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) {
410 m_clientLoginBannerOptionsHasBeenSet = true;
411 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
412 }
413 template <typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
415 SetClientLoginBannerOptions(std::forward<ClientLoginBannerOptionsT>(value));
416 return *this;
417 }
419
421
432 inline const ClientRouteEnforcementOptions& GetClientRouteEnforcementOptions() const { return m_clientRouteEnforcementOptions; }
433 inline bool ClientRouteEnforcementOptionsHasBeenSet() const { return m_clientRouteEnforcementOptionsHasBeenSet; }
434 template <typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
435 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) {
436 m_clientRouteEnforcementOptionsHasBeenSet = true;
437 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
438 }
439 template <typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
440 CreateClientVpnEndpointRequest& WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) {
441 SetClientRouteEnforcementOptions(std::forward<ClientRouteEnforcementOptionsT>(value));
442 return *this;
443 }
445
447
454 inline bool GetDisconnectOnSessionTimeout() const { return m_disconnectOnSessionTimeout; }
455 inline bool DisconnectOnSessionTimeoutHasBeenSet() const { return m_disconnectOnSessionTimeoutHasBeenSet; }
456 inline void SetDisconnectOnSessionTimeout(bool value) {
457 m_disconnectOnSessionTimeoutHasBeenSet = true;
458 m_disconnectOnSessionTimeout = value;
459 }
462 return *this;
463 }
465
467
474 inline EndpointIpAddressType GetEndpointIpAddressType() const { return m_endpointIpAddressType; }
475 inline bool EndpointIpAddressTypeHasBeenSet() const { return m_endpointIpAddressTypeHasBeenSet; }
477 m_endpointIpAddressTypeHasBeenSet = true;
478 m_endpointIpAddressType = value;
479 }
482 return *this;
483 }
485
487
494 inline TrafficIpAddressType GetTrafficIpAddressType() const { return m_trafficIpAddressType; }
495 inline bool TrafficIpAddressTypeHasBeenSet() const { return m_trafficIpAddressTypeHasBeenSet; }
497 m_trafficIpAddressTypeHasBeenSet = true;
498 m_trafficIpAddressType = value;
499 }
502 return *this;
503 }
505
507
513 inline const TransitGatewayConfigurationInputStructure& GetTransitGatewayConfiguration() const { return m_transitGatewayConfiguration; }
514 inline bool TransitGatewayConfigurationHasBeenSet() const { return m_transitGatewayConfigurationHasBeenSet; }
515 template <typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
516 void SetTransitGatewayConfiguration(TransitGatewayConfigurationT&& value) {
517 m_transitGatewayConfigurationHasBeenSet = true;
518 m_transitGatewayConfiguration = std::forward<TransitGatewayConfigurationT>(value);
519 }
520 template <typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
522 SetTransitGatewayConfiguration(std::forward<TransitGatewayConfigurationT>(value));
523 return *this;
524 }
526
528
533 inline const DevicePostureOptions& GetDevicePostureOptions() const { return m_devicePostureOptions; }
534 inline bool DevicePostureOptionsHasBeenSet() const { return m_devicePostureOptionsHasBeenSet; }
535 template <typename DevicePostureOptionsT = DevicePostureOptions>
536 void SetDevicePostureOptions(DevicePostureOptionsT&& value) {
537 m_devicePostureOptionsHasBeenSet = true;
538 m_devicePostureOptions = std::forward<DevicePostureOptionsT>(value);
539 }
540 template <typename DevicePostureOptionsT = DevicePostureOptions>
542 SetDevicePostureOptions(std::forward<DevicePostureOptionsT>(value));
543 return *this;
544 }
546 private:
547 Aws::String m_clientCidrBlock;
548
549 Aws::String m_serverCertificateArn;
550
551 Aws::Vector<ClientVpnAuthenticationRequest> m_authenticationOptions;
552
553 ConnectionLogOptions m_connectionLogOptions;
554
555 Aws::Vector<Aws::String> m_dnsServers;
556
558
559 int m_vpnPort{0};
560
561 Aws::String m_description;
562
563 bool m_splitTunnel{false};
564
565 bool m_dryRun{false};
566
568
569 Aws::Vector<TagSpecification> m_tagSpecifications;
570
571 Aws::Vector<Aws::String> m_securityGroupIds;
572
573 Aws::String m_vpcId;
574
576
577 ClientConnectOptions m_clientConnectOptions;
578
579 int m_sessionTimeoutHours{0};
580
581 ClientLoginBannerOptions m_clientLoginBannerOptions;
582
583 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
584
585 bool m_disconnectOnSessionTimeout{false};
586
588
590
591 TransitGatewayConfigurationInputStructure m_transitGatewayConfiguration;
592
593 DevicePostureOptions m_devicePostureOptions;
594 bool m_clientCidrBlockHasBeenSet = false;
595 bool m_serverCertificateArnHasBeenSet = false;
596 bool m_authenticationOptionsHasBeenSet = false;
597 bool m_connectionLogOptionsHasBeenSet = false;
598 bool m_dnsServersHasBeenSet = false;
599 bool m_transportProtocolHasBeenSet = false;
600 bool m_vpnPortHasBeenSet = false;
601 bool m_descriptionHasBeenSet = false;
602 bool m_splitTunnelHasBeenSet = false;
603 bool m_dryRunHasBeenSet = false;
604 bool m_clientTokenHasBeenSet = true;
605 bool m_tagSpecificationsHasBeenSet = false;
606 bool m_securityGroupIdsHasBeenSet = false;
607 bool m_vpcIdHasBeenSet = false;
608 bool m_selfServicePortalHasBeenSet = false;
609 bool m_clientConnectOptionsHasBeenSet = false;
610 bool m_sessionTimeoutHoursHasBeenSet = false;
611 bool m_clientLoginBannerOptionsHasBeenSet = false;
612 bool m_clientRouteEnforcementOptionsHasBeenSet = false;
613 bool m_disconnectOnSessionTimeoutHasBeenSet = false;
614 bool m_endpointIpAddressTypeHasBeenSet = false;
615 bool m_trafficIpAddressTypeHasBeenSet = false;
616 bool m_transitGatewayConfigurationHasBeenSet = false;
617 bool m_devicePostureOptionsHasBeenSet = false;
618};
619
620} // namespace Model
621} // namespace EC2
622} // namespace Aws
const Aws::Vector< Aws::String > & GetDnsServers() const
CreateClientVpnEndpointRequest & WithClientLoginBannerOptions(ClientLoginBannerOptionsT &&value)
CreateClientVpnEndpointRequest & WithVpnPort(int value)
CreateClientVpnEndpointRequest & WithAuthenticationOptions(AuthenticationOptionsT &&value)
void SetTransitGatewayConfiguration(TransitGatewayConfigurationT &&value)
CreateClientVpnEndpointRequest & WithVpcId(VpcIdT &&value)
CreateClientVpnEndpointRequest & WithClientCidrBlock(ClientCidrBlockT &&value)
CreateClientVpnEndpointRequest & WithDevicePostureOptions(DevicePostureOptionsT &&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)
const TransitGatewayConfigurationInputStructure & GetTransitGatewayConfiguration() const
CreateClientVpnEndpointRequest & WithTransitGatewayConfiguration(TransitGatewayConfigurationT &&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