AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ServiceDetail.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/DnsNameState.h>
12#include <aws/ec2/model/PayerResponsibility.h>
13#include <aws/ec2/model/PrivateDnsDetails.h>
14#include <aws/ec2/model/ServiceConnectivityType.h>
15#include <aws/ec2/model/ServiceTypeDetail.h>
16#include <aws/ec2/model/Tag.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace EC2 {
27namespace Model {
28
35 public:
36 AWS_EC2_API ServiceDetail() = default;
37 AWS_EC2_API ServiceDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
38 AWS_EC2_API ServiceDetail& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
47 inline const Aws::String& GetServiceName() const { return m_serviceName; }
48 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
49 template <typename ServiceNameT = Aws::String>
50 void SetServiceName(ServiceNameT&& value) {
51 m_serviceNameHasBeenSet = true;
52 m_serviceName = std::forward<ServiceNameT>(value);
53 }
54 template <typename ServiceNameT = Aws::String>
55 ServiceDetail& WithServiceName(ServiceNameT&& value) {
56 SetServiceName(std::forward<ServiceNameT>(value));
57 return *this;
58 }
60
62
65 inline const Aws::String& GetServiceId() const { return m_serviceId; }
66 inline bool ServiceIdHasBeenSet() const { return m_serviceIdHasBeenSet; }
67 template <typename ServiceIdT = Aws::String>
68 void SetServiceId(ServiceIdT&& value) {
69 m_serviceIdHasBeenSet = true;
70 m_serviceId = std::forward<ServiceIdT>(value);
71 }
72 template <typename ServiceIdT = Aws::String>
73 ServiceDetail& WithServiceId(ServiceIdT&& value) {
74 SetServiceId(std::forward<ServiceIdT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::Vector<ServiceTypeDetail>& GetServiceType() const { return m_serviceType; }
84 inline bool ServiceTypeHasBeenSet() const { return m_serviceTypeHasBeenSet; }
85 template <typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
86 void SetServiceType(ServiceTypeT&& value) {
87 m_serviceTypeHasBeenSet = true;
88 m_serviceType = std::forward<ServiceTypeT>(value);
89 }
90 template <typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
91 ServiceDetail& WithServiceType(ServiceTypeT&& value) {
92 SetServiceType(std::forward<ServiceTypeT>(value));
93 return *this;
94 }
95 template <typename ServiceTypeT = ServiceTypeDetail>
96 ServiceDetail& AddServiceType(ServiceTypeT&& value) {
97 m_serviceTypeHasBeenSet = true;
98 m_serviceType.emplace_back(std::forward<ServiceTypeT>(value));
99 return *this;
100 }
102
104
107 inline const Aws::String& GetServiceRegion() const { return m_serviceRegion; }
108 inline bool ServiceRegionHasBeenSet() const { return m_serviceRegionHasBeenSet; }
109 template <typename ServiceRegionT = Aws::String>
110 void SetServiceRegion(ServiceRegionT&& value) {
111 m_serviceRegionHasBeenSet = true;
112 m_serviceRegion = std::forward<ServiceRegionT>(value);
113 }
114 template <typename ServiceRegionT = Aws::String>
115 ServiceDetail& WithServiceRegion(ServiceRegionT&& value) {
116 SetServiceRegion(std::forward<ServiceRegionT>(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 ServiceDetail& WithAvailabilityZoneIds(AvailabilityZoneIdsT&& value) {
136 SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value));
137 return *this;
138 }
139 template <typename AvailabilityZoneIdsT = Aws::String>
140 ServiceDetail& 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 ServiceDetail& WithAvailabilityZones(AvailabilityZonesT&& value) {
162 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
163 return *this;
164 }
165 template <typename AvailabilityZonesT = Aws::String>
166 ServiceDetail& AddAvailabilityZones(AvailabilityZonesT&& value) {
167 m_availabilityZonesHasBeenSet = true;
168 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
169 return *this;
170 }
172
174
177 inline const Aws::String& GetOwner() const { return m_owner; }
178 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
179 template <typename OwnerT = Aws::String>
180 void SetOwner(OwnerT&& value) {
181 m_ownerHasBeenSet = true;
182 m_owner = std::forward<OwnerT>(value);
183 }
184 template <typename OwnerT = Aws::String>
185 ServiceDetail& WithOwner(OwnerT&& value) {
186 SetOwner(std::forward<OwnerT>(value));
187 return *this;
188 }
190
192
195 inline const Aws::Vector<Aws::String>& GetBaseEndpointDnsNames() const { return m_baseEndpointDnsNames; }
196 inline bool BaseEndpointDnsNamesHasBeenSet() const { return m_baseEndpointDnsNamesHasBeenSet; }
197 template <typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
198 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) {
199 m_baseEndpointDnsNamesHasBeenSet = true;
200 m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value);
201 }
202 template <typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
203 ServiceDetail& WithBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) {
204 SetBaseEndpointDnsNames(std::forward<BaseEndpointDnsNamesT>(value));
205 return *this;
206 }
207 template <typename BaseEndpointDnsNamesT = Aws::String>
208 ServiceDetail& AddBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) {
209 m_baseEndpointDnsNamesHasBeenSet = true;
210 m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value));
211 return *this;
212 }
214
216
219 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
220 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
221 template <typename PrivateDnsNameT = Aws::String>
222 void SetPrivateDnsName(PrivateDnsNameT&& value) {
223 m_privateDnsNameHasBeenSet = true;
224 m_privateDnsName = std::forward<PrivateDnsNameT>(value);
225 }
226 template <typename PrivateDnsNameT = Aws::String>
227 ServiceDetail& WithPrivateDnsName(PrivateDnsNameT&& value) {
228 SetPrivateDnsName(std::forward<PrivateDnsNameT>(value));
229 return *this;
230 }
232
234
237 inline const Aws::Vector<PrivateDnsDetails>& GetPrivateDnsNames() const { return m_privateDnsNames; }
238 inline bool PrivateDnsNamesHasBeenSet() const { return m_privateDnsNamesHasBeenSet; }
239 template <typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
240 void SetPrivateDnsNames(PrivateDnsNamesT&& value) {
241 m_privateDnsNamesHasBeenSet = true;
242 m_privateDnsNames = std::forward<PrivateDnsNamesT>(value);
243 }
244 template <typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
245 ServiceDetail& WithPrivateDnsNames(PrivateDnsNamesT&& value) {
246 SetPrivateDnsNames(std::forward<PrivateDnsNamesT>(value));
247 return *this;
248 }
249 template <typename PrivateDnsNamesT = PrivateDnsDetails>
250 ServiceDetail& AddPrivateDnsNames(PrivateDnsNamesT&& value) {
251 m_privateDnsNamesHasBeenSet = true;
252 m_privateDnsNames.emplace_back(std::forward<PrivateDnsNamesT>(value));
253 return *this;
254 }
256
258
261 inline bool GetVpcEndpointPolicySupported() const { return m_vpcEndpointPolicySupported; }
262 inline bool VpcEndpointPolicySupportedHasBeenSet() const { return m_vpcEndpointPolicySupportedHasBeenSet; }
263 inline void SetVpcEndpointPolicySupported(bool value) {
264 m_vpcEndpointPolicySupportedHasBeenSet = true;
265 m_vpcEndpointPolicySupported = value;
266 }
269 return *this;
270 }
272
274
278 inline bool GetAcceptanceRequired() const { return m_acceptanceRequired; }
279 inline bool AcceptanceRequiredHasBeenSet() const { return m_acceptanceRequiredHasBeenSet; }
280 inline void SetAcceptanceRequired(bool value) {
281 m_acceptanceRequiredHasBeenSet = true;
282 m_acceptanceRequired = value;
283 }
286 return *this;
287 }
289
291
295 inline bool GetManagesVpcEndpoints() const { return m_managesVpcEndpoints; }
296 inline bool ManagesVpcEndpointsHasBeenSet() const { return m_managesVpcEndpointsHasBeenSet; }
297 inline void SetManagesVpcEndpoints(bool value) {
298 m_managesVpcEndpointsHasBeenSet = true;
299 m_managesVpcEndpoints = value;
300 }
303 return *this;
304 }
306
308
311 inline PayerResponsibility GetPayerResponsibility() const { return m_payerResponsibility; }
312 inline bool PayerResponsibilityHasBeenSet() const { return m_payerResponsibilityHasBeenSet; }
314 m_payerResponsibilityHasBeenSet = true;
315 m_payerResponsibility = value;
316 }
319 return *this;
320 }
322
324
327 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
328 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
329 template <typename TagsT = Aws::Vector<Tag>>
330 void SetTags(TagsT&& value) {
331 m_tagsHasBeenSet = true;
332 m_tags = std::forward<TagsT>(value);
333 }
334 template <typename TagsT = Aws::Vector<Tag>>
335 ServiceDetail& WithTags(TagsT&& value) {
336 SetTags(std::forward<TagsT>(value));
337 return *this;
338 }
339 template <typename TagsT = Tag>
340 ServiceDetail& AddTags(TagsT&& value) {
341 m_tagsHasBeenSet = true;
342 m_tags.emplace_back(std::forward<TagsT>(value));
343 return *this;
344 }
346
348
353 inline DnsNameState GetPrivateDnsNameVerificationState() const { return m_privateDnsNameVerificationState; }
354 inline bool PrivateDnsNameVerificationStateHasBeenSet() const { return m_privateDnsNameVerificationStateHasBeenSet; }
356 m_privateDnsNameVerificationStateHasBeenSet = true;
357 m_privateDnsNameVerificationState = value;
358 }
361 return *this;
362 }
364
366
369 inline const Aws::Vector<ServiceConnectivityType>& GetSupportedIpAddressTypes() const { return m_supportedIpAddressTypes; }
370 inline bool SupportedIpAddressTypesHasBeenSet() const { return m_supportedIpAddressTypesHasBeenSet; }
371 template <typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
372 void SetSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) {
373 m_supportedIpAddressTypesHasBeenSet = true;
374 m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value);
375 }
376 template <typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
377 ServiceDetail& WithSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) {
378 SetSupportedIpAddressTypes(std::forward<SupportedIpAddressTypesT>(value));
379 return *this;
380 }
382 m_supportedIpAddressTypesHasBeenSet = true;
383 m_supportedIpAddressTypes.push_back(value);
384 return *this;
385 }
387 private:
388 Aws::String m_serviceName;
389
390 Aws::String m_serviceId;
391
392 Aws::Vector<ServiceTypeDetail> m_serviceType;
393
394 Aws::String m_serviceRegion;
395
396 Aws::Vector<Aws::String> m_availabilityZoneIds;
397
398 Aws::Vector<Aws::String> m_availabilityZones;
399
400 Aws::String m_owner;
401
402 Aws::Vector<Aws::String> m_baseEndpointDnsNames;
403
404 Aws::String m_privateDnsName;
405
406 Aws::Vector<PrivateDnsDetails> m_privateDnsNames;
407
408 bool m_vpcEndpointPolicySupported{false};
409
410 bool m_acceptanceRequired{false};
411
412 bool m_managesVpcEndpoints{false};
413
415
416 Aws::Vector<Tag> m_tags;
417
418 DnsNameState m_privateDnsNameVerificationState{DnsNameState::NOT_SET};
419
420 Aws::Vector<ServiceConnectivityType> m_supportedIpAddressTypes;
421 bool m_serviceNameHasBeenSet = false;
422 bool m_serviceIdHasBeenSet = false;
423 bool m_serviceTypeHasBeenSet = false;
424 bool m_serviceRegionHasBeenSet = false;
425 bool m_availabilityZoneIdsHasBeenSet = false;
426 bool m_availabilityZonesHasBeenSet = false;
427 bool m_ownerHasBeenSet = false;
428 bool m_baseEndpointDnsNamesHasBeenSet = false;
429 bool m_privateDnsNameHasBeenSet = false;
430 bool m_privateDnsNamesHasBeenSet = false;
431 bool m_vpcEndpointPolicySupportedHasBeenSet = false;
432 bool m_acceptanceRequiredHasBeenSet = false;
433 bool m_managesVpcEndpointsHasBeenSet = false;
434 bool m_payerResponsibilityHasBeenSet = false;
435 bool m_tagsHasBeenSet = false;
436 bool m_privateDnsNameVerificationStateHasBeenSet = false;
437 bool m_supportedIpAddressTypesHasBeenSet = false;
438};
439
440} // namespace Model
441} // namespace EC2
442} // namespace Aws
ServiceDetail & WithServiceType(ServiceTypeT &&value)
ServiceDetail & AddServiceType(ServiceTypeT &&value)
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)
ServiceDetail & WithServiceRegion(ServiceRegionT &&value)
ServiceDetail & WithServiceId(ServiceIdT &&value)
ServiceDetail & WithManagesVpcEndpoints(bool value)
ServiceDetail & WithTags(TagsT &&value)
ServiceDetail & AddPrivateDnsNames(PrivateDnsNamesT &&value)
ServiceDetail & WithVpcEndpointPolicySupported(bool value)
void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
ServiceDetail & WithBaseEndpointDnsNames(BaseEndpointDnsNamesT &&value)
void SetVpcEndpointPolicySupported(bool value)
ServiceDetail & AddSupportedIpAddressTypes(ServiceConnectivityType value)
AWS_EC2_API ServiceDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Aws::String > & GetAvailabilityZoneIds() 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
AWS_EC2_API ServiceDetail()=default
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)
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 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