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>
107 template<
typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
108 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) { m_availabilityZoneIdsHasBeenSet =
true; m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value); }
109 template<
typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
111 template<
typename AvailabilityZoneIdsT = Aws::String>
112 ServiceDetail&
AddAvailabilityZoneIds(AvailabilityZoneIdsT&& value) { m_availabilityZoneIdsHasBeenSet =
true; m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
return *
this; }
123 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
124 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
125 template<
typename AvailabilityZonesT = Aws::Vector<Aws::String>>
127 template<
typename AvailabilityZonesT = Aws::String>
128 ServiceDetail&
AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet =
true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
return *
this; }
137 template<
typename OwnerT = Aws::String>
138 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet =
true; m_owner = std::forward<OwnerT>(value); }
139 template<
typename OwnerT = Aws::String>
149 template<
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
150 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet =
true; m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value); }
151 template<
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
153 template<
typename BaseEndpo
intDnsNamesT = Aws::String>
154 ServiceDetail&
AddBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet =
true; m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value));
return *
this; }
163 template<
typename PrivateDnsNameT = Aws::String>
164 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet =
true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
165 template<
typename PrivateDnsNameT = Aws::String>
175 template<
typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
176 void SetPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet =
true; m_privateDnsNames = std::forward<PrivateDnsNamesT>(value); }
177 template<
typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
179 template<
typename PrivateDnsNamesT = PrivateDnsDetails>
180 ServiceDetail&
AddPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet =
true; m_privateDnsNames.emplace_back(std::forward<PrivateDnsNamesT>(value));
return *
this; }
200 inline void SetAcceptanceRequired(
bool value) { m_acceptanceRequiredHasBeenSet =
true; m_acceptanceRequired = value; }
211 inline void SetManagesVpcEndpoints(
bool value) { m_managesVpcEndpointsHasBeenSet =
true; m_managesVpcEndpoints = value; }
231 template<
typename TagsT = Aws::Vector<Tag>>
232 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
233 template<
typename TagsT = Aws::Vector<Tag>>
235 template<
typename TagsT = Tag>
236 ServiceDetail&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
257 template<
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
258 void SetSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { m_supportedIpAddressTypesHasBeenSet =
true; m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value); }
259 template<
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
266 bool m_serviceNameHasBeenSet =
false;
269 bool m_serviceIdHasBeenSet =
false;
272 bool m_serviceTypeHasBeenSet =
false;
275 bool m_serviceRegionHasBeenSet =
false;
278 bool m_availabilityZoneIdsHasBeenSet =
false;
281 bool m_availabilityZonesHasBeenSet =
false;
284 bool m_ownerHasBeenSet =
false;
287 bool m_baseEndpointDnsNamesHasBeenSet =
false;
290 bool m_privateDnsNameHasBeenSet =
false;
293 bool m_privateDnsNamesHasBeenSet =
false;
295 bool m_vpcEndpointPolicySupported{
false};
296 bool m_vpcEndpointPolicySupportedHasBeenSet =
false;
298 bool m_acceptanceRequired{
false};
299 bool m_acceptanceRequiredHasBeenSet =
false;
301 bool m_managesVpcEndpoints{
false};
302 bool m_managesVpcEndpointsHasBeenSet =
false;
305 bool m_payerResponsibilityHasBeenSet =
false;
308 bool m_tagsHasBeenSet =
false;
311 bool m_privateDnsNameVerificationStateHasBeenSet =
false;
314 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