AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ServiceConfiguration.h
1
6#pragma once
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>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Xml
25{
26 class XmlNode;
27} // namespace Xml
28} // namespace Utils
29namespace EC2
30{
31namespace Model
32{
33
41 {
42 public:
43 AWS_EC2_API ServiceConfiguration() = default;
46
47 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
48 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
49
50
52
55 inline const Aws::Vector<ServiceTypeDetail>& GetServiceType() const { return m_serviceType; }
56 inline bool ServiceTypeHasBeenSet() const { return m_serviceTypeHasBeenSet; }
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>>
60 ServiceConfiguration& WithServiceType(ServiceTypeT&& value) { SetServiceType(std::forward<ServiceTypeT>(value)); return *this;}
61 template<typename ServiceTypeT = ServiceTypeDetail>
62 ServiceConfiguration& AddServiceType(ServiceTypeT&& value) { m_serviceTypeHasBeenSet = true; m_serviceType.emplace_back(std::forward<ServiceTypeT>(value)); return *this; }
64
66
69 inline const Aws::String& GetServiceId() const { return m_serviceId; }
70 inline bool ServiceIdHasBeenSet() const { return m_serviceIdHasBeenSet; }
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>
74 ServiceConfiguration& WithServiceId(ServiceIdT&& value) { SetServiceId(std::forward<ServiceIdT>(value)); return *this;}
76
78
81 inline const Aws::String& GetServiceName() const { return m_serviceName; }
82 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
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>
86 ServiceConfiguration& WithServiceName(ServiceNameT&& value) { SetServiceName(std::forward<ServiceNameT>(value)); return *this;}
88
90
93 inline ServiceState GetServiceState() const { return m_serviceState; }
94 inline bool ServiceStateHasBeenSet() const { return m_serviceStateHasBeenSet; }
95 inline void SetServiceState(ServiceState value) { m_serviceStateHasBeenSet = true; m_serviceState = value; }
96 inline ServiceConfiguration& WithServiceState(ServiceState value) { SetServiceState(value); return *this;}
98
100
103 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
104 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
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>>
108 ServiceConfiguration& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
109 template<typename AvailabilityZonesT = Aws::String>
110 ServiceConfiguration& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
112
114
118 inline bool GetAcceptanceRequired() const { return m_acceptanceRequired; }
119 inline bool AcceptanceRequiredHasBeenSet() const { return m_acceptanceRequiredHasBeenSet; }
120 inline void SetAcceptanceRequired(bool value) { m_acceptanceRequiredHasBeenSet = true; m_acceptanceRequired = value; }
121 inline ServiceConfiguration& WithAcceptanceRequired(bool value) { SetAcceptanceRequired(value); return *this;}
123
125
129 inline bool GetManagesVpcEndpoints() const { return m_managesVpcEndpoints; }
130 inline bool ManagesVpcEndpointsHasBeenSet() const { return m_managesVpcEndpointsHasBeenSet; }
131 inline void SetManagesVpcEndpoints(bool value) { m_managesVpcEndpointsHasBeenSet = true; m_managesVpcEndpoints = value; }
132 inline ServiceConfiguration& WithManagesVpcEndpoints(bool value) { SetManagesVpcEndpoints(value); return *this;}
134
136
140 inline const Aws::Vector<Aws::String>& GetNetworkLoadBalancerArns() const { return m_networkLoadBalancerArns; }
141 inline bool NetworkLoadBalancerArnsHasBeenSet() const { return m_networkLoadBalancerArnsHasBeenSet; }
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>>
145 ServiceConfiguration& WithNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) { SetNetworkLoadBalancerArns(std::forward<NetworkLoadBalancerArnsT>(value)); return *this;}
146 template<typename NetworkLoadBalancerArnsT = Aws::String>
147 ServiceConfiguration& AddNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) { m_networkLoadBalancerArnsHasBeenSet = true; m_networkLoadBalancerArns.emplace_back(std::forward<NetworkLoadBalancerArnsT>(value)); return *this; }
149
151
155 inline const Aws::Vector<Aws::String>& GetGatewayLoadBalancerArns() const { return m_gatewayLoadBalancerArns; }
156 inline bool GatewayLoadBalancerArnsHasBeenSet() const { return m_gatewayLoadBalancerArnsHasBeenSet; }
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>>
160 ServiceConfiguration& WithGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) { SetGatewayLoadBalancerArns(std::forward<GatewayLoadBalancerArnsT>(value)); return *this;}
161 template<typename GatewayLoadBalancerArnsT = Aws::String>
162 ServiceConfiguration& AddGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) { m_gatewayLoadBalancerArnsHasBeenSet = true; m_gatewayLoadBalancerArns.emplace_back(std::forward<GatewayLoadBalancerArnsT>(value)); return *this; }
164
166
169 inline const Aws::Vector<ServiceConnectivityType>& GetSupportedIpAddressTypes() const { return m_supportedIpAddressTypes; }
170 inline bool SupportedIpAddressTypesHasBeenSet() const { return m_supportedIpAddressTypesHasBeenSet; }
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>>
174 ServiceConfiguration& WithSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { SetSupportedIpAddressTypes(std::forward<SupportedIpAddressTypesT>(value)); return *this;}
175 inline ServiceConfiguration& AddSupportedIpAddressTypes(ServiceConnectivityType value) { m_supportedIpAddressTypesHasBeenSet = true; m_supportedIpAddressTypes.push_back(value); return *this; }
177
179
182 inline const Aws::Vector<Aws::String>& GetBaseEndpointDnsNames() const { return m_baseEndpointDnsNames; }
183 inline bool BaseEndpointDnsNamesHasBeenSet() const { return m_baseEndpointDnsNamesHasBeenSet; }
184 template<typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
185 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet = true; m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value); }
186 template<typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
187 ServiceConfiguration& WithBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { SetBaseEndpointDnsNames(std::forward<BaseEndpointDnsNamesT>(value)); return *this;}
188 template<typename BaseEndpointDnsNamesT = Aws::String>
189 ServiceConfiguration& AddBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet = true; m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value)); return *this; }
191
193
196 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
197 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
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>
201 ServiceConfiguration& WithPrivateDnsName(PrivateDnsNameT&& value) { SetPrivateDnsName(std::forward<PrivateDnsNameT>(value)); return *this;}
203
205
208 inline const PrivateDnsNameConfiguration& GetPrivateDnsNameConfiguration() const { return m_privateDnsNameConfiguration; }
209 inline bool PrivateDnsNameConfigurationHasBeenSet() const { return m_privateDnsNameConfigurationHasBeenSet; }
210 template<typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
211 void SetPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT&& value) { m_privateDnsNameConfigurationHasBeenSet = true; m_privateDnsNameConfiguration = std::forward<PrivateDnsNameConfigurationT>(value); }
212 template<typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
213 ServiceConfiguration& WithPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT&& value) { SetPrivateDnsNameConfiguration(std::forward<PrivateDnsNameConfigurationT>(value)); return *this;}
215
217
220 inline PayerResponsibility GetPayerResponsibility() const { return m_payerResponsibility; }
221 inline bool PayerResponsibilityHasBeenSet() const { return m_payerResponsibilityHasBeenSet; }
222 inline void SetPayerResponsibility(PayerResponsibility value) { m_payerResponsibilityHasBeenSet = true; m_payerResponsibility = value; }
225
227
230 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
231 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
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>>
235 ServiceConfiguration& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
236 template<typename TagsT = Tag>
237 ServiceConfiguration& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
239
241
244 inline const Aws::Vector<SupportedRegionDetail>& GetSupportedRegions() const { return m_supportedRegions; }
245 inline bool SupportedRegionsHasBeenSet() const { return m_supportedRegionsHasBeenSet; }
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>>
249 ServiceConfiguration& WithSupportedRegions(SupportedRegionsT&& value) { SetSupportedRegions(std::forward<SupportedRegionsT>(value)); return *this;}
250 template<typename SupportedRegionsT = SupportedRegionDetail>
251 ServiceConfiguration& AddSupportedRegions(SupportedRegionsT&& value) { m_supportedRegionsHasBeenSet = true; m_supportedRegions.emplace_back(std::forward<SupportedRegionsT>(value)); return *this; }
253
255
259 inline bool GetRemoteAccessEnabled() const { return m_remoteAccessEnabled; }
260 inline bool RemoteAccessEnabledHasBeenSet() const { return m_remoteAccessEnabledHasBeenSet; }
261 inline void SetRemoteAccessEnabled(bool value) { m_remoteAccessEnabledHasBeenSet = true; m_remoteAccessEnabled = value; }
262 inline ServiceConfiguration& WithRemoteAccessEnabled(bool value) { SetRemoteAccessEnabled(value); return *this;}
264 private:
265
266 Aws::Vector<ServiceTypeDetail> m_serviceType;
267 bool m_serviceTypeHasBeenSet = false;
268
269 Aws::String m_serviceId;
270 bool m_serviceIdHasBeenSet = false;
271
272 Aws::String m_serviceName;
273 bool m_serviceNameHasBeenSet = false;
274
275 ServiceState m_serviceState{ServiceState::NOT_SET};
276 bool m_serviceStateHasBeenSet = false;
277
278 Aws::Vector<Aws::String> m_availabilityZones;
279 bool m_availabilityZonesHasBeenSet = false;
280
281 bool m_acceptanceRequired{false};
282 bool m_acceptanceRequiredHasBeenSet = false;
283
284 bool m_managesVpcEndpoints{false};
285 bool m_managesVpcEndpointsHasBeenSet = false;
286
287 Aws::Vector<Aws::String> m_networkLoadBalancerArns;
288 bool m_networkLoadBalancerArnsHasBeenSet = false;
289
290 Aws::Vector<Aws::String> m_gatewayLoadBalancerArns;
291 bool m_gatewayLoadBalancerArnsHasBeenSet = false;
292
293 Aws::Vector<ServiceConnectivityType> m_supportedIpAddressTypes;
294 bool m_supportedIpAddressTypesHasBeenSet = false;
295
296 Aws::Vector<Aws::String> m_baseEndpointDnsNames;
297 bool m_baseEndpointDnsNamesHasBeenSet = false;
298
299 Aws::String m_privateDnsName;
300 bool m_privateDnsNameHasBeenSet = false;
301
302 PrivateDnsNameConfiguration m_privateDnsNameConfiguration;
303 bool m_privateDnsNameConfigurationHasBeenSet = false;
304
306 bool m_payerResponsibilityHasBeenSet = false;
307
308 Aws::Vector<Tag> m_tags;
309 bool m_tagsHasBeenSet = false;
310
311 Aws::Vector<SupportedRegionDetail> m_supportedRegions;
312 bool m_supportedRegionsHasBeenSet = false;
313
314 bool m_remoteAccessEnabled{false};
315 bool m_remoteAccessEnabledHasBeenSet = false;
316 };
317
318} // namespace Model
319} // namespace EC2
320} // namespace Aws
const Aws::String & GetServiceName() const
const Aws::String & GetPrivateDnsName() const
const Aws::Vector< ServiceConnectivityType > & GetSupportedIpAddressTypes() const
void SetAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Vector< SupportedRegionDetail > & GetSupportedRegions() const
ServiceConfiguration & WithPrivateDnsName(PrivateDnsNameT &&value)
ServiceConfiguration & AddServiceType(ServiceTypeT &&value)
const Aws::Vector< Aws::String > & GetBaseEndpointDnsNames() const
AWS_EC2_API ServiceConfiguration()=default
ServiceConfiguration & AddSupportedRegions(SupportedRegionsT &&value)
const Aws::Vector< ServiceTypeDetail > & GetServiceType() const
ServiceConfiguration & WithServiceType(ServiceTypeT &&value)
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)
ServiceConfiguration & AddGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
ServiceConfiguration & AddBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
const Aws::Vector< Tag > & GetTags() const
ServiceConfiguration & WithTags(TagsT &&value)
ServiceConfiguration & WithPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT &&value)
void SetPayerResponsibility(PayerResponsibility value)
ServiceConfiguration & AddNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ServiceConfiguration & WithServiceName(ServiceNameT &&value)
const Aws::Vector< Aws::String > & GetNetworkLoadBalancerArns() const
ServiceConfiguration & WithServiceId(ServiceIdT &&value)
ServiceConfiguration & WithSupportedRegions(SupportedRegionsT &&value)
void SetNetworkLoadBalancerArns(NetworkLoadBalancerArnsT &&value)
void SetSupportedIpAddressTypes(SupportedIpAddressTypesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ServiceConfiguration & WithPayerResponsibility(PayerResponsibility value)
ServiceConfiguration & WithRemoteAccessEnabled(bool value)
ServiceConfiguration & WithSupportedIpAddressTypes(SupportedIpAddressTypesT &&value)
void SetGatewayLoadBalancerArns(GatewayLoadBalancerArnsT &&value)
ServiceConfiguration & AddSupportedIpAddressTypes(ServiceConnectivityType value)
void SetPrivateDnsName(PrivateDnsNameT &&value)
const PrivateDnsNameConfiguration & GetPrivateDnsNameConfiguration() const
const Aws::String & GetServiceId() const
ServiceConfiguration & WithServiceState(ServiceState value)
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)
ServiceConfiguration & WithAvailabilityZones(AvailabilityZonesT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() 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