7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/ec2/model/ServiceState.h>
12#include <aws/ec2/model/PrivateDnsNameConfiguration.h>
13#include <aws/ec2/model/PayerResponsibility.h>
14#include <aws/ec2/model/ServiceTypeDetail.h>
15#include <aws/ec2/model/ServiceConnectivityType.h>
16#include <aws/ec2/model/Tag.h>
17#include <aws/ec2/model/SupportedRegionDetail.h>
57 template<
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
58 void SetServiceType(ServiceTypeT&& value) { m_serviceTypeHasBeenSet =
true; m_serviceType = std::forward<ServiceTypeT>(value); }
59 template<
typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
61 template<
typename ServiceTypeT = ServiceTypeDetail>
71 template<
typename ServiceIdT = Aws::String>
72 void SetServiceId(ServiceIdT&& value) { m_serviceIdHasBeenSet =
true; m_serviceId = std::forward<ServiceIdT>(value); }
73 template<
typename ServiceIdT = Aws::String>
83 template<
typename ServiceNameT = Aws::String>
84 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet =
true; m_serviceName = std::forward<ServiceNameT>(value); }
85 template<
typename ServiceNameT = 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>
120 inline void SetAcceptanceRequired(
bool value) { m_acceptanceRequiredHasBeenSet =
true; m_acceptanceRequired = value; }
131 inline void SetManagesVpcEndpoints(
bool value) { m_managesVpcEndpointsHasBeenSet =
true; m_managesVpcEndpoints = value; }
142 template<
typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
143 void SetNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) { m_networkLoadBalancerArnsHasBeenSet =
true; m_networkLoadBalancerArns = std::forward<NetworkLoadBalancerArnsT>(value); }
144 template<
typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
146 template<
typename NetworkLoadBalancerArnsT = Aws::String>
157 template<
typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
158 void SetGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) { m_gatewayLoadBalancerArnsHasBeenSet =
true; m_gatewayLoadBalancerArns = std::forward<GatewayLoadBalancerArnsT>(value); }
159 template<
typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
161 template<
typename GatewayLoadBalancerArnsT = Aws::String>
171 template<
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
172 void SetSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { m_supportedIpAddressTypesHasBeenSet =
true; m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value); }
173 template<
typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
184 template<
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
185 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet =
true; m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value); }
186 template<
typename BaseEndpo
intDnsNamesT = Aws::Vector<Aws::String>>
188 template<
typename BaseEndpo
intDnsNamesT = Aws::String>
198 template<
typename PrivateDnsNameT = Aws::String>
199 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet =
true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
200 template<
typename PrivateDnsNameT = Aws::String>
210 template<
typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
211 void SetPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT&& value) { m_privateDnsNameConfigurationHasBeenSet =
true; m_privateDnsNameConfiguration = std::forward<PrivateDnsNameConfigurationT>(value); }
212 template<
typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
232 template<
typename TagsT = Aws::Vector<Tag>>
233 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
234 template<
typename TagsT = Aws::Vector<Tag>>
236 template<
typename TagsT = Tag>
246 template<
typename SupportedRegionsT = Aws::Vector<SupportedRegionDetail>>
247 void SetSupportedRegions(SupportedRegionsT&& value) { m_supportedRegionsHasBeenSet =
true; m_supportedRegions = std::forward<SupportedRegionsT>(value); }
248 template<
typename SupportedRegionsT = Aws::Vector<SupportedRegionDetail>>
250 template<
typename SupportedRegionsT = SupportedRegionDetail>
261 inline void SetRemoteAccessEnabled(
bool value) { m_remoteAccessEnabledHasBeenSet =
true; m_remoteAccessEnabled = value; }
267 bool m_serviceTypeHasBeenSet =
false;
270 bool m_serviceIdHasBeenSet =
false;
273 bool m_serviceNameHasBeenSet =
false;
276 bool m_serviceStateHasBeenSet =
false;
279 bool m_availabilityZonesHasBeenSet =
false;
281 bool m_acceptanceRequired{
false};
282 bool m_acceptanceRequiredHasBeenSet =
false;
284 bool m_managesVpcEndpoints{
false};
285 bool m_managesVpcEndpointsHasBeenSet =
false;
288 bool m_networkLoadBalancerArnsHasBeenSet =
false;
291 bool m_gatewayLoadBalancerArnsHasBeenSet =
false;
294 bool m_supportedIpAddressTypesHasBeenSet =
false;
297 bool m_baseEndpointDnsNamesHasBeenSet =
false;
300 bool m_privateDnsNameHasBeenSet =
false;
302 PrivateDnsNameConfiguration m_privateDnsNameConfiguration;
303 bool m_privateDnsNameConfigurationHasBeenSet =
false;
306 bool m_payerResponsibilityHasBeenSet =
false;
309 bool m_tagsHasBeenSet =
false;
312 bool m_supportedRegionsHasBeenSet =
false;
314 bool m_remoteAccessEnabled{
false};
315 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 > & 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)
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)
ServiceConfiguration & WithBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
ServiceConfiguration & AddTags(TagsT &&value)
ServiceConfiguration & AddAvailabilityZones(AvailabilityZonesT &&value)
void SetServiceName(ServiceNameT &&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