AWS SDK for C++

AWS SDK for C++ Version 1.11.903

Loading...
Searching...
No Matches
CreateResolverEndpointRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/route53resolver/Route53ResolverRequest.h>
10#include <aws/route53resolver/Route53Resolver_EXPORTS.h>
11#include <aws/route53resolver/model/IpAddressRequest.h>
12#include <aws/route53resolver/model/Protocol.h>
13#include <aws/route53resolver/model/ResolverEndpointDirection.h>
14#include <aws/route53resolver/model/ResolverEndpointType.h>
15#include <aws/route53resolver/model/Tag.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Route53Resolver {
21namespace Model {
22
26 public:
27 AWS_ROUTE53RESOLVER_API CreateResolverEndpointRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateResolverEndpoint"; }
34
35 AWS_ROUTE53RESOLVER_API Aws::String SerializePayload() const override;
36
37 AWS_ROUTE53RESOLVER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38
40
46 inline const Aws::String& GetCreatorRequestId() const { return m_creatorRequestId; }
47 inline bool CreatorRequestIdHasBeenSet() const { return m_creatorRequestIdHasBeenSet; }
48 template <typename CreatorRequestIdT = Aws::String>
49 void SetCreatorRequestId(CreatorRequestIdT&& value) {
50 m_creatorRequestIdHasBeenSet = true;
51 m_creatorRequestId = std::forward<CreatorRequestIdT>(value);
52 }
53 template <typename CreatorRequestIdT = Aws::String>
55 SetCreatorRequestId(std::forward<CreatorRequestIdT>(value));
56 return *this;
57 }
59
61
65 inline const Aws::String& GetName() const { return m_name; }
66 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
67 template <typename NameT = Aws::String>
68 void SetName(NameT&& value) {
69 m_nameHasBeenSet = true;
70 m_name = std::forward<NameT>(value);
71 }
72 template <typename NameT = Aws::String>
74 SetName(std::forward<NameT>(value));
75 return *this;
76 }
78
80
95 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
96 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
97 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
98 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
99 m_securityGroupIdsHasBeenSet = true;
100 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
101 }
102 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
104 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
105 return *this;
106 }
107 template <typename SecurityGroupIdsT = Aws::String>
109 m_securityGroupIdsHasBeenSet = true;
110 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
111 return *this;
112 }
114
116
124 inline ResolverEndpointDirection GetDirection() const { return m_direction; }
125 inline bool DirectionHasBeenSet() const { return m_directionHasBeenSet; }
127 m_directionHasBeenSet = true;
128 m_direction = value;
129 }
131 SetDirection(value);
132 return *this;
133 }
135
137
155 inline const Aws::Vector<IpAddressRequest>& GetIpAddresses() const { return m_ipAddresses; }
156 inline bool IpAddressesHasBeenSet() const { return m_ipAddressesHasBeenSet; }
157 template <typename IpAddressesT = Aws::Vector<IpAddressRequest>>
158 void SetIpAddresses(IpAddressesT&& value) {
159 m_ipAddressesHasBeenSet = true;
160 m_ipAddresses = std::forward<IpAddressesT>(value);
161 }
162 template <typename IpAddressesT = Aws::Vector<IpAddressRequest>>
164 SetIpAddresses(std::forward<IpAddressesT>(value));
165 return *this;
166 }
167 template <typename IpAddressesT = IpAddressRequest>
169 m_ipAddressesHasBeenSet = true;
170 m_ipAddresses.emplace_back(std::forward<IpAddressesT>(value));
171 return *this;
172 }
174
176
183 inline const Aws::String& GetOutpostArn() const { return m_outpostArn; }
184 inline bool OutpostArnHasBeenSet() const { return m_outpostArnHasBeenSet; }
185 template <typename OutpostArnT = Aws::String>
186 void SetOutpostArn(OutpostArnT&& value) {
187 m_outpostArnHasBeenSet = true;
188 m_outpostArn = std::forward<OutpostArnT>(value);
189 }
190 template <typename OutpostArnT = Aws::String>
192 SetOutpostArn(std::forward<OutpostArnT>(value));
193 return *this;
194 }
196
198
202 inline const Aws::String& GetPreferredInstanceType() const { return m_preferredInstanceType; }
203 inline bool PreferredInstanceTypeHasBeenSet() const { return m_preferredInstanceTypeHasBeenSet; }
204 template <typename PreferredInstanceTypeT = Aws::String>
205 void SetPreferredInstanceType(PreferredInstanceTypeT&& value) {
206 m_preferredInstanceTypeHasBeenSet = true;
207 m_preferredInstanceType = std::forward<PreferredInstanceTypeT>(value);
208 }
209 template <typename PreferredInstanceTypeT = Aws::String>
211 SetPreferredInstanceType(std::forward<PreferredInstanceTypeT>(value));
212 return *this;
213 }
215
217
221 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
222 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
223 template <typename TagsT = Aws::Vector<Tag>>
224 void SetTags(TagsT&& value) {
225 m_tagsHasBeenSet = true;
226 m_tags = std::forward<TagsT>(value);
227 }
228 template <typename TagsT = Aws::Vector<Tag>>
230 SetTags(std::forward<TagsT>(value));
231 return *this;
232 }
233 template <typename TagsT = Tag>
235 m_tagsHasBeenSet = true;
236 m_tags.emplace_back(std::forward<TagsT>(value));
237 return *this;
238 }
240
242
247 inline ResolverEndpointType GetResolverEndpointType() const { return m_resolverEndpointType; }
248 inline bool ResolverEndpointTypeHasBeenSet() const { return m_resolverEndpointTypeHasBeenSet; }
250 m_resolverEndpointTypeHasBeenSet = true;
251 m_resolverEndpointType = value;
252 }
255 return *this;
256 }
258
260
272 inline const Aws::Vector<Protocol>& GetProtocols() const { return m_protocols; }
273 inline bool ProtocolsHasBeenSet() const { return m_protocolsHasBeenSet; }
274 template <typename ProtocolsT = Aws::Vector<Protocol>>
275 void SetProtocols(ProtocolsT&& value) {
276 m_protocolsHasBeenSet = true;
277 m_protocols = std::forward<ProtocolsT>(value);
278 }
279 template <typename ProtocolsT = Aws::Vector<Protocol>>
281 SetProtocols(std::forward<ProtocolsT>(value));
282 return *this;
283 }
285 m_protocolsHasBeenSet = true;
286 m_protocols.push_back(value);
287 return *this;
288 }
290
292
302 inline bool GetRniEnhancedMetricsEnabled() const { return m_rniEnhancedMetricsEnabled; }
303 inline bool RniEnhancedMetricsEnabledHasBeenSet() const { return m_rniEnhancedMetricsEnabledHasBeenSet; }
304 inline void SetRniEnhancedMetricsEnabled(bool value) {
305 m_rniEnhancedMetricsEnabledHasBeenSet = true;
306 m_rniEnhancedMetricsEnabled = value;
307 }
310 return *this;
311 }
313
315
326 inline bool GetTargetNameServerMetricsEnabled() const { return m_targetNameServerMetricsEnabled; }
327 inline bool TargetNameServerMetricsEnabledHasBeenSet() const { return m_targetNameServerMetricsEnabledHasBeenSet; }
328 inline void SetTargetNameServerMetricsEnabled(bool value) {
329 m_targetNameServerMetricsEnabledHasBeenSet = true;
330 m_targetNameServerMetricsEnabled = value;
331 }
334 return *this;
335 }
337
339
347 inline bool GetDns64Enabled() const { return m_dns64Enabled; }
348 inline bool Dns64EnabledHasBeenSet() const { return m_dns64EnabledHasBeenSet; }
349 inline void SetDns64Enabled(bool value) {
350 m_dns64EnabledHasBeenSet = true;
351 m_dns64Enabled = value;
352 }
354 SetDns64Enabled(value);
355 return *this;
356 }
358
360
374 inline bool GetIpv6InternetAccessEnabled() const { return m_ipv6InternetAccessEnabled; }
375 inline bool Ipv6InternetAccessEnabledHasBeenSet() const { return m_ipv6InternetAccessEnabledHasBeenSet; }
376 inline void SetIpv6InternetAccessEnabled(bool value) {
377 m_ipv6InternetAccessEnabledHasBeenSet = true;
378 m_ipv6InternetAccessEnabled = value;
379 }
382 return *this;
383 }
385 private:
386 Aws::String m_creatorRequestId;
387
388 Aws::String m_name;
389
390 Aws::Vector<Aws::String> m_securityGroupIds;
391
393
394 Aws::Vector<IpAddressRequest> m_ipAddresses;
395
396 Aws::String m_outpostArn;
397
398 Aws::String m_preferredInstanceType;
399
400 Aws::Vector<Tag> m_tags;
401
403
404 Aws::Vector<Protocol> m_protocols;
405
406 bool m_rniEnhancedMetricsEnabled{false};
407
408 bool m_targetNameServerMetricsEnabled{false};
409
410 bool m_dns64Enabled{false};
411
412 bool m_ipv6InternetAccessEnabled{false};
413 bool m_creatorRequestIdHasBeenSet = false;
414 bool m_nameHasBeenSet = false;
415 bool m_securityGroupIdsHasBeenSet = false;
416 bool m_directionHasBeenSet = false;
417 bool m_ipAddressesHasBeenSet = false;
418 bool m_outpostArnHasBeenSet = false;
419 bool m_preferredInstanceTypeHasBeenSet = false;
420 bool m_tagsHasBeenSet = false;
421 bool m_resolverEndpointTypeHasBeenSet = false;
422 bool m_protocolsHasBeenSet = false;
423 bool m_rniEnhancedMetricsEnabledHasBeenSet = false;
424 bool m_targetNameServerMetricsEnabledHasBeenSet = false;
425 bool m_dns64EnabledHasBeenSet = false;
426 bool m_ipv6InternetAccessEnabledHasBeenSet = false;
427};
428
429} // namespace Model
430} // namespace Route53Resolver
431} // namespace Aws
CreateResolverEndpointRequest & AddIpAddresses(IpAddressesT &&value)
CreateResolverEndpointRequest & WithCreatorRequestId(CreatorRequestIdT &&value)
const Aws::Vector< IpAddressRequest > & GetIpAddresses() const
AWS_ROUTE53RESOLVER_API CreateResolverEndpointRequest()=default
CreateResolverEndpointRequest & WithIpAddresses(IpAddressesT &&value)
CreateResolverEndpointRequest & WithOutpostArn(OutpostArnT &&value)
CreateResolverEndpointRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
CreateResolverEndpointRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
AWS_ROUTE53RESOLVER_API Aws::String SerializePayload() const override
CreateResolverEndpointRequest & WithProtocols(ProtocolsT &&value)
CreateResolverEndpointRequest & WithPreferredInstanceType(PreferredInstanceTypeT &&value)
CreateResolverEndpointRequest & WithIpv6InternetAccessEnabled(bool value)
AWS_ROUTE53RESOLVER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateResolverEndpointRequest & WithRniEnhancedMetricsEnabled(bool value)
CreateResolverEndpointRequest & WithResolverEndpointType(ResolverEndpointType value)
CreateResolverEndpointRequest & WithDirection(ResolverEndpointDirection value)
CreateResolverEndpointRequest & WithTargetNameServerMetricsEnabled(bool value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector