1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/core/utils/Outcome.h>
7 #include <aws/core/auth/AWSAuthSigner.h>
8 #include <aws/core/client/CoreErrors.h>
9 #include <aws/core/client/RetryStrategy.h>
10 #include <aws/core/http/HttpClient.h>
11 #include <aws/core/http/HttpResponse.h>
12 #include <aws/core/http/HttpClientFactory.h>
13 #include <aws/core/auth/AWSCredentialsProviderChain.h>
14 #include <aws/core/utils/xml/XmlSerializer.h>
15 #include <aws/core/utils/memory/stl/AWSStringStream.h>
16 #include <aws/core/utils/threading/Executor.h>
17 #include <aws/core/utils/DNS.h>
18 #include <aws/core/utils/logging/LogMacros.h>
19 
20 #include <aws/route53/Route53Client.h>
21 #include <aws/route53/Route53Endpoint.h>
22 #include <aws/route53/Route53ErrorMarshaller.h>
23 #include <aws/route53/model/ActivateKeySigningKeyRequest.h>
24 #include <aws/route53/model/AssociateVPCWithHostedZoneRequest.h>
25 #include <aws/route53/model/ChangeResourceRecordSetsRequest.h>
26 #include <aws/route53/model/ChangeTagsForResourceRequest.h>
27 #include <aws/route53/model/CreateHealthCheckRequest.h>
28 #include <aws/route53/model/CreateHostedZoneRequest.h>
29 #include <aws/route53/model/CreateKeySigningKeyRequest.h>
30 #include <aws/route53/model/CreateQueryLoggingConfigRequest.h>
31 #include <aws/route53/model/CreateReusableDelegationSetRequest.h>
32 #include <aws/route53/model/CreateTrafficPolicyRequest.h>
33 #include <aws/route53/model/CreateTrafficPolicyInstanceRequest.h>
34 #include <aws/route53/model/CreateTrafficPolicyVersionRequest.h>
35 #include <aws/route53/model/CreateVPCAssociationAuthorizationRequest.h>
36 #include <aws/route53/model/DeactivateKeySigningKeyRequest.h>
37 #include <aws/route53/model/DeleteHealthCheckRequest.h>
38 #include <aws/route53/model/DeleteHostedZoneRequest.h>
39 #include <aws/route53/model/DeleteKeySigningKeyRequest.h>
40 #include <aws/route53/model/DeleteQueryLoggingConfigRequest.h>
41 #include <aws/route53/model/DeleteReusableDelegationSetRequest.h>
42 #include <aws/route53/model/DeleteTrafficPolicyRequest.h>
43 #include <aws/route53/model/DeleteTrafficPolicyInstanceRequest.h>
44 #include <aws/route53/model/DeleteVPCAssociationAuthorizationRequest.h>
45 #include <aws/route53/model/DisableHostedZoneDNSSECRequest.h>
46 #include <aws/route53/model/DisassociateVPCFromHostedZoneRequest.h>
47 #include <aws/route53/model/EnableHostedZoneDNSSECRequest.h>
48 #include <aws/route53/model/GetAccountLimitRequest.h>
49 #include <aws/route53/model/GetChangeRequest.h>
50 #include <aws/route53/model/GetCheckerIpRangesRequest.h>
51 #include <aws/route53/model/GetDNSSECRequest.h>
52 #include <aws/route53/model/GetGeoLocationRequest.h>
53 #include <aws/route53/model/GetHealthCheckRequest.h>
54 #include <aws/route53/model/GetHealthCheckCountRequest.h>
55 #include <aws/route53/model/GetHealthCheckLastFailureReasonRequest.h>
56 #include <aws/route53/model/GetHealthCheckStatusRequest.h>
57 #include <aws/route53/model/GetHostedZoneRequest.h>
58 #include <aws/route53/model/GetHostedZoneCountRequest.h>
59 #include <aws/route53/model/GetHostedZoneLimitRequest.h>
60 #include <aws/route53/model/GetQueryLoggingConfigRequest.h>
61 #include <aws/route53/model/GetReusableDelegationSetRequest.h>
62 #include <aws/route53/model/GetReusableDelegationSetLimitRequest.h>
63 #include <aws/route53/model/GetTrafficPolicyRequest.h>
64 #include <aws/route53/model/GetTrafficPolicyInstanceRequest.h>
65 #include <aws/route53/model/GetTrafficPolicyInstanceCountRequest.h>
66 #include <aws/route53/model/ListGeoLocationsRequest.h>
67 #include <aws/route53/model/ListHealthChecksRequest.h>
68 #include <aws/route53/model/ListHostedZonesRequest.h>
69 #include <aws/route53/model/ListHostedZonesByNameRequest.h>
70 #include <aws/route53/model/ListHostedZonesByVPCRequest.h>
71 #include <aws/route53/model/ListQueryLoggingConfigsRequest.h>
72 #include <aws/route53/model/ListResourceRecordSetsRequest.h>
73 #include <aws/route53/model/ListReusableDelegationSetsRequest.h>
74 #include <aws/route53/model/ListTagsForResourceRequest.h>
75 #include <aws/route53/model/ListTagsForResourcesRequest.h>
76 #include <aws/route53/model/ListTrafficPoliciesRequest.h>
77 #include <aws/route53/model/ListTrafficPolicyInstancesRequest.h>
78 #include <aws/route53/model/ListTrafficPolicyInstancesByHostedZoneRequest.h>
79 #include <aws/route53/model/ListTrafficPolicyInstancesByPolicyRequest.h>
80 #include <aws/route53/model/ListTrafficPolicyVersionsRequest.h>
81 #include <aws/route53/model/ListVPCAssociationAuthorizationsRequest.h>
82 #include <aws/route53/model/TestDNSAnswerRequest.h>
83 #include <aws/route53/model/UpdateHealthCheckRequest.h>
84 #include <aws/route53/model/UpdateHostedZoneCommentRequest.h>
85 #include <aws/route53/model/UpdateTrafficPolicyCommentRequest.h>
86 #include <aws/route53/model/UpdateTrafficPolicyInstanceRequest.h>
87 
88 using namespace Aws;
89 using namespace Aws::Auth;
90 using namespace Aws::Client;
91 using namespace Aws::Route53;
92 using namespace Aws::Route53::Model;
93 using namespace Aws::Http;
94 using namespace Aws::Utils::Xml;
95 
96 
97 static const char* SERVICE_NAME = "route53";
98 static const char* ALLOCATION_TAG = "Route53Client";
99 
100 
Route53Client(const Client::ClientConfiguration & clientConfiguration)101 Route53Client::Route53Client(const Client::ClientConfiguration& clientConfiguration) :
102   BASECLASS(clientConfiguration,
103     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
104         SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
105     Aws::MakeShared<Route53ErrorMarshaller>(ALLOCATION_TAG)),
106     m_executor(clientConfiguration.executor)
107 {
108   init(clientConfiguration);
109 }
110 
Route53Client(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)111 Route53Client::Route53Client(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
112   BASECLASS(clientConfiguration,
113     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
114          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
115     Aws::MakeShared<Route53ErrorMarshaller>(ALLOCATION_TAG)),
116     m_executor(clientConfiguration.executor)
117 {
118   init(clientConfiguration);
119 }
120 
Route53Client(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)121 Route53Client::Route53Client(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
122   const Client::ClientConfiguration& clientConfiguration) :
123   BASECLASS(clientConfiguration,
124     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
125          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
126     Aws::MakeShared<Route53ErrorMarshaller>(ALLOCATION_TAG)),
127     m_executor(clientConfiguration.executor)
128 {
129   init(clientConfiguration);
130 }
131 
~Route53Client()132 Route53Client::~Route53Client()
133 {
134 }
135 
init(const Client::ClientConfiguration & config)136 void Route53Client::init(const Client::ClientConfiguration& config)
137 {
138   SetServiceClientName("Route 53");
139   m_configScheme = SchemeMapper::ToString(config.scheme);
140   if (config.endpointOverride.empty())
141   {
142       m_uri = m_configScheme + "://" + Route53Endpoint::ForRegion(config.region, config.useDualStack);
143   }
144   else
145   {
146       OverrideEndpoint(config.endpointOverride);
147   }
148 }
149 
OverrideEndpoint(const Aws::String & endpoint)150 void Route53Client::OverrideEndpoint(const Aws::String& endpoint)
151 {
152   if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
153   {
154       m_uri = endpoint;
155   }
156   else
157   {
158       m_uri = m_configScheme + "://" + endpoint;
159   }
160 }
161 
ActivateKeySigningKey(const ActivateKeySigningKeyRequest & request) const162 ActivateKeySigningKeyOutcome Route53Client::ActivateKeySigningKey(const ActivateKeySigningKeyRequest& request) const
163 {
164   if (!request.HostedZoneIdHasBeenSet())
165   {
166     AWS_LOGSTREAM_ERROR("ActivateKeySigningKey", "Required field: HostedZoneId, is not set");
167     return ActivateKeySigningKeyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
168   }
169   if (!request.NameHasBeenSet())
170   {
171     AWS_LOGSTREAM_ERROR("ActivateKeySigningKey", "Required field: Name, is not set");
172     return ActivateKeySigningKeyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false));
173   }
174   Aws::Http::URI uri = m_uri;
175   uri.AddPathSegments("/2013-04-01/keysigningkey/");
176   uri.AddPathSegment(request.GetHostedZoneId());
177   uri.AddPathSegment(request.GetName());
178   uri.AddPathSegments("/activate");
179   return ActivateKeySigningKeyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
180 }
181 
ActivateKeySigningKeyCallable(const ActivateKeySigningKeyRequest & request) const182 ActivateKeySigningKeyOutcomeCallable Route53Client::ActivateKeySigningKeyCallable(const ActivateKeySigningKeyRequest& request) const
183 {
184   auto task = Aws::MakeShared< std::packaged_task< ActivateKeySigningKeyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ActivateKeySigningKey(request); } );
185   auto packagedFunction = [task]() { (*task)(); };
186   m_executor->Submit(packagedFunction);
187   return task->get_future();
188 }
189 
ActivateKeySigningKeyAsync(const ActivateKeySigningKeyRequest & request,const ActivateKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const190 void Route53Client::ActivateKeySigningKeyAsync(const ActivateKeySigningKeyRequest& request, const ActivateKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
191 {
192   m_executor->Submit( [this, request, handler, context](){ this->ActivateKeySigningKeyAsyncHelper( request, handler, context ); } );
193 }
194 
ActivateKeySigningKeyAsyncHelper(const ActivateKeySigningKeyRequest & request,const ActivateKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const195 void Route53Client::ActivateKeySigningKeyAsyncHelper(const ActivateKeySigningKeyRequest& request, const ActivateKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
196 {
197   handler(this, request, ActivateKeySigningKey(request), context);
198 }
199 
AssociateVPCWithHostedZone(const AssociateVPCWithHostedZoneRequest & request) const200 AssociateVPCWithHostedZoneOutcome Route53Client::AssociateVPCWithHostedZone(const AssociateVPCWithHostedZoneRequest& request) const
201 {
202   if (!request.HostedZoneIdHasBeenSet())
203   {
204     AWS_LOGSTREAM_ERROR("AssociateVPCWithHostedZone", "Required field: HostedZoneId, is not set");
205     return AssociateVPCWithHostedZoneOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
206   }
207   Aws::Http::URI uri = m_uri;
208   uri.AddPathSegments("/2013-04-01/hostedzone/");
209   uri.AddPathSegment(request.GetHostedZoneId());
210   uri.AddPathSegments("/associatevpc");
211   return AssociateVPCWithHostedZoneOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
212 }
213 
AssociateVPCWithHostedZoneCallable(const AssociateVPCWithHostedZoneRequest & request) const214 AssociateVPCWithHostedZoneOutcomeCallable Route53Client::AssociateVPCWithHostedZoneCallable(const AssociateVPCWithHostedZoneRequest& request) const
215 {
216   auto task = Aws::MakeShared< std::packaged_task< AssociateVPCWithHostedZoneOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->AssociateVPCWithHostedZone(request); } );
217   auto packagedFunction = [task]() { (*task)(); };
218   m_executor->Submit(packagedFunction);
219   return task->get_future();
220 }
221 
AssociateVPCWithHostedZoneAsync(const AssociateVPCWithHostedZoneRequest & request,const AssociateVPCWithHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const222 void Route53Client::AssociateVPCWithHostedZoneAsync(const AssociateVPCWithHostedZoneRequest& request, const AssociateVPCWithHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
223 {
224   m_executor->Submit( [this, request, handler, context](){ this->AssociateVPCWithHostedZoneAsyncHelper( request, handler, context ); } );
225 }
226 
AssociateVPCWithHostedZoneAsyncHelper(const AssociateVPCWithHostedZoneRequest & request,const AssociateVPCWithHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const227 void Route53Client::AssociateVPCWithHostedZoneAsyncHelper(const AssociateVPCWithHostedZoneRequest& request, const AssociateVPCWithHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
228 {
229   handler(this, request, AssociateVPCWithHostedZone(request), context);
230 }
231 
ChangeResourceRecordSets(const ChangeResourceRecordSetsRequest & request) const232 ChangeResourceRecordSetsOutcome Route53Client::ChangeResourceRecordSets(const ChangeResourceRecordSetsRequest& request) const
233 {
234   if (!request.HostedZoneIdHasBeenSet())
235   {
236     AWS_LOGSTREAM_ERROR("ChangeResourceRecordSets", "Required field: HostedZoneId, is not set");
237     return ChangeResourceRecordSetsOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
238   }
239   Aws::Http::URI uri = m_uri;
240   uri.AddPathSegments("/2013-04-01/hostedzone/");
241   uri.AddPathSegment(request.GetHostedZoneId());
242   uri.AddPathSegments("/rrset/");
243   return ChangeResourceRecordSetsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
244 }
245 
ChangeResourceRecordSetsCallable(const ChangeResourceRecordSetsRequest & request) const246 ChangeResourceRecordSetsOutcomeCallable Route53Client::ChangeResourceRecordSetsCallable(const ChangeResourceRecordSetsRequest& request) const
247 {
248   auto task = Aws::MakeShared< std::packaged_task< ChangeResourceRecordSetsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ChangeResourceRecordSets(request); } );
249   auto packagedFunction = [task]() { (*task)(); };
250   m_executor->Submit(packagedFunction);
251   return task->get_future();
252 }
253 
ChangeResourceRecordSetsAsync(const ChangeResourceRecordSetsRequest & request,const ChangeResourceRecordSetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const254 void Route53Client::ChangeResourceRecordSetsAsync(const ChangeResourceRecordSetsRequest& request, const ChangeResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
255 {
256   m_executor->Submit( [this, request, handler, context](){ this->ChangeResourceRecordSetsAsyncHelper( request, handler, context ); } );
257 }
258 
ChangeResourceRecordSetsAsyncHelper(const ChangeResourceRecordSetsRequest & request,const ChangeResourceRecordSetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const259 void Route53Client::ChangeResourceRecordSetsAsyncHelper(const ChangeResourceRecordSetsRequest& request, const ChangeResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
260 {
261   handler(this, request, ChangeResourceRecordSets(request), context);
262 }
263 
ChangeTagsForResource(const ChangeTagsForResourceRequest & request) const264 ChangeTagsForResourceOutcome Route53Client::ChangeTagsForResource(const ChangeTagsForResourceRequest& request) const
265 {
266   if (!request.ResourceTypeHasBeenSet())
267   {
268     AWS_LOGSTREAM_ERROR("ChangeTagsForResource", "Required field: ResourceType, is not set");
269     return ChangeTagsForResourceOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceType]", false));
270   }
271   if (!request.ResourceIdHasBeenSet())
272   {
273     AWS_LOGSTREAM_ERROR("ChangeTagsForResource", "Required field: ResourceId, is not set");
274     return ChangeTagsForResourceOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceId]", false));
275   }
276   Aws::Http::URI uri = m_uri;
277   uri.AddPathSegments("/2013-04-01/tags/");
278   uri.AddPathSegment(TagResourceTypeMapper::GetNameForTagResourceType(request.GetResourceType()));
279   uri.AddPathSegment(request.GetResourceId());
280   return ChangeTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
281 }
282 
ChangeTagsForResourceCallable(const ChangeTagsForResourceRequest & request) const283 ChangeTagsForResourceOutcomeCallable Route53Client::ChangeTagsForResourceCallable(const ChangeTagsForResourceRequest& request) const
284 {
285   auto task = Aws::MakeShared< std::packaged_task< ChangeTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ChangeTagsForResource(request); } );
286   auto packagedFunction = [task]() { (*task)(); };
287   m_executor->Submit(packagedFunction);
288   return task->get_future();
289 }
290 
ChangeTagsForResourceAsync(const ChangeTagsForResourceRequest & request,const ChangeTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const291 void Route53Client::ChangeTagsForResourceAsync(const ChangeTagsForResourceRequest& request, const ChangeTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
292 {
293   m_executor->Submit( [this, request, handler, context](){ this->ChangeTagsForResourceAsyncHelper( request, handler, context ); } );
294 }
295 
ChangeTagsForResourceAsyncHelper(const ChangeTagsForResourceRequest & request,const ChangeTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const296 void Route53Client::ChangeTagsForResourceAsyncHelper(const ChangeTagsForResourceRequest& request, const ChangeTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
297 {
298   handler(this, request, ChangeTagsForResource(request), context);
299 }
300 
CreateHealthCheck(const CreateHealthCheckRequest & request) const301 CreateHealthCheckOutcome Route53Client::CreateHealthCheck(const CreateHealthCheckRequest& request) const
302 {
303   Aws::Http::URI uri = m_uri;
304   uri.AddPathSegments("/2013-04-01/healthcheck");
305   return CreateHealthCheckOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
306 }
307 
CreateHealthCheckCallable(const CreateHealthCheckRequest & request) const308 CreateHealthCheckOutcomeCallable Route53Client::CreateHealthCheckCallable(const CreateHealthCheckRequest& request) const
309 {
310   auto task = Aws::MakeShared< std::packaged_task< CreateHealthCheckOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateHealthCheck(request); } );
311   auto packagedFunction = [task]() { (*task)(); };
312   m_executor->Submit(packagedFunction);
313   return task->get_future();
314 }
315 
CreateHealthCheckAsync(const CreateHealthCheckRequest & request,const CreateHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const316 void Route53Client::CreateHealthCheckAsync(const CreateHealthCheckRequest& request, const CreateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
317 {
318   m_executor->Submit( [this, request, handler, context](){ this->CreateHealthCheckAsyncHelper( request, handler, context ); } );
319 }
320 
CreateHealthCheckAsyncHelper(const CreateHealthCheckRequest & request,const CreateHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const321 void Route53Client::CreateHealthCheckAsyncHelper(const CreateHealthCheckRequest& request, const CreateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
322 {
323   handler(this, request, CreateHealthCheck(request), context);
324 }
325 
CreateHostedZone(const CreateHostedZoneRequest & request) const326 CreateHostedZoneOutcome Route53Client::CreateHostedZone(const CreateHostedZoneRequest& request) const
327 {
328   Aws::Http::URI uri = m_uri;
329   uri.AddPathSegments("/2013-04-01/hostedzone");
330   return CreateHostedZoneOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
331 }
332 
CreateHostedZoneCallable(const CreateHostedZoneRequest & request) const333 CreateHostedZoneOutcomeCallable Route53Client::CreateHostedZoneCallable(const CreateHostedZoneRequest& request) const
334 {
335   auto task = Aws::MakeShared< std::packaged_task< CreateHostedZoneOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateHostedZone(request); } );
336   auto packagedFunction = [task]() { (*task)(); };
337   m_executor->Submit(packagedFunction);
338   return task->get_future();
339 }
340 
CreateHostedZoneAsync(const CreateHostedZoneRequest & request,const CreateHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const341 void Route53Client::CreateHostedZoneAsync(const CreateHostedZoneRequest& request, const CreateHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
342 {
343   m_executor->Submit( [this, request, handler, context](){ this->CreateHostedZoneAsyncHelper( request, handler, context ); } );
344 }
345 
CreateHostedZoneAsyncHelper(const CreateHostedZoneRequest & request,const CreateHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const346 void Route53Client::CreateHostedZoneAsyncHelper(const CreateHostedZoneRequest& request, const CreateHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
347 {
348   handler(this, request, CreateHostedZone(request), context);
349 }
350 
CreateKeySigningKey(const CreateKeySigningKeyRequest & request) const351 CreateKeySigningKeyOutcome Route53Client::CreateKeySigningKey(const CreateKeySigningKeyRequest& request) const
352 {
353   Aws::Http::URI uri = m_uri;
354   uri.AddPathSegments("/2013-04-01/keysigningkey");
355   return CreateKeySigningKeyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
356 }
357 
CreateKeySigningKeyCallable(const CreateKeySigningKeyRequest & request) const358 CreateKeySigningKeyOutcomeCallable Route53Client::CreateKeySigningKeyCallable(const CreateKeySigningKeyRequest& request) const
359 {
360   auto task = Aws::MakeShared< std::packaged_task< CreateKeySigningKeyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateKeySigningKey(request); } );
361   auto packagedFunction = [task]() { (*task)(); };
362   m_executor->Submit(packagedFunction);
363   return task->get_future();
364 }
365 
CreateKeySigningKeyAsync(const CreateKeySigningKeyRequest & request,const CreateKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const366 void Route53Client::CreateKeySigningKeyAsync(const CreateKeySigningKeyRequest& request, const CreateKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
367 {
368   m_executor->Submit( [this, request, handler, context](){ this->CreateKeySigningKeyAsyncHelper( request, handler, context ); } );
369 }
370 
CreateKeySigningKeyAsyncHelper(const CreateKeySigningKeyRequest & request,const CreateKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const371 void Route53Client::CreateKeySigningKeyAsyncHelper(const CreateKeySigningKeyRequest& request, const CreateKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
372 {
373   handler(this, request, CreateKeySigningKey(request), context);
374 }
375 
CreateQueryLoggingConfig(const CreateQueryLoggingConfigRequest & request) const376 CreateQueryLoggingConfigOutcome Route53Client::CreateQueryLoggingConfig(const CreateQueryLoggingConfigRequest& request) const
377 {
378   Aws::Http::URI uri = m_uri;
379   uri.AddPathSegments("/2013-04-01/queryloggingconfig");
380   return CreateQueryLoggingConfigOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
381 }
382 
CreateQueryLoggingConfigCallable(const CreateQueryLoggingConfigRequest & request) const383 CreateQueryLoggingConfigOutcomeCallable Route53Client::CreateQueryLoggingConfigCallable(const CreateQueryLoggingConfigRequest& request) const
384 {
385   auto task = Aws::MakeShared< std::packaged_task< CreateQueryLoggingConfigOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateQueryLoggingConfig(request); } );
386   auto packagedFunction = [task]() { (*task)(); };
387   m_executor->Submit(packagedFunction);
388   return task->get_future();
389 }
390 
CreateQueryLoggingConfigAsync(const CreateQueryLoggingConfigRequest & request,const CreateQueryLoggingConfigResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const391 void Route53Client::CreateQueryLoggingConfigAsync(const CreateQueryLoggingConfigRequest& request, const CreateQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
392 {
393   m_executor->Submit( [this, request, handler, context](){ this->CreateQueryLoggingConfigAsyncHelper( request, handler, context ); } );
394 }
395 
CreateQueryLoggingConfigAsyncHelper(const CreateQueryLoggingConfigRequest & request,const CreateQueryLoggingConfigResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const396 void Route53Client::CreateQueryLoggingConfigAsyncHelper(const CreateQueryLoggingConfigRequest& request, const CreateQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
397 {
398   handler(this, request, CreateQueryLoggingConfig(request), context);
399 }
400 
CreateReusableDelegationSet(const CreateReusableDelegationSetRequest & request) const401 CreateReusableDelegationSetOutcome Route53Client::CreateReusableDelegationSet(const CreateReusableDelegationSetRequest& request) const
402 {
403   Aws::Http::URI uri = m_uri;
404   uri.AddPathSegments("/2013-04-01/delegationset");
405   return CreateReusableDelegationSetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
406 }
407 
CreateReusableDelegationSetCallable(const CreateReusableDelegationSetRequest & request) const408 CreateReusableDelegationSetOutcomeCallable Route53Client::CreateReusableDelegationSetCallable(const CreateReusableDelegationSetRequest& request) const
409 {
410   auto task = Aws::MakeShared< std::packaged_task< CreateReusableDelegationSetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateReusableDelegationSet(request); } );
411   auto packagedFunction = [task]() { (*task)(); };
412   m_executor->Submit(packagedFunction);
413   return task->get_future();
414 }
415 
CreateReusableDelegationSetAsync(const CreateReusableDelegationSetRequest & request,const CreateReusableDelegationSetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const416 void Route53Client::CreateReusableDelegationSetAsync(const CreateReusableDelegationSetRequest& request, const CreateReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
417 {
418   m_executor->Submit( [this, request, handler, context](){ this->CreateReusableDelegationSetAsyncHelper( request, handler, context ); } );
419 }
420 
CreateReusableDelegationSetAsyncHelper(const CreateReusableDelegationSetRequest & request,const CreateReusableDelegationSetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const421 void Route53Client::CreateReusableDelegationSetAsyncHelper(const CreateReusableDelegationSetRequest& request, const CreateReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
422 {
423   handler(this, request, CreateReusableDelegationSet(request), context);
424 }
425 
CreateTrafficPolicy(const CreateTrafficPolicyRequest & request) const426 CreateTrafficPolicyOutcome Route53Client::CreateTrafficPolicy(const CreateTrafficPolicyRequest& request) const
427 {
428   Aws::Http::URI uri = m_uri;
429   uri.AddPathSegments("/2013-04-01/trafficpolicy");
430   return CreateTrafficPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
431 }
432 
CreateTrafficPolicyCallable(const CreateTrafficPolicyRequest & request) const433 CreateTrafficPolicyOutcomeCallable Route53Client::CreateTrafficPolicyCallable(const CreateTrafficPolicyRequest& request) const
434 {
435   auto task = Aws::MakeShared< std::packaged_task< CreateTrafficPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateTrafficPolicy(request); } );
436   auto packagedFunction = [task]() { (*task)(); };
437   m_executor->Submit(packagedFunction);
438   return task->get_future();
439 }
440 
CreateTrafficPolicyAsync(const CreateTrafficPolicyRequest & request,const CreateTrafficPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const441 void Route53Client::CreateTrafficPolicyAsync(const CreateTrafficPolicyRequest& request, const CreateTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
442 {
443   m_executor->Submit( [this, request, handler, context](){ this->CreateTrafficPolicyAsyncHelper( request, handler, context ); } );
444 }
445 
CreateTrafficPolicyAsyncHelper(const CreateTrafficPolicyRequest & request,const CreateTrafficPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const446 void Route53Client::CreateTrafficPolicyAsyncHelper(const CreateTrafficPolicyRequest& request, const CreateTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
447 {
448   handler(this, request, CreateTrafficPolicy(request), context);
449 }
450 
CreateTrafficPolicyInstance(const CreateTrafficPolicyInstanceRequest & request) const451 CreateTrafficPolicyInstanceOutcome Route53Client::CreateTrafficPolicyInstance(const CreateTrafficPolicyInstanceRequest& request) const
452 {
453   Aws::Http::URI uri = m_uri;
454   uri.AddPathSegments("/2013-04-01/trafficpolicyinstance");
455   return CreateTrafficPolicyInstanceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
456 }
457 
CreateTrafficPolicyInstanceCallable(const CreateTrafficPolicyInstanceRequest & request) const458 CreateTrafficPolicyInstanceOutcomeCallable Route53Client::CreateTrafficPolicyInstanceCallable(const CreateTrafficPolicyInstanceRequest& request) const
459 {
460   auto task = Aws::MakeShared< std::packaged_task< CreateTrafficPolicyInstanceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateTrafficPolicyInstance(request); } );
461   auto packagedFunction = [task]() { (*task)(); };
462   m_executor->Submit(packagedFunction);
463   return task->get_future();
464 }
465 
CreateTrafficPolicyInstanceAsync(const CreateTrafficPolicyInstanceRequest & request,const CreateTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const466 void Route53Client::CreateTrafficPolicyInstanceAsync(const CreateTrafficPolicyInstanceRequest& request, const CreateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
467 {
468   m_executor->Submit( [this, request, handler, context](){ this->CreateTrafficPolicyInstanceAsyncHelper( request, handler, context ); } );
469 }
470 
CreateTrafficPolicyInstanceAsyncHelper(const CreateTrafficPolicyInstanceRequest & request,const CreateTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const471 void Route53Client::CreateTrafficPolicyInstanceAsyncHelper(const CreateTrafficPolicyInstanceRequest& request, const CreateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
472 {
473   handler(this, request, CreateTrafficPolicyInstance(request), context);
474 }
475 
CreateTrafficPolicyVersion(const CreateTrafficPolicyVersionRequest & request) const476 CreateTrafficPolicyVersionOutcome Route53Client::CreateTrafficPolicyVersion(const CreateTrafficPolicyVersionRequest& request) const
477 {
478   if (!request.IdHasBeenSet())
479   {
480     AWS_LOGSTREAM_ERROR("CreateTrafficPolicyVersion", "Required field: Id, is not set");
481     return CreateTrafficPolicyVersionOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
482   }
483   Aws::Http::URI uri = m_uri;
484   uri.AddPathSegments("/2013-04-01/trafficpolicy/");
485   uri.AddPathSegment(request.GetId());
486   return CreateTrafficPolicyVersionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
487 }
488 
CreateTrafficPolicyVersionCallable(const CreateTrafficPolicyVersionRequest & request) const489 CreateTrafficPolicyVersionOutcomeCallable Route53Client::CreateTrafficPolicyVersionCallable(const CreateTrafficPolicyVersionRequest& request) const
490 {
491   auto task = Aws::MakeShared< std::packaged_task< CreateTrafficPolicyVersionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateTrafficPolicyVersion(request); } );
492   auto packagedFunction = [task]() { (*task)(); };
493   m_executor->Submit(packagedFunction);
494   return task->get_future();
495 }
496 
CreateTrafficPolicyVersionAsync(const CreateTrafficPolicyVersionRequest & request,const CreateTrafficPolicyVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const497 void Route53Client::CreateTrafficPolicyVersionAsync(const CreateTrafficPolicyVersionRequest& request, const CreateTrafficPolicyVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
498 {
499   m_executor->Submit( [this, request, handler, context](){ this->CreateTrafficPolicyVersionAsyncHelper( request, handler, context ); } );
500 }
501 
CreateTrafficPolicyVersionAsyncHelper(const CreateTrafficPolicyVersionRequest & request,const CreateTrafficPolicyVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const502 void Route53Client::CreateTrafficPolicyVersionAsyncHelper(const CreateTrafficPolicyVersionRequest& request, const CreateTrafficPolicyVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
503 {
504   handler(this, request, CreateTrafficPolicyVersion(request), context);
505 }
506 
CreateVPCAssociationAuthorization(const CreateVPCAssociationAuthorizationRequest & request) const507 CreateVPCAssociationAuthorizationOutcome Route53Client::CreateVPCAssociationAuthorization(const CreateVPCAssociationAuthorizationRequest& request) const
508 {
509   if (!request.HostedZoneIdHasBeenSet())
510   {
511     AWS_LOGSTREAM_ERROR("CreateVPCAssociationAuthorization", "Required field: HostedZoneId, is not set");
512     return CreateVPCAssociationAuthorizationOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
513   }
514   Aws::Http::URI uri = m_uri;
515   uri.AddPathSegments("/2013-04-01/hostedzone/");
516   uri.AddPathSegment(request.GetHostedZoneId());
517   uri.AddPathSegments("/authorizevpcassociation");
518   return CreateVPCAssociationAuthorizationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
519 }
520 
CreateVPCAssociationAuthorizationCallable(const CreateVPCAssociationAuthorizationRequest & request) const521 CreateVPCAssociationAuthorizationOutcomeCallable Route53Client::CreateVPCAssociationAuthorizationCallable(const CreateVPCAssociationAuthorizationRequest& request) const
522 {
523   auto task = Aws::MakeShared< std::packaged_task< CreateVPCAssociationAuthorizationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateVPCAssociationAuthorization(request); } );
524   auto packagedFunction = [task]() { (*task)(); };
525   m_executor->Submit(packagedFunction);
526   return task->get_future();
527 }
528 
CreateVPCAssociationAuthorizationAsync(const CreateVPCAssociationAuthorizationRequest & request,const CreateVPCAssociationAuthorizationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const529 void Route53Client::CreateVPCAssociationAuthorizationAsync(const CreateVPCAssociationAuthorizationRequest& request, const CreateVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
530 {
531   m_executor->Submit( [this, request, handler, context](){ this->CreateVPCAssociationAuthorizationAsyncHelper( request, handler, context ); } );
532 }
533 
CreateVPCAssociationAuthorizationAsyncHelper(const CreateVPCAssociationAuthorizationRequest & request,const CreateVPCAssociationAuthorizationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const534 void Route53Client::CreateVPCAssociationAuthorizationAsyncHelper(const CreateVPCAssociationAuthorizationRequest& request, const CreateVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
535 {
536   handler(this, request, CreateVPCAssociationAuthorization(request), context);
537 }
538 
DeactivateKeySigningKey(const DeactivateKeySigningKeyRequest & request) const539 DeactivateKeySigningKeyOutcome Route53Client::DeactivateKeySigningKey(const DeactivateKeySigningKeyRequest& request) const
540 {
541   if (!request.HostedZoneIdHasBeenSet())
542   {
543     AWS_LOGSTREAM_ERROR("DeactivateKeySigningKey", "Required field: HostedZoneId, is not set");
544     return DeactivateKeySigningKeyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
545   }
546   if (!request.NameHasBeenSet())
547   {
548     AWS_LOGSTREAM_ERROR("DeactivateKeySigningKey", "Required field: Name, is not set");
549     return DeactivateKeySigningKeyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false));
550   }
551   Aws::Http::URI uri = m_uri;
552   uri.AddPathSegments("/2013-04-01/keysigningkey/");
553   uri.AddPathSegment(request.GetHostedZoneId());
554   uri.AddPathSegment(request.GetName());
555   uri.AddPathSegments("/deactivate");
556   return DeactivateKeySigningKeyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
557 }
558 
DeactivateKeySigningKeyCallable(const DeactivateKeySigningKeyRequest & request) const559 DeactivateKeySigningKeyOutcomeCallable Route53Client::DeactivateKeySigningKeyCallable(const DeactivateKeySigningKeyRequest& request) const
560 {
561   auto task = Aws::MakeShared< std::packaged_task< DeactivateKeySigningKeyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeactivateKeySigningKey(request); } );
562   auto packagedFunction = [task]() { (*task)(); };
563   m_executor->Submit(packagedFunction);
564   return task->get_future();
565 }
566 
DeactivateKeySigningKeyAsync(const DeactivateKeySigningKeyRequest & request,const DeactivateKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const567 void Route53Client::DeactivateKeySigningKeyAsync(const DeactivateKeySigningKeyRequest& request, const DeactivateKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
568 {
569   m_executor->Submit( [this, request, handler, context](){ this->DeactivateKeySigningKeyAsyncHelper( request, handler, context ); } );
570 }
571 
DeactivateKeySigningKeyAsyncHelper(const DeactivateKeySigningKeyRequest & request,const DeactivateKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const572 void Route53Client::DeactivateKeySigningKeyAsyncHelper(const DeactivateKeySigningKeyRequest& request, const DeactivateKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
573 {
574   handler(this, request, DeactivateKeySigningKey(request), context);
575 }
576 
DeleteHealthCheck(const DeleteHealthCheckRequest & request) const577 DeleteHealthCheckOutcome Route53Client::DeleteHealthCheck(const DeleteHealthCheckRequest& request) const
578 {
579   if (!request.HealthCheckIdHasBeenSet())
580   {
581     AWS_LOGSTREAM_ERROR("DeleteHealthCheck", "Required field: HealthCheckId, is not set");
582     return DeleteHealthCheckOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HealthCheckId]", false));
583   }
584   Aws::Http::URI uri = m_uri;
585   uri.AddPathSegments("/2013-04-01/healthcheck/");
586   uri.AddPathSegment(request.GetHealthCheckId());
587   return DeleteHealthCheckOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE));
588 }
589 
DeleteHealthCheckCallable(const DeleteHealthCheckRequest & request) const590 DeleteHealthCheckOutcomeCallable Route53Client::DeleteHealthCheckCallable(const DeleteHealthCheckRequest& request) const
591 {
592   auto task = Aws::MakeShared< std::packaged_task< DeleteHealthCheckOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteHealthCheck(request); } );
593   auto packagedFunction = [task]() { (*task)(); };
594   m_executor->Submit(packagedFunction);
595   return task->get_future();
596 }
597 
DeleteHealthCheckAsync(const DeleteHealthCheckRequest & request,const DeleteHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const598 void Route53Client::DeleteHealthCheckAsync(const DeleteHealthCheckRequest& request, const DeleteHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
599 {
600   m_executor->Submit( [this, request, handler, context](){ this->DeleteHealthCheckAsyncHelper( request, handler, context ); } );
601 }
602 
DeleteHealthCheckAsyncHelper(const DeleteHealthCheckRequest & request,const DeleteHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const603 void Route53Client::DeleteHealthCheckAsyncHelper(const DeleteHealthCheckRequest& request, const DeleteHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
604 {
605   handler(this, request, DeleteHealthCheck(request), context);
606 }
607 
DeleteHostedZone(const DeleteHostedZoneRequest & request) const608 DeleteHostedZoneOutcome Route53Client::DeleteHostedZone(const DeleteHostedZoneRequest& request) const
609 {
610   if (!request.IdHasBeenSet())
611   {
612     AWS_LOGSTREAM_ERROR("DeleteHostedZone", "Required field: Id, is not set");
613     return DeleteHostedZoneOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
614   }
615   Aws::Http::URI uri = m_uri;
616   uri.AddPathSegments("/2013-04-01/hostedzone/");
617   uri.AddPathSegment(request.GetId());
618   return DeleteHostedZoneOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE));
619 }
620 
DeleteHostedZoneCallable(const DeleteHostedZoneRequest & request) const621 DeleteHostedZoneOutcomeCallable Route53Client::DeleteHostedZoneCallable(const DeleteHostedZoneRequest& request) const
622 {
623   auto task = Aws::MakeShared< std::packaged_task< DeleteHostedZoneOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteHostedZone(request); } );
624   auto packagedFunction = [task]() { (*task)(); };
625   m_executor->Submit(packagedFunction);
626   return task->get_future();
627 }
628 
DeleteHostedZoneAsync(const DeleteHostedZoneRequest & request,const DeleteHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const629 void Route53Client::DeleteHostedZoneAsync(const DeleteHostedZoneRequest& request, const DeleteHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
630 {
631   m_executor->Submit( [this, request, handler, context](){ this->DeleteHostedZoneAsyncHelper( request, handler, context ); } );
632 }
633 
DeleteHostedZoneAsyncHelper(const DeleteHostedZoneRequest & request,const DeleteHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const634 void Route53Client::DeleteHostedZoneAsyncHelper(const DeleteHostedZoneRequest& request, const DeleteHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
635 {
636   handler(this, request, DeleteHostedZone(request), context);
637 }
638 
DeleteKeySigningKey(const DeleteKeySigningKeyRequest & request) const639 DeleteKeySigningKeyOutcome Route53Client::DeleteKeySigningKey(const DeleteKeySigningKeyRequest& request) const
640 {
641   if (!request.HostedZoneIdHasBeenSet())
642   {
643     AWS_LOGSTREAM_ERROR("DeleteKeySigningKey", "Required field: HostedZoneId, is not set");
644     return DeleteKeySigningKeyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
645   }
646   if (!request.NameHasBeenSet())
647   {
648     AWS_LOGSTREAM_ERROR("DeleteKeySigningKey", "Required field: Name, is not set");
649     return DeleteKeySigningKeyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false));
650   }
651   Aws::Http::URI uri = m_uri;
652   uri.AddPathSegments("/2013-04-01/keysigningkey/");
653   uri.AddPathSegment(request.GetHostedZoneId());
654   uri.AddPathSegment(request.GetName());
655   return DeleteKeySigningKeyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE));
656 }
657 
DeleteKeySigningKeyCallable(const DeleteKeySigningKeyRequest & request) const658 DeleteKeySigningKeyOutcomeCallable Route53Client::DeleteKeySigningKeyCallable(const DeleteKeySigningKeyRequest& request) const
659 {
660   auto task = Aws::MakeShared< std::packaged_task< DeleteKeySigningKeyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteKeySigningKey(request); } );
661   auto packagedFunction = [task]() { (*task)(); };
662   m_executor->Submit(packagedFunction);
663   return task->get_future();
664 }
665 
DeleteKeySigningKeyAsync(const DeleteKeySigningKeyRequest & request,const DeleteKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const666 void Route53Client::DeleteKeySigningKeyAsync(const DeleteKeySigningKeyRequest& request, const DeleteKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
667 {
668   m_executor->Submit( [this, request, handler, context](){ this->DeleteKeySigningKeyAsyncHelper( request, handler, context ); } );
669 }
670 
DeleteKeySigningKeyAsyncHelper(const DeleteKeySigningKeyRequest & request,const DeleteKeySigningKeyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const671 void Route53Client::DeleteKeySigningKeyAsyncHelper(const DeleteKeySigningKeyRequest& request, const DeleteKeySigningKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
672 {
673   handler(this, request, DeleteKeySigningKey(request), context);
674 }
675 
DeleteQueryLoggingConfig(const DeleteQueryLoggingConfigRequest & request) const676 DeleteQueryLoggingConfigOutcome Route53Client::DeleteQueryLoggingConfig(const DeleteQueryLoggingConfigRequest& request) const
677 {
678   if (!request.IdHasBeenSet())
679   {
680     AWS_LOGSTREAM_ERROR("DeleteQueryLoggingConfig", "Required field: Id, is not set");
681     return DeleteQueryLoggingConfigOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
682   }
683   Aws::Http::URI uri = m_uri;
684   uri.AddPathSegments("/2013-04-01/queryloggingconfig/");
685   uri.AddPathSegment(request.GetId());
686   return DeleteQueryLoggingConfigOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE));
687 }
688 
DeleteQueryLoggingConfigCallable(const DeleteQueryLoggingConfigRequest & request) const689 DeleteQueryLoggingConfigOutcomeCallable Route53Client::DeleteQueryLoggingConfigCallable(const DeleteQueryLoggingConfigRequest& request) const
690 {
691   auto task = Aws::MakeShared< std::packaged_task< DeleteQueryLoggingConfigOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteQueryLoggingConfig(request); } );
692   auto packagedFunction = [task]() { (*task)(); };
693   m_executor->Submit(packagedFunction);
694   return task->get_future();
695 }
696 
DeleteQueryLoggingConfigAsync(const DeleteQueryLoggingConfigRequest & request,const DeleteQueryLoggingConfigResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const697 void Route53Client::DeleteQueryLoggingConfigAsync(const DeleteQueryLoggingConfigRequest& request, const DeleteQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
698 {
699   m_executor->Submit( [this, request, handler, context](){ this->DeleteQueryLoggingConfigAsyncHelper( request, handler, context ); } );
700 }
701 
DeleteQueryLoggingConfigAsyncHelper(const DeleteQueryLoggingConfigRequest & request,const DeleteQueryLoggingConfigResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const702 void Route53Client::DeleteQueryLoggingConfigAsyncHelper(const DeleteQueryLoggingConfigRequest& request, const DeleteQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
703 {
704   handler(this, request, DeleteQueryLoggingConfig(request), context);
705 }
706 
DeleteReusableDelegationSet(const DeleteReusableDelegationSetRequest & request) const707 DeleteReusableDelegationSetOutcome Route53Client::DeleteReusableDelegationSet(const DeleteReusableDelegationSetRequest& request) const
708 {
709   if (!request.IdHasBeenSet())
710   {
711     AWS_LOGSTREAM_ERROR("DeleteReusableDelegationSet", "Required field: Id, is not set");
712     return DeleteReusableDelegationSetOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
713   }
714   Aws::Http::URI uri = m_uri;
715   uri.AddPathSegments("/2013-04-01/delegationset/");
716   uri.AddPathSegment(request.GetId());
717   return DeleteReusableDelegationSetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE));
718 }
719 
DeleteReusableDelegationSetCallable(const DeleteReusableDelegationSetRequest & request) const720 DeleteReusableDelegationSetOutcomeCallable Route53Client::DeleteReusableDelegationSetCallable(const DeleteReusableDelegationSetRequest& request) const
721 {
722   auto task = Aws::MakeShared< std::packaged_task< DeleteReusableDelegationSetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteReusableDelegationSet(request); } );
723   auto packagedFunction = [task]() { (*task)(); };
724   m_executor->Submit(packagedFunction);
725   return task->get_future();
726 }
727 
DeleteReusableDelegationSetAsync(const DeleteReusableDelegationSetRequest & request,const DeleteReusableDelegationSetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const728 void Route53Client::DeleteReusableDelegationSetAsync(const DeleteReusableDelegationSetRequest& request, const DeleteReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
729 {
730   m_executor->Submit( [this, request, handler, context](){ this->DeleteReusableDelegationSetAsyncHelper( request, handler, context ); } );
731 }
732 
DeleteReusableDelegationSetAsyncHelper(const DeleteReusableDelegationSetRequest & request,const DeleteReusableDelegationSetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const733 void Route53Client::DeleteReusableDelegationSetAsyncHelper(const DeleteReusableDelegationSetRequest& request, const DeleteReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
734 {
735   handler(this, request, DeleteReusableDelegationSet(request), context);
736 }
737 
DeleteTrafficPolicy(const DeleteTrafficPolicyRequest & request) const738 DeleteTrafficPolicyOutcome Route53Client::DeleteTrafficPolicy(const DeleteTrafficPolicyRequest& request) const
739 {
740   if (!request.IdHasBeenSet())
741   {
742     AWS_LOGSTREAM_ERROR("DeleteTrafficPolicy", "Required field: Id, is not set");
743     return DeleteTrafficPolicyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
744   }
745   if (!request.VersionHasBeenSet())
746   {
747     AWS_LOGSTREAM_ERROR("DeleteTrafficPolicy", "Required field: Version, is not set");
748     return DeleteTrafficPolicyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Version]", false));
749   }
750   Aws::Http::URI uri = m_uri;
751   uri.AddPathSegments("/2013-04-01/trafficpolicy/");
752   uri.AddPathSegment(request.GetId());
753   uri.AddPathSegment(request.GetVersion());
754   return DeleteTrafficPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE));
755 }
756 
DeleteTrafficPolicyCallable(const DeleteTrafficPolicyRequest & request) const757 DeleteTrafficPolicyOutcomeCallable Route53Client::DeleteTrafficPolicyCallable(const DeleteTrafficPolicyRequest& request) const
758 {
759   auto task = Aws::MakeShared< std::packaged_task< DeleteTrafficPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteTrafficPolicy(request); } );
760   auto packagedFunction = [task]() { (*task)(); };
761   m_executor->Submit(packagedFunction);
762   return task->get_future();
763 }
764 
DeleteTrafficPolicyAsync(const DeleteTrafficPolicyRequest & request,const DeleteTrafficPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const765 void Route53Client::DeleteTrafficPolicyAsync(const DeleteTrafficPolicyRequest& request, const DeleteTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
766 {
767   m_executor->Submit( [this, request, handler, context](){ this->DeleteTrafficPolicyAsyncHelper( request, handler, context ); } );
768 }
769 
DeleteTrafficPolicyAsyncHelper(const DeleteTrafficPolicyRequest & request,const DeleteTrafficPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const770 void Route53Client::DeleteTrafficPolicyAsyncHelper(const DeleteTrafficPolicyRequest& request, const DeleteTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
771 {
772   handler(this, request, DeleteTrafficPolicy(request), context);
773 }
774 
DeleteTrafficPolicyInstance(const DeleteTrafficPolicyInstanceRequest & request) const775 DeleteTrafficPolicyInstanceOutcome Route53Client::DeleteTrafficPolicyInstance(const DeleteTrafficPolicyInstanceRequest& request) const
776 {
777   if (!request.IdHasBeenSet())
778   {
779     AWS_LOGSTREAM_ERROR("DeleteTrafficPolicyInstance", "Required field: Id, is not set");
780     return DeleteTrafficPolicyInstanceOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
781   }
782   Aws::Http::URI uri = m_uri;
783   uri.AddPathSegments("/2013-04-01/trafficpolicyinstance/");
784   uri.AddPathSegment(request.GetId());
785   return DeleteTrafficPolicyInstanceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE));
786 }
787 
DeleteTrafficPolicyInstanceCallable(const DeleteTrafficPolicyInstanceRequest & request) const788 DeleteTrafficPolicyInstanceOutcomeCallable Route53Client::DeleteTrafficPolicyInstanceCallable(const DeleteTrafficPolicyInstanceRequest& request) const
789 {
790   auto task = Aws::MakeShared< std::packaged_task< DeleteTrafficPolicyInstanceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteTrafficPolicyInstance(request); } );
791   auto packagedFunction = [task]() { (*task)(); };
792   m_executor->Submit(packagedFunction);
793   return task->get_future();
794 }
795 
DeleteTrafficPolicyInstanceAsync(const DeleteTrafficPolicyInstanceRequest & request,const DeleteTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const796 void Route53Client::DeleteTrafficPolicyInstanceAsync(const DeleteTrafficPolicyInstanceRequest& request, const DeleteTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
797 {
798   m_executor->Submit( [this, request, handler, context](){ this->DeleteTrafficPolicyInstanceAsyncHelper( request, handler, context ); } );
799 }
800 
DeleteTrafficPolicyInstanceAsyncHelper(const DeleteTrafficPolicyInstanceRequest & request,const DeleteTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const801 void Route53Client::DeleteTrafficPolicyInstanceAsyncHelper(const DeleteTrafficPolicyInstanceRequest& request, const DeleteTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
802 {
803   handler(this, request, DeleteTrafficPolicyInstance(request), context);
804 }
805 
DeleteVPCAssociationAuthorization(const DeleteVPCAssociationAuthorizationRequest & request) const806 DeleteVPCAssociationAuthorizationOutcome Route53Client::DeleteVPCAssociationAuthorization(const DeleteVPCAssociationAuthorizationRequest& request) const
807 {
808   if (!request.HostedZoneIdHasBeenSet())
809   {
810     AWS_LOGSTREAM_ERROR("DeleteVPCAssociationAuthorization", "Required field: HostedZoneId, is not set");
811     return DeleteVPCAssociationAuthorizationOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
812   }
813   Aws::Http::URI uri = m_uri;
814   uri.AddPathSegments("/2013-04-01/hostedzone/");
815   uri.AddPathSegment(request.GetHostedZoneId());
816   uri.AddPathSegments("/deauthorizevpcassociation");
817   return DeleteVPCAssociationAuthorizationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
818 }
819 
DeleteVPCAssociationAuthorizationCallable(const DeleteVPCAssociationAuthorizationRequest & request) const820 DeleteVPCAssociationAuthorizationOutcomeCallable Route53Client::DeleteVPCAssociationAuthorizationCallable(const DeleteVPCAssociationAuthorizationRequest& request) const
821 {
822   auto task = Aws::MakeShared< std::packaged_task< DeleteVPCAssociationAuthorizationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteVPCAssociationAuthorization(request); } );
823   auto packagedFunction = [task]() { (*task)(); };
824   m_executor->Submit(packagedFunction);
825   return task->get_future();
826 }
827 
DeleteVPCAssociationAuthorizationAsync(const DeleteVPCAssociationAuthorizationRequest & request,const DeleteVPCAssociationAuthorizationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const828 void Route53Client::DeleteVPCAssociationAuthorizationAsync(const DeleteVPCAssociationAuthorizationRequest& request, const DeleteVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
829 {
830   m_executor->Submit( [this, request, handler, context](){ this->DeleteVPCAssociationAuthorizationAsyncHelper( request, handler, context ); } );
831 }
832 
DeleteVPCAssociationAuthorizationAsyncHelper(const DeleteVPCAssociationAuthorizationRequest & request,const DeleteVPCAssociationAuthorizationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const833 void Route53Client::DeleteVPCAssociationAuthorizationAsyncHelper(const DeleteVPCAssociationAuthorizationRequest& request, const DeleteVPCAssociationAuthorizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
834 {
835   handler(this, request, DeleteVPCAssociationAuthorization(request), context);
836 }
837 
DisableHostedZoneDNSSEC(const DisableHostedZoneDNSSECRequest & request) const838 DisableHostedZoneDNSSECOutcome Route53Client::DisableHostedZoneDNSSEC(const DisableHostedZoneDNSSECRequest& request) const
839 {
840   if (!request.HostedZoneIdHasBeenSet())
841   {
842     AWS_LOGSTREAM_ERROR("DisableHostedZoneDNSSEC", "Required field: HostedZoneId, is not set");
843     return DisableHostedZoneDNSSECOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
844   }
845   Aws::Http::URI uri = m_uri;
846   uri.AddPathSegments("/2013-04-01/hostedzone/");
847   uri.AddPathSegment(request.GetHostedZoneId());
848   uri.AddPathSegments("/disable-dnssec");
849   return DisableHostedZoneDNSSECOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
850 }
851 
DisableHostedZoneDNSSECCallable(const DisableHostedZoneDNSSECRequest & request) const852 DisableHostedZoneDNSSECOutcomeCallable Route53Client::DisableHostedZoneDNSSECCallable(const DisableHostedZoneDNSSECRequest& request) const
853 {
854   auto task = Aws::MakeShared< std::packaged_task< DisableHostedZoneDNSSECOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DisableHostedZoneDNSSEC(request); } );
855   auto packagedFunction = [task]() { (*task)(); };
856   m_executor->Submit(packagedFunction);
857   return task->get_future();
858 }
859 
DisableHostedZoneDNSSECAsync(const DisableHostedZoneDNSSECRequest & request,const DisableHostedZoneDNSSECResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const860 void Route53Client::DisableHostedZoneDNSSECAsync(const DisableHostedZoneDNSSECRequest& request, const DisableHostedZoneDNSSECResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
861 {
862   m_executor->Submit( [this, request, handler, context](){ this->DisableHostedZoneDNSSECAsyncHelper( request, handler, context ); } );
863 }
864 
DisableHostedZoneDNSSECAsyncHelper(const DisableHostedZoneDNSSECRequest & request,const DisableHostedZoneDNSSECResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const865 void Route53Client::DisableHostedZoneDNSSECAsyncHelper(const DisableHostedZoneDNSSECRequest& request, const DisableHostedZoneDNSSECResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
866 {
867   handler(this, request, DisableHostedZoneDNSSEC(request), context);
868 }
869 
DisassociateVPCFromHostedZone(const DisassociateVPCFromHostedZoneRequest & request) const870 DisassociateVPCFromHostedZoneOutcome Route53Client::DisassociateVPCFromHostedZone(const DisassociateVPCFromHostedZoneRequest& request) const
871 {
872   if (!request.HostedZoneIdHasBeenSet())
873   {
874     AWS_LOGSTREAM_ERROR("DisassociateVPCFromHostedZone", "Required field: HostedZoneId, is not set");
875     return DisassociateVPCFromHostedZoneOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
876   }
877   Aws::Http::URI uri = m_uri;
878   uri.AddPathSegments("/2013-04-01/hostedzone/");
879   uri.AddPathSegment(request.GetHostedZoneId());
880   uri.AddPathSegments("/disassociatevpc");
881   return DisassociateVPCFromHostedZoneOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
882 }
883 
DisassociateVPCFromHostedZoneCallable(const DisassociateVPCFromHostedZoneRequest & request) const884 DisassociateVPCFromHostedZoneOutcomeCallable Route53Client::DisassociateVPCFromHostedZoneCallable(const DisassociateVPCFromHostedZoneRequest& request) const
885 {
886   auto task = Aws::MakeShared< std::packaged_task< DisassociateVPCFromHostedZoneOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DisassociateVPCFromHostedZone(request); } );
887   auto packagedFunction = [task]() { (*task)(); };
888   m_executor->Submit(packagedFunction);
889   return task->get_future();
890 }
891 
DisassociateVPCFromHostedZoneAsync(const DisassociateVPCFromHostedZoneRequest & request,const DisassociateVPCFromHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const892 void Route53Client::DisassociateVPCFromHostedZoneAsync(const DisassociateVPCFromHostedZoneRequest& request, const DisassociateVPCFromHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
893 {
894   m_executor->Submit( [this, request, handler, context](){ this->DisassociateVPCFromHostedZoneAsyncHelper( request, handler, context ); } );
895 }
896 
DisassociateVPCFromHostedZoneAsyncHelper(const DisassociateVPCFromHostedZoneRequest & request,const DisassociateVPCFromHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const897 void Route53Client::DisassociateVPCFromHostedZoneAsyncHelper(const DisassociateVPCFromHostedZoneRequest& request, const DisassociateVPCFromHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
898 {
899   handler(this, request, DisassociateVPCFromHostedZone(request), context);
900 }
901 
EnableHostedZoneDNSSEC(const EnableHostedZoneDNSSECRequest & request) const902 EnableHostedZoneDNSSECOutcome Route53Client::EnableHostedZoneDNSSEC(const EnableHostedZoneDNSSECRequest& request) const
903 {
904   if (!request.HostedZoneIdHasBeenSet())
905   {
906     AWS_LOGSTREAM_ERROR("EnableHostedZoneDNSSEC", "Required field: HostedZoneId, is not set");
907     return EnableHostedZoneDNSSECOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
908   }
909   Aws::Http::URI uri = m_uri;
910   uri.AddPathSegments("/2013-04-01/hostedzone/");
911   uri.AddPathSegment(request.GetHostedZoneId());
912   uri.AddPathSegments("/enable-dnssec");
913   return EnableHostedZoneDNSSECOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
914 }
915 
EnableHostedZoneDNSSECCallable(const EnableHostedZoneDNSSECRequest & request) const916 EnableHostedZoneDNSSECOutcomeCallable Route53Client::EnableHostedZoneDNSSECCallable(const EnableHostedZoneDNSSECRequest& request) const
917 {
918   auto task = Aws::MakeShared< std::packaged_task< EnableHostedZoneDNSSECOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->EnableHostedZoneDNSSEC(request); } );
919   auto packagedFunction = [task]() { (*task)(); };
920   m_executor->Submit(packagedFunction);
921   return task->get_future();
922 }
923 
EnableHostedZoneDNSSECAsync(const EnableHostedZoneDNSSECRequest & request,const EnableHostedZoneDNSSECResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const924 void Route53Client::EnableHostedZoneDNSSECAsync(const EnableHostedZoneDNSSECRequest& request, const EnableHostedZoneDNSSECResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
925 {
926   m_executor->Submit( [this, request, handler, context](){ this->EnableHostedZoneDNSSECAsyncHelper( request, handler, context ); } );
927 }
928 
EnableHostedZoneDNSSECAsyncHelper(const EnableHostedZoneDNSSECRequest & request,const EnableHostedZoneDNSSECResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const929 void Route53Client::EnableHostedZoneDNSSECAsyncHelper(const EnableHostedZoneDNSSECRequest& request, const EnableHostedZoneDNSSECResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
930 {
931   handler(this, request, EnableHostedZoneDNSSEC(request), context);
932 }
933 
GetAccountLimit(const GetAccountLimitRequest & request) const934 GetAccountLimitOutcome Route53Client::GetAccountLimit(const GetAccountLimitRequest& request) const
935 {
936   if (!request.TypeHasBeenSet())
937   {
938     AWS_LOGSTREAM_ERROR("GetAccountLimit", "Required field: Type, is not set");
939     return GetAccountLimitOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Type]", false));
940   }
941   Aws::Http::URI uri = m_uri;
942   uri.AddPathSegments("/2013-04-01/accountlimit/");
943   uri.AddPathSegment(AccountLimitTypeMapper::GetNameForAccountLimitType(request.GetType()));
944   return GetAccountLimitOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
945 }
946 
GetAccountLimitCallable(const GetAccountLimitRequest & request) const947 GetAccountLimitOutcomeCallable Route53Client::GetAccountLimitCallable(const GetAccountLimitRequest& request) const
948 {
949   auto task = Aws::MakeShared< std::packaged_task< GetAccountLimitOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetAccountLimit(request); } );
950   auto packagedFunction = [task]() { (*task)(); };
951   m_executor->Submit(packagedFunction);
952   return task->get_future();
953 }
954 
GetAccountLimitAsync(const GetAccountLimitRequest & request,const GetAccountLimitResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const955 void Route53Client::GetAccountLimitAsync(const GetAccountLimitRequest& request, const GetAccountLimitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
956 {
957   m_executor->Submit( [this, request, handler, context](){ this->GetAccountLimitAsyncHelper( request, handler, context ); } );
958 }
959 
GetAccountLimitAsyncHelper(const GetAccountLimitRequest & request,const GetAccountLimitResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const960 void Route53Client::GetAccountLimitAsyncHelper(const GetAccountLimitRequest& request, const GetAccountLimitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
961 {
962   handler(this, request, GetAccountLimit(request), context);
963 }
964 
GetChange(const GetChangeRequest & request) const965 GetChangeOutcome Route53Client::GetChange(const GetChangeRequest& request) const
966 {
967   if (!request.IdHasBeenSet())
968   {
969     AWS_LOGSTREAM_ERROR("GetChange", "Required field: Id, is not set");
970     return GetChangeOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
971   }
972   Aws::Http::URI uri = m_uri;
973   uri.AddPathSegments("/2013-04-01/change/");
974   uri.AddPathSegment(request.GetId());
975   return GetChangeOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
976 }
977 
GetChangeCallable(const GetChangeRequest & request) const978 GetChangeOutcomeCallable Route53Client::GetChangeCallable(const GetChangeRequest& request) const
979 {
980   auto task = Aws::MakeShared< std::packaged_task< GetChangeOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetChange(request); } );
981   auto packagedFunction = [task]() { (*task)(); };
982   m_executor->Submit(packagedFunction);
983   return task->get_future();
984 }
985 
GetChangeAsync(const GetChangeRequest & request,const GetChangeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const986 void Route53Client::GetChangeAsync(const GetChangeRequest& request, const GetChangeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
987 {
988   m_executor->Submit( [this, request, handler, context](){ this->GetChangeAsyncHelper( request, handler, context ); } );
989 }
990 
GetChangeAsyncHelper(const GetChangeRequest & request,const GetChangeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const991 void Route53Client::GetChangeAsyncHelper(const GetChangeRequest& request, const GetChangeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
992 {
993   handler(this, request, GetChange(request), context);
994 }
995 
GetCheckerIpRanges(const GetCheckerIpRangesRequest & request) const996 GetCheckerIpRangesOutcome Route53Client::GetCheckerIpRanges(const GetCheckerIpRangesRequest& request) const
997 {
998   Aws::Http::URI uri = m_uri;
999   uri.AddPathSegments("/2013-04-01/checkeripranges");
1000   return GetCheckerIpRangesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1001 }
1002 
GetCheckerIpRangesCallable(const GetCheckerIpRangesRequest & request) const1003 GetCheckerIpRangesOutcomeCallable Route53Client::GetCheckerIpRangesCallable(const GetCheckerIpRangesRequest& request) const
1004 {
1005   auto task = Aws::MakeShared< std::packaged_task< GetCheckerIpRangesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetCheckerIpRanges(request); } );
1006   auto packagedFunction = [task]() { (*task)(); };
1007   m_executor->Submit(packagedFunction);
1008   return task->get_future();
1009 }
1010 
GetCheckerIpRangesAsync(const GetCheckerIpRangesRequest & request,const GetCheckerIpRangesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1011 void Route53Client::GetCheckerIpRangesAsync(const GetCheckerIpRangesRequest& request, const GetCheckerIpRangesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1012 {
1013   m_executor->Submit( [this, request, handler, context](){ this->GetCheckerIpRangesAsyncHelper( request, handler, context ); } );
1014 }
1015 
GetCheckerIpRangesAsyncHelper(const GetCheckerIpRangesRequest & request,const GetCheckerIpRangesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1016 void Route53Client::GetCheckerIpRangesAsyncHelper(const GetCheckerIpRangesRequest& request, const GetCheckerIpRangesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1017 {
1018   handler(this, request, GetCheckerIpRanges(request), context);
1019 }
1020 
GetDNSSEC(const GetDNSSECRequest & request) const1021 GetDNSSECOutcome Route53Client::GetDNSSEC(const GetDNSSECRequest& request) const
1022 {
1023   if (!request.HostedZoneIdHasBeenSet())
1024   {
1025     AWS_LOGSTREAM_ERROR("GetDNSSEC", "Required field: HostedZoneId, is not set");
1026     return GetDNSSECOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
1027   }
1028   Aws::Http::URI uri = m_uri;
1029   uri.AddPathSegments("/2013-04-01/hostedzone/");
1030   uri.AddPathSegment(request.GetHostedZoneId());
1031   uri.AddPathSegments("/dnssec");
1032   return GetDNSSECOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1033 }
1034 
GetDNSSECCallable(const GetDNSSECRequest & request) const1035 GetDNSSECOutcomeCallable Route53Client::GetDNSSECCallable(const GetDNSSECRequest& request) const
1036 {
1037   auto task = Aws::MakeShared< std::packaged_task< GetDNSSECOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetDNSSEC(request); } );
1038   auto packagedFunction = [task]() { (*task)(); };
1039   m_executor->Submit(packagedFunction);
1040   return task->get_future();
1041 }
1042 
GetDNSSECAsync(const GetDNSSECRequest & request,const GetDNSSECResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1043 void Route53Client::GetDNSSECAsync(const GetDNSSECRequest& request, const GetDNSSECResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1044 {
1045   m_executor->Submit( [this, request, handler, context](){ this->GetDNSSECAsyncHelper( request, handler, context ); } );
1046 }
1047 
GetDNSSECAsyncHelper(const GetDNSSECRequest & request,const GetDNSSECResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1048 void Route53Client::GetDNSSECAsyncHelper(const GetDNSSECRequest& request, const GetDNSSECResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1049 {
1050   handler(this, request, GetDNSSEC(request), context);
1051 }
1052 
GetGeoLocation(const GetGeoLocationRequest & request) const1053 GetGeoLocationOutcome Route53Client::GetGeoLocation(const GetGeoLocationRequest& request) const
1054 {
1055   Aws::Http::URI uri = m_uri;
1056   uri.AddPathSegments("/2013-04-01/geolocation");
1057   return GetGeoLocationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1058 }
1059 
GetGeoLocationCallable(const GetGeoLocationRequest & request) const1060 GetGeoLocationOutcomeCallable Route53Client::GetGeoLocationCallable(const GetGeoLocationRequest& request) const
1061 {
1062   auto task = Aws::MakeShared< std::packaged_task< GetGeoLocationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetGeoLocation(request); } );
1063   auto packagedFunction = [task]() { (*task)(); };
1064   m_executor->Submit(packagedFunction);
1065   return task->get_future();
1066 }
1067 
GetGeoLocationAsync(const GetGeoLocationRequest & request,const GetGeoLocationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1068 void Route53Client::GetGeoLocationAsync(const GetGeoLocationRequest& request, const GetGeoLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1069 {
1070   m_executor->Submit( [this, request, handler, context](){ this->GetGeoLocationAsyncHelper( request, handler, context ); } );
1071 }
1072 
GetGeoLocationAsyncHelper(const GetGeoLocationRequest & request,const GetGeoLocationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1073 void Route53Client::GetGeoLocationAsyncHelper(const GetGeoLocationRequest& request, const GetGeoLocationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1074 {
1075   handler(this, request, GetGeoLocation(request), context);
1076 }
1077 
GetHealthCheck(const GetHealthCheckRequest & request) const1078 GetHealthCheckOutcome Route53Client::GetHealthCheck(const GetHealthCheckRequest& request) const
1079 {
1080   if (!request.HealthCheckIdHasBeenSet())
1081   {
1082     AWS_LOGSTREAM_ERROR("GetHealthCheck", "Required field: HealthCheckId, is not set");
1083     return GetHealthCheckOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HealthCheckId]", false));
1084   }
1085   Aws::Http::URI uri = m_uri;
1086   uri.AddPathSegments("/2013-04-01/healthcheck/");
1087   uri.AddPathSegment(request.GetHealthCheckId());
1088   return GetHealthCheckOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1089 }
1090 
GetHealthCheckCallable(const GetHealthCheckRequest & request) const1091 GetHealthCheckOutcomeCallable Route53Client::GetHealthCheckCallable(const GetHealthCheckRequest& request) const
1092 {
1093   auto task = Aws::MakeShared< std::packaged_task< GetHealthCheckOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetHealthCheck(request); } );
1094   auto packagedFunction = [task]() { (*task)(); };
1095   m_executor->Submit(packagedFunction);
1096   return task->get_future();
1097 }
1098 
GetHealthCheckAsync(const GetHealthCheckRequest & request,const GetHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1099 void Route53Client::GetHealthCheckAsync(const GetHealthCheckRequest& request, const GetHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1100 {
1101   m_executor->Submit( [this, request, handler, context](){ this->GetHealthCheckAsyncHelper( request, handler, context ); } );
1102 }
1103 
GetHealthCheckAsyncHelper(const GetHealthCheckRequest & request,const GetHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1104 void Route53Client::GetHealthCheckAsyncHelper(const GetHealthCheckRequest& request, const GetHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1105 {
1106   handler(this, request, GetHealthCheck(request), context);
1107 }
1108 
GetHealthCheckCount(const GetHealthCheckCountRequest & request) const1109 GetHealthCheckCountOutcome Route53Client::GetHealthCheckCount(const GetHealthCheckCountRequest& request) const
1110 {
1111   Aws::Http::URI uri = m_uri;
1112   uri.AddPathSegments("/2013-04-01/healthcheckcount");
1113   return GetHealthCheckCountOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1114 }
1115 
GetHealthCheckCountCallable(const GetHealthCheckCountRequest & request) const1116 GetHealthCheckCountOutcomeCallable Route53Client::GetHealthCheckCountCallable(const GetHealthCheckCountRequest& request) const
1117 {
1118   auto task = Aws::MakeShared< std::packaged_task< GetHealthCheckCountOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetHealthCheckCount(request); } );
1119   auto packagedFunction = [task]() { (*task)(); };
1120   m_executor->Submit(packagedFunction);
1121   return task->get_future();
1122 }
1123 
GetHealthCheckCountAsync(const GetHealthCheckCountRequest & request,const GetHealthCheckCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1124 void Route53Client::GetHealthCheckCountAsync(const GetHealthCheckCountRequest& request, const GetHealthCheckCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1125 {
1126   m_executor->Submit( [this, request, handler, context](){ this->GetHealthCheckCountAsyncHelper( request, handler, context ); } );
1127 }
1128 
GetHealthCheckCountAsyncHelper(const GetHealthCheckCountRequest & request,const GetHealthCheckCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1129 void Route53Client::GetHealthCheckCountAsyncHelper(const GetHealthCheckCountRequest& request, const GetHealthCheckCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1130 {
1131   handler(this, request, GetHealthCheckCount(request), context);
1132 }
1133 
GetHealthCheckLastFailureReason(const GetHealthCheckLastFailureReasonRequest & request) const1134 GetHealthCheckLastFailureReasonOutcome Route53Client::GetHealthCheckLastFailureReason(const GetHealthCheckLastFailureReasonRequest& request) const
1135 {
1136   if (!request.HealthCheckIdHasBeenSet())
1137   {
1138     AWS_LOGSTREAM_ERROR("GetHealthCheckLastFailureReason", "Required field: HealthCheckId, is not set");
1139     return GetHealthCheckLastFailureReasonOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HealthCheckId]", false));
1140   }
1141   Aws::Http::URI uri = m_uri;
1142   uri.AddPathSegments("/2013-04-01/healthcheck/");
1143   uri.AddPathSegment(request.GetHealthCheckId());
1144   uri.AddPathSegments("/lastfailurereason");
1145   return GetHealthCheckLastFailureReasonOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1146 }
1147 
GetHealthCheckLastFailureReasonCallable(const GetHealthCheckLastFailureReasonRequest & request) const1148 GetHealthCheckLastFailureReasonOutcomeCallable Route53Client::GetHealthCheckLastFailureReasonCallable(const GetHealthCheckLastFailureReasonRequest& request) const
1149 {
1150   auto task = Aws::MakeShared< std::packaged_task< GetHealthCheckLastFailureReasonOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetHealthCheckLastFailureReason(request); } );
1151   auto packagedFunction = [task]() { (*task)(); };
1152   m_executor->Submit(packagedFunction);
1153   return task->get_future();
1154 }
1155 
GetHealthCheckLastFailureReasonAsync(const GetHealthCheckLastFailureReasonRequest & request,const GetHealthCheckLastFailureReasonResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1156 void Route53Client::GetHealthCheckLastFailureReasonAsync(const GetHealthCheckLastFailureReasonRequest& request, const GetHealthCheckLastFailureReasonResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1157 {
1158   m_executor->Submit( [this, request, handler, context](){ this->GetHealthCheckLastFailureReasonAsyncHelper( request, handler, context ); } );
1159 }
1160 
GetHealthCheckLastFailureReasonAsyncHelper(const GetHealthCheckLastFailureReasonRequest & request,const GetHealthCheckLastFailureReasonResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1161 void Route53Client::GetHealthCheckLastFailureReasonAsyncHelper(const GetHealthCheckLastFailureReasonRequest& request, const GetHealthCheckLastFailureReasonResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1162 {
1163   handler(this, request, GetHealthCheckLastFailureReason(request), context);
1164 }
1165 
GetHealthCheckStatus(const GetHealthCheckStatusRequest & request) const1166 GetHealthCheckStatusOutcome Route53Client::GetHealthCheckStatus(const GetHealthCheckStatusRequest& request) const
1167 {
1168   if (!request.HealthCheckIdHasBeenSet())
1169   {
1170     AWS_LOGSTREAM_ERROR("GetHealthCheckStatus", "Required field: HealthCheckId, is not set");
1171     return GetHealthCheckStatusOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HealthCheckId]", false));
1172   }
1173   Aws::Http::URI uri = m_uri;
1174   uri.AddPathSegments("/2013-04-01/healthcheck/");
1175   uri.AddPathSegment(request.GetHealthCheckId());
1176   uri.AddPathSegments("/status");
1177   return GetHealthCheckStatusOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1178 }
1179 
GetHealthCheckStatusCallable(const GetHealthCheckStatusRequest & request) const1180 GetHealthCheckStatusOutcomeCallable Route53Client::GetHealthCheckStatusCallable(const GetHealthCheckStatusRequest& request) const
1181 {
1182   auto task = Aws::MakeShared< std::packaged_task< GetHealthCheckStatusOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetHealthCheckStatus(request); } );
1183   auto packagedFunction = [task]() { (*task)(); };
1184   m_executor->Submit(packagedFunction);
1185   return task->get_future();
1186 }
1187 
GetHealthCheckStatusAsync(const GetHealthCheckStatusRequest & request,const GetHealthCheckStatusResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1188 void Route53Client::GetHealthCheckStatusAsync(const GetHealthCheckStatusRequest& request, const GetHealthCheckStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1189 {
1190   m_executor->Submit( [this, request, handler, context](){ this->GetHealthCheckStatusAsyncHelper( request, handler, context ); } );
1191 }
1192 
GetHealthCheckStatusAsyncHelper(const GetHealthCheckStatusRequest & request,const GetHealthCheckStatusResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1193 void Route53Client::GetHealthCheckStatusAsyncHelper(const GetHealthCheckStatusRequest& request, const GetHealthCheckStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1194 {
1195   handler(this, request, GetHealthCheckStatus(request), context);
1196 }
1197 
GetHostedZone(const GetHostedZoneRequest & request) const1198 GetHostedZoneOutcome Route53Client::GetHostedZone(const GetHostedZoneRequest& request) const
1199 {
1200   if (!request.IdHasBeenSet())
1201   {
1202     AWS_LOGSTREAM_ERROR("GetHostedZone", "Required field: Id, is not set");
1203     return GetHostedZoneOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
1204   }
1205   Aws::Http::URI uri = m_uri;
1206   uri.AddPathSegments("/2013-04-01/hostedzone/");
1207   uri.AddPathSegment(request.GetId());
1208   return GetHostedZoneOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1209 }
1210 
GetHostedZoneCallable(const GetHostedZoneRequest & request) const1211 GetHostedZoneOutcomeCallable Route53Client::GetHostedZoneCallable(const GetHostedZoneRequest& request) const
1212 {
1213   auto task = Aws::MakeShared< std::packaged_task< GetHostedZoneOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetHostedZone(request); } );
1214   auto packagedFunction = [task]() { (*task)(); };
1215   m_executor->Submit(packagedFunction);
1216   return task->get_future();
1217 }
1218 
GetHostedZoneAsync(const GetHostedZoneRequest & request,const GetHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1219 void Route53Client::GetHostedZoneAsync(const GetHostedZoneRequest& request, const GetHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1220 {
1221   m_executor->Submit( [this, request, handler, context](){ this->GetHostedZoneAsyncHelper( request, handler, context ); } );
1222 }
1223 
GetHostedZoneAsyncHelper(const GetHostedZoneRequest & request,const GetHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1224 void Route53Client::GetHostedZoneAsyncHelper(const GetHostedZoneRequest& request, const GetHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1225 {
1226   handler(this, request, GetHostedZone(request), context);
1227 }
1228 
GetHostedZoneCount(const GetHostedZoneCountRequest & request) const1229 GetHostedZoneCountOutcome Route53Client::GetHostedZoneCount(const GetHostedZoneCountRequest& request) const
1230 {
1231   Aws::Http::URI uri = m_uri;
1232   uri.AddPathSegments("/2013-04-01/hostedzonecount");
1233   return GetHostedZoneCountOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1234 }
1235 
GetHostedZoneCountCallable(const GetHostedZoneCountRequest & request) const1236 GetHostedZoneCountOutcomeCallable Route53Client::GetHostedZoneCountCallable(const GetHostedZoneCountRequest& request) const
1237 {
1238   auto task = Aws::MakeShared< std::packaged_task< GetHostedZoneCountOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetHostedZoneCount(request); } );
1239   auto packagedFunction = [task]() { (*task)(); };
1240   m_executor->Submit(packagedFunction);
1241   return task->get_future();
1242 }
1243 
GetHostedZoneCountAsync(const GetHostedZoneCountRequest & request,const GetHostedZoneCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1244 void Route53Client::GetHostedZoneCountAsync(const GetHostedZoneCountRequest& request, const GetHostedZoneCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1245 {
1246   m_executor->Submit( [this, request, handler, context](){ this->GetHostedZoneCountAsyncHelper( request, handler, context ); } );
1247 }
1248 
GetHostedZoneCountAsyncHelper(const GetHostedZoneCountRequest & request,const GetHostedZoneCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1249 void Route53Client::GetHostedZoneCountAsyncHelper(const GetHostedZoneCountRequest& request, const GetHostedZoneCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1250 {
1251   handler(this, request, GetHostedZoneCount(request), context);
1252 }
1253 
GetHostedZoneLimit(const GetHostedZoneLimitRequest & request) const1254 GetHostedZoneLimitOutcome Route53Client::GetHostedZoneLimit(const GetHostedZoneLimitRequest& request) const
1255 {
1256   if (!request.TypeHasBeenSet())
1257   {
1258     AWS_LOGSTREAM_ERROR("GetHostedZoneLimit", "Required field: Type, is not set");
1259     return GetHostedZoneLimitOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Type]", false));
1260   }
1261   if (!request.HostedZoneIdHasBeenSet())
1262   {
1263     AWS_LOGSTREAM_ERROR("GetHostedZoneLimit", "Required field: HostedZoneId, is not set");
1264     return GetHostedZoneLimitOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
1265   }
1266   Aws::Http::URI uri = m_uri;
1267   uri.AddPathSegments("/2013-04-01/hostedzonelimit/");
1268   uri.AddPathSegment(request.GetHostedZoneId());
1269   uri.AddPathSegment(HostedZoneLimitTypeMapper::GetNameForHostedZoneLimitType(request.GetType()));
1270   return GetHostedZoneLimitOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1271 }
1272 
GetHostedZoneLimitCallable(const GetHostedZoneLimitRequest & request) const1273 GetHostedZoneLimitOutcomeCallable Route53Client::GetHostedZoneLimitCallable(const GetHostedZoneLimitRequest& request) const
1274 {
1275   auto task = Aws::MakeShared< std::packaged_task< GetHostedZoneLimitOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetHostedZoneLimit(request); } );
1276   auto packagedFunction = [task]() { (*task)(); };
1277   m_executor->Submit(packagedFunction);
1278   return task->get_future();
1279 }
1280 
GetHostedZoneLimitAsync(const GetHostedZoneLimitRequest & request,const GetHostedZoneLimitResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1281 void Route53Client::GetHostedZoneLimitAsync(const GetHostedZoneLimitRequest& request, const GetHostedZoneLimitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1282 {
1283   m_executor->Submit( [this, request, handler, context](){ this->GetHostedZoneLimitAsyncHelper( request, handler, context ); } );
1284 }
1285 
GetHostedZoneLimitAsyncHelper(const GetHostedZoneLimitRequest & request,const GetHostedZoneLimitResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1286 void Route53Client::GetHostedZoneLimitAsyncHelper(const GetHostedZoneLimitRequest& request, const GetHostedZoneLimitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1287 {
1288   handler(this, request, GetHostedZoneLimit(request), context);
1289 }
1290 
GetQueryLoggingConfig(const GetQueryLoggingConfigRequest & request) const1291 GetQueryLoggingConfigOutcome Route53Client::GetQueryLoggingConfig(const GetQueryLoggingConfigRequest& request) const
1292 {
1293   if (!request.IdHasBeenSet())
1294   {
1295     AWS_LOGSTREAM_ERROR("GetQueryLoggingConfig", "Required field: Id, is not set");
1296     return GetQueryLoggingConfigOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
1297   }
1298   Aws::Http::URI uri = m_uri;
1299   uri.AddPathSegments("/2013-04-01/queryloggingconfig/");
1300   uri.AddPathSegment(request.GetId());
1301   return GetQueryLoggingConfigOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1302 }
1303 
GetQueryLoggingConfigCallable(const GetQueryLoggingConfigRequest & request) const1304 GetQueryLoggingConfigOutcomeCallable Route53Client::GetQueryLoggingConfigCallable(const GetQueryLoggingConfigRequest& request) const
1305 {
1306   auto task = Aws::MakeShared< std::packaged_task< GetQueryLoggingConfigOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetQueryLoggingConfig(request); } );
1307   auto packagedFunction = [task]() { (*task)(); };
1308   m_executor->Submit(packagedFunction);
1309   return task->get_future();
1310 }
1311 
GetQueryLoggingConfigAsync(const GetQueryLoggingConfigRequest & request,const GetQueryLoggingConfigResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1312 void Route53Client::GetQueryLoggingConfigAsync(const GetQueryLoggingConfigRequest& request, const GetQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1313 {
1314   m_executor->Submit( [this, request, handler, context](){ this->GetQueryLoggingConfigAsyncHelper( request, handler, context ); } );
1315 }
1316 
GetQueryLoggingConfigAsyncHelper(const GetQueryLoggingConfigRequest & request,const GetQueryLoggingConfigResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1317 void Route53Client::GetQueryLoggingConfigAsyncHelper(const GetQueryLoggingConfigRequest& request, const GetQueryLoggingConfigResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1318 {
1319   handler(this, request, GetQueryLoggingConfig(request), context);
1320 }
1321 
GetReusableDelegationSet(const GetReusableDelegationSetRequest & request) const1322 GetReusableDelegationSetOutcome Route53Client::GetReusableDelegationSet(const GetReusableDelegationSetRequest& request) const
1323 {
1324   if (!request.IdHasBeenSet())
1325   {
1326     AWS_LOGSTREAM_ERROR("GetReusableDelegationSet", "Required field: Id, is not set");
1327     return GetReusableDelegationSetOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
1328   }
1329   Aws::Http::URI uri = m_uri;
1330   uri.AddPathSegments("/2013-04-01/delegationset/");
1331   uri.AddPathSegment(request.GetId());
1332   return GetReusableDelegationSetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1333 }
1334 
GetReusableDelegationSetCallable(const GetReusableDelegationSetRequest & request) const1335 GetReusableDelegationSetOutcomeCallable Route53Client::GetReusableDelegationSetCallable(const GetReusableDelegationSetRequest& request) const
1336 {
1337   auto task = Aws::MakeShared< std::packaged_task< GetReusableDelegationSetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetReusableDelegationSet(request); } );
1338   auto packagedFunction = [task]() { (*task)(); };
1339   m_executor->Submit(packagedFunction);
1340   return task->get_future();
1341 }
1342 
GetReusableDelegationSetAsync(const GetReusableDelegationSetRequest & request,const GetReusableDelegationSetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1343 void Route53Client::GetReusableDelegationSetAsync(const GetReusableDelegationSetRequest& request, const GetReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1344 {
1345   m_executor->Submit( [this, request, handler, context](){ this->GetReusableDelegationSetAsyncHelper( request, handler, context ); } );
1346 }
1347 
GetReusableDelegationSetAsyncHelper(const GetReusableDelegationSetRequest & request,const GetReusableDelegationSetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1348 void Route53Client::GetReusableDelegationSetAsyncHelper(const GetReusableDelegationSetRequest& request, const GetReusableDelegationSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1349 {
1350   handler(this, request, GetReusableDelegationSet(request), context);
1351 }
1352 
GetReusableDelegationSetLimit(const GetReusableDelegationSetLimitRequest & request) const1353 GetReusableDelegationSetLimitOutcome Route53Client::GetReusableDelegationSetLimit(const GetReusableDelegationSetLimitRequest& request) const
1354 {
1355   if (!request.TypeHasBeenSet())
1356   {
1357     AWS_LOGSTREAM_ERROR("GetReusableDelegationSetLimit", "Required field: Type, is not set");
1358     return GetReusableDelegationSetLimitOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Type]", false));
1359   }
1360   if (!request.DelegationSetIdHasBeenSet())
1361   {
1362     AWS_LOGSTREAM_ERROR("GetReusableDelegationSetLimit", "Required field: DelegationSetId, is not set");
1363     return GetReusableDelegationSetLimitOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DelegationSetId]", false));
1364   }
1365   Aws::Http::URI uri = m_uri;
1366   uri.AddPathSegments("/2013-04-01/reusabledelegationsetlimit/");
1367   uri.AddPathSegment(request.GetDelegationSetId());
1368   uri.AddPathSegment(ReusableDelegationSetLimitTypeMapper::GetNameForReusableDelegationSetLimitType(request.GetType()));
1369   return GetReusableDelegationSetLimitOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1370 }
1371 
GetReusableDelegationSetLimitCallable(const GetReusableDelegationSetLimitRequest & request) const1372 GetReusableDelegationSetLimitOutcomeCallable Route53Client::GetReusableDelegationSetLimitCallable(const GetReusableDelegationSetLimitRequest& request) const
1373 {
1374   auto task = Aws::MakeShared< std::packaged_task< GetReusableDelegationSetLimitOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetReusableDelegationSetLimit(request); } );
1375   auto packagedFunction = [task]() { (*task)(); };
1376   m_executor->Submit(packagedFunction);
1377   return task->get_future();
1378 }
1379 
GetReusableDelegationSetLimitAsync(const GetReusableDelegationSetLimitRequest & request,const GetReusableDelegationSetLimitResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1380 void Route53Client::GetReusableDelegationSetLimitAsync(const GetReusableDelegationSetLimitRequest& request, const GetReusableDelegationSetLimitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1381 {
1382   m_executor->Submit( [this, request, handler, context](){ this->GetReusableDelegationSetLimitAsyncHelper( request, handler, context ); } );
1383 }
1384 
GetReusableDelegationSetLimitAsyncHelper(const GetReusableDelegationSetLimitRequest & request,const GetReusableDelegationSetLimitResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1385 void Route53Client::GetReusableDelegationSetLimitAsyncHelper(const GetReusableDelegationSetLimitRequest& request, const GetReusableDelegationSetLimitResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1386 {
1387   handler(this, request, GetReusableDelegationSetLimit(request), context);
1388 }
1389 
GetTrafficPolicy(const GetTrafficPolicyRequest & request) const1390 GetTrafficPolicyOutcome Route53Client::GetTrafficPolicy(const GetTrafficPolicyRequest& request) const
1391 {
1392   if (!request.IdHasBeenSet())
1393   {
1394     AWS_LOGSTREAM_ERROR("GetTrafficPolicy", "Required field: Id, is not set");
1395     return GetTrafficPolicyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
1396   }
1397   if (!request.VersionHasBeenSet())
1398   {
1399     AWS_LOGSTREAM_ERROR("GetTrafficPolicy", "Required field: Version, is not set");
1400     return GetTrafficPolicyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Version]", false));
1401   }
1402   Aws::Http::URI uri = m_uri;
1403   uri.AddPathSegments("/2013-04-01/trafficpolicy/");
1404   uri.AddPathSegment(request.GetId());
1405   uri.AddPathSegment(request.GetVersion());
1406   return GetTrafficPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1407 }
1408 
GetTrafficPolicyCallable(const GetTrafficPolicyRequest & request) const1409 GetTrafficPolicyOutcomeCallable Route53Client::GetTrafficPolicyCallable(const GetTrafficPolicyRequest& request) const
1410 {
1411   auto task = Aws::MakeShared< std::packaged_task< GetTrafficPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetTrafficPolicy(request); } );
1412   auto packagedFunction = [task]() { (*task)(); };
1413   m_executor->Submit(packagedFunction);
1414   return task->get_future();
1415 }
1416 
GetTrafficPolicyAsync(const GetTrafficPolicyRequest & request,const GetTrafficPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1417 void Route53Client::GetTrafficPolicyAsync(const GetTrafficPolicyRequest& request, const GetTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1418 {
1419   m_executor->Submit( [this, request, handler, context](){ this->GetTrafficPolicyAsyncHelper( request, handler, context ); } );
1420 }
1421 
GetTrafficPolicyAsyncHelper(const GetTrafficPolicyRequest & request,const GetTrafficPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1422 void Route53Client::GetTrafficPolicyAsyncHelper(const GetTrafficPolicyRequest& request, const GetTrafficPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1423 {
1424   handler(this, request, GetTrafficPolicy(request), context);
1425 }
1426 
GetTrafficPolicyInstance(const GetTrafficPolicyInstanceRequest & request) const1427 GetTrafficPolicyInstanceOutcome Route53Client::GetTrafficPolicyInstance(const GetTrafficPolicyInstanceRequest& request) const
1428 {
1429   if (!request.IdHasBeenSet())
1430   {
1431     AWS_LOGSTREAM_ERROR("GetTrafficPolicyInstance", "Required field: Id, is not set");
1432     return GetTrafficPolicyInstanceOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
1433   }
1434   Aws::Http::URI uri = m_uri;
1435   uri.AddPathSegments("/2013-04-01/trafficpolicyinstance/");
1436   uri.AddPathSegment(request.GetId());
1437   return GetTrafficPolicyInstanceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1438 }
1439 
GetTrafficPolicyInstanceCallable(const GetTrafficPolicyInstanceRequest & request) const1440 GetTrafficPolicyInstanceOutcomeCallable Route53Client::GetTrafficPolicyInstanceCallable(const GetTrafficPolicyInstanceRequest& request) const
1441 {
1442   auto task = Aws::MakeShared< std::packaged_task< GetTrafficPolicyInstanceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetTrafficPolicyInstance(request); } );
1443   auto packagedFunction = [task]() { (*task)(); };
1444   m_executor->Submit(packagedFunction);
1445   return task->get_future();
1446 }
1447 
GetTrafficPolicyInstanceAsync(const GetTrafficPolicyInstanceRequest & request,const GetTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1448 void Route53Client::GetTrafficPolicyInstanceAsync(const GetTrafficPolicyInstanceRequest& request, const GetTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1449 {
1450   m_executor->Submit( [this, request, handler, context](){ this->GetTrafficPolicyInstanceAsyncHelper( request, handler, context ); } );
1451 }
1452 
GetTrafficPolicyInstanceAsyncHelper(const GetTrafficPolicyInstanceRequest & request,const GetTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1453 void Route53Client::GetTrafficPolicyInstanceAsyncHelper(const GetTrafficPolicyInstanceRequest& request, const GetTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1454 {
1455   handler(this, request, GetTrafficPolicyInstance(request), context);
1456 }
1457 
GetTrafficPolicyInstanceCount(const GetTrafficPolicyInstanceCountRequest & request) const1458 GetTrafficPolicyInstanceCountOutcome Route53Client::GetTrafficPolicyInstanceCount(const GetTrafficPolicyInstanceCountRequest& request) const
1459 {
1460   Aws::Http::URI uri = m_uri;
1461   uri.AddPathSegments("/2013-04-01/trafficpolicyinstancecount");
1462   return GetTrafficPolicyInstanceCountOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1463 }
1464 
GetTrafficPolicyInstanceCountCallable(const GetTrafficPolicyInstanceCountRequest & request) const1465 GetTrafficPolicyInstanceCountOutcomeCallable Route53Client::GetTrafficPolicyInstanceCountCallable(const GetTrafficPolicyInstanceCountRequest& request) const
1466 {
1467   auto task = Aws::MakeShared< std::packaged_task< GetTrafficPolicyInstanceCountOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetTrafficPolicyInstanceCount(request); } );
1468   auto packagedFunction = [task]() { (*task)(); };
1469   m_executor->Submit(packagedFunction);
1470   return task->get_future();
1471 }
1472 
GetTrafficPolicyInstanceCountAsync(const GetTrafficPolicyInstanceCountRequest & request,const GetTrafficPolicyInstanceCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1473 void Route53Client::GetTrafficPolicyInstanceCountAsync(const GetTrafficPolicyInstanceCountRequest& request, const GetTrafficPolicyInstanceCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1474 {
1475   m_executor->Submit( [this, request, handler, context](){ this->GetTrafficPolicyInstanceCountAsyncHelper( request, handler, context ); } );
1476 }
1477 
GetTrafficPolicyInstanceCountAsyncHelper(const GetTrafficPolicyInstanceCountRequest & request,const GetTrafficPolicyInstanceCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1478 void Route53Client::GetTrafficPolicyInstanceCountAsyncHelper(const GetTrafficPolicyInstanceCountRequest& request, const GetTrafficPolicyInstanceCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1479 {
1480   handler(this, request, GetTrafficPolicyInstanceCount(request), context);
1481 }
1482 
ListGeoLocations(const ListGeoLocationsRequest & request) const1483 ListGeoLocationsOutcome Route53Client::ListGeoLocations(const ListGeoLocationsRequest& request) const
1484 {
1485   Aws::Http::URI uri = m_uri;
1486   uri.AddPathSegments("/2013-04-01/geolocations");
1487   return ListGeoLocationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1488 }
1489 
ListGeoLocationsCallable(const ListGeoLocationsRequest & request) const1490 ListGeoLocationsOutcomeCallable Route53Client::ListGeoLocationsCallable(const ListGeoLocationsRequest& request) const
1491 {
1492   auto task = Aws::MakeShared< std::packaged_task< ListGeoLocationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListGeoLocations(request); } );
1493   auto packagedFunction = [task]() { (*task)(); };
1494   m_executor->Submit(packagedFunction);
1495   return task->get_future();
1496 }
1497 
ListGeoLocationsAsync(const ListGeoLocationsRequest & request,const ListGeoLocationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1498 void Route53Client::ListGeoLocationsAsync(const ListGeoLocationsRequest& request, const ListGeoLocationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1499 {
1500   m_executor->Submit( [this, request, handler, context](){ this->ListGeoLocationsAsyncHelper( request, handler, context ); } );
1501 }
1502 
ListGeoLocationsAsyncHelper(const ListGeoLocationsRequest & request,const ListGeoLocationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1503 void Route53Client::ListGeoLocationsAsyncHelper(const ListGeoLocationsRequest& request, const ListGeoLocationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1504 {
1505   handler(this, request, ListGeoLocations(request), context);
1506 }
1507 
ListHealthChecks(const ListHealthChecksRequest & request) const1508 ListHealthChecksOutcome Route53Client::ListHealthChecks(const ListHealthChecksRequest& request) const
1509 {
1510   Aws::Http::URI uri = m_uri;
1511   uri.AddPathSegments("/2013-04-01/healthcheck");
1512   return ListHealthChecksOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1513 }
1514 
ListHealthChecksCallable(const ListHealthChecksRequest & request) const1515 ListHealthChecksOutcomeCallable Route53Client::ListHealthChecksCallable(const ListHealthChecksRequest& request) const
1516 {
1517   auto task = Aws::MakeShared< std::packaged_task< ListHealthChecksOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListHealthChecks(request); } );
1518   auto packagedFunction = [task]() { (*task)(); };
1519   m_executor->Submit(packagedFunction);
1520   return task->get_future();
1521 }
1522 
ListHealthChecksAsync(const ListHealthChecksRequest & request,const ListHealthChecksResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1523 void Route53Client::ListHealthChecksAsync(const ListHealthChecksRequest& request, const ListHealthChecksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1524 {
1525   m_executor->Submit( [this, request, handler, context](){ this->ListHealthChecksAsyncHelper( request, handler, context ); } );
1526 }
1527 
ListHealthChecksAsyncHelper(const ListHealthChecksRequest & request,const ListHealthChecksResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1528 void Route53Client::ListHealthChecksAsyncHelper(const ListHealthChecksRequest& request, const ListHealthChecksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1529 {
1530   handler(this, request, ListHealthChecks(request), context);
1531 }
1532 
ListHostedZones(const ListHostedZonesRequest & request) const1533 ListHostedZonesOutcome Route53Client::ListHostedZones(const ListHostedZonesRequest& request) const
1534 {
1535   Aws::Http::URI uri = m_uri;
1536   uri.AddPathSegments("/2013-04-01/hostedzone");
1537   return ListHostedZonesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1538 }
1539 
ListHostedZonesCallable(const ListHostedZonesRequest & request) const1540 ListHostedZonesOutcomeCallable Route53Client::ListHostedZonesCallable(const ListHostedZonesRequest& request) const
1541 {
1542   auto task = Aws::MakeShared< std::packaged_task< ListHostedZonesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListHostedZones(request); } );
1543   auto packagedFunction = [task]() { (*task)(); };
1544   m_executor->Submit(packagedFunction);
1545   return task->get_future();
1546 }
1547 
ListHostedZonesAsync(const ListHostedZonesRequest & request,const ListHostedZonesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1548 void Route53Client::ListHostedZonesAsync(const ListHostedZonesRequest& request, const ListHostedZonesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1549 {
1550   m_executor->Submit( [this, request, handler, context](){ this->ListHostedZonesAsyncHelper( request, handler, context ); } );
1551 }
1552 
ListHostedZonesAsyncHelper(const ListHostedZonesRequest & request,const ListHostedZonesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1553 void Route53Client::ListHostedZonesAsyncHelper(const ListHostedZonesRequest& request, const ListHostedZonesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1554 {
1555   handler(this, request, ListHostedZones(request), context);
1556 }
1557 
ListHostedZonesByName(const ListHostedZonesByNameRequest & request) const1558 ListHostedZonesByNameOutcome Route53Client::ListHostedZonesByName(const ListHostedZonesByNameRequest& request) const
1559 {
1560   Aws::Http::URI uri = m_uri;
1561   uri.AddPathSegments("/2013-04-01/hostedzonesbyname");
1562   return ListHostedZonesByNameOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1563 }
1564 
ListHostedZonesByNameCallable(const ListHostedZonesByNameRequest & request) const1565 ListHostedZonesByNameOutcomeCallable Route53Client::ListHostedZonesByNameCallable(const ListHostedZonesByNameRequest& request) const
1566 {
1567   auto task = Aws::MakeShared< std::packaged_task< ListHostedZonesByNameOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListHostedZonesByName(request); } );
1568   auto packagedFunction = [task]() { (*task)(); };
1569   m_executor->Submit(packagedFunction);
1570   return task->get_future();
1571 }
1572 
ListHostedZonesByNameAsync(const ListHostedZonesByNameRequest & request,const ListHostedZonesByNameResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1573 void Route53Client::ListHostedZonesByNameAsync(const ListHostedZonesByNameRequest& request, const ListHostedZonesByNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1574 {
1575   m_executor->Submit( [this, request, handler, context](){ this->ListHostedZonesByNameAsyncHelper( request, handler, context ); } );
1576 }
1577 
ListHostedZonesByNameAsyncHelper(const ListHostedZonesByNameRequest & request,const ListHostedZonesByNameResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1578 void Route53Client::ListHostedZonesByNameAsyncHelper(const ListHostedZonesByNameRequest& request, const ListHostedZonesByNameResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1579 {
1580   handler(this, request, ListHostedZonesByName(request), context);
1581 }
1582 
ListHostedZonesByVPC(const ListHostedZonesByVPCRequest & request) const1583 ListHostedZonesByVPCOutcome Route53Client::ListHostedZonesByVPC(const ListHostedZonesByVPCRequest& request) const
1584 {
1585   if (!request.VPCIdHasBeenSet())
1586   {
1587     AWS_LOGSTREAM_ERROR("ListHostedZonesByVPC", "Required field: VPCId, is not set");
1588     return ListHostedZonesByVPCOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [VPCId]", false));
1589   }
1590   if (!request.VPCRegionHasBeenSet())
1591   {
1592     AWS_LOGSTREAM_ERROR("ListHostedZonesByVPC", "Required field: VPCRegion, is not set");
1593     return ListHostedZonesByVPCOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [VPCRegion]", false));
1594   }
1595   Aws::Http::URI uri = m_uri;
1596   uri.AddPathSegments("/2013-04-01/hostedzonesbyvpc");
1597   return ListHostedZonesByVPCOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1598 }
1599 
ListHostedZonesByVPCCallable(const ListHostedZonesByVPCRequest & request) const1600 ListHostedZonesByVPCOutcomeCallable Route53Client::ListHostedZonesByVPCCallable(const ListHostedZonesByVPCRequest& request) const
1601 {
1602   auto task = Aws::MakeShared< std::packaged_task< ListHostedZonesByVPCOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListHostedZonesByVPC(request); } );
1603   auto packagedFunction = [task]() { (*task)(); };
1604   m_executor->Submit(packagedFunction);
1605   return task->get_future();
1606 }
1607 
ListHostedZonesByVPCAsync(const ListHostedZonesByVPCRequest & request,const ListHostedZonesByVPCResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1608 void Route53Client::ListHostedZonesByVPCAsync(const ListHostedZonesByVPCRequest& request, const ListHostedZonesByVPCResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1609 {
1610   m_executor->Submit( [this, request, handler, context](){ this->ListHostedZonesByVPCAsyncHelper( request, handler, context ); } );
1611 }
1612 
ListHostedZonesByVPCAsyncHelper(const ListHostedZonesByVPCRequest & request,const ListHostedZonesByVPCResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1613 void Route53Client::ListHostedZonesByVPCAsyncHelper(const ListHostedZonesByVPCRequest& request, const ListHostedZonesByVPCResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1614 {
1615   handler(this, request, ListHostedZonesByVPC(request), context);
1616 }
1617 
ListQueryLoggingConfigs(const ListQueryLoggingConfigsRequest & request) const1618 ListQueryLoggingConfigsOutcome Route53Client::ListQueryLoggingConfigs(const ListQueryLoggingConfigsRequest& request) const
1619 {
1620   Aws::Http::URI uri = m_uri;
1621   uri.AddPathSegments("/2013-04-01/queryloggingconfig");
1622   return ListQueryLoggingConfigsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1623 }
1624 
ListQueryLoggingConfigsCallable(const ListQueryLoggingConfigsRequest & request) const1625 ListQueryLoggingConfigsOutcomeCallable Route53Client::ListQueryLoggingConfigsCallable(const ListQueryLoggingConfigsRequest& request) const
1626 {
1627   auto task = Aws::MakeShared< std::packaged_task< ListQueryLoggingConfigsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListQueryLoggingConfigs(request); } );
1628   auto packagedFunction = [task]() { (*task)(); };
1629   m_executor->Submit(packagedFunction);
1630   return task->get_future();
1631 }
1632 
ListQueryLoggingConfigsAsync(const ListQueryLoggingConfigsRequest & request,const ListQueryLoggingConfigsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1633 void Route53Client::ListQueryLoggingConfigsAsync(const ListQueryLoggingConfigsRequest& request, const ListQueryLoggingConfigsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1634 {
1635   m_executor->Submit( [this, request, handler, context](){ this->ListQueryLoggingConfigsAsyncHelper( request, handler, context ); } );
1636 }
1637 
ListQueryLoggingConfigsAsyncHelper(const ListQueryLoggingConfigsRequest & request,const ListQueryLoggingConfigsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1638 void Route53Client::ListQueryLoggingConfigsAsyncHelper(const ListQueryLoggingConfigsRequest& request, const ListQueryLoggingConfigsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1639 {
1640   handler(this, request, ListQueryLoggingConfigs(request), context);
1641 }
1642 
ListResourceRecordSets(const ListResourceRecordSetsRequest & request) const1643 ListResourceRecordSetsOutcome Route53Client::ListResourceRecordSets(const ListResourceRecordSetsRequest& request) const
1644 {
1645   if (!request.HostedZoneIdHasBeenSet())
1646   {
1647     AWS_LOGSTREAM_ERROR("ListResourceRecordSets", "Required field: HostedZoneId, is not set");
1648     return ListResourceRecordSetsOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
1649   }
1650   Aws::Http::URI uri = m_uri;
1651   uri.AddPathSegments("/2013-04-01/hostedzone/");
1652   uri.AddPathSegment(request.GetHostedZoneId());
1653   uri.AddPathSegments("/rrset");
1654   return ListResourceRecordSetsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1655 }
1656 
ListResourceRecordSetsCallable(const ListResourceRecordSetsRequest & request) const1657 ListResourceRecordSetsOutcomeCallable Route53Client::ListResourceRecordSetsCallable(const ListResourceRecordSetsRequest& request) const
1658 {
1659   auto task = Aws::MakeShared< std::packaged_task< ListResourceRecordSetsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListResourceRecordSets(request); } );
1660   auto packagedFunction = [task]() { (*task)(); };
1661   m_executor->Submit(packagedFunction);
1662   return task->get_future();
1663 }
1664 
ListResourceRecordSetsAsync(const ListResourceRecordSetsRequest & request,const ListResourceRecordSetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1665 void Route53Client::ListResourceRecordSetsAsync(const ListResourceRecordSetsRequest& request, const ListResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1666 {
1667   m_executor->Submit( [this, request, handler, context](){ this->ListResourceRecordSetsAsyncHelper( request, handler, context ); } );
1668 }
1669 
ListResourceRecordSetsAsyncHelper(const ListResourceRecordSetsRequest & request,const ListResourceRecordSetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1670 void Route53Client::ListResourceRecordSetsAsyncHelper(const ListResourceRecordSetsRequest& request, const ListResourceRecordSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1671 {
1672   handler(this, request, ListResourceRecordSets(request), context);
1673 }
1674 
ListReusableDelegationSets(const ListReusableDelegationSetsRequest & request) const1675 ListReusableDelegationSetsOutcome Route53Client::ListReusableDelegationSets(const ListReusableDelegationSetsRequest& request) const
1676 {
1677   Aws::Http::URI uri = m_uri;
1678   uri.AddPathSegments("/2013-04-01/delegationset");
1679   return ListReusableDelegationSetsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1680 }
1681 
ListReusableDelegationSetsCallable(const ListReusableDelegationSetsRequest & request) const1682 ListReusableDelegationSetsOutcomeCallable Route53Client::ListReusableDelegationSetsCallable(const ListReusableDelegationSetsRequest& request) const
1683 {
1684   auto task = Aws::MakeShared< std::packaged_task< ListReusableDelegationSetsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListReusableDelegationSets(request); } );
1685   auto packagedFunction = [task]() { (*task)(); };
1686   m_executor->Submit(packagedFunction);
1687   return task->get_future();
1688 }
1689 
ListReusableDelegationSetsAsync(const ListReusableDelegationSetsRequest & request,const ListReusableDelegationSetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1690 void Route53Client::ListReusableDelegationSetsAsync(const ListReusableDelegationSetsRequest& request, const ListReusableDelegationSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1691 {
1692   m_executor->Submit( [this, request, handler, context](){ this->ListReusableDelegationSetsAsyncHelper( request, handler, context ); } );
1693 }
1694 
ListReusableDelegationSetsAsyncHelper(const ListReusableDelegationSetsRequest & request,const ListReusableDelegationSetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1695 void Route53Client::ListReusableDelegationSetsAsyncHelper(const ListReusableDelegationSetsRequest& request, const ListReusableDelegationSetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1696 {
1697   handler(this, request, ListReusableDelegationSets(request), context);
1698 }
1699 
ListTagsForResource(const ListTagsForResourceRequest & request) const1700 ListTagsForResourceOutcome Route53Client::ListTagsForResource(const ListTagsForResourceRequest& request) const
1701 {
1702   if (!request.ResourceTypeHasBeenSet())
1703   {
1704     AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceType, is not set");
1705     return ListTagsForResourceOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceType]", false));
1706   }
1707   if (!request.ResourceIdHasBeenSet())
1708   {
1709     AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceId, is not set");
1710     return ListTagsForResourceOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceId]", false));
1711   }
1712   Aws::Http::URI uri = m_uri;
1713   uri.AddPathSegments("/2013-04-01/tags/");
1714   uri.AddPathSegment(TagResourceTypeMapper::GetNameForTagResourceType(request.GetResourceType()));
1715   uri.AddPathSegment(request.GetResourceId());
1716   return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1717 }
1718 
ListTagsForResourceCallable(const ListTagsForResourceRequest & request) const1719 ListTagsForResourceOutcomeCallable Route53Client::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const
1720 {
1721   auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } );
1722   auto packagedFunction = [task]() { (*task)(); };
1723   m_executor->Submit(packagedFunction);
1724   return task->get_future();
1725 }
1726 
ListTagsForResourceAsync(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1727 void Route53Client::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1728 {
1729   m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } );
1730 }
1731 
ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1732 void Route53Client::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1733 {
1734   handler(this, request, ListTagsForResource(request), context);
1735 }
1736 
ListTagsForResources(const ListTagsForResourcesRequest & request) const1737 ListTagsForResourcesOutcome Route53Client::ListTagsForResources(const ListTagsForResourcesRequest& request) const
1738 {
1739   if (!request.ResourceTypeHasBeenSet())
1740   {
1741     AWS_LOGSTREAM_ERROR("ListTagsForResources", "Required field: ResourceType, is not set");
1742     return ListTagsForResourcesOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceType]", false));
1743   }
1744   Aws::Http::URI uri = m_uri;
1745   uri.AddPathSegments("/2013-04-01/tags/");
1746   uri.AddPathSegment(TagResourceTypeMapper::GetNameForTagResourceType(request.GetResourceType()));
1747   return ListTagsForResourcesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
1748 }
1749 
ListTagsForResourcesCallable(const ListTagsForResourcesRequest & request) const1750 ListTagsForResourcesOutcomeCallable Route53Client::ListTagsForResourcesCallable(const ListTagsForResourcesRequest& request) const
1751 {
1752   auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourcesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResources(request); } );
1753   auto packagedFunction = [task]() { (*task)(); };
1754   m_executor->Submit(packagedFunction);
1755   return task->get_future();
1756 }
1757 
ListTagsForResourcesAsync(const ListTagsForResourcesRequest & request,const ListTagsForResourcesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1758 void Route53Client::ListTagsForResourcesAsync(const ListTagsForResourcesRequest& request, const ListTagsForResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1759 {
1760   m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourcesAsyncHelper( request, handler, context ); } );
1761 }
1762 
ListTagsForResourcesAsyncHelper(const ListTagsForResourcesRequest & request,const ListTagsForResourcesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1763 void Route53Client::ListTagsForResourcesAsyncHelper(const ListTagsForResourcesRequest& request, const ListTagsForResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1764 {
1765   handler(this, request, ListTagsForResources(request), context);
1766 }
1767 
ListTrafficPolicies(const ListTrafficPoliciesRequest & request) const1768 ListTrafficPoliciesOutcome Route53Client::ListTrafficPolicies(const ListTrafficPoliciesRequest& request) const
1769 {
1770   Aws::Http::URI uri = m_uri;
1771   uri.AddPathSegments("/2013-04-01/trafficpolicies");
1772   return ListTrafficPoliciesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1773 }
1774 
ListTrafficPoliciesCallable(const ListTrafficPoliciesRequest & request) const1775 ListTrafficPoliciesOutcomeCallable Route53Client::ListTrafficPoliciesCallable(const ListTrafficPoliciesRequest& request) const
1776 {
1777   auto task = Aws::MakeShared< std::packaged_task< ListTrafficPoliciesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTrafficPolicies(request); } );
1778   auto packagedFunction = [task]() { (*task)(); };
1779   m_executor->Submit(packagedFunction);
1780   return task->get_future();
1781 }
1782 
ListTrafficPoliciesAsync(const ListTrafficPoliciesRequest & request,const ListTrafficPoliciesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1783 void Route53Client::ListTrafficPoliciesAsync(const ListTrafficPoliciesRequest& request, const ListTrafficPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1784 {
1785   m_executor->Submit( [this, request, handler, context](){ this->ListTrafficPoliciesAsyncHelper( request, handler, context ); } );
1786 }
1787 
ListTrafficPoliciesAsyncHelper(const ListTrafficPoliciesRequest & request,const ListTrafficPoliciesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1788 void Route53Client::ListTrafficPoliciesAsyncHelper(const ListTrafficPoliciesRequest& request, const ListTrafficPoliciesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1789 {
1790   handler(this, request, ListTrafficPolicies(request), context);
1791 }
1792 
ListTrafficPolicyInstances(const ListTrafficPolicyInstancesRequest & request) const1793 ListTrafficPolicyInstancesOutcome Route53Client::ListTrafficPolicyInstances(const ListTrafficPolicyInstancesRequest& request) const
1794 {
1795   Aws::Http::URI uri = m_uri;
1796   uri.AddPathSegments("/2013-04-01/trafficpolicyinstances");
1797   return ListTrafficPolicyInstancesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1798 }
1799 
ListTrafficPolicyInstancesCallable(const ListTrafficPolicyInstancesRequest & request) const1800 ListTrafficPolicyInstancesOutcomeCallable Route53Client::ListTrafficPolicyInstancesCallable(const ListTrafficPolicyInstancesRequest& request) const
1801 {
1802   auto task = Aws::MakeShared< std::packaged_task< ListTrafficPolicyInstancesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTrafficPolicyInstances(request); } );
1803   auto packagedFunction = [task]() { (*task)(); };
1804   m_executor->Submit(packagedFunction);
1805   return task->get_future();
1806 }
1807 
ListTrafficPolicyInstancesAsync(const ListTrafficPolicyInstancesRequest & request,const ListTrafficPolicyInstancesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1808 void Route53Client::ListTrafficPolicyInstancesAsync(const ListTrafficPolicyInstancesRequest& request, const ListTrafficPolicyInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1809 {
1810   m_executor->Submit( [this, request, handler, context](){ this->ListTrafficPolicyInstancesAsyncHelper( request, handler, context ); } );
1811 }
1812 
ListTrafficPolicyInstancesAsyncHelper(const ListTrafficPolicyInstancesRequest & request,const ListTrafficPolicyInstancesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1813 void Route53Client::ListTrafficPolicyInstancesAsyncHelper(const ListTrafficPolicyInstancesRequest& request, const ListTrafficPolicyInstancesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1814 {
1815   handler(this, request, ListTrafficPolicyInstances(request), context);
1816 }
1817 
ListTrafficPolicyInstancesByHostedZone(const ListTrafficPolicyInstancesByHostedZoneRequest & request) const1818 ListTrafficPolicyInstancesByHostedZoneOutcome Route53Client::ListTrafficPolicyInstancesByHostedZone(const ListTrafficPolicyInstancesByHostedZoneRequest& request) const
1819 {
1820   if (!request.HostedZoneIdHasBeenSet())
1821   {
1822     AWS_LOGSTREAM_ERROR("ListTrafficPolicyInstancesByHostedZone", "Required field: HostedZoneId, is not set");
1823     return ListTrafficPolicyInstancesByHostedZoneOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
1824   }
1825   Aws::Http::URI uri = m_uri;
1826   uri.AddPathSegments("/2013-04-01/trafficpolicyinstances/hostedzone");
1827   return ListTrafficPolicyInstancesByHostedZoneOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1828 }
1829 
ListTrafficPolicyInstancesByHostedZoneCallable(const ListTrafficPolicyInstancesByHostedZoneRequest & request) const1830 ListTrafficPolicyInstancesByHostedZoneOutcomeCallable Route53Client::ListTrafficPolicyInstancesByHostedZoneCallable(const ListTrafficPolicyInstancesByHostedZoneRequest& request) const
1831 {
1832   auto task = Aws::MakeShared< std::packaged_task< ListTrafficPolicyInstancesByHostedZoneOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTrafficPolicyInstancesByHostedZone(request); } );
1833   auto packagedFunction = [task]() { (*task)(); };
1834   m_executor->Submit(packagedFunction);
1835   return task->get_future();
1836 }
1837 
ListTrafficPolicyInstancesByHostedZoneAsync(const ListTrafficPolicyInstancesByHostedZoneRequest & request,const ListTrafficPolicyInstancesByHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1838 void Route53Client::ListTrafficPolicyInstancesByHostedZoneAsync(const ListTrafficPolicyInstancesByHostedZoneRequest& request, const ListTrafficPolicyInstancesByHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1839 {
1840   m_executor->Submit( [this, request, handler, context](){ this->ListTrafficPolicyInstancesByHostedZoneAsyncHelper( request, handler, context ); } );
1841 }
1842 
ListTrafficPolicyInstancesByHostedZoneAsyncHelper(const ListTrafficPolicyInstancesByHostedZoneRequest & request,const ListTrafficPolicyInstancesByHostedZoneResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1843 void Route53Client::ListTrafficPolicyInstancesByHostedZoneAsyncHelper(const ListTrafficPolicyInstancesByHostedZoneRequest& request, const ListTrafficPolicyInstancesByHostedZoneResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1844 {
1845   handler(this, request, ListTrafficPolicyInstancesByHostedZone(request), context);
1846 }
1847 
ListTrafficPolicyInstancesByPolicy(const ListTrafficPolicyInstancesByPolicyRequest & request) const1848 ListTrafficPolicyInstancesByPolicyOutcome Route53Client::ListTrafficPolicyInstancesByPolicy(const ListTrafficPolicyInstancesByPolicyRequest& request) const
1849 {
1850   if (!request.TrafficPolicyIdHasBeenSet())
1851   {
1852     AWS_LOGSTREAM_ERROR("ListTrafficPolicyInstancesByPolicy", "Required field: TrafficPolicyId, is not set");
1853     return ListTrafficPolicyInstancesByPolicyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TrafficPolicyId]", false));
1854   }
1855   if (!request.TrafficPolicyVersionHasBeenSet())
1856   {
1857     AWS_LOGSTREAM_ERROR("ListTrafficPolicyInstancesByPolicy", "Required field: TrafficPolicyVersion, is not set");
1858     return ListTrafficPolicyInstancesByPolicyOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TrafficPolicyVersion]", false));
1859   }
1860   Aws::Http::URI uri = m_uri;
1861   uri.AddPathSegments("/2013-04-01/trafficpolicyinstances/trafficpolicy");
1862   return ListTrafficPolicyInstancesByPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1863 }
1864 
ListTrafficPolicyInstancesByPolicyCallable(const ListTrafficPolicyInstancesByPolicyRequest & request) const1865 ListTrafficPolicyInstancesByPolicyOutcomeCallable Route53Client::ListTrafficPolicyInstancesByPolicyCallable(const ListTrafficPolicyInstancesByPolicyRequest& request) const
1866 {
1867   auto task = Aws::MakeShared< std::packaged_task< ListTrafficPolicyInstancesByPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTrafficPolicyInstancesByPolicy(request); } );
1868   auto packagedFunction = [task]() { (*task)(); };
1869   m_executor->Submit(packagedFunction);
1870   return task->get_future();
1871 }
1872 
ListTrafficPolicyInstancesByPolicyAsync(const ListTrafficPolicyInstancesByPolicyRequest & request,const ListTrafficPolicyInstancesByPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1873 void Route53Client::ListTrafficPolicyInstancesByPolicyAsync(const ListTrafficPolicyInstancesByPolicyRequest& request, const ListTrafficPolicyInstancesByPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1874 {
1875   m_executor->Submit( [this, request, handler, context](){ this->ListTrafficPolicyInstancesByPolicyAsyncHelper( request, handler, context ); } );
1876 }
1877 
ListTrafficPolicyInstancesByPolicyAsyncHelper(const ListTrafficPolicyInstancesByPolicyRequest & request,const ListTrafficPolicyInstancesByPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1878 void Route53Client::ListTrafficPolicyInstancesByPolicyAsyncHelper(const ListTrafficPolicyInstancesByPolicyRequest& request, const ListTrafficPolicyInstancesByPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1879 {
1880   handler(this, request, ListTrafficPolicyInstancesByPolicy(request), context);
1881 }
1882 
ListTrafficPolicyVersions(const ListTrafficPolicyVersionsRequest & request) const1883 ListTrafficPolicyVersionsOutcome Route53Client::ListTrafficPolicyVersions(const ListTrafficPolicyVersionsRequest& request) const
1884 {
1885   if (!request.IdHasBeenSet())
1886   {
1887     AWS_LOGSTREAM_ERROR("ListTrafficPolicyVersions", "Required field: Id, is not set");
1888     return ListTrafficPolicyVersionsOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
1889   }
1890   Aws::Http::URI uri = m_uri;
1891   uri.AddPathSegments("/2013-04-01/trafficpolicies/");
1892   uri.AddPathSegment(request.GetId());
1893   uri.AddPathSegments("/versions");
1894   return ListTrafficPolicyVersionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1895 }
1896 
ListTrafficPolicyVersionsCallable(const ListTrafficPolicyVersionsRequest & request) const1897 ListTrafficPolicyVersionsOutcomeCallable Route53Client::ListTrafficPolicyVersionsCallable(const ListTrafficPolicyVersionsRequest& request) const
1898 {
1899   auto task = Aws::MakeShared< std::packaged_task< ListTrafficPolicyVersionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTrafficPolicyVersions(request); } );
1900   auto packagedFunction = [task]() { (*task)(); };
1901   m_executor->Submit(packagedFunction);
1902   return task->get_future();
1903 }
1904 
ListTrafficPolicyVersionsAsync(const ListTrafficPolicyVersionsRequest & request,const ListTrafficPolicyVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1905 void Route53Client::ListTrafficPolicyVersionsAsync(const ListTrafficPolicyVersionsRequest& request, const ListTrafficPolicyVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1906 {
1907   m_executor->Submit( [this, request, handler, context](){ this->ListTrafficPolicyVersionsAsyncHelper( request, handler, context ); } );
1908 }
1909 
ListTrafficPolicyVersionsAsyncHelper(const ListTrafficPolicyVersionsRequest & request,const ListTrafficPolicyVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1910 void Route53Client::ListTrafficPolicyVersionsAsyncHelper(const ListTrafficPolicyVersionsRequest& request, const ListTrafficPolicyVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1911 {
1912   handler(this, request, ListTrafficPolicyVersions(request), context);
1913 }
1914 
ListVPCAssociationAuthorizations(const ListVPCAssociationAuthorizationsRequest & request) const1915 ListVPCAssociationAuthorizationsOutcome Route53Client::ListVPCAssociationAuthorizations(const ListVPCAssociationAuthorizationsRequest& request) const
1916 {
1917   if (!request.HostedZoneIdHasBeenSet())
1918   {
1919     AWS_LOGSTREAM_ERROR("ListVPCAssociationAuthorizations", "Required field: HostedZoneId, is not set");
1920     return ListVPCAssociationAuthorizationsOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
1921   }
1922   Aws::Http::URI uri = m_uri;
1923   uri.AddPathSegments("/2013-04-01/hostedzone/");
1924   uri.AddPathSegment(request.GetHostedZoneId());
1925   uri.AddPathSegments("/authorizevpcassociation");
1926   return ListVPCAssociationAuthorizationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1927 }
1928 
ListVPCAssociationAuthorizationsCallable(const ListVPCAssociationAuthorizationsRequest & request) const1929 ListVPCAssociationAuthorizationsOutcomeCallable Route53Client::ListVPCAssociationAuthorizationsCallable(const ListVPCAssociationAuthorizationsRequest& request) const
1930 {
1931   auto task = Aws::MakeShared< std::packaged_task< ListVPCAssociationAuthorizationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListVPCAssociationAuthorizations(request); } );
1932   auto packagedFunction = [task]() { (*task)(); };
1933   m_executor->Submit(packagedFunction);
1934   return task->get_future();
1935 }
1936 
ListVPCAssociationAuthorizationsAsync(const ListVPCAssociationAuthorizationsRequest & request,const ListVPCAssociationAuthorizationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1937 void Route53Client::ListVPCAssociationAuthorizationsAsync(const ListVPCAssociationAuthorizationsRequest& request, const ListVPCAssociationAuthorizationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1938 {
1939   m_executor->Submit( [this, request, handler, context](){ this->ListVPCAssociationAuthorizationsAsyncHelper( request, handler, context ); } );
1940 }
1941 
ListVPCAssociationAuthorizationsAsyncHelper(const ListVPCAssociationAuthorizationsRequest & request,const ListVPCAssociationAuthorizationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1942 void Route53Client::ListVPCAssociationAuthorizationsAsyncHelper(const ListVPCAssociationAuthorizationsRequest& request, const ListVPCAssociationAuthorizationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1943 {
1944   handler(this, request, ListVPCAssociationAuthorizations(request), context);
1945 }
1946 
TestDNSAnswer(const TestDNSAnswerRequest & request) const1947 TestDNSAnswerOutcome Route53Client::TestDNSAnswer(const TestDNSAnswerRequest& request) const
1948 {
1949   if (!request.HostedZoneIdHasBeenSet())
1950   {
1951     AWS_LOGSTREAM_ERROR("TestDNSAnswer", "Required field: HostedZoneId, is not set");
1952     return TestDNSAnswerOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HostedZoneId]", false));
1953   }
1954   if (!request.RecordNameHasBeenSet())
1955   {
1956     AWS_LOGSTREAM_ERROR("TestDNSAnswer", "Required field: RecordName, is not set");
1957     return TestDNSAnswerOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RecordName]", false));
1958   }
1959   if (!request.RecordTypeHasBeenSet())
1960   {
1961     AWS_LOGSTREAM_ERROR("TestDNSAnswer", "Required field: RecordType, is not set");
1962     return TestDNSAnswerOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RecordType]", false));
1963   }
1964   Aws::Http::URI uri = m_uri;
1965   uri.AddPathSegments("/2013-04-01/testdnsanswer");
1966   return TestDNSAnswerOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET));
1967 }
1968 
TestDNSAnswerCallable(const TestDNSAnswerRequest & request) const1969 TestDNSAnswerOutcomeCallable Route53Client::TestDNSAnswerCallable(const TestDNSAnswerRequest& request) const
1970 {
1971   auto task = Aws::MakeShared< std::packaged_task< TestDNSAnswerOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TestDNSAnswer(request); } );
1972   auto packagedFunction = [task]() { (*task)(); };
1973   m_executor->Submit(packagedFunction);
1974   return task->get_future();
1975 }
1976 
TestDNSAnswerAsync(const TestDNSAnswerRequest & request,const TestDNSAnswerResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1977 void Route53Client::TestDNSAnswerAsync(const TestDNSAnswerRequest& request, const TestDNSAnswerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1978 {
1979   m_executor->Submit( [this, request, handler, context](){ this->TestDNSAnswerAsyncHelper( request, handler, context ); } );
1980 }
1981 
TestDNSAnswerAsyncHelper(const TestDNSAnswerRequest & request,const TestDNSAnswerResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1982 void Route53Client::TestDNSAnswerAsyncHelper(const TestDNSAnswerRequest& request, const TestDNSAnswerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1983 {
1984   handler(this, request, TestDNSAnswer(request), context);
1985 }
1986 
UpdateHealthCheck(const UpdateHealthCheckRequest & request) const1987 UpdateHealthCheckOutcome Route53Client::UpdateHealthCheck(const UpdateHealthCheckRequest& request) const
1988 {
1989   if (!request.HealthCheckIdHasBeenSet())
1990   {
1991     AWS_LOGSTREAM_ERROR("UpdateHealthCheck", "Required field: HealthCheckId, is not set");
1992     return UpdateHealthCheckOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [HealthCheckId]", false));
1993   }
1994   Aws::Http::URI uri = m_uri;
1995   uri.AddPathSegments("/2013-04-01/healthcheck/");
1996   uri.AddPathSegment(request.GetHealthCheckId());
1997   return UpdateHealthCheckOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
1998 }
1999 
UpdateHealthCheckCallable(const UpdateHealthCheckRequest & request) const2000 UpdateHealthCheckOutcomeCallable Route53Client::UpdateHealthCheckCallable(const UpdateHealthCheckRequest& request) const
2001 {
2002   auto task = Aws::MakeShared< std::packaged_task< UpdateHealthCheckOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateHealthCheck(request); } );
2003   auto packagedFunction = [task]() { (*task)(); };
2004   m_executor->Submit(packagedFunction);
2005   return task->get_future();
2006 }
2007 
UpdateHealthCheckAsync(const UpdateHealthCheckRequest & request,const UpdateHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2008 void Route53Client::UpdateHealthCheckAsync(const UpdateHealthCheckRequest& request, const UpdateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2009 {
2010   m_executor->Submit( [this, request, handler, context](){ this->UpdateHealthCheckAsyncHelper( request, handler, context ); } );
2011 }
2012 
UpdateHealthCheckAsyncHelper(const UpdateHealthCheckRequest & request,const UpdateHealthCheckResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2013 void Route53Client::UpdateHealthCheckAsyncHelper(const UpdateHealthCheckRequest& request, const UpdateHealthCheckResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2014 {
2015   handler(this, request, UpdateHealthCheck(request), context);
2016 }
2017 
UpdateHostedZoneComment(const UpdateHostedZoneCommentRequest & request) const2018 UpdateHostedZoneCommentOutcome Route53Client::UpdateHostedZoneComment(const UpdateHostedZoneCommentRequest& request) const
2019 {
2020   if (!request.IdHasBeenSet())
2021   {
2022     AWS_LOGSTREAM_ERROR("UpdateHostedZoneComment", "Required field: Id, is not set");
2023     return UpdateHostedZoneCommentOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
2024   }
2025   Aws::Http::URI uri = m_uri;
2026   uri.AddPathSegments("/2013-04-01/hostedzone/");
2027   uri.AddPathSegment(request.GetId());
2028   return UpdateHostedZoneCommentOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
2029 }
2030 
UpdateHostedZoneCommentCallable(const UpdateHostedZoneCommentRequest & request) const2031 UpdateHostedZoneCommentOutcomeCallable Route53Client::UpdateHostedZoneCommentCallable(const UpdateHostedZoneCommentRequest& request) const
2032 {
2033   auto task = Aws::MakeShared< std::packaged_task< UpdateHostedZoneCommentOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateHostedZoneComment(request); } );
2034   auto packagedFunction = [task]() { (*task)(); };
2035   m_executor->Submit(packagedFunction);
2036   return task->get_future();
2037 }
2038 
UpdateHostedZoneCommentAsync(const UpdateHostedZoneCommentRequest & request,const UpdateHostedZoneCommentResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2039 void Route53Client::UpdateHostedZoneCommentAsync(const UpdateHostedZoneCommentRequest& request, const UpdateHostedZoneCommentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2040 {
2041   m_executor->Submit( [this, request, handler, context](){ this->UpdateHostedZoneCommentAsyncHelper( request, handler, context ); } );
2042 }
2043 
UpdateHostedZoneCommentAsyncHelper(const UpdateHostedZoneCommentRequest & request,const UpdateHostedZoneCommentResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2044 void Route53Client::UpdateHostedZoneCommentAsyncHelper(const UpdateHostedZoneCommentRequest& request, const UpdateHostedZoneCommentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2045 {
2046   handler(this, request, UpdateHostedZoneComment(request), context);
2047 }
2048 
UpdateTrafficPolicyComment(const UpdateTrafficPolicyCommentRequest & request) const2049 UpdateTrafficPolicyCommentOutcome Route53Client::UpdateTrafficPolicyComment(const UpdateTrafficPolicyCommentRequest& request) const
2050 {
2051   if (!request.IdHasBeenSet())
2052   {
2053     AWS_LOGSTREAM_ERROR("UpdateTrafficPolicyComment", "Required field: Id, is not set");
2054     return UpdateTrafficPolicyCommentOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
2055   }
2056   if (!request.VersionHasBeenSet())
2057   {
2058     AWS_LOGSTREAM_ERROR("UpdateTrafficPolicyComment", "Required field: Version, is not set");
2059     return UpdateTrafficPolicyCommentOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Version]", false));
2060   }
2061   Aws::Http::URI uri = m_uri;
2062   uri.AddPathSegments("/2013-04-01/trafficpolicy/");
2063   uri.AddPathSegment(request.GetId());
2064   uri.AddPathSegment(request.GetVersion());
2065   return UpdateTrafficPolicyCommentOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
2066 }
2067 
UpdateTrafficPolicyCommentCallable(const UpdateTrafficPolicyCommentRequest & request) const2068 UpdateTrafficPolicyCommentOutcomeCallable Route53Client::UpdateTrafficPolicyCommentCallable(const UpdateTrafficPolicyCommentRequest& request) const
2069 {
2070   auto task = Aws::MakeShared< std::packaged_task< UpdateTrafficPolicyCommentOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateTrafficPolicyComment(request); } );
2071   auto packagedFunction = [task]() { (*task)(); };
2072   m_executor->Submit(packagedFunction);
2073   return task->get_future();
2074 }
2075 
UpdateTrafficPolicyCommentAsync(const UpdateTrafficPolicyCommentRequest & request,const UpdateTrafficPolicyCommentResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2076 void Route53Client::UpdateTrafficPolicyCommentAsync(const UpdateTrafficPolicyCommentRequest& request, const UpdateTrafficPolicyCommentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2077 {
2078   m_executor->Submit( [this, request, handler, context](){ this->UpdateTrafficPolicyCommentAsyncHelper( request, handler, context ); } );
2079 }
2080 
UpdateTrafficPolicyCommentAsyncHelper(const UpdateTrafficPolicyCommentRequest & request,const UpdateTrafficPolicyCommentResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2081 void Route53Client::UpdateTrafficPolicyCommentAsyncHelper(const UpdateTrafficPolicyCommentRequest& request, const UpdateTrafficPolicyCommentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2082 {
2083   handler(this, request, UpdateTrafficPolicyComment(request), context);
2084 }
2085 
UpdateTrafficPolicyInstance(const UpdateTrafficPolicyInstanceRequest & request) const2086 UpdateTrafficPolicyInstanceOutcome Route53Client::UpdateTrafficPolicyInstance(const UpdateTrafficPolicyInstanceRequest& request) const
2087 {
2088   if (!request.IdHasBeenSet())
2089   {
2090     AWS_LOGSTREAM_ERROR("UpdateTrafficPolicyInstance", "Required field: Id, is not set");
2091     return UpdateTrafficPolicyInstanceOutcome(Aws::Client::AWSError<Route53Errors>(Route53Errors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false));
2092   }
2093   Aws::Http::URI uri = m_uri;
2094   uri.AddPathSegments("/2013-04-01/trafficpolicyinstance/");
2095   uri.AddPathSegment(request.GetId());
2096   return UpdateTrafficPolicyInstanceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
2097 }
2098 
UpdateTrafficPolicyInstanceCallable(const UpdateTrafficPolicyInstanceRequest & request) const2099 UpdateTrafficPolicyInstanceOutcomeCallable Route53Client::UpdateTrafficPolicyInstanceCallable(const UpdateTrafficPolicyInstanceRequest& request) const
2100 {
2101   auto task = Aws::MakeShared< std::packaged_task< UpdateTrafficPolicyInstanceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateTrafficPolicyInstance(request); } );
2102   auto packagedFunction = [task]() { (*task)(); };
2103   m_executor->Submit(packagedFunction);
2104   return task->get_future();
2105 }
2106 
UpdateTrafficPolicyInstanceAsync(const UpdateTrafficPolicyInstanceRequest & request,const UpdateTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2107 void Route53Client::UpdateTrafficPolicyInstanceAsync(const UpdateTrafficPolicyInstanceRequest& request, const UpdateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2108 {
2109   m_executor->Submit( [this, request, handler, context](){ this->UpdateTrafficPolicyInstanceAsyncHelper( request, handler, context ); } );
2110 }
2111 
UpdateTrafficPolicyInstanceAsyncHelper(const UpdateTrafficPolicyInstanceRequest & request,const UpdateTrafficPolicyInstanceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2112 void Route53Client::UpdateTrafficPolicyInstanceAsyncHelper(const UpdateTrafficPolicyInstanceRequest& request, const UpdateTrafficPolicyInstanceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2113 {
2114   handler(this, request, UpdateTrafficPolicyInstance(request), context);
2115 }
2116 
2117