AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ServiceDetail.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/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/PayerResponsibility.h>
12#include <aws/ec2/model/DnsNameState.h>
13#include <aws/ec2/model/ServiceTypeDetail.h>
14#include <aws/ec2/model/PrivateDnsDetails.h>
15#include <aws/ec2/model/Tag.h>
16#include <aws/ec2/model/ServiceConnectivityType.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Xml
24{
25 class XmlNode;
26} // namespace Xml
27} // namespace Utils
28namespace EC2
29{
30namespace Model
31{
32
39 {
40 public:
41 AWS_EC2_API ServiceDetail() = default;
42 AWS_EC2_API ServiceDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
43 AWS_EC2_API ServiceDetail& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
44
45 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
46 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
47
48
50
53 inline const Aws::String& GetServiceName() const { return m_serviceName; }
54 inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
55 template<typename ServiceNameT = Aws::String>
56 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::forward<ServiceNameT>(value); }
57 template<typename ServiceNameT = Aws::String>
58 ServiceDetail& WithServiceName(ServiceNameT&& value) { SetServiceName(std::forward<ServiceNameT>(value)); return *this;}
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) { m_serviceIdHasBeenSet = true; m_serviceId = std::forward<ServiceIdT>(value); }
69 template<typename ServiceIdT = Aws::String>
70 ServiceDetail& WithServiceId(ServiceIdT&& value) { SetServiceId(std::forward<ServiceIdT>(value)); return *this;}
72
74
77 inline const Aws::Vector<ServiceTypeDetail>& GetServiceType() const { return m_serviceType; }
78 inline bool ServiceTypeHasBeenSet() const { return m_serviceTypeHasBeenSet; }
79 template<typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
80 void SetServiceType(ServiceTypeT&& value) { m_serviceTypeHasBeenSet = true; m_serviceType = std::forward<ServiceTypeT>(value); }
81 template<typename ServiceTypeT = Aws::Vector<ServiceTypeDetail>>
82 ServiceDetail& WithServiceType(ServiceTypeT&& value) { SetServiceType(std::forward<ServiceTypeT>(value)); return *this;}
83 template<typename ServiceTypeT = ServiceTypeDetail>
84 ServiceDetail& AddServiceType(ServiceTypeT&& value) { m_serviceTypeHasBeenSet = true; m_serviceType.emplace_back(std::forward<ServiceTypeT>(value)); return *this; }
86
88
91 inline const Aws::String& GetServiceRegion() const { return m_serviceRegion; }
92 inline bool ServiceRegionHasBeenSet() const { return m_serviceRegionHasBeenSet; }
93 template<typename ServiceRegionT = Aws::String>
94 void SetServiceRegion(ServiceRegionT&& value) { m_serviceRegionHasBeenSet = true; m_serviceRegion = std::forward<ServiceRegionT>(value); }
95 template<typename ServiceRegionT = Aws::String>
96 ServiceDetail& WithServiceRegion(ServiceRegionT&& value) { SetServiceRegion(std::forward<ServiceRegionT>(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 ServiceDetail& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
109 template<typename AvailabilityZonesT = Aws::String>
110 ServiceDetail& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
112
114
117 inline const Aws::String& GetOwner() const { return m_owner; }
118 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
119 template<typename OwnerT = Aws::String>
120 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet = true; m_owner = std::forward<OwnerT>(value); }
121 template<typename OwnerT = Aws::String>
122 ServiceDetail& WithOwner(OwnerT&& value) { SetOwner(std::forward<OwnerT>(value)); return *this;}
124
126
129 inline const Aws::Vector<Aws::String>& GetBaseEndpointDnsNames() const { return m_baseEndpointDnsNames; }
130 inline bool BaseEndpointDnsNamesHasBeenSet() const { return m_baseEndpointDnsNamesHasBeenSet; }
131 template<typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
132 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet = true; m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value); }
133 template<typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
134 ServiceDetail& WithBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { SetBaseEndpointDnsNames(std::forward<BaseEndpointDnsNamesT>(value)); return *this;}
135 template<typename BaseEndpointDnsNamesT = Aws::String>
136 ServiceDetail& AddBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet = true; m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value)); return *this; }
138
140
143 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
144 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
145 template<typename PrivateDnsNameT = Aws::String>
146 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
147 template<typename PrivateDnsNameT = Aws::String>
148 ServiceDetail& WithPrivateDnsName(PrivateDnsNameT&& value) { SetPrivateDnsName(std::forward<PrivateDnsNameT>(value)); return *this;}
150
152
155 inline const Aws::Vector<PrivateDnsDetails>& GetPrivateDnsNames() const { return m_privateDnsNames; }
156 inline bool PrivateDnsNamesHasBeenSet() const { return m_privateDnsNamesHasBeenSet; }
157 template<typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
158 void SetPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet = true; m_privateDnsNames = std::forward<PrivateDnsNamesT>(value); }
159 template<typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
160 ServiceDetail& WithPrivateDnsNames(PrivateDnsNamesT&& value) { SetPrivateDnsNames(std::forward<PrivateDnsNamesT>(value)); return *this;}
161 template<typename PrivateDnsNamesT = PrivateDnsDetails>
162 ServiceDetail& AddPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet = true; m_privateDnsNames.emplace_back(std::forward<PrivateDnsNamesT>(value)); return *this; }
164
166
169 inline bool GetVpcEndpointPolicySupported() const { return m_vpcEndpointPolicySupported; }
170 inline bool VpcEndpointPolicySupportedHasBeenSet() const { return m_vpcEndpointPolicySupportedHasBeenSet; }
171 inline void SetVpcEndpointPolicySupported(bool value) { m_vpcEndpointPolicySupportedHasBeenSet = true; m_vpcEndpointPolicySupported = value; }
174
176
180 inline bool GetAcceptanceRequired() const { return m_acceptanceRequired; }
181 inline bool AcceptanceRequiredHasBeenSet() const { return m_acceptanceRequiredHasBeenSet; }
182 inline void SetAcceptanceRequired(bool value) { m_acceptanceRequiredHasBeenSet = true; m_acceptanceRequired = value; }
183 inline ServiceDetail& WithAcceptanceRequired(bool value) { SetAcceptanceRequired(value); return *this;}
185
187
191 inline bool GetManagesVpcEndpoints() const { return m_managesVpcEndpoints; }
192 inline bool ManagesVpcEndpointsHasBeenSet() const { return m_managesVpcEndpointsHasBeenSet; }
193 inline void SetManagesVpcEndpoints(bool value) { m_managesVpcEndpointsHasBeenSet = true; m_managesVpcEndpoints = value; }
194 inline ServiceDetail& WithManagesVpcEndpoints(bool value) { SetManagesVpcEndpoints(value); return *this;}
196
198
201 inline PayerResponsibility GetPayerResponsibility() const { return m_payerResponsibility; }
202 inline bool PayerResponsibilityHasBeenSet() const { return m_payerResponsibilityHasBeenSet; }
203 inline void SetPayerResponsibility(PayerResponsibility value) { m_payerResponsibilityHasBeenSet = true; m_payerResponsibility = value; }
206
208
211 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
212 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
213 template<typename TagsT = Aws::Vector<Tag>>
214 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
215 template<typename TagsT = Aws::Vector<Tag>>
216 ServiceDetail& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
217 template<typename TagsT = Tag>
218 ServiceDetail& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
220
222
227 inline DnsNameState GetPrivateDnsNameVerificationState() const { return m_privateDnsNameVerificationState; }
228 inline bool PrivateDnsNameVerificationStateHasBeenSet() const { return m_privateDnsNameVerificationStateHasBeenSet; }
229 inline void SetPrivateDnsNameVerificationState(DnsNameState value) { m_privateDnsNameVerificationStateHasBeenSet = true; m_privateDnsNameVerificationState = value; }
232
234
237 inline const Aws::Vector<ServiceConnectivityType>& GetSupportedIpAddressTypes() const { return m_supportedIpAddressTypes; }
238 inline bool SupportedIpAddressTypesHasBeenSet() const { return m_supportedIpAddressTypesHasBeenSet; }
239 template<typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
240 void SetSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { m_supportedIpAddressTypesHasBeenSet = true; m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value); }
241 template<typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
242 ServiceDetail& WithSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { SetSupportedIpAddressTypes(std::forward<SupportedIpAddressTypesT>(value)); return *this;}
243 inline ServiceDetail& AddSupportedIpAddressTypes(ServiceConnectivityType value) { m_supportedIpAddressTypesHasBeenSet = true; m_supportedIpAddressTypes.push_back(value); return *this; }
245 private:
246
247 Aws::String m_serviceName;
248 bool m_serviceNameHasBeenSet = false;
249
250 Aws::String m_serviceId;
251 bool m_serviceIdHasBeenSet = false;
252
253 Aws::Vector<ServiceTypeDetail> m_serviceType;
254 bool m_serviceTypeHasBeenSet = false;
255
256 Aws::String m_serviceRegion;
257 bool m_serviceRegionHasBeenSet = false;
258
259 Aws::Vector<Aws::String> m_availabilityZones;
260 bool m_availabilityZonesHasBeenSet = false;
261
262 Aws::String m_owner;
263 bool m_ownerHasBeenSet = false;
264
265 Aws::Vector<Aws::String> m_baseEndpointDnsNames;
266 bool m_baseEndpointDnsNamesHasBeenSet = false;
267
268 Aws::String m_privateDnsName;
269 bool m_privateDnsNameHasBeenSet = false;
270
271 Aws::Vector<PrivateDnsDetails> m_privateDnsNames;
272 bool m_privateDnsNamesHasBeenSet = false;
273
274 bool m_vpcEndpointPolicySupported{false};
275 bool m_vpcEndpointPolicySupportedHasBeenSet = false;
276
277 bool m_acceptanceRequired{false};
278 bool m_acceptanceRequiredHasBeenSet = false;
279
280 bool m_managesVpcEndpoints{false};
281 bool m_managesVpcEndpointsHasBeenSet = false;
282
284 bool m_payerResponsibilityHasBeenSet = false;
285
286 Aws::Vector<Tag> m_tags;
287 bool m_tagsHasBeenSet = false;
288
289 DnsNameState m_privateDnsNameVerificationState{DnsNameState::NOT_SET};
290 bool m_privateDnsNameVerificationStateHasBeenSet = false;
291
292 Aws::Vector<ServiceConnectivityType> m_supportedIpAddressTypes;
293 bool m_supportedIpAddressTypesHasBeenSet = false;
294 };
295
296} // namespace Model
297} // namespace EC2
298} // namespace Aws
ServiceDetail & WithServiceType(ServiceTypeT &&value)
ServiceDetail & AddServiceType(ServiceTypeT &&value)
ServiceDetail & WithPayerResponsibility(PayerResponsibility 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)
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< 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
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