7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/PayerResponsibility.h>
12#include <aws/ec2/model/DnsNameState.h>
13#include <aws/ec2/model/ServiceTypeDetail.h>
14#include <aws/ec2/model/PrivateDnsDetails.h>
15#include <aws/ec2/model/Tag.h>
16#include <aws/ec2/model/ServiceConnectivityType.h>
55 template<
typename ServiceNameT = Aws::String>
56 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet =
true; m_serviceName = std::forward<ServiceNameT>(value); }
57 template<
typename ServiceNameT = Aws::String>
67 template<
typename ServiceIdT = Aws::String>
68 void SetServiceId(ServiceIdT&& value) { m_serviceIdHasBeenSet =
true; m_serviceId = std::forward<ServiceIdT>(value); }
69 template<
typename ServiceIdT = Aws::String>
79 template<
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
80 void SetServiceType(ServiceTypeT&& value) { m_serviceTypeHasBeenSet =
true; m_serviceType = std::forward<ServiceTypeT>(value); }
81 template<
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
83 template<
typename ServiceTypeT = ServiceTypeDetail>
84 ServiceDetail&
AddServiceType(ServiceTypeT&& value) { m_serviceTypeHasBeenSet =
true; m_serviceType.emplace_back(std::forward<ServiceTypeT>(value));
return *
this; }
93 template<
typename ServiceRegionT = Aws::String>
94 void SetServiceRegion(ServiceRegionT&& value) { m_serviceRegionHasBeenSet =
true; m_serviceRegion = std::forward<ServiceRegionT>(value); }
95 template<
typename ServiceRegionT = Aws::String>
105 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
106 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
107 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
109 template<
typename AvailabilityZonesT = Aws::String>
110 ServiceDetail&
AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
return *
this; }
119 template<
typename OwnerT = Aws::String>
120 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet =
true; m_owner = std::forward<OwnerT>(value); }
121 template<
typename OwnerT = Aws::String>
131 template<
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
132 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet =
true; m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value); }
133 template<
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
135 template<
typename BaseEndpo
intDnsNamesT = Aws::String>
136 ServiceDetail&
AddBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet =
true; m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value));
return *
this; }
145 template<
typename PrivateDnsNameT = Aws::String>
146 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet =
true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
147 template<
typename PrivateDnsNameT = Aws::String>
157 template<
typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
158 void SetPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet =
true; m_privateDnsNames = std::forward<PrivateDnsNamesT>(value); }
159 template<
typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
161 template<
typename PrivateDnsNamesT = PrivateDnsDetails>
162 ServiceDetail&
AddPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet =
true; m_privateDnsNames.emplace_back(std::forward<PrivateDnsNamesT>(value));
return *
this; }
182 inline void SetAcceptanceRequired(
bool value) { m_acceptanceRequiredHasBeenSet =
true; m_acceptanceRequired = value; }
193 inline void SetManagesVpcEndpoints(
bool value) { m_managesVpcEndpointsHasBeenSet =
true; m_managesVpcEndpoints = value; }
213 template<
typename TagsT = Aws::Vector<Tag>>
214 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
215 template<
typename TagsT = Aws::Vector<Tag>>
217 template<
typename TagsT = Tag>
218 ServiceDetail&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
239 template<
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
240 void SetSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { m_supportedIpAddressTypesHasBeenSet =
true; m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value); }
241 template<
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
248 bool m_serviceNameHasBeenSet =
false;
251 bool m_serviceIdHasBeenSet =
false;
254 bool m_serviceTypeHasBeenSet =
false;
257 bool m_serviceRegionHasBeenSet =
false;
260 bool m_availabilityZonesHasBeenSet =
false;
263 bool m_ownerHasBeenSet =
false;
266 bool m_baseEndpointDnsNamesHasBeenSet =
false;
269 bool m_privateDnsNameHasBeenSet =
false;
272 bool m_privateDnsNamesHasBeenSet =
false;
274 bool m_vpcEndpointPolicySupported{
false};
275 bool m_vpcEndpointPolicySupportedHasBeenSet =
false;
277 bool m_acceptanceRequired{
false};
278 bool m_acceptanceRequiredHasBeenSet =
false;
280 bool m_managesVpcEndpoints{
false};
281 bool m_managesVpcEndpointsHasBeenSet =
false;
284 bool m_payerResponsibilityHasBeenSet =
false;
287 bool m_tagsHasBeenSet =
false;
290 bool m_privateDnsNameVerificationStateHasBeenSet =
false;
293 bool m_supportedIpAddressTypesHasBeenSet =
false;
ServiceDetail & WithServiceType(ServiceTypeT &&value)
ServiceDetail & AddServiceType(ServiceTypeT &&value)
bool PayerResponsibilityHasBeenSet() const
ServiceDetail & WithPayerResponsibility(PayerResponsibility 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)
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)
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
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 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