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/PayerResponsibility.h>
12#include <aws/ec2/model/PrivateDnsNameConfiguration.h>
13#include <aws/ec2/model/ServiceConnectivityType.h>
14#include <aws/ec2/model/ServiceState.h>
15#include <aws/ec2/model/ServiceTypeDetail.h>
16#include <aws/ec2/model/SupportedRegionDetail.h>
17#include <aws/ec2/model/Tag.h>
51 template <
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
53 m_serviceTypeHasBeenSet =
true;
54 m_serviceType = std::forward<ServiceTypeT>(value);
56 template <
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
61 template <
typename ServiceTypeT = ServiceTypeDetail>
63 m_serviceTypeHasBeenSet =
true;
64 m_serviceType.emplace_back(std::forward<ServiceTypeT>(value));
75 template <
typename ServiceIdT = Aws::String>
77 m_serviceIdHasBeenSet =
true;
78 m_serviceId = std::forward<ServiceIdT>(value);
80 template <
typename ServiceIdT = Aws::String>
93 template <
typename ServiceNameT = Aws::String>
95 m_serviceNameHasBeenSet =
true;
96 m_serviceName = std::forward<ServiceNameT>(value);
98 template <
typename ServiceNameT = Aws::String>
112 m_serviceStateHasBeenSet =
true;
113 m_serviceState = value;
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));
181 m_acceptanceRequiredHasBeenSet =
true;
182 m_acceptanceRequired = value;
198 m_managesVpcEndpointsHasBeenSet =
true;
199 m_managesVpcEndpoints = value;
214 template <
typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
216 m_networkLoadBalancerArnsHasBeenSet =
true;
217 m_networkLoadBalancerArns = std::forward<NetworkLoadBalancerArnsT>(value);
219 template <
typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
224 template <
typename NetworkLoadBalancerArnsT = Aws::String>
226 m_networkLoadBalancerArnsHasBeenSet =
true;
227 m_networkLoadBalancerArns.emplace_back(std::forward<NetworkLoadBalancerArnsT>(value));
239 template <
typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
241 m_gatewayLoadBalancerArnsHasBeenSet =
true;
242 m_gatewayLoadBalancerArns = std::forward<GatewayLoadBalancerArnsT>(value);
244 template <
typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
249 template <
typename GatewayLoadBalancerArnsT = Aws::String>
251 m_gatewayLoadBalancerArnsHasBeenSet =
true;
252 m_gatewayLoadBalancerArns.emplace_back(std::forward<GatewayLoadBalancerArnsT>(value));
263 template <
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
265 m_supportedIpAddressTypesHasBeenSet =
true;
266 m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value);
268 template <
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
274 m_supportedIpAddressTypesHasBeenSet =
true;
275 m_supportedIpAddressTypes.push_back(value);
286 template <
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
288 m_baseEndpointDnsNamesHasBeenSet =
true;
289 m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value);
291 template <
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
296 template <
typename BaseEndpo
intDnsNamesT = Aws::String>
298 m_baseEndpointDnsNamesHasBeenSet =
true;
299 m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value));
310 template <
typename PrivateDnsNameT = Aws::String>
312 m_privateDnsNameHasBeenSet =
true;
313 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
315 template <
typename PrivateDnsNameT = Aws::String>
328 template <
typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
330 m_privateDnsNameConfigurationHasBeenSet =
true;
331 m_privateDnsNameConfiguration = std::forward<PrivateDnsNameConfigurationT>(value);
333 template <
typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
347 m_payerResponsibilityHasBeenSet =
true;
348 m_payerResponsibility = value;
362 template <
typename TagsT = Aws::Vector<Tag>>
364 m_tagsHasBeenSet =
true;
365 m_tags = std::forward<TagsT>(value);
367 template <
typename TagsT = Aws::Vector<Tag>>
369 SetTags(std::forward<TagsT>(value));
372 template <
typename TagsT = Tag>
374 m_tagsHasBeenSet =
true;
375 m_tags.emplace_back(std::forward<TagsT>(value));
386 template <
typename SupportedRegionsT = Aws::Vector<SupportedRegionDetail>>
388 m_supportedRegionsHasBeenSet =
true;
389 m_supportedRegions = std::forward<SupportedRegionsT>(value);
391 template <
typename SupportedRegionsT = Aws::Vector<SupportedRegionDetail>>
396 template <
typename SupportedRegionsT = SupportedRegionDetail>
398 m_supportedRegionsHasBeenSet =
true;
399 m_supportedRegions.emplace_back(std::forward<SupportedRegionsT>(value));
412 m_remoteAccessEnabledHasBeenSet =
true;
413 m_remoteAccessEnabled = value;
433 bool m_acceptanceRequired{
false};
435 bool m_managesVpcEndpoints{
false};
447 PrivateDnsNameConfiguration m_privateDnsNameConfiguration;
455 bool m_remoteAccessEnabled{
false};
456 bool m_serviceTypeHasBeenSet =
false;
457 bool m_serviceIdHasBeenSet =
false;
458 bool m_serviceNameHasBeenSet =
false;
459 bool m_serviceStateHasBeenSet =
false;
460 bool m_availabilityZoneIdsHasBeenSet =
false;
461 bool m_availabilityZonesHasBeenSet =
false;
462 bool m_acceptanceRequiredHasBeenSet =
false;
463 bool m_managesVpcEndpointsHasBeenSet =
false;
464 bool m_networkLoadBalancerArnsHasBeenSet =
false;
465 bool m_gatewayLoadBalancerArnsHasBeenSet =
false;
466 bool m_supportedIpAddressTypesHasBeenSet =
false;
467 bool m_baseEndpointDnsNamesHasBeenSet =
false;
468 bool m_privateDnsNameHasBeenSet =
false;
469 bool m_privateDnsNameConfigurationHasBeenSet =
false;
470 bool m_payerResponsibilityHasBeenSet =
false;
471 bool m_tagsHasBeenSet =
false;
472 bool m_supportedRegionsHasBeenSet =
false;
473 bool m_remoteAccessEnabledHasBeenSet =
false;
const Aws::String & GetServiceName() const
const Aws::String & GetPrivateDnsName() const
const Aws::Vector< ServiceConnectivityType > & GetSupportedIpAddressTypes() const
bool GetRemoteAccessEnabled() const
bool ServiceIdHasBeenSet() const
void SetRemoteAccessEnabled(bool value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Vector< SupportedRegionDetail > & GetSupportedRegions() const
ServiceConfiguration & WithPrivateDnsName(PrivateDnsNameT &&value)
bool AcceptanceRequiredHasBeenSet() const
bool PrivateDnsNameConfigurationHasBeenSet() const
ServiceConfiguration & AddServiceType(ServiceTypeT &&value)
void SetTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetBaseEndpointDnsNames() const
AWS_EC2_API ServiceConfiguration()=default
ServiceConfiguration & AddSupportedRegions(SupportedRegionsT &&value)
const Aws::Vector< ServiceTypeDetail > & GetServiceType() const
bool AvailabilityZonesHasBeenSet() const
ServiceConfiguration & WithServiceType(ServiceTypeT &&value)
bool ServiceTypeHasBeenSet() const
bool GetManagesVpcEndpoints() const
void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
ServiceConfiguration & WithManagesVpcEndpoints(bool value)
AWS_EC2_API ServiceConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
ServiceConfiguration & WithAcceptanceRequired(bool value)
PayerResponsibility GetPayerResponsibility() const
void SetServiceType(ServiceTypeT &&value)
void SetSupportedRegions(SupportedRegionsT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZoneIds() const
const Aws::Vector< Aws::String > & GetGatewayLoadBalancerArns() const
void SetPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT &&value)
bool ManagesVpcEndpointsHasBeenSet() const
ServiceConfiguration & AddGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
ServiceConfiguration & AddBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
bool ServiceNameHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
ServiceConfiguration & WithTags(TagsT &&value)
ServiceConfiguration & WithAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
bool BaseEndpointDnsNamesHasBeenSet() const
ServiceConfiguration & WithPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT &&value)
bool PayerResponsibilityHasBeenSet() const
void SetPayerResponsibility(PayerResponsibility value)
ServiceConfiguration & AddNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
bool GatewayLoadBalancerArnsHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ServiceConfiguration & WithServiceName(ServiceNameT &&value)
bool TagsHasBeenSet() const
const Aws::Vector< Aws::String > & GetNetworkLoadBalancerArns() const
ServiceConfiguration & WithServiceId(ServiceIdT &&value)
ServiceConfiguration & WithSupportedRegions(SupportedRegionsT &&value)
void SetNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
ServiceState GetServiceState() const
void SetSupportedIpAddressTypes(SupportedIpAddressTypesT &&value)
bool PrivateDnsNameHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ServiceConfiguration & WithPayerResponsibility(PayerResponsibility value)
ServiceConfiguration & WithRemoteAccessEnabled(bool value)
ServiceConfiguration & WithSupportedIpAddressTypes(SupportedIpAddressTypesT &&value)
bool GetAcceptanceRequired() const
void SetGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
bool NetworkLoadBalancerArnsHasBeenSet() const
bool ServiceStateHasBeenSet() const
void SetServiceState(ServiceState value)
ServiceConfiguration & AddSupportedIpAddressTypes(ServiceConnectivityType value)
void SetManagesVpcEndpoints(bool value)
void SetPrivateDnsName(PrivateDnsNameT &&value)
const PrivateDnsNameConfiguration & GetPrivateDnsNameConfiguration() const
void SetAcceptanceRequired(bool value)
const Aws::String & GetServiceId() const
ServiceConfiguration & WithServiceState(ServiceState value)
bool SupportedIpAddressTypesHasBeenSet() const
AWS_EC2_API ServiceConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AvailabilityZoneIdsHasBeenSet() const
void SetAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
ServiceConfiguration & WithBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
ServiceConfiguration & AddTags(TagsT &&value)
ServiceConfiguration & AddAvailabilityZones(AvailabilityZonesT &&value)
void SetServiceName(ServiceNameT &&value)
ServiceConfiguration & AddAvailabilityZoneIds(AvailabilityZoneIdsT &&value)
ServiceConfiguration & WithNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
ServiceConfiguration & WithGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
void SetServiceId(ServiceIdT &&value)
ServiceConfiguration & WithAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
bool SupportedRegionsHasBeenSet() const
bool RemoteAccessEnabledHasBeenSet() const
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