AWS SDK for C++

AWS SDK for C++ Version 1.11.635

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
105 inline const Aws::Vector<Aws::String>& GetAvailabilityZoneIds() const { return m_availabilityZoneIds; }
106 inline bool AvailabilityZoneIdsHasBeenSet() const { return m_availabilityZoneIdsHasBeenSet; }
107 template<typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
108 void SetAvailabilityZoneIds(AvailabilityZoneIdsT&& value) { m_availabilityZoneIdsHasBeenSet = true; m_availabilityZoneIds = std::forward<AvailabilityZoneIdsT>(value); }
109 template<typename AvailabilityZoneIdsT = Aws::Vector<Aws::String>>
110 ServiceDetail& WithAvailabilityZoneIds(AvailabilityZoneIdsT&& value) { SetAvailabilityZoneIds(std::forward<AvailabilityZoneIdsT>(value)); return *this;}
111 template<typename AvailabilityZoneIdsT = Aws::String>
112 ServiceDetail& AddAvailabilityZoneIds(AvailabilityZoneIdsT&& value) { m_availabilityZoneIdsHasBeenSet = true; m_availabilityZoneIds.emplace_back(std::forward<AvailabilityZoneIdsT>(value)); return *this; }
114
116
121 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
122 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
123 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
124 void SetAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::forward<AvailabilityZonesT>(value); }
125 template<typename AvailabilityZonesT = Aws::Vector<Aws::String>>
126 ServiceDetail& WithAvailabilityZones(AvailabilityZonesT&& value) { SetAvailabilityZones(std::forward<AvailabilityZonesT>(value)); return *this;}
127 template<typename AvailabilityZonesT = Aws::String>
128 ServiceDetail& AddAvailabilityZones(AvailabilityZonesT&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value)); return *this; }
130
132
135 inline const Aws::String& GetOwner() const { return m_owner; }
136 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
137 template<typename OwnerT = Aws::String>
138 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet = true; m_owner = std::forward<OwnerT>(value); }
139 template<typename OwnerT = Aws::String>
140 ServiceDetail& WithOwner(OwnerT&& value) { SetOwner(std::forward<OwnerT>(value)); return *this;}
142
144
147 inline const Aws::Vector<Aws::String>& GetBaseEndpointDnsNames() const { return m_baseEndpointDnsNames; }
148 inline bool BaseEndpointDnsNamesHasBeenSet() const { return m_baseEndpointDnsNamesHasBeenSet; }
149 template<typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
150 void SetBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet = true; m_baseEndpointDnsNames = std::forward<BaseEndpointDnsNamesT>(value); }
151 template<typename BaseEndpointDnsNamesT = Aws::Vector<Aws::String>>
152 ServiceDetail& WithBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { SetBaseEndpointDnsNames(std::forward<BaseEndpointDnsNamesT>(value)); return *this;}
153 template<typename BaseEndpointDnsNamesT = Aws::String>
154 ServiceDetail& AddBaseEndpointDnsNames(BaseEndpointDnsNamesT&& value) { m_baseEndpointDnsNamesHasBeenSet = true; m_baseEndpointDnsNames.emplace_back(std::forward<BaseEndpointDnsNamesT>(value)); return *this; }
156
158
161 inline const Aws::String& GetPrivateDnsName() const { return m_privateDnsName; }
162 inline bool PrivateDnsNameHasBeenSet() const { return m_privateDnsNameHasBeenSet; }
163 template<typename PrivateDnsNameT = Aws::String>
164 void SetPrivateDnsName(PrivateDnsNameT&& value) { m_privateDnsNameHasBeenSet = true; m_privateDnsName = std::forward<PrivateDnsNameT>(value); }
165 template<typename PrivateDnsNameT = Aws::String>
166 ServiceDetail& WithPrivateDnsName(PrivateDnsNameT&& value) { SetPrivateDnsName(std::forward<PrivateDnsNameT>(value)); return *this;}
168
170
173 inline const Aws::Vector<PrivateDnsDetails>& GetPrivateDnsNames() const { return m_privateDnsNames; }
174 inline bool PrivateDnsNamesHasBeenSet() const { return m_privateDnsNamesHasBeenSet; }
175 template<typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
176 void SetPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet = true; m_privateDnsNames = std::forward<PrivateDnsNamesT>(value); }
177 template<typename PrivateDnsNamesT = Aws::Vector<PrivateDnsDetails>>
178 ServiceDetail& WithPrivateDnsNames(PrivateDnsNamesT&& value) { SetPrivateDnsNames(std::forward<PrivateDnsNamesT>(value)); return *this;}
179 template<typename PrivateDnsNamesT = PrivateDnsDetails>
180 ServiceDetail& AddPrivateDnsNames(PrivateDnsNamesT&& value) { m_privateDnsNamesHasBeenSet = true; m_privateDnsNames.emplace_back(std::forward<PrivateDnsNamesT>(value)); return *this; }
182
184
187 inline bool GetVpcEndpointPolicySupported() const { return m_vpcEndpointPolicySupported; }
188 inline bool VpcEndpointPolicySupportedHasBeenSet() const { return m_vpcEndpointPolicySupportedHasBeenSet; }
189 inline void SetVpcEndpointPolicySupported(bool value) { m_vpcEndpointPolicySupportedHasBeenSet = true; m_vpcEndpointPolicySupported = value; }
192
194
198 inline bool GetAcceptanceRequired() const { return m_acceptanceRequired; }
199 inline bool AcceptanceRequiredHasBeenSet() const { return m_acceptanceRequiredHasBeenSet; }
200 inline void SetAcceptanceRequired(bool value) { m_acceptanceRequiredHasBeenSet = true; m_acceptanceRequired = value; }
201 inline ServiceDetail& WithAcceptanceRequired(bool value) { SetAcceptanceRequired(value); return *this;}
203
205
209 inline bool GetManagesVpcEndpoints() const { return m_managesVpcEndpoints; }
210 inline bool ManagesVpcEndpointsHasBeenSet() const { return m_managesVpcEndpointsHasBeenSet; }
211 inline void SetManagesVpcEndpoints(bool value) { m_managesVpcEndpointsHasBeenSet = true; m_managesVpcEndpoints = value; }
212 inline ServiceDetail& WithManagesVpcEndpoints(bool value) { SetManagesVpcEndpoints(value); return *this;}
214
216
219 inline PayerResponsibility GetPayerResponsibility() const { return m_payerResponsibility; }
220 inline bool PayerResponsibilityHasBeenSet() const { return m_payerResponsibilityHasBeenSet; }
221 inline void SetPayerResponsibility(PayerResponsibility value) { m_payerResponsibilityHasBeenSet = true; m_payerResponsibility = value; }
224
226
229 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
230 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
231 template<typename TagsT = Aws::Vector<Tag>>
232 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
233 template<typename TagsT = Aws::Vector<Tag>>
234 ServiceDetail& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
235 template<typename TagsT = Tag>
236 ServiceDetail& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
238
240
245 inline DnsNameState GetPrivateDnsNameVerificationState() const { return m_privateDnsNameVerificationState; }
246 inline bool PrivateDnsNameVerificationStateHasBeenSet() const { return m_privateDnsNameVerificationStateHasBeenSet; }
247 inline void SetPrivateDnsNameVerificationState(DnsNameState value) { m_privateDnsNameVerificationStateHasBeenSet = true; m_privateDnsNameVerificationState = value; }
250
252
255 inline const Aws::Vector<ServiceConnectivityType>& GetSupportedIpAddressTypes() const { return m_supportedIpAddressTypes; }
256 inline bool SupportedIpAddressTypesHasBeenSet() const { return m_supportedIpAddressTypesHasBeenSet; }
257 template<typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
258 void SetSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { m_supportedIpAddressTypesHasBeenSet = true; m_supportedIpAddressTypes = std::forward<SupportedIpAddressTypesT>(value); }
259 template<typename SupportedIpAddressTypesT = Aws::Vector<ServiceConnectivityType>>
260 ServiceDetail& WithSupportedIpAddressTypes(SupportedIpAddressTypesT&& value) { SetSupportedIpAddressTypes(std::forward<SupportedIpAddressTypesT>(value)); return *this;}
261 inline ServiceDetail& AddSupportedIpAddressTypes(ServiceConnectivityType value) { m_supportedIpAddressTypesHasBeenSet = true; m_supportedIpAddressTypes.push_back(value); return *this; }
263 private:
264
265 Aws::String m_serviceName;
266 bool m_serviceNameHasBeenSet = false;
267
268 Aws::String m_serviceId;
269 bool m_serviceIdHasBeenSet = false;
270
271 Aws::Vector<ServiceTypeDetail> m_serviceType;
272 bool m_serviceTypeHasBeenSet = false;
273
274 Aws::String m_serviceRegion;
275 bool m_serviceRegionHasBeenSet = false;
276
277 Aws::Vector<Aws::String> m_availabilityZoneIds;
278 bool m_availabilityZoneIdsHasBeenSet = false;
279
280 Aws::Vector<Aws::String> m_availabilityZones;
281 bool m_availabilityZonesHasBeenSet = false;
282
283 Aws::String m_owner;
284 bool m_ownerHasBeenSet = false;
285
286 Aws::Vector<Aws::String> m_baseEndpointDnsNames;
287 bool m_baseEndpointDnsNamesHasBeenSet = false;
288
289 Aws::String m_privateDnsName;
290 bool m_privateDnsNameHasBeenSet = false;
291
292 Aws::Vector<PrivateDnsDetails> m_privateDnsNames;
293 bool m_privateDnsNamesHasBeenSet = false;
294
295 bool m_vpcEndpointPolicySupported{false};
296 bool m_vpcEndpointPolicySupportedHasBeenSet = false;
297
298 bool m_acceptanceRequired{false};
299 bool m_acceptanceRequiredHasBeenSet = false;
300
301 bool m_managesVpcEndpoints{false};
302 bool m_managesVpcEndpointsHasBeenSet = false;
303
305 bool m_payerResponsibilityHasBeenSet = false;
306
307 Aws::Vector<Tag> m_tags;
308 bool m_tagsHasBeenSet = false;
309
310 DnsNameState m_privateDnsNameVerificationState{DnsNameState::NOT_SET};
311 bool m_privateDnsNameVerificationStateHasBeenSet = false;
312
313 Aws::Vector<ServiceConnectivityType> m_supportedIpAddressTypes;
314 bool m_supportedIpAddressTypesHasBeenSet = false;
315 };
316
317} // namespace Model
318} // namespace EC2
319} // 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