AWS SDK for C++

AWS SDK for C++ Version 1.11.811

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/TransitGatewayConfigurationInputStructure.h>
22#include <aws/ec2/model/TransportProtocol.h>
23
24#include <utility>
25
26namespace Aws {
27namespace EC2 {
28namespace Model {
29
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:
49
57 inline const Aws::String& GetClientCidrBlock() const { return m_clientCidrBlock; }
58 inline bool ClientCidrBlockHasBeenSet() const { return m_clientCidrBlockHasBeenSet; }
59 template <typename ClientCidrBlockT = Aws::String>
60 void SetClientCidrBlock(ClientCidrBlockT&& value) {
61 m_clientCidrBlockHasBeenSet = true;
62 m_clientCidrBlock = std::forward<ClientCidrBlockT>(value);
63 }
64 template <typename ClientCidrBlockT = Aws::String>
66 SetClientCidrBlock(std::forward<ClientCidrBlockT>(value));
67 return *this;
68 }
70
72
77 inline const Aws::String& GetServerCertificateArn() const { return m_serverCertificateArn; }
78 inline bool ServerCertificateArnHasBeenSet() const { return m_serverCertificateArnHasBeenSet; }
79 template <typename ServerCertificateArnT = Aws::String>
80 void SetServerCertificateArn(ServerCertificateArnT&& value) {
81 m_serverCertificateArnHasBeenSet = true;
82 m_serverCertificateArn = std::forward<ServerCertificateArnT>(value);
83 }
84 template <typename ServerCertificateArnT = Aws::String>
86 SetServerCertificateArn(std::forward<ServerCertificateArnT>(value));
87 return *this;
88 }
90
92
96 inline const Aws::Vector<ClientVpnAuthenticationRequest>& GetAuthenticationOptions() const { return m_authenticationOptions; }
97 inline bool AuthenticationOptionsHasBeenSet() const { return m_authenticationOptionsHasBeenSet; }
98 template <typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
99 void SetAuthenticationOptions(AuthenticationOptionsT&& value) {
100 m_authenticationOptionsHasBeenSet = true;
101 m_authenticationOptions = std::forward<AuthenticationOptionsT>(value);
102 }
103 template <typename AuthenticationOptionsT = Aws::Vector<ClientVpnAuthenticationRequest>>
105 SetAuthenticationOptions(std::forward<AuthenticationOptionsT>(value));
106 return *this;
107 }
108 template <typename AuthenticationOptionsT = ClientVpnAuthenticationRequest>
110 m_authenticationOptionsHasBeenSet = true;
111 m_authenticationOptions.emplace_back(std::forward<AuthenticationOptionsT>(value));
112 return *this;
113 }
115
117
125 inline const ConnectionLogOptions& GetConnectionLogOptions() const { return m_connectionLogOptions; }
126 inline bool ConnectionLogOptionsHasBeenSet() const { return m_connectionLogOptionsHasBeenSet; }
127 template <typename ConnectionLogOptionsT = ConnectionLogOptions>
128 void SetConnectionLogOptions(ConnectionLogOptionsT&& value) {
129 m_connectionLogOptionsHasBeenSet = true;
130 m_connectionLogOptions = std::forward<ConnectionLogOptionsT>(value);
131 }
132 template <typename ConnectionLogOptionsT = ConnectionLogOptions>
134 SetConnectionLogOptions(std::forward<ConnectionLogOptionsT>(value));
135 return *this;
136 }
138
140
145 inline const Aws::Vector<Aws::String>& GetDnsServers() const { return m_dnsServers; }
146 inline bool DnsServersHasBeenSet() const { return m_dnsServersHasBeenSet; }
147 template <typename DnsServersT = Aws::Vector<Aws::String>>
148 void SetDnsServers(DnsServersT&& value) {
149 m_dnsServersHasBeenSet = true;
150 m_dnsServers = std::forward<DnsServersT>(value);
151 }
152 template <typename DnsServersT = Aws::Vector<Aws::String>>
154 SetDnsServers(std::forward<DnsServersT>(value));
155 return *this;
156 }
157 template <typename DnsServersT = Aws::String>
159 m_dnsServersHasBeenSet = true;
160 m_dnsServers.emplace_back(std::forward<DnsServersT>(value));
161 return *this;
162 }
164
166
170 inline TransportProtocol GetTransportProtocol() const { return m_transportProtocol; }
171 inline bool TransportProtocolHasBeenSet() const { return m_transportProtocolHasBeenSet; }
173 m_transportProtocolHasBeenSet = true;
174 m_transportProtocol = value;
175 }
178 return *this;
179 }
181
183
188 inline int GetVpnPort() const { return m_vpnPort; }
189 inline bool VpnPortHasBeenSet() const { return m_vpnPortHasBeenSet; }
190 inline void SetVpnPort(int value) {
191 m_vpnPortHasBeenSet = true;
192 m_vpnPort = value;
193 }
195 SetVpnPort(value);
196 return *this;
197 }
199
201
204 inline const Aws::String& GetDescription() const { return m_description; }
205 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
206 template <typename DescriptionT = Aws::String>
207 void SetDescription(DescriptionT&& value) {
208 m_descriptionHasBeenSet = true;
209 m_description = std::forward<DescriptionT>(value);
210 }
211 template <typename DescriptionT = Aws::String>
213 SetDescription(std::forward<DescriptionT>(value));
214 return *this;
215 }
217
219
226 inline bool GetSplitTunnel() const { return m_splitTunnel; }
227 inline bool SplitTunnelHasBeenSet() const { return m_splitTunnelHasBeenSet; }
228 inline void SetSplitTunnel(bool value) {
229 m_splitTunnelHasBeenSet = true;
230 m_splitTunnel = value;
231 }
233 SetSplitTunnel(value);
234 return *this;
235 }
237
239
245 inline bool GetDryRun() const { return m_dryRun; }
246 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
247 inline void SetDryRun(bool value) {
248 m_dryRunHasBeenSet = true;
249 m_dryRun = value;
250 }
252 SetDryRun(value);
253 return *this;
254 }
256
258
264 inline const Aws::String& GetClientToken() const { return m_clientToken; }
265 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
266 template <typename ClientTokenT = Aws::String>
267 void SetClientToken(ClientTokenT&& value) {
268 m_clientTokenHasBeenSet = true;
269 m_clientToken = std::forward<ClientTokenT>(value);
270 }
271 template <typename ClientTokenT = Aws::String>
273 SetClientToken(std::forward<ClientTokenT>(value));
274 return *this;
275 }
277
279
282 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
283 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
284 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
285 void SetTagSpecifications(TagSpecificationsT&& value) {
286 m_tagSpecificationsHasBeenSet = true;
287 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
288 }
289 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
291 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
292 return *this;
293 }
294 template <typename TagSpecificationsT = TagSpecification>
296 m_tagSpecificationsHasBeenSet = true;
297 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
298 return *this;
299 }
301
303
307 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
308 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
309 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
310 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
311 m_securityGroupIdsHasBeenSet = true;
312 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
313 }
314 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
316 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
317 return *this;
318 }
319 template <typename SecurityGroupIdsT = Aws::String>
321 m_securityGroupIdsHasBeenSet = true;
322 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
323 return *this;
324 }
326
328
333 inline const Aws::String& GetVpcId() const { return m_vpcId; }
334 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
335 template <typename VpcIdT = Aws::String>
336 void SetVpcId(VpcIdT&& value) {
337 m_vpcIdHasBeenSet = true;
338 m_vpcId = std::forward<VpcIdT>(value);
339 }
340 template <typename VpcIdT = Aws::String>
342 SetVpcId(std::forward<VpcIdT>(value));
343 return *this;
344 }
346
348
352 inline SelfServicePortal GetSelfServicePortal() const { return m_selfServicePortal; }
353 inline bool SelfServicePortalHasBeenSet() const { return m_selfServicePortalHasBeenSet; }
355 m_selfServicePortalHasBeenSet = true;
356 m_selfServicePortal = value;
357 }
360 return *this;
361 }
363
365
369 inline const ClientConnectOptions& GetClientConnectOptions() const { return m_clientConnectOptions; }
370 inline bool ClientConnectOptionsHasBeenSet() const { return m_clientConnectOptionsHasBeenSet; }
371 template <typename ClientConnectOptionsT = ClientConnectOptions>
372 void SetClientConnectOptions(ClientConnectOptionsT&& value) {
373 m_clientConnectOptionsHasBeenSet = true;
374 m_clientConnectOptions = std::forward<ClientConnectOptionsT>(value);
375 }
376 template <typename ClientConnectOptionsT = ClientConnectOptions>
378 SetClientConnectOptions(std::forward<ClientConnectOptionsT>(value));
379 return *this;
380 }
382
384
388 inline int GetSessionTimeoutHours() const { return m_sessionTimeoutHours; }
389 inline bool SessionTimeoutHoursHasBeenSet() const { return m_sessionTimeoutHoursHasBeenSet; }
390 inline void SetSessionTimeoutHours(int value) {
391 m_sessionTimeoutHoursHasBeenSet = true;
392 m_sessionTimeoutHours = value;
393 }
396 return *this;
397 }
399
401
405 inline const ClientLoginBannerOptions& GetClientLoginBannerOptions() const { return m_clientLoginBannerOptions; }
406 inline bool ClientLoginBannerOptionsHasBeenSet() const { return m_clientLoginBannerOptionsHasBeenSet; }
407 template <typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
408 void SetClientLoginBannerOptions(ClientLoginBannerOptionsT&& value) {
409 m_clientLoginBannerOptionsHasBeenSet = true;
410 m_clientLoginBannerOptions = std::forward<ClientLoginBannerOptionsT>(value);
411 }
412 template <typename ClientLoginBannerOptionsT = ClientLoginBannerOptions>
414 SetClientLoginBannerOptions(std::forward<ClientLoginBannerOptionsT>(value));
415 return *this;
416 }
418
420
431 inline const ClientRouteEnforcementOptions& GetClientRouteEnforcementOptions() const { return m_clientRouteEnforcementOptions; }
432 inline bool ClientRouteEnforcementOptionsHasBeenSet() const { return m_clientRouteEnforcementOptionsHasBeenSet; }
433 template <typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
434 void SetClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) {
435 m_clientRouteEnforcementOptionsHasBeenSet = true;
436 m_clientRouteEnforcementOptions = std::forward<ClientRouteEnforcementOptionsT>(value);
437 }
438 template <typename ClientRouteEnforcementOptionsT = ClientRouteEnforcementOptions>
439 CreateClientVpnEndpointRequest& WithClientRouteEnforcementOptions(ClientRouteEnforcementOptionsT&& value) {
440 SetClientRouteEnforcementOptions(std::forward<ClientRouteEnforcementOptionsT>(value));
441 return *this;
442 }
444
446
453 inline bool GetDisconnectOnSessionTimeout() const { return m_disconnectOnSessionTimeout; }
454 inline bool DisconnectOnSessionTimeoutHasBeenSet() const { return m_disconnectOnSessionTimeoutHasBeenSet; }
455 inline void SetDisconnectOnSessionTimeout(bool value) {
456 m_disconnectOnSessionTimeoutHasBeenSet = true;
457 m_disconnectOnSessionTimeout = value;
458 }
461 return *this;
462 }
464
466
473 inline EndpointIpAddressType GetEndpointIpAddressType() const { return m_endpointIpAddressType; }
474 inline bool EndpointIpAddressTypeHasBeenSet() const { return m_endpointIpAddressTypeHasBeenSet; }
476 m_endpointIpAddressTypeHasBeenSet = true;
477 m_endpointIpAddressType = value;
478 }
481 return *this;
482 }
484
486
493 inline TrafficIpAddressType GetTrafficIpAddressType() const { return m_trafficIpAddressType; }
494 inline bool TrafficIpAddressTypeHasBeenSet() const { return m_trafficIpAddressTypeHasBeenSet; }
496 m_trafficIpAddressTypeHasBeenSet = true;
497 m_trafficIpAddressType = value;
498 }
501 return *this;
502 }
504
506
512 inline const TransitGatewayConfigurationInputStructure& GetTransitGatewayConfiguration() const { return m_transitGatewayConfiguration; }
513 inline bool TransitGatewayConfigurationHasBeenSet() const { return m_transitGatewayConfigurationHasBeenSet; }
514 template <typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
515 void SetTransitGatewayConfiguration(TransitGatewayConfigurationT&& value) {
516 m_transitGatewayConfigurationHasBeenSet = true;
517 m_transitGatewayConfiguration = std::forward<TransitGatewayConfigurationT>(value);
518 }
519 template <typename TransitGatewayConfigurationT = TransitGatewayConfigurationInputStructure>
521 SetTransitGatewayConfiguration(std::forward<TransitGatewayConfigurationT>(value));
522 return *this;
523 }
525 private:
526 Aws::String m_clientCidrBlock;
527
528 Aws::String m_serverCertificateArn;
529
530 Aws::Vector<ClientVpnAuthenticationRequest> m_authenticationOptions;
531
532 ConnectionLogOptions m_connectionLogOptions;
533
534 Aws::Vector<Aws::String> m_dnsServers;
535
537
538 int m_vpnPort{0};
539
540 Aws::String m_description;
541
542 bool m_splitTunnel{false};
543
544 bool m_dryRun{false};
545
547
548 Aws::Vector<TagSpecification> m_tagSpecifications;
549
550 Aws::Vector<Aws::String> m_securityGroupIds;
551
552 Aws::String m_vpcId;
553
555
556 ClientConnectOptions m_clientConnectOptions;
557
558 int m_sessionTimeoutHours{0};
559
560 ClientLoginBannerOptions m_clientLoginBannerOptions;
561
562 ClientRouteEnforcementOptions m_clientRouteEnforcementOptions;
563
564 bool m_disconnectOnSessionTimeout{false};
565
567
569
570 TransitGatewayConfigurationInputStructure m_transitGatewayConfiguration;
571 bool m_clientCidrBlockHasBeenSet = false;
572 bool m_serverCertificateArnHasBeenSet = false;
573 bool m_authenticationOptionsHasBeenSet = false;
574 bool m_connectionLogOptionsHasBeenSet = false;
575 bool m_dnsServersHasBeenSet = false;
576 bool m_transportProtocolHasBeenSet = false;
577 bool m_vpnPortHasBeenSet = false;
578 bool m_descriptionHasBeenSet = false;
579 bool m_splitTunnelHasBeenSet = false;
580 bool m_dryRunHasBeenSet = false;
581 bool m_clientTokenHasBeenSet = true;
582 bool m_tagSpecificationsHasBeenSet = false;
583 bool m_securityGroupIdsHasBeenSet = false;
584 bool m_vpcIdHasBeenSet = false;
585 bool m_selfServicePortalHasBeenSet = false;
586 bool m_clientConnectOptionsHasBeenSet = false;
587 bool m_sessionTimeoutHoursHasBeenSet = false;
588 bool m_clientLoginBannerOptionsHasBeenSet = false;
589 bool m_clientRouteEnforcementOptionsHasBeenSet = false;
590 bool m_disconnectOnSessionTimeoutHasBeenSet = false;
591 bool m_endpointIpAddressTypeHasBeenSet = false;
592 bool m_trafficIpAddressTypeHasBeenSet = false;
593 bool m_transitGatewayConfigurationHasBeenSet = false;
594};
595
596} // namespace Model
597} // namespace EC2
598} // 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)
void SetTransitGatewayConfiguration(TransitGatewayConfigurationT &&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)
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