AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ServiceConfiguration.h
1
6#pragma once
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>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Xml {
24class XmlNode;
25} // namespace Xml
26} // namespace Utils
27namespace EC2 {
28namespace Model {
29
37 public:
38 AWS_EC2_API ServiceConfiguration() = default;
41
42 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
46
49 inline const Aws::Vector<ServiceTypeDetail>& GetServiceType() const { return m_serviceType; }
50 inline bool ServiceTypeHasBeenSet() const { return m_serviceTypeHasBeenSet; }
51 template <typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
52 void SetServiceType(ServiceTypeT&& value) {
53 m_serviceTypeHasBeenSet = true;
54 m_serviceType = std::forward<ServiceTypeT>(value);
55 }
56 template <typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
57 ServiceConfiguration& WithServiceType(ServiceTypeT&& value) {
58 SetServiceType(std::forward<ServiceTypeT>(value));
59 return *this;
60 }
61 template <typename ServiceTypeT = ServiceTypeDetail>
62 ServiceConfiguration& AddServiceType(ServiceTypeT&& value) {
63 m_serviceTypeHasBeenSet = true;
64 m_serviceType.emplace_back(std::forward<ServiceTypeT>(value));
65 return *this;
66 }
68
70
73 inline const Aws::String& GetServiceId() const { return m_serviceId; }
74 inline bool ServiceIdHasBeenSet() const { return m_serviceIdHasBeenSet; }
75 template <typename ServiceIdT = Aws::String>
76 void SetServiceId(ServiceIdT&& value) {
77 m_serviceIdHasBeenSet = true;
78 m_serviceId = std::forward<ServiceIdT>(value);
79 }
80 template <typename ServiceIdT = Aws::String>
81 ServiceConfiguration& WithServiceId(ServiceIdT&& value) {
82 SetServiceId(std::forward<ServiceIdT>(value));
83 return *this;
84 }
86
88
91 inline const Aws::String& GetServiceName() const { return m_serviceName; }
92 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
93 template <typename ServiceNameT = Aws::String>
94 void SetServiceName(ServiceNameT&& value) {
95 m_serviceNameHasBeenSet = true;
96 m_serviceName = std::forward<ServiceNameT>(value);
97 }
98 template <typename ServiceNameT = Aws::String>
99 ServiceConfiguration& WithServiceName(ServiceNameT&& value) {
100 SetServiceName(std::forward<ServiceNameT>(value));
101 return *this;
102 }
104
106
109 inline ServiceState GetServiceState() const { return m_serviceState; }
110 inline bool ServiceStateHasBeenSet() const { return m_serviceStateHasBeenSet; }
111 inline void SetServiceState(ServiceState value) {
112 m_serviceStateHasBeenSet = true;
113 m_serviceState = value;
114 }
116 SetServiceState(value);
117 return *this;
118 }
120
122
127 inline const Aws::Vector<Aws::String>& GetAvailabilityZoneIds() const { return m_availabilityZoneIds; }
128 inline bool AvailabilityZoneIdsHasBeenSet() const { return m_availabilityZoneIdsHasBeenSet; }
129 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
130 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
131 m_availabilityZoneIdsHasBeenSet = true;
132 m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value);
133 }
134 template <typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
135 ServiceConfiguration& WithAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
136 SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value));
137 return *this;
138 }
139 template <typename AvailabilityZoneIdsT = Aws::String>
140 ServiceConfiguration& AddAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
141 m_availabilityZoneIdsHasBeenSet = true;
142 m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value));
143 return *this;
144 }
146
148
153 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
154 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
155 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
156 void SetAvailabilityZones(AvailabilityZonesT&& value) {
157 m_availabilityZonesHasBeenSet = true;
158 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
159 }
160 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
161 ServiceConfiguration& WithAvailabilityZones(AvailabilityZonesT&& value) {
162 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
163 return *this;
164 }
165 template <typename AvailabilityZonesT = Aws::String>
166 ServiceConfiguration& AddAvailabilityZones(AvailabilityZonesT&& value) {
167 m_availabilityZonesHasBeenSet = true;
168 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
169 return *this;
170 }
172
174
178 inline bool GetAcceptanceRequired() const { return m_acceptanceRequired; }
179 inline bool AcceptanceRequiredHasBeenSet() const { return m_acceptanceRequiredHasBeenSet; }
180 inline void SetAcceptanceRequired(bool value) {
181 m_acceptanceRequiredHasBeenSet = true;
182 m_acceptanceRequired = value;
183 }
186 return *this;
187 }
189
191
195 inline bool GetManagesVpcEndpoints() const { return m_managesVpcEndpoints; }
196 inline bool ManagesVpcEndpointsHasBeenSet() const { return m_managesVpcEndpointsHasBeenSet; }
197 inline void SetManagesVpcEndpoints(bool value) {
198 m_managesVpcEndpointsHasBeenSet = true;
199 m_managesVpcEndpoints = value;
200 }
203 return *this;
204 }
206
208
212 inline const Aws::Vector<Aws::String>& GetNetworkLoadBalancerArns() const { return m_networkLoadBalancerArns; }
213 inline bool NetworkLoadBalancerArnsHasBeenSet() const { return m_networkLoadBalancerArnsHasBeenSet; }
214 template <typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
215 void SetNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) {
216 m_networkLoadBalancerArnsHasBeenSet = true;
217 m_networkLoadBalancerArns = std::forward<NetworkLoadBalancerArnsT>(value);
218 }
219 template <typename NetworkLoadBalancerArnsT = Aws::Vector<Aws::String>>
220 ServiceConfiguration& WithNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) {
221 SetNetworkLoadBalancerArns(std::forward<NetworkLoadBalancerArnsT>(value));
222 return *this;
223 }
224 template <typename NetworkLoadBalancerArnsT = Aws::String>
225 ServiceConfiguration& AddNetworkLoadBalancerArns(NetworkLoadBalancerArnsT&& value) {
226 m_networkLoadBalancerArnsHasBeenSet = true;
227 m_networkLoadBalancerArns.emplace_back(std::forward<NetworkLoadBalancerArnsT>(value));
228 return *this;
229 }
231
233
237 inline const Aws::Vector<Aws::String>& GetGatewayLoadBalancerArns() const { return m_gatewayLoadBalancerArns; }
238 inline bool GatewayLoadBalancerArnsHasBeenSet() const { return m_gatewayLoadBalancerArnsHasBeenSet; }
239 template <typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
240 void SetGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) {
241 m_gatewayLoadBalancerArnsHasBeenSet = true;
242 m_gatewayLoadBalancerArns = std::forward<GatewayLoadBalancerArnsT>(value);
243 }
244 template <typename GatewayLoadBalancerArnsT = Aws::Vector<Aws::String>>
245 ServiceConfiguration& WithGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) {
246 SetGatewayLoadBalancerArns(std::forward<GatewayLoadBalancerArnsT>(value));
247 return *this;
248 }
249 template <typename GatewayLoadBalancerArnsT = Aws::String>
250 ServiceConfiguration& AddGatewayLoadBalancerArns(GatewayLoadBalancerArnsT&& value) {
251 m_gatewayLoadBalancerArnsHasBeenSet = true;
252 m_gatewayLoadBalancerArns.emplace_back(std::forward<GatewayLoadBalancerArnsT>(value));
253 return *this;
254 }
256
258
261 inline const Aws::Vector<ServiceConnectivityType>& GetSupportedIpAddressTypes() const { return m_supportedIpAddressTypes; }
262 inline bool SupportedIpAddressTypesHasBeenSet() const { return m_supportedIpAddressTypesHasBeenSet; }
263 template <typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
264 void SetSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) {
265 m_supportedIpAddressTypesHasBeenSet = true;
266 m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value);
267 }
268 template <typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
269 ServiceConfiguration& WithSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) {
270 SetSupportedIpAddressTypes(std::forward<SupportedIpAddressTypesT>(value));
271 return *this;
272 }
274 m_supportedIpAddressTypesHasBeenSet = true;
275 m_supportedIpAddressTypes.push_back(value);
276 return *this;
277 }
279
281
284 inline const Aws::Vector<Aws::String>& GetBaseEndpointDnsNames() const { return m_baseEndpointDnsNames; }
285 inline bool BaseEndpointDnsNamesHasBeenSet() const { return m_baseEndpointDnsNamesHasBeenSet; }
286 template <typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
287 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) {
288 m_baseEndpointDnsNamesHasBeenSet = true;
289 m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value);
290 }
291 template <typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
292 ServiceConfiguration& WithBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) {
293 SetBaseEndpointDnsNames(std::forward<BaseEndpointDnsNamesT>(value));
294 return *this;
295 }
296 template <typename BaseEndpointDnsNamesT = Aws::String>
297 ServiceConfiguration& AddBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) {
298 m_baseEndpointDnsNamesHasBeenSet = true;
299 m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value));
300 return *this;
301 }
303
305
308 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
309 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
310 template <typename PrivateDnsNameT = Aws::String>
311 void SetPrivateDnsName(PrivateDnsNameT&& value) {
312 m_privateDnsNameHasBeenSet = true;
313 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
314 }
315 template <typename PrivateDnsNameT = Aws::String>
316 ServiceConfiguration& WithPrivateDnsName(PrivateDnsNameT&& value) {
317 SetPrivateDnsName(std::forward<PrivateDnsNameT>(value));
318 return *this;
319 }
321
323
326 inline const PrivateDnsNameConfiguration& GetPrivateDnsNameConfiguration() const { return m_privateDnsNameConfiguration; }
327 inline bool PrivateDnsNameConfigurationHasBeenSet() const { return m_privateDnsNameConfigurationHasBeenSet; }
328 template <typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
329 void SetPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT&& value) {
330 m_privateDnsNameConfigurationHasBeenSet = true;
331 m_privateDnsNameConfiguration = std::forward<PrivateDnsNameConfigurationT>(value);
332 }
333 template <typename PrivateDnsNameConfigurationT = PrivateDnsNameConfiguration>
334 ServiceConfiguration& WithPrivateDnsNameConfiguration(PrivateDnsNameConfigurationT&& value) {
335 SetPrivateDnsNameConfiguration(std::forward<PrivateDnsNameConfigurationT>(value));
336 return *this;
337 }
339
341
344 inline PayerResponsibility GetPayerResponsibility() const { return m_payerResponsibility; }
345 inline bool PayerResponsibilityHasBeenSet() const { return m_payerResponsibilityHasBeenSet; }
347 m_payerResponsibilityHasBeenSet = true;
348 m_payerResponsibility = value;
349 }
352 return *this;
353 }
355
357
360 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
361 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
362 template <typename TagsT = Aws::Vector<Tag>>
363 void SetTags(TagsT&& value) {
364 m_tagsHasBeenSet = true;
365 m_tags = std::forward<TagsT>(value);
366 }
367 template <typename TagsT = Aws::Vector<Tag>>
369 SetTags(std::forward<TagsT>(value));
370 return *this;
371 }
372 template <typename TagsT = Tag>
374 m_tagsHasBeenSet = true;
375 m_tags.emplace_back(std::forward<TagsT>(value));
376 return *this;
377 }
379
381
384 inline const Aws::Vector<SupportedRegionDetail>& GetSupportedRegions() const { return m_supportedRegions; }
385 inline bool SupportedRegionsHasBeenSet() const { return m_supportedRegionsHasBeenSet; }
386 template <typename SupportedRegionsT = Aws::Vector<SupportedRegionDetail>>
387 void SetSupportedRegions(SupportedRegionsT&& value) {
388 m_supportedRegionsHasBeenSet = true;
389 m_supportedRegions = std::forward<SupportedRegionsT>(value);
390 }
391 template <typename SupportedRegionsT = Aws::Vector<SupportedRegionDetail>>
392 ServiceConfiguration& WithSupportedRegions(SupportedRegionsT&& value) {
393 SetSupportedRegions(std::forward<SupportedRegionsT>(value));
394 return *this;
395 }
396 template <typename SupportedRegionsT = SupportedRegionDetail>
397 ServiceConfiguration& AddSupportedRegions(SupportedRegionsT&& value) {
398 m_supportedRegionsHasBeenSet = true;
399 m_supportedRegions.emplace_back(std::forward<SupportedRegionsT>(value));
400 return *this;
401 }
403
405
409 inline bool GetRemoteAccessEnabled() const { return m_remoteAccessEnabled; }
410 inline bool RemoteAccessEnabledHasBeenSet() const { return m_remoteAccessEnabledHasBeenSet; }
411 inline void SetRemoteAccessEnabled(bool value) {
412 m_remoteAccessEnabledHasBeenSet = true;
413 m_remoteAccessEnabled = value;
414 }
417 return *this;
418 }
420 private:
421 Aws::Vector<ServiceTypeDetail> m_serviceType;
422
423 Aws::String m_serviceId;
424
425 Aws::String m_serviceName;
426
427 ServiceState m_serviceState{ServiceState::NOT_SET};
428
429 Aws::Vector<Aws::String> m_availabilityZoneIds;
430
431 Aws::Vector<Aws::String> m_availabilityZones;
432
433 bool m_acceptanceRequired{false};
434
435 bool m_managesVpcEndpoints{false};
436
437 Aws::Vector<Aws::String> m_networkLoadBalancerArns;
438
439 Aws::Vector<Aws::String> m_gatewayLoadBalancerArns;
440
441 Aws::Vector<ServiceConnectivityType> m_supportedIpAddressTypes;
442
443 Aws::Vector<Aws::String> m_baseEndpointDnsNames;
444
445 Aws::String m_privateDnsName;
446
447 PrivateDnsNameConfiguration m_privateDnsNameConfiguration;
448
450
451 Aws::Vector<Tag> m_tags;
452
453 Aws::Vector<SupportedRegionDetail> m_supportedRegions;
454
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;
474};
475
476} // namespace Model
477} // namespace EC2
478} // 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 > & GetAvailabilityZoneIds() const
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 & WithAvailabilityZoneIds(AvailabilityZoneIdsT &&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)
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)
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