7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/DnsNameState.h>
12#include <aws/ec2/model/PayerResponsibility.h>
13#include <aws/ec2/model/PrivateDnsDetails.h>
14#include <aws/ec2/model/ServiceConnectivityType.h>
15#include <aws/ec2/model/ServiceTypeDetail.h>
16#include <aws/ec2/model/Tag.h>
49 template <
typename ServiceNameT = Aws::String>
51 m_serviceNameHasBeenSet =
true;
52 m_serviceName = std::forward<ServiceNameT>(value);
54 template <
typename ServiceNameT = Aws::String>
67 template <
typename ServiceIdT = Aws::String>
69 m_serviceIdHasBeenSet =
true;
70 m_serviceId = std::forward<ServiceIdT>(value);
72 template <
typename ServiceIdT = Aws::String>
85 template <
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
87 m_serviceTypeHasBeenSet =
true;
88 m_serviceType = std::forward<ServiceTypeT>(value);
90 template <
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
95 template <
typename ServiceTypeT = ServiceTypeDetail>
97 m_serviceTypeHasBeenSet =
true;
98 m_serviceType.emplace_back(std::forward<ServiceTypeT>(value));
109 template <
typename ServiceRegionT = Aws::String>
111 m_serviceRegionHasBeenSet =
true;
112 m_serviceRegion = std::forward<ServiceRegionT>(value);
114 template <
typename ServiceRegionT = Aws::String>
129 template <
typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
131 m_availabilityZoneIdsHasBeenSet =
true;
132 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
134 template <
typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
139 template <
typename AvailabilityZoneIdsT = Aws::String>
141 m_availabilityZoneIdsHasBeenSet =
true;
142 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
155 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
157 m_availabilityZonesHasBeenSet =
true;
158 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
160 template <
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
165 template <
typename AvailabilityZonesT = Aws::String>
167 m_availabilityZonesHasBeenSet =
true;
168 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
179 template <
typename OwnerT = Aws::String>
181 m_ownerHasBeenSet =
true;
182 m_owner = std::forward<OwnerT>(value);
184 template <
typename OwnerT = Aws::String>
186 SetOwner(std::forward<OwnerT>(value));
197 template <
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
199 m_baseEndpointDnsNamesHasBeenSet =
true;
200 m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value);
202 template <
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
207 template <
typename BaseEndpo
intDnsNamesT = Aws::String>
209 m_baseEndpointDnsNamesHasBeenSet =
true;
210 m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value));
221 template <
typename PrivateDnsNameT = Aws::String>
223 m_privateDnsNameHasBeenSet =
true;
224 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
226 template <
typename PrivateDnsNameT = Aws::String>
239 template <
typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
241 m_privateDnsNamesHasBeenSet =
true;
242 m_privateDnsNames = std::forward<PrivateDnsNamesT>(value);
244 template <
typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
249 template <
typename PrivateDnsNamesT = PrivateDnsDetails>
251 m_privateDnsNamesHasBeenSet =
true;
252 m_privateDnsNames.emplace_back(std::forward<PrivateDnsNamesT>(value));
264 m_vpcEndpointPolicySupportedHasBeenSet =
true;
265 m_vpcEndpointPolicySupported = value;
281 m_acceptanceRequiredHasBeenSet =
true;
282 m_acceptanceRequired = value;
298 m_managesVpcEndpointsHasBeenSet =
true;
299 m_managesVpcEndpoints = value;
314 m_payerResponsibilityHasBeenSet =
true;
315 m_payerResponsibility = value;
329 template <
typename TagsT = Aws::Vector<Tag>>
331 m_tagsHasBeenSet =
true;
332 m_tags = std::forward<TagsT>(value);
334 template <
typename TagsT = Aws::Vector<Tag>>
336 SetTags(std::forward<TagsT>(value));
339 template <
typename TagsT = Tag>
341 m_tagsHasBeenSet =
true;
342 m_tags.emplace_back(std::forward<TagsT>(value));
356 m_privateDnsNameVerificationStateHasBeenSet =
true;
357 m_privateDnsNameVerificationState = value;
371 template <
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
373 m_supportedIpAddressTypesHasBeenSet =
true;
374 m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value);
376 template <
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
382 m_supportedIpAddressTypesHasBeenSet =
true;
383 m_supportedIpAddressTypes.push_back(value);
408 bool m_vpcEndpointPolicySupported{
false};
410 bool m_acceptanceRequired{
false};
412 bool m_managesVpcEndpoints{
false};
421 bool m_serviceNameHasBeenSet =
false;
422 bool m_serviceIdHasBeenSet =
false;
423 bool m_serviceTypeHasBeenSet =
false;
424 bool m_serviceRegionHasBeenSet =
false;
425 bool m_availabilityZoneIdsHasBeenSet =
false;
426 bool m_availabilityZonesHasBeenSet =
false;
427 bool m_ownerHasBeenSet =
false;
428 bool m_baseEndpointDnsNamesHasBeenSet =
false;
429 bool m_privateDnsNameHasBeenSet =
false;
430 bool m_privateDnsNamesHasBeenSet =
false;
431 bool m_vpcEndpointPolicySupportedHasBeenSet =
false;
432 bool m_acceptanceRequiredHasBeenSet =
false;
433 bool m_managesVpcEndpointsHasBeenSet =
false;
434 bool m_payerResponsibilityHasBeenSet =
false;
435 bool m_tagsHasBeenSet =
false;
436 bool m_privateDnsNameVerificationStateHasBeenSet =
false;
437 bool m_supportedIpAddressTypesHasBeenSet =
false;
ServiceDetail & WithServiceType(ServiceTypeT &&value)
ServiceDetail & AddServiceType(ServiceTypeT &&value)
bool PayerResponsibilityHasBeenSet() const
ServiceDetail & WithPayerResponsibility(PayerResponsibility value)
ServiceDetail & WithAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
ServiceDetail & WithAvailabilityZones(AvailabilityZonesT &&value)
ServiceDetail & WithSupportedIpAddressTypes(SupportedIpAddressTypesT &&value)
bool PrivateDnsNameVerificationStateHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetOwner() const
void SetManagesVpcEndpoints(bool value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ServiceDetail & AddAvailabilityZones(AvailabilityZonesT &&value)
void SetSupportedIpAddressTypes(SupportedIpAddressTypesT &&value)
void SetAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
const Aws::String & GetServiceId() const
ServiceDetail & WithPrivateDnsName(PrivateDnsNameT &&value)
bool GetVpcEndpointPolicySupported() const
bool ServiceNameHasBeenSet() const
ServiceDetail & WithServiceRegion(ServiceRegionT &&value)
ServiceDetail & WithServiceId(ServiceIdT &&value)
bool AvailabilityZonesHasBeenSet() const
bool PrivateDnsNamesHasBeenSet() const
ServiceDetail & WithManagesVpcEndpoints(bool value)
bool GetAcceptanceRequired() const
ServiceDetail & WithTags(TagsT &&value)
ServiceDetail & AddPrivateDnsNames(PrivateDnsNamesT &&value)
ServiceDetail & WithVpcEndpointPolicySupported(bool value)
void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
ServiceDetail & WithBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
bool PrivateDnsNameHasBeenSet() const
void SetVpcEndpointPolicySupported(bool value)
ServiceDetail & AddSupportedIpAddressTypes(ServiceConnectivityType value)
bool TagsHasBeenSet() const
AWS_EC2_API ServiceDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Aws::String > & GetAvailabilityZoneIds() const
bool ServiceIdHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
ServiceDetail & AddBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
void SetServiceType(ServiceTypeT &&value)
void SetAcceptanceRequired(bool value)
bool SupportedIpAddressTypesHasBeenSet() const
const Aws::String & GetPrivateDnsName() const
ServiceDetail & AddTags(TagsT &&value)
bool BaseEndpointDnsNamesHasBeenSet() const
ServiceDetail & WithAcceptanceRequired(bool value)
const Aws::Vector< PrivateDnsDetails > & GetPrivateDnsNames() const
ServiceDetail & AddAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
void SetPrivateDnsName(PrivateDnsNameT &&value)
void SetPayerResponsibility(PayerResponsibility value)
bool VpcEndpointPolicySupportedHasBeenSet() const
ServiceDetail & WithServiceName(ServiceNameT &&value)
void SetServiceName(ServiceNameT &&value)
const Aws::Vector< ServiceConnectivityType > & GetSupportedIpAddressTypes() const
PayerResponsibility GetPayerResponsibility() const
bool GetManagesVpcEndpoints() const
bool ServiceRegionHasBeenSet() const
bool ManagesVpcEndpointsHasBeenSet() const
AWS_EC2_API ServiceDetail()=default
bool OwnerHasBeenSet() const
bool AvailabilityZoneIdsHasBeenSet() const
bool AcceptanceRequiredHasBeenSet() const
const Aws::String & GetServiceRegion() const
ServiceDetail & WithPrivateDnsNames(PrivateDnsNamesT &&value)
const Aws::Vector< ServiceTypeDetail > & GetServiceType() const
void SetServiceRegion(ServiceRegionT &&value)
DnsNameState GetPrivateDnsNameVerificationState() const
ServiceDetail & WithOwner(OwnerT &&value)
void SetServiceId(ServiceIdT &&value)
bool ServiceTypeHasBeenSet() const
void SetPrivateDnsNameVerificationState(DnsNameState value)
const Aws::String & GetServiceName() const
void SetPrivateDnsNames(PrivateDnsNamesT &&value)
ServiceDetail & WithPrivateDnsNameVerificationState(DnsNameState value)
const Aws::Vector< Aws::String > & GetBaseEndpointDnsNames() const
AWS_EC2_API ServiceDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetTags(TagsT &&value)
void SetOwner(OwnerT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream