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/ec2/model/VerifiedAccessEndpointType.h>
11#include <aws/ec2/model/VerifiedAccessEndpointAttachmentType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/ec2/model/CreateVerifiedAccessEndpointLoadBalancerOptions.h>
14#include <aws/ec2/model/CreateVerifiedAccessEndpointEniOptions.h>
15#include <aws/ec2/model/VerifiedAccessSseSpecificationRequest.h>
16#include <aws/ec2/model/CreateVerifiedAccessEndpointRdsOptions.h>
17#include <aws/ec2/model/CreateVerifiedAccessEndpointCidrOptions.h>
18#include <aws/ec2/model/TagSpecification.h>
20#include <aws/core/utils/UUID.h>
55 template<
typename VerifiedAccessGroupIdT = Aws::String>
56 void SetVerifiedAccessGroupId(VerifiedAccessGroupIdT&& value) { m_verifiedAccessGroupIdHasBeenSet =
true; m_verifiedAccessGroupId = std::forward<VerifiedAccessGroupIdT>(value); }
57 template<
typename VerifiedAccessGroupIdT = Aws::String>
89 template<
typename DomainCertificateArnT = Aws::String>
90 void SetDomainCertificateArn(DomainCertificateArnT&& value) { m_domainCertificateArnHasBeenSet =
true; m_domainCertificateArn = std::forward<DomainCertificateArnT>(value); }
91 template<
typename DomainCertificateArnT = Aws::String>
101 template<
typename ApplicationDomainT = Aws::String>
102 void SetApplicationDomain(ApplicationDomainT&& value) { m_applicationDomainHasBeenSet =
true; m_applicationDomain = std::forward<ApplicationDomainT>(value); }
103 template<
typename ApplicationDomainT = Aws::String>
114 template<
typename Endpo
intDomainPrefixT = Aws::String>
115 void SetEndpointDomainPrefix(EndpointDomainPrefixT&& value) { m_endpointDomainPrefixHasBeenSet =
true; m_endpointDomainPrefix = std::forward<EndpointDomainPrefixT>(value); }
116 template<
typename Endpo
intDomainPrefixT = Aws::String>
128 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
129 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
130 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
132 template<
typename SecurityGroupIdsT = Aws::String>
143 template<
typename LoadBalancerOptionsT = CreateVerifiedAccessEndpo
intLoadBalancerOptions>
144 void SetLoadBalancerOptions(LoadBalancerOptionsT&& value) { m_loadBalancerOptionsHasBeenSet =
true; m_loadBalancerOptions = std::forward<LoadBalancerOptionsT>(value); }
145 template<
typename LoadBalancerOptionsT = CreateVerifiedAccessEndpo
intLoadBalancerOptions>
156 template<
typename NetworkInterfaceOptionsT = CreateVerifiedAccessEndpo
intEniOptions>
157 void SetNetworkInterfaceOptions(NetworkInterfaceOptionsT&& value) { m_networkInterfaceOptionsHasBeenSet =
true; m_networkInterfaceOptions = std::forward<NetworkInterfaceOptionsT>(value); }
158 template<
typename NetworkInterfaceOptionsT = CreateVerifiedAccessEndpo
intEniOptions>
168 template<
typename DescriptionT = Aws::String>
169 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
170 template<
typename DescriptionT = Aws::String>
180 template<
typename PolicyDocumentT = Aws::String>
181 void SetPolicyDocument(PolicyDocumentT&& value) { m_policyDocumentHasBeenSet =
true; m_policyDocument = std::forward<PolicyDocumentT>(value); }
182 template<
typename PolicyDocumentT = Aws::String>
192 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
193 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
194 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
196 template<
typename TagSpecificationsT = TagSpecification>
209 template<
typename ClientTokenT = Aws::String>
210 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
211 template<
typename ClientTokenT = Aws::String>
224 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
234 template<
typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
235 void SetSseSpecification(SseSpecificationT&& value) { m_sseSpecificationHasBeenSet =
true; m_sseSpecification = std::forward<SseSpecificationT>(value); }
236 template<
typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
247 template<
typename RdsOptionsT = CreateVerifiedAccessEndpo
intRdsOptions>
248 void SetRdsOptions(RdsOptionsT&& value) { m_rdsOptionsHasBeenSet =
true; m_rdsOptions = std::forward<RdsOptionsT>(value); }
249 template<
typename RdsOptionsT = CreateVerifiedAccessEndpo
intRdsOptions>
260 template<
typename C
idrOptionsT = CreateVerifiedAccessEndpo
intC
idrOptions>
261 void SetCidrOptions(CidrOptionsT&& value) { m_cidrOptionsHasBeenSet =
true; m_cidrOptions = std::forward<CidrOptionsT>(value); }
262 template<
typename C
idrOptionsT = CreateVerifiedAccessEndpo
intC
idrOptions>
268 bool m_verifiedAccessGroupIdHasBeenSet =
false;
271 bool m_endpointTypeHasBeenSet =
false;
274 bool m_attachmentTypeHasBeenSet =
false;
277 bool m_domainCertificateArnHasBeenSet =
false;
280 bool m_applicationDomainHasBeenSet =
false;
283 bool m_endpointDomainPrefixHasBeenSet =
false;
286 bool m_securityGroupIdsHasBeenSet =
false;
288 CreateVerifiedAccessEndpointLoadBalancerOptions m_loadBalancerOptions;
289 bool m_loadBalancerOptionsHasBeenSet =
false;
291 CreateVerifiedAccessEndpointEniOptions m_networkInterfaceOptions;
292 bool m_networkInterfaceOptionsHasBeenSet =
false;
295 bool m_descriptionHasBeenSet =
false;
298 bool m_policyDocumentHasBeenSet =
false;
301 bool m_tagSpecificationsHasBeenSet =
false;
304 bool m_clientTokenHasBeenSet =
true;
306 bool m_dryRun{
false};
307 bool m_dryRunHasBeenSet =
false;
309 VerifiedAccessSseSpecificationRequest m_sseSpecification;
310 bool m_sseSpecificationHasBeenSet =
false;
312 CreateVerifiedAccessEndpointRdsOptions m_rdsOptions;
313 bool m_rdsOptionsHasBeenSet =
false;
315 CreateVerifiedAccessEndpointCidrOptions m_cidrOptions;
316 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