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/CreateVerifiedAccessEndpointCidrOptions.h>
13#include <aws/ec2/model/CreateVerifiedAccessEndpointEniOptions.h>
14#include <aws/ec2/model/CreateVerifiedAccessEndpointLoadBalancerOptions.h>
15#include <aws/ec2/model/CreateVerifiedAccessEndpointRdsOptions.h>
16#include <aws/ec2/model/TagSpecification.h>
17#include <aws/ec2/model/VerifiedAccessEndpointAttachmentType.h>
18#include <aws/ec2/model/VerifiedAccessEndpointType.h>
19#include <aws/ec2/model/VerifiedAccessSseSpecificationRequest.h>
51 template <
typename VerifiedAccessGroupIdT = Aws::String>
53 m_verifiedAccessGroupIdHasBeenSet =
true;
54 m_verifiedAccessGroupId = std::forward<VerifiedAccessGroupIdT>(value);
56 template <
typename VerifiedAccessGroupIdT = Aws::String>
70 m_endpointTypeHasBeenSet =
true;
71 m_endpointType = value;
86 m_attachmentTypeHasBeenSet =
true;
87 m_attachmentType = value;
103 template <
typename DomainCertificateArnT = Aws::String>
105 m_domainCertificateArnHasBeenSet =
true;
106 m_domainCertificateArn = std::forward<DomainCertificateArnT>(value);
108 template <
typename DomainCertificateArnT = Aws::String>
121 template <
typename ApplicationDomainT = Aws::String>
123 m_applicationDomainHasBeenSet =
true;
124 m_applicationDomain = std::forward<ApplicationDomainT>(value);
126 template <
typename ApplicationDomainT = Aws::String>
140 template <
typename Endpo
intDomainPrefixT = Aws::String>
142 m_endpointDomainPrefixHasBeenSet =
true;
143 m_endpointDomainPrefix = std::forward<EndpointDomainPrefixT>(value);
145 template <
typename Endpo
intDomainPrefixT = Aws::String>
160 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
162 m_securityGroupIdsHasBeenSet =
true;
163 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
165 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
170 template <
typename SecurityGroupIdsT = Aws::String>
172 m_securityGroupIdsHasBeenSet =
true;
173 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
185 template <
typename LoadBalancerOptionsT = CreateVerifiedAccessEndpo
intLoadBalancerOptions>
187 m_loadBalancerOptionsHasBeenSet =
true;
188 m_loadBalancerOptions = std::forward<LoadBalancerOptionsT>(value);
190 template <
typename LoadBalancerOptionsT = CreateVerifiedAccessEndpo
intLoadBalancerOptions>
204 template <
typename NetworkInterfaceOptionsT = CreateVerifiedAccessEndpo
intEniOptions>
206 m_networkInterfaceOptionsHasBeenSet =
true;
207 m_networkInterfaceOptions = std::forward<NetworkInterfaceOptionsT>(value);
209 template <
typename NetworkInterfaceOptionsT = CreateVerifiedAccessEndpo
intEniOptions>
222 template <
typename DescriptionT = Aws::String>
224 m_descriptionHasBeenSet =
true;
225 m_description = std::forward<DescriptionT>(value);
227 template <
typename DescriptionT = Aws::String>
240 template <
typename PolicyDocumentT = Aws::String>
242 m_policyDocumentHasBeenSet =
true;
243 m_policyDocument = std::forward<PolicyDocumentT>(value);
245 template <
typename PolicyDocumentT = Aws::String>
258 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
260 m_tagSpecificationsHasBeenSet =
true;
261 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
263 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
268 template <
typename TagSpecificationsT = TagSpecification>
270 m_tagSpecificationsHasBeenSet =
true;
271 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
285 template <
typename ClientTokenT = Aws::String>
287 m_clientTokenHasBeenSet =
true;
288 m_clientToken = std::forward<ClientTokenT>(value);
290 template <
typename ClientTokenT = Aws::String>
307 m_dryRunHasBeenSet =
true;
322 template <
typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
324 m_sseSpecificationHasBeenSet =
true;
325 m_sseSpecification = std::forward<SseSpecificationT>(value);
327 template <
typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
341 template <
typename RdsOptionsT = CreateVerifiedAccessEndpo
intRdsOptions>
343 m_rdsOptionsHasBeenSet =
true;
344 m_rdsOptions = std::forward<RdsOptionsT>(value);
346 template <
typename RdsOptionsT = CreateVerifiedAccessEndpo
intRdsOptions>
360 template <
typename C
idrOptionsT = CreateVerifiedAccessEndpo
intC
idrOptions>
362 m_cidrOptionsHasBeenSet =
true;
363 m_cidrOptions = std::forward<CidrOptionsT>(value);
365 template <
typename C
idrOptionsT = CreateVerifiedAccessEndpo
intC
idrOptions>
386 CreateVerifiedAccessEndpointLoadBalancerOptions m_loadBalancerOptions;
388 CreateVerifiedAccessEndpointEniOptions m_networkInterfaceOptions;
398 bool m_dryRun{
false};
400 VerifiedAccessSseSpecificationRequest m_sseSpecification;
402 CreateVerifiedAccessEndpointRdsOptions m_rdsOptions;
404 CreateVerifiedAccessEndpointCidrOptions m_cidrOptions;
405 bool m_verifiedAccessGroupIdHasBeenSet =
false;
406 bool m_endpointTypeHasBeenSet =
false;
407 bool m_attachmentTypeHasBeenSet =
false;
408 bool m_domainCertificateArnHasBeenSet =
false;
409 bool m_applicationDomainHasBeenSet =
false;
410 bool m_endpointDomainPrefixHasBeenSet =
false;
411 bool m_securityGroupIdsHasBeenSet =
false;
412 bool m_loadBalancerOptionsHasBeenSet =
false;
413 bool m_networkInterfaceOptionsHasBeenSet =
false;
414 bool m_descriptionHasBeenSet =
false;
415 bool m_policyDocumentHasBeenSet =
false;
416 bool m_tagSpecificationsHasBeenSet =
false;
417 bool m_clientTokenHasBeenSet =
true;
418 bool m_dryRunHasBeenSet =
false;
419 bool m_sseSpecificationHasBeenSet =
false;
420 bool m_rdsOptionsHasBeenSet =
false;
421 bool m_cidrOptionsHasBeenSet =
false;
bool NetworkInterfaceOptionsHasBeenSet() const
void SetNetworkInterfaceOptions(NetworkInterfaceOptionsT &&value)
CreateVerifiedAccessEndpointRequest & WithEndpointType(VerifiedAccessEndpointType value)
const Aws::String & GetEndpointDomainPrefix() const
CreateVerifiedAccessEndpointRequest & WithPolicyDocument(PolicyDocumentT &&value)
void SetEndpointDomainPrefix(EndpointDomainPrefixT &&value)
void SetCidrOptions(CidrOptionsT &&value)
CreateVerifiedAccessEndpointRequest & WithAttachmentType(VerifiedAccessEndpointAttachmentType value)
CreateVerifiedAccessEndpointRequest & WithEndpointDomainPrefix(EndpointDomainPrefixT &&value)
void SetPolicyDocument(PolicyDocumentT &&value)
const CreateVerifiedAccessEndpointEniOptions & GetNetworkInterfaceOptions() const
bool PolicyDocumentHasBeenSet() const
AWS_EC2_API CreateVerifiedAccessEndpointRequest()=default
CreateVerifiedAccessEndpointRequest & WithDescription(DescriptionT &&value)
bool VerifiedAccessGroupIdHasBeenSet() const
AWS_EC2_API Aws::String SerializePayload() const override
bool RdsOptionsHasBeenSet() const
CreateVerifiedAccessEndpointRequest & AddTagSpecifications(TagSpecificationsT &&value)
const Aws::String & GetDomainCertificateArn() const
CreateVerifiedAccessEndpointRequest & WithClientToken(ClientTokenT &&value)
const Aws::String & GetApplicationDomain() const
void SetEndpointType(VerifiedAccessEndpointType value)
bool ClientTokenHasBeenSet() const
bool DescriptionHasBeenSet() const
const CreateVerifiedAccessEndpointCidrOptions & GetCidrOptions() const
CreateVerifiedAccessEndpointRequest & WithVerifiedAccessGroupId(VerifiedAccessGroupIdT &&value)
const VerifiedAccessSseSpecificationRequest & GetSseSpecification() const
CreateVerifiedAccessEndpointRequest & WithRdsOptions(RdsOptionsT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
bool AttachmentTypeHasBeenSet() const
bool SseSpecificationHasBeenSet() const
void SetDescription(DescriptionT &&value)
void SetAttachmentType(VerifiedAccessEndpointAttachmentType value)
CreateVerifiedAccessEndpointRequest & WithTagSpecifications(TagSpecificationsT &&value)
bool LoadBalancerOptionsHasBeenSet() const
CreateVerifiedAccessEndpointRequest & WithCidrOptions(CidrOptionsT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
CreateVerifiedAccessEndpointRequest & WithSseSpecification(SseSpecificationT &&value)
bool ApplicationDomainHasBeenSet() const
virtual const char * GetServiceRequestName() const override
bool CidrOptionsHasBeenSet() const
const Aws::String & GetClientToken() const
CreateVerifiedAccessEndpointRequest & WithDomainCertificateArn(DomainCertificateArnT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const Aws::String & GetVerifiedAccessGroupId() const
bool EndpointDomainPrefixHasBeenSet() const
CreateVerifiedAccessEndpointRequest & WithLoadBalancerOptions(LoadBalancerOptionsT &&value)
const CreateVerifiedAccessEndpointRdsOptions & GetRdsOptions() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
bool SecurityGroupIdsHasBeenSet() const
void SetClientToken(ClientTokenT &&value)
void SetVerifiedAccessGroupId(VerifiedAccessGroupIdT &&value)
CreateVerifiedAccessEndpointRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool EndpointTypeHasBeenSet() const
void SetRdsOptions(RdsOptionsT &&value)
VerifiedAccessEndpointAttachmentType GetAttachmentType() const
void SetLoadBalancerOptions(LoadBalancerOptionsT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
void SetApplicationDomain(ApplicationDomainT &&value)
CreateVerifiedAccessEndpointRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetDryRun(bool value)
VerifiedAccessEndpointType GetEndpointType() const
CreateVerifiedAccessEndpointRequest & WithDryRun(bool value)
CreateVerifiedAccessEndpointRequest & WithApplicationDomain(ApplicationDomainT &&value)
const CreateVerifiedAccessEndpointLoadBalancerOptions & GetLoadBalancerOptions() const
const Aws::String & GetDescription() const
void SetSseSpecification(SseSpecificationT &&value)
bool DryRunHasBeenSet() const
CreateVerifiedAccessEndpointRequest & WithNetworkInterfaceOptions(NetworkInterfaceOptionsT &&value)
bool TagSpecificationsHasBeenSet() const
const Aws::String & GetPolicyDocument() const
bool DomainCertificateArnHasBeenSet() const
void SetDomainCertificateArn(DomainCertificateArnT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
VerifiedAccessEndpointAttachmentType
VerifiedAccessEndpointType
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector