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/json/JsonSerializer.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/backup/BackupClient.h>
21 #include <aws/backup/BackupEndpoint.h>
22 #include <aws/backup/BackupErrorMarshaller.h>
23 #include <aws/backup/model/CreateBackupPlanRequest.h>
24 #include <aws/backup/model/CreateBackupSelectionRequest.h>
25 #include <aws/backup/model/CreateBackupVaultRequest.h>
26 #include <aws/backup/model/CreateFrameworkRequest.h>
27 #include <aws/backup/model/CreateReportPlanRequest.h>
28 #include <aws/backup/model/DeleteBackupPlanRequest.h>
29 #include <aws/backup/model/DeleteBackupSelectionRequest.h>
30 #include <aws/backup/model/DeleteBackupVaultRequest.h>
31 #include <aws/backup/model/DeleteBackupVaultAccessPolicyRequest.h>
32 #include <aws/backup/model/DeleteBackupVaultLockConfigurationRequest.h>
33 #include <aws/backup/model/DeleteBackupVaultNotificationsRequest.h>
34 #include <aws/backup/model/DeleteFrameworkRequest.h>
35 #include <aws/backup/model/DeleteRecoveryPointRequest.h>
36 #include <aws/backup/model/DeleteReportPlanRequest.h>
37 #include <aws/backup/model/DescribeBackupJobRequest.h>
38 #include <aws/backup/model/DescribeBackupVaultRequest.h>
39 #include <aws/backup/model/DescribeCopyJobRequest.h>
40 #include <aws/backup/model/DescribeFrameworkRequest.h>
41 #include <aws/backup/model/DescribeGlobalSettingsRequest.h>
42 #include <aws/backup/model/DescribeProtectedResourceRequest.h>
43 #include <aws/backup/model/DescribeRecoveryPointRequest.h>
44 #include <aws/backup/model/DescribeRegionSettingsRequest.h>
45 #include <aws/backup/model/DescribeReportJobRequest.h>
46 #include <aws/backup/model/DescribeReportPlanRequest.h>
47 #include <aws/backup/model/DescribeRestoreJobRequest.h>
48 #include <aws/backup/model/DisassociateRecoveryPointRequest.h>
49 #include <aws/backup/model/ExportBackupPlanTemplateRequest.h>
50 #include <aws/backup/model/GetBackupPlanRequest.h>
51 #include <aws/backup/model/GetBackupPlanFromJSONRequest.h>
52 #include <aws/backup/model/GetBackupPlanFromTemplateRequest.h>
53 #include <aws/backup/model/GetBackupSelectionRequest.h>
54 #include <aws/backup/model/GetBackupVaultAccessPolicyRequest.h>
55 #include <aws/backup/model/GetBackupVaultNotificationsRequest.h>
56 #include <aws/backup/model/GetRecoveryPointRestoreMetadataRequest.h>
57 #include <aws/backup/model/ListBackupJobsRequest.h>
58 #include <aws/backup/model/ListBackupPlanTemplatesRequest.h>
59 #include <aws/backup/model/ListBackupPlanVersionsRequest.h>
60 #include <aws/backup/model/ListBackupPlansRequest.h>
61 #include <aws/backup/model/ListBackupSelectionsRequest.h>
62 #include <aws/backup/model/ListBackupVaultsRequest.h>
63 #include <aws/backup/model/ListCopyJobsRequest.h>
64 #include <aws/backup/model/ListFrameworksRequest.h>
65 #include <aws/backup/model/ListProtectedResourcesRequest.h>
66 #include <aws/backup/model/ListRecoveryPointsByBackupVaultRequest.h>
67 #include <aws/backup/model/ListRecoveryPointsByResourceRequest.h>
68 #include <aws/backup/model/ListReportJobsRequest.h>
69 #include <aws/backup/model/ListReportPlansRequest.h>
70 #include <aws/backup/model/ListRestoreJobsRequest.h>
71 #include <aws/backup/model/ListTagsRequest.h>
72 #include <aws/backup/model/PutBackupVaultAccessPolicyRequest.h>
73 #include <aws/backup/model/PutBackupVaultLockConfigurationRequest.h>
74 #include <aws/backup/model/PutBackupVaultNotificationsRequest.h>
75 #include <aws/backup/model/StartBackupJobRequest.h>
76 #include <aws/backup/model/StartCopyJobRequest.h>
77 #include <aws/backup/model/StartReportJobRequest.h>
78 #include <aws/backup/model/StartRestoreJobRequest.h>
79 #include <aws/backup/model/StopBackupJobRequest.h>
80 #include <aws/backup/model/TagResourceRequest.h>
81 #include <aws/backup/model/UntagResourceRequest.h>
82 #include <aws/backup/model/UpdateBackupPlanRequest.h>
83 #include <aws/backup/model/UpdateFrameworkRequest.h>
84 #include <aws/backup/model/UpdateGlobalSettingsRequest.h>
85 #include <aws/backup/model/UpdateRecoveryPointLifecycleRequest.h>
86 #include <aws/backup/model/UpdateRegionSettingsRequest.h>
87 #include <aws/backup/model/UpdateReportPlanRequest.h>
88 
89 using namespace Aws;
90 using namespace Aws::Auth;
91 using namespace Aws::Client;
92 using namespace Aws::Backup;
93 using namespace Aws::Backup::Model;
94 using namespace Aws::Http;
95 using namespace Aws::Utils::Json;
96 
97 static const char* SERVICE_NAME = "backup";
98 static const char* ALLOCATION_TAG = "BackupClient";
99 
100 
BackupClient(const Client::ClientConfiguration & clientConfiguration)101 BackupClient::BackupClient(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<BackupErrorMarshaller>(ALLOCATION_TAG)),
106     m_executor(clientConfiguration.executor)
107 {
108   init(clientConfiguration);
109 }
110 
BackupClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)111 BackupClient::BackupClient(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<BackupErrorMarshaller>(ALLOCATION_TAG)),
116     m_executor(clientConfiguration.executor)
117 {
118   init(clientConfiguration);
119 }
120 
BackupClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)121 BackupClient::BackupClient(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<BackupErrorMarshaller>(ALLOCATION_TAG)),
127     m_executor(clientConfiguration.executor)
128 {
129   init(clientConfiguration);
130 }
131 
~BackupClient()132 BackupClient::~BackupClient()
133 {
134 }
135 
init(const Client::ClientConfiguration & config)136 void BackupClient::init(const Client::ClientConfiguration& config)
137 {
138   SetServiceClientName("Backup");
139   m_configScheme = SchemeMapper::ToString(config.scheme);
140   if (config.endpointOverride.empty())
141   {
142       m_uri = m_configScheme + "://" + BackupEndpoint::ForRegion(config.region, config.useDualStack);
143   }
144   else
145   {
146       OverrideEndpoint(config.endpointOverride);
147   }
148 }
149 
OverrideEndpoint(const Aws::String & endpoint)150 void BackupClient::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 
CreateBackupPlan(const CreateBackupPlanRequest & request) const162 CreateBackupPlanOutcome BackupClient::CreateBackupPlan(const CreateBackupPlanRequest& request) const
163 {
164   Aws::Http::URI uri = m_uri;
165   uri.AddPathSegments("/backup/plans/");
166   return CreateBackupPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
167 }
168 
CreateBackupPlanCallable(const CreateBackupPlanRequest & request) const169 CreateBackupPlanOutcomeCallable BackupClient::CreateBackupPlanCallable(const CreateBackupPlanRequest& request) const
170 {
171   auto task = Aws::MakeShared< std::packaged_task< CreateBackupPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateBackupPlan(request); } );
172   auto packagedFunction = [task]() { (*task)(); };
173   m_executor->Submit(packagedFunction);
174   return task->get_future();
175 }
176 
CreateBackupPlanAsync(const CreateBackupPlanRequest & request,const CreateBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const177 void BackupClient::CreateBackupPlanAsync(const CreateBackupPlanRequest& request, const CreateBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
178 {
179   m_executor->Submit( [this, request, handler, context](){ this->CreateBackupPlanAsyncHelper( request, handler, context ); } );
180 }
181 
CreateBackupPlanAsyncHelper(const CreateBackupPlanRequest & request,const CreateBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const182 void BackupClient::CreateBackupPlanAsyncHelper(const CreateBackupPlanRequest& request, const CreateBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
183 {
184   handler(this, request, CreateBackupPlan(request), context);
185 }
186 
CreateBackupSelection(const CreateBackupSelectionRequest & request) const187 CreateBackupSelectionOutcome BackupClient::CreateBackupSelection(const CreateBackupSelectionRequest& request) const
188 {
189   if (!request.BackupPlanIdHasBeenSet())
190   {
191     AWS_LOGSTREAM_ERROR("CreateBackupSelection", "Required field: BackupPlanId, is not set");
192     return CreateBackupSelectionOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
193   }
194   Aws::Http::URI uri = m_uri;
195   uri.AddPathSegments("/backup/plans/");
196   uri.AddPathSegment(request.GetBackupPlanId());
197   uri.AddPathSegments("/selections/");
198   return CreateBackupSelectionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
199 }
200 
CreateBackupSelectionCallable(const CreateBackupSelectionRequest & request) const201 CreateBackupSelectionOutcomeCallable BackupClient::CreateBackupSelectionCallable(const CreateBackupSelectionRequest& request) const
202 {
203   auto task = Aws::MakeShared< std::packaged_task< CreateBackupSelectionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateBackupSelection(request); } );
204   auto packagedFunction = [task]() { (*task)(); };
205   m_executor->Submit(packagedFunction);
206   return task->get_future();
207 }
208 
CreateBackupSelectionAsync(const CreateBackupSelectionRequest & request,const CreateBackupSelectionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const209 void BackupClient::CreateBackupSelectionAsync(const CreateBackupSelectionRequest& request, const CreateBackupSelectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
210 {
211   m_executor->Submit( [this, request, handler, context](){ this->CreateBackupSelectionAsyncHelper( request, handler, context ); } );
212 }
213 
CreateBackupSelectionAsyncHelper(const CreateBackupSelectionRequest & request,const CreateBackupSelectionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const214 void BackupClient::CreateBackupSelectionAsyncHelper(const CreateBackupSelectionRequest& request, const CreateBackupSelectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
215 {
216   handler(this, request, CreateBackupSelection(request), context);
217 }
218 
CreateBackupVault(const CreateBackupVaultRequest & request) const219 CreateBackupVaultOutcome BackupClient::CreateBackupVault(const CreateBackupVaultRequest& request) const
220 {
221   if (!request.BackupVaultNameHasBeenSet())
222   {
223     AWS_LOGSTREAM_ERROR("CreateBackupVault", "Required field: BackupVaultName, is not set");
224     return CreateBackupVaultOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
225   }
226   Aws::Http::URI uri = m_uri;
227   uri.AddPathSegments("/backup-vaults/");
228   uri.AddPathSegment(request.GetBackupVaultName());
229   return CreateBackupVaultOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
230 }
231 
CreateBackupVaultCallable(const CreateBackupVaultRequest & request) const232 CreateBackupVaultOutcomeCallable BackupClient::CreateBackupVaultCallable(const CreateBackupVaultRequest& request) const
233 {
234   auto task = Aws::MakeShared< std::packaged_task< CreateBackupVaultOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateBackupVault(request); } );
235   auto packagedFunction = [task]() { (*task)(); };
236   m_executor->Submit(packagedFunction);
237   return task->get_future();
238 }
239 
CreateBackupVaultAsync(const CreateBackupVaultRequest & request,const CreateBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const240 void BackupClient::CreateBackupVaultAsync(const CreateBackupVaultRequest& request, const CreateBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
241 {
242   m_executor->Submit( [this, request, handler, context](){ this->CreateBackupVaultAsyncHelper( request, handler, context ); } );
243 }
244 
CreateBackupVaultAsyncHelper(const CreateBackupVaultRequest & request,const CreateBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const245 void BackupClient::CreateBackupVaultAsyncHelper(const CreateBackupVaultRequest& request, const CreateBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
246 {
247   handler(this, request, CreateBackupVault(request), context);
248 }
249 
CreateFramework(const CreateFrameworkRequest & request) const250 CreateFrameworkOutcome BackupClient::CreateFramework(const CreateFrameworkRequest& request) const
251 {
252   Aws::Http::URI uri = m_uri;
253   uri.AddPathSegments("/audit/frameworks");
254   return CreateFrameworkOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
255 }
256 
CreateFrameworkCallable(const CreateFrameworkRequest & request) const257 CreateFrameworkOutcomeCallable BackupClient::CreateFrameworkCallable(const CreateFrameworkRequest& request) const
258 {
259   auto task = Aws::MakeShared< std::packaged_task< CreateFrameworkOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateFramework(request); } );
260   auto packagedFunction = [task]() { (*task)(); };
261   m_executor->Submit(packagedFunction);
262   return task->get_future();
263 }
264 
CreateFrameworkAsync(const CreateFrameworkRequest & request,const CreateFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const265 void BackupClient::CreateFrameworkAsync(const CreateFrameworkRequest& request, const CreateFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
266 {
267   m_executor->Submit( [this, request, handler, context](){ this->CreateFrameworkAsyncHelper( request, handler, context ); } );
268 }
269 
CreateFrameworkAsyncHelper(const CreateFrameworkRequest & request,const CreateFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const270 void BackupClient::CreateFrameworkAsyncHelper(const CreateFrameworkRequest& request, const CreateFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
271 {
272   handler(this, request, CreateFramework(request), context);
273 }
274 
CreateReportPlan(const CreateReportPlanRequest & request) const275 CreateReportPlanOutcome BackupClient::CreateReportPlan(const CreateReportPlanRequest& request) const
276 {
277   Aws::Http::URI uri = m_uri;
278   uri.AddPathSegments("/audit/report-plans");
279   return CreateReportPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
280 }
281 
CreateReportPlanCallable(const CreateReportPlanRequest & request) const282 CreateReportPlanOutcomeCallable BackupClient::CreateReportPlanCallable(const CreateReportPlanRequest& request) const
283 {
284   auto task = Aws::MakeShared< std::packaged_task< CreateReportPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateReportPlan(request); } );
285   auto packagedFunction = [task]() { (*task)(); };
286   m_executor->Submit(packagedFunction);
287   return task->get_future();
288 }
289 
CreateReportPlanAsync(const CreateReportPlanRequest & request,const CreateReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const290 void BackupClient::CreateReportPlanAsync(const CreateReportPlanRequest& request, const CreateReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
291 {
292   m_executor->Submit( [this, request, handler, context](){ this->CreateReportPlanAsyncHelper( request, handler, context ); } );
293 }
294 
CreateReportPlanAsyncHelper(const CreateReportPlanRequest & request,const CreateReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const295 void BackupClient::CreateReportPlanAsyncHelper(const CreateReportPlanRequest& request, const CreateReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
296 {
297   handler(this, request, CreateReportPlan(request), context);
298 }
299 
DeleteBackupPlan(const DeleteBackupPlanRequest & request) const300 DeleteBackupPlanOutcome BackupClient::DeleteBackupPlan(const DeleteBackupPlanRequest& request) const
301 {
302   if (!request.BackupPlanIdHasBeenSet())
303   {
304     AWS_LOGSTREAM_ERROR("DeleteBackupPlan", "Required field: BackupPlanId, is not set");
305     return DeleteBackupPlanOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
306   }
307   Aws::Http::URI uri = m_uri;
308   uri.AddPathSegments("/backup/plans/");
309   uri.AddPathSegment(request.GetBackupPlanId());
310   return DeleteBackupPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
311 }
312 
DeleteBackupPlanCallable(const DeleteBackupPlanRequest & request) const313 DeleteBackupPlanOutcomeCallable BackupClient::DeleteBackupPlanCallable(const DeleteBackupPlanRequest& request) const
314 {
315   auto task = Aws::MakeShared< std::packaged_task< DeleteBackupPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBackupPlan(request); } );
316   auto packagedFunction = [task]() { (*task)(); };
317   m_executor->Submit(packagedFunction);
318   return task->get_future();
319 }
320 
DeleteBackupPlanAsync(const DeleteBackupPlanRequest & request,const DeleteBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const321 void BackupClient::DeleteBackupPlanAsync(const DeleteBackupPlanRequest& request, const DeleteBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
322 {
323   m_executor->Submit( [this, request, handler, context](){ this->DeleteBackupPlanAsyncHelper( request, handler, context ); } );
324 }
325 
DeleteBackupPlanAsyncHelper(const DeleteBackupPlanRequest & request,const DeleteBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const326 void BackupClient::DeleteBackupPlanAsyncHelper(const DeleteBackupPlanRequest& request, const DeleteBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
327 {
328   handler(this, request, DeleteBackupPlan(request), context);
329 }
330 
DeleteBackupSelection(const DeleteBackupSelectionRequest & request) const331 DeleteBackupSelectionOutcome BackupClient::DeleteBackupSelection(const DeleteBackupSelectionRequest& request) const
332 {
333   if (!request.BackupPlanIdHasBeenSet())
334   {
335     AWS_LOGSTREAM_ERROR("DeleteBackupSelection", "Required field: BackupPlanId, is not set");
336     return DeleteBackupSelectionOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
337   }
338   if (!request.SelectionIdHasBeenSet())
339   {
340     AWS_LOGSTREAM_ERROR("DeleteBackupSelection", "Required field: SelectionId, is not set");
341     return DeleteBackupSelectionOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SelectionId]", false));
342   }
343   Aws::Http::URI uri = m_uri;
344   uri.AddPathSegments("/backup/plans/");
345   uri.AddPathSegment(request.GetBackupPlanId());
346   uri.AddPathSegments("/selections/");
347   uri.AddPathSegment(request.GetSelectionId());
348   return DeleteBackupSelectionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
349 }
350 
DeleteBackupSelectionCallable(const DeleteBackupSelectionRequest & request) const351 DeleteBackupSelectionOutcomeCallable BackupClient::DeleteBackupSelectionCallable(const DeleteBackupSelectionRequest& request) const
352 {
353   auto task = Aws::MakeShared< std::packaged_task< DeleteBackupSelectionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBackupSelection(request); } );
354   auto packagedFunction = [task]() { (*task)(); };
355   m_executor->Submit(packagedFunction);
356   return task->get_future();
357 }
358 
DeleteBackupSelectionAsync(const DeleteBackupSelectionRequest & request,const DeleteBackupSelectionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const359 void BackupClient::DeleteBackupSelectionAsync(const DeleteBackupSelectionRequest& request, const DeleteBackupSelectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
360 {
361   m_executor->Submit( [this, request, handler, context](){ this->DeleteBackupSelectionAsyncHelper( request, handler, context ); } );
362 }
363 
DeleteBackupSelectionAsyncHelper(const DeleteBackupSelectionRequest & request,const DeleteBackupSelectionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const364 void BackupClient::DeleteBackupSelectionAsyncHelper(const DeleteBackupSelectionRequest& request, const DeleteBackupSelectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
365 {
366   handler(this, request, DeleteBackupSelection(request), context);
367 }
368 
DeleteBackupVault(const DeleteBackupVaultRequest & request) const369 DeleteBackupVaultOutcome BackupClient::DeleteBackupVault(const DeleteBackupVaultRequest& request) const
370 {
371   if (!request.BackupVaultNameHasBeenSet())
372   {
373     AWS_LOGSTREAM_ERROR("DeleteBackupVault", "Required field: BackupVaultName, is not set");
374     return DeleteBackupVaultOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
375   }
376   Aws::Http::URI uri = m_uri;
377   uri.AddPathSegments("/backup-vaults/");
378   uri.AddPathSegment(request.GetBackupVaultName());
379   return DeleteBackupVaultOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
380 }
381 
DeleteBackupVaultCallable(const DeleteBackupVaultRequest & request) const382 DeleteBackupVaultOutcomeCallable BackupClient::DeleteBackupVaultCallable(const DeleteBackupVaultRequest& request) const
383 {
384   auto task = Aws::MakeShared< std::packaged_task< DeleteBackupVaultOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBackupVault(request); } );
385   auto packagedFunction = [task]() { (*task)(); };
386   m_executor->Submit(packagedFunction);
387   return task->get_future();
388 }
389 
DeleteBackupVaultAsync(const DeleteBackupVaultRequest & request,const DeleteBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const390 void BackupClient::DeleteBackupVaultAsync(const DeleteBackupVaultRequest& request, const DeleteBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
391 {
392   m_executor->Submit( [this, request, handler, context](){ this->DeleteBackupVaultAsyncHelper( request, handler, context ); } );
393 }
394 
DeleteBackupVaultAsyncHelper(const DeleteBackupVaultRequest & request,const DeleteBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const395 void BackupClient::DeleteBackupVaultAsyncHelper(const DeleteBackupVaultRequest& request, const DeleteBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
396 {
397   handler(this, request, DeleteBackupVault(request), context);
398 }
399 
DeleteBackupVaultAccessPolicy(const DeleteBackupVaultAccessPolicyRequest & request) const400 DeleteBackupVaultAccessPolicyOutcome BackupClient::DeleteBackupVaultAccessPolicy(const DeleteBackupVaultAccessPolicyRequest& request) const
401 {
402   if (!request.BackupVaultNameHasBeenSet())
403   {
404     AWS_LOGSTREAM_ERROR("DeleteBackupVaultAccessPolicy", "Required field: BackupVaultName, is not set");
405     return DeleteBackupVaultAccessPolicyOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
406   }
407   Aws::Http::URI uri = m_uri;
408   uri.AddPathSegments("/backup-vaults/");
409   uri.AddPathSegment(request.GetBackupVaultName());
410   uri.AddPathSegments("/access-policy");
411   return DeleteBackupVaultAccessPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
412 }
413 
DeleteBackupVaultAccessPolicyCallable(const DeleteBackupVaultAccessPolicyRequest & request) const414 DeleteBackupVaultAccessPolicyOutcomeCallable BackupClient::DeleteBackupVaultAccessPolicyCallable(const DeleteBackupVaultAccessPolicyRequest& request) const
415 {
416   auto task = Aws::MakeShared< std::packaged_task< DeleteBackupVaultAccessPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBackupVaultAccessPolicy(request); } );
417   auto packagedFunction = [task]() { (*task)(); };
418   m_executor->Submit(packagedFunction);
419   return task->get_future();
420 }
421 
DeleteBackupVaultAccessPolicyAsync(const DeleteBackupVaultAccessPolicyRequest & request,const DeleteBackupVaultAccessPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const422 void BackupClient::DeleteBackupVaultAccessPolicyAsync(const DeleteBackupVaultAccessPolicyRequest& request, const DeleteBackupVaultAccessPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
423 {
424   m_executor->Submit( [this, request, handler, context](){ this->DeleteBackupVaultAccessPolicyAsyncHelper( request, handler, context ); } );
425 }
426 
DeleteBackupVaultAccessPolicyAsyncHelper(const DeleteBackupVaultAccessPolicyRequest & request,const DeleteBackupVaultAccessPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const427 void BackupClient::DeleteBackupVaultAccessPolicyAsyncHelper(const DeleteBackupVaultAccessPolicyRequest& request, const DeleteBackupVaultAccessPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
428 {
429   handler(this, request, DeleteBackupVaultAccessPolicy(request), context);
430 }
431 
DeleteBackupVaultLockConfiguration(const DeleteBackupVaultLockConfigurationRequest & request) const432 DeleteBackupVaultLockConfigurationOutcome BackupClient::DeleteBackupVaultLockConfiguration(const DeleteBackupVaultLockConfigurationRequest& request) const
433 {
434   if (!request.BackupVaultNameHasBeenSet())
435   {
436     AWS_LOGSTREAM_ERROR("DeleteBackupVaultLockConfiguration", "Required field: BackupVaultName, is not set");
437     return DeleteBackupVaultLockConfigurationOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
438   }
439   Aws::Http::URI uri = m_uri;
440   uri.AddPathSegments("/backup-vaults/");
441   uri.AddPathSegment(request.GetBackupVaultName());
442   uri.AddPathSegments("/vault-lock");
443   return DeleteBackupVaultLockConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
444 }
445 
DeleteBackupVaultLockConfigurationCallable(const DeleteBackupVaultLockConfigurationRequest & request) const446 DeleteBackupVaultLockConfigurationOutcomeCallable BackupClient::DeleteBackupVaultLockConfigurationCallable(const DeleteBackupVaultLockConfigurationRequest& request) const
447 {
448   auto task = Aws::MakeShared< std::packaged_task< DeleteBackupVaultLockConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBackupVaultLockConfiguration(request); } );
449   auto packagedFunction = [task]() { (*task)(); };
450   m_executor->Submit(packagedFunction);
451   return task->get_future();
452 }
453 
DeleteBackupVaultLockConfigurationAsync(const DeleteBackupVaultLockConfigurationRequest & request,const DeleteBackupVaultLockConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const454 void BackupClient::DeleteBackupVaultLockConfigurationAsync(const DeleteBackupVaultLockConfigurationRequest& request, const DeleteBackupVaultLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
455 {
456   m_executor->Submit( [this, request, handler, context](){ this->DeleteBackupVaultLockConfigurationAsyncHelper( request, handler, context ); } );
457 }
458 
DeleteBackupVaultLockConfigurationAsyncHelper(const DeleteBackupVaultLockConfigurationRequest & request,const DeleteBackupVaultLockConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const459 void BackupClient::DeleteBackupVaultLockConfigurationAsyncHelper(const DeleteBackupVaultLockConfigurationRequest& request, const DeleteBackupVaultLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
460 {
461   handler(this, request, DeleteBackupVaultLockConfiguration(request), context);
462 }
463 
DeleteBackupVaultNotifications(const DeleteBackupVaultNotificationsRequest & request) const464 DeleteBackupVaultNotificationsOutcome BackupClient::DeleteBackupVaultNotifications(const DeleteBackupVaultNotificationsRequest& request) const
465 {
466   if (!request.BackupVaultNameHasBeenSet())
467   {
468     AWS_LOGSTREAM_ERROR("DeleteBackupVaultNotifications", "Required field: BackupVaultName, is not set");
469     return DeleteBackupVaultNotificationsOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
470   }
471   Aws::Http::URI uri = m_uri;
472   uri.AddPathSegments("/backup-vaults/");
473   uri.AddPathSegment(request.GetBackupVaultName());
474   uri.AddPathSegments("/notification-configuration");
475   return DeleteBackupVaultNotificationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
476 }
477 
DeleteBackupVaultNotificationsCallable(const DeleteBackupVaultNotificationsRequest & request) const478 DeleteBackupVaultNotificationsOutcomeCallable BackupClient::DeleteBackupVaultNotificationsCallable(const DeleteBackupVaultNotificationsRequest& request) const
479 {
480   auto task = Aws::MakeShared< std::packaged_task< DeleteBackupVaultNotificationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteBackupVaultNotifications(request); } );
481   auto packagedFunction = [task]() { (*task)(); };
482   m_executor->Submit(packagedFunction);
483   return task->get_future();
484 }
485 
DeleteBackupVaultNotificationsAsync(const DeleteBackupVaultNotificationsRequest & request,const DeleteBackupVaultNotificationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const486 void BackupClient::DeleteBackupVaultNotificationsAsync(const DeleteBackupVaultNotificationsRequest& request, const DeleteBackupVaultNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
487 {
488   m_executor->Submit( [this, request, handler, context](){ this->DeleteBackupVaultNotificationsAsyncHelper( request, handler, context ); } );
489 }
490 
DeleteBackupVaultNotificationsAsyncHelper(const DeleteBackupVaultNotificationsRequest & request,const DeleteBackupVaultNotificationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const491 void BackupClient::DeleteBackupVaultNotificationsAsyncHelper(const DeleteBackupVaultNotificationsRequest& request, const DeleteBackupVaultNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
492 {
493   handler(this, request, DeleteBackupVaultNotifications(request), context);
494 }
495 
DeleteFramework(const DeleteFrameworkRequest & request) const496 DeleteFrameworkOutcome BackupClient::DeleteFramework(const DeleteFrameworkRequest& request) const
497 {
498   if (!request.FrameworkNameHasBeenSet())
499   {
500     AWS_LOGSTREAM_ERROR("DeleteFramework", "Required field: FrameworkName, is not set");
501     return DeleteFrameworkOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FrameworkName]", false));
502   }
503   Aws::Http::URI uri = m_uri;
504   uri.AddPathSegments("/audit/frameworks/");
505   uri.AddPathSegment(request.GetFrameworkName());
506   return DeleteFrameworkOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
507 }
508 
DeleteFrameworkCallable(const DeleteFrameworkRequest & request) const509 DeleteFrameworkOutcomeCallable BackupClient::DeleteFrameworkCallable(const DeleteFrameworkRequest& request) const
510 {
511   auto task = Aws::MakeShared< std::packaged_task< DeleteFrameworkOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteFramework(request); } );
512   auto packagedFunction = [task]() { (*task)(); };
513   m_executor->Submit(packagedFunction);
514   return task->get_future();
515 }
516 
DeleteFrameworkAsync(const DeleteFrameworkRequest & request,const DeleteFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const517 void BackupClient::DeleteFrameworkAsync(const DeleteFrameworkRequest& request, const DeleteFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
518 {
519   m_executor->Submit( [this, request, handler, context](){ this->DeleteFrameworkAsyncHelper( request, handler, context ); } );
520 }
521 
DeleteFrameworkAsyncHelper(const DeleteFrameworkRequest & request,const DeleteFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const522 void BackupClient::DeleteFrameworkAsyncHelper(const DeleteFrameworkRequest& request, const DeleteFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
523 {
524   handler(this, request, DeleteFramework(request), context);
525 }
526 
DeleteRecoveryPoint(const DeleteRecoveryPointRequest & request) const527 DeleteRecoveryPointOutcome BackupClient::DeleteRecoveryPoint(const DeleteRecoveryPointRequest& request) const
528 {
529   if (!request.BackupVaultNameHasBeenSet())
530   {
531     AWS_LOGSTREAM_ERROR("DeleteRecoveryPoint", "Required field: BackupVaultName, is not set");
532     return DeleteRecoveryPointOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
533   }
534   if (!request.RecoveryPointArnHasBeenSet())
535   {
536     AWS_LOGSTREAM_ERROR("DeleteRecoveryPoint", "Required field: RecoveryPointArn, is not set");
537     return DeleteRecoveryPointOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RecoveryPointArn]", false));
538   }
539   Aws::Http::URI uri = m_uri;
540   uri.AddPathSegments("/backup-vaults/");
541   uri.AddPathSegment(request.GetBackupVaultName());
542   uri.AddPathSegments("/recovery-points/");
543   uri.AddPathSegment(request.GetRecoveryPointArn());
544   return DeleteRecoveryPointOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
545 }
546 
DeleteRecoveryPointCallable(const DeleteRecoveryPointRequest & request) const547 DeleteRecoveryPointOutcomeCallable BackupClient::DeleteRecoveryPointCallable(const DeleteRecoveryPointRequest& request) const
548 {
549   auto task = Aws::MakeShared< std::packaged_task< DeleteRecoveryPointOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteRecoveryPoint(request); } );
550   auto packagedFunction = [task]() { (*task)(); };
551   m_executor->Submit(packagedFunction);
552   return task->get_future();
553 }
554 
DeleteRecoveryPointAsync(const DeleteRecoveryPointRequest & request,const DeleteRecoveryPointResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const555 void BackupClient::DeleteRecoveryPointAsync(const DeleteRecoveryPointRequest& request, const DeleteRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
556 {
557   m_executor->Submit( [this, request, handler, context](){ this->DeleteRecoveryPointAsyncHelper( request, handler, context ); } );
558 }
559 
DeleteRecoveryPointAsyncHelper(const DeleteRecoveryPointRequest & request,const DeleteRecoveryPointResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const560 void BackupClient::DeleteRecoveryPointAsyncHelper(const DeleteRecoveryPointRequest& request, const DeleteRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
561 {
562   handler(this, request, DeleteRecoveryPoint(request), context);
563 }
564 
DeleteReportPlan(const DeleteReportPlanRequest & request) const565 DeleteReportPlanOutcome BackupClient::DeleteReportPlan(const DeleteReportPlanRequest& request) const
566 {
567   if (!request.ReportPlanNameHasBeenSet())
568   {
569     AWS_LOGSTREAM_ERROR("DeleteReportPlan", "Required field: ReportPlanName, is not set");
570     return DeleteReportPlanOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ReportPlanName]", false));
571   }
572   Aws::Http::URI uri = m_uri;
573   uri.AddPathSegments("/audit/report-plans/");
574   uri.AddPathSegment(request.GetReportPlanName());
575   return DeleteReportPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
576 }
577 
DeleteReportPlanCallable(const DeleteReportPlanRequest & request) const578 DeleteReportPlanOutcomeCallable BackupClient::DeleteReportPlanCallable(const DeleteReportPlanRequest& request) const
579 {
580   auto task = Aws::MakeShared< std::packaged_task< DeleteReportPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteReportPlan(request); } );
581   auto packagedFunction = [task]() { (*task)(); };
582   m_executor->Submit(packagedFunction);
583   return task->get_future();
584 }
585 
DeleteReportPlanAsync(const DeleteReportPlanRequest & request,const DeleteReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const586 void BackupClient::DeleteReportPlanAsync(const DeleteReportPlanRequest& request, const DeleteReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
587 {
588   m_executor->Submit( [this, request, handler, context](){ this->DeleteReportPlanAsyncHelper( request, handler, context ); } );
589 }
590 
DeleteReportPlanAsyncHelper(const DeleteReportPlanRequest & request,const DeleteReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const591 void BackupClient::DeleteReportPlanAsyncHelper(const DeleteReportPlanRequest& request, const DeleteReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
592 {
593   handler(this, request, DeleteReportPlan(request), context);
594 }
595 
DescribeBackupJob(const DescribeBackupJobRequest & request) const596 DescribeBackupJobOutcome BackupClient::DescribeBackupJob(const DescribeBackupJobRequest& request) const
597 {
598   if (!request.BackupJobIdHasBeenSet())
599   {
600     AWS_LOGSTREAM_ERROR("DescribeBackupJob", "Required field: BackupJobId, is not set");
601     return DescribeBackupJobOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupJobId]", false));
602   }
603   Aws::Http::URI uri = m_uri;
604   uri.AddPathSegments("/backup-jobs/");
605   uri.AddPathSegment(request.GetBackupJobId());
606   return DescribeBackupJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
607 }
608 
DescribeBackupJobCallable(const DescribeBackupJobRequest & request) const609 DescribeBackupJobOutcomeCallable BackupClient::DescribeBackupJobCallable(const DescribeBackupJobRequest& request) const
610 {
611   auto task = Aws::MakeShared< std::packaged_task< DescribeBackupJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeBackupJob(request); } );
612   auto packagedFunction = [task]() { (*task)(); };
613   m_executor->Submit(packagedFunction);
614   return task->get_future();
615 }
616 
DescribeBackupJobAsync(const DescribeBackupJobRequest & request,const DescribeBackupJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const617 void BackupClient::DescribeBackupJobAsync(const DescribeBackupJobRequest& request, const DescribeBackupJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
618 {
619   m_executor->Submit( [this, request, handler, context](){ this->DescribeBackupJobAsyncHelper( request, handler, context ); } );
620 }
621 
DescribeBackupJobAsyncHelper(const DescribeBackupJobRequest & request,const DescribeBackupJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const622 void BackupClient::DescribeBackupJobAsyncHelper(const DescribeBackupJobRequest& request, const DescribeBackupJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
623 {
624   handler(this, request, DescribeBackupJob(request), context);
625 }
626 
DescribeBackupVault(const DescribeBackupVaultRequest & request) const627 DescribeBackupVaultOutcome BackupClient::DescribeBackupVault(const DescribeBackupVaultRequest& request) const
628 {
629   if (!request.BackupVaultNameHasBeenSet())
630   {
631     AWS_LOGSTREAM_ERROR("DescribeBackupVault", "Required field: BackupVaultName, is not set");
632     return DescribeBackupVaultOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
633   }
634   Aws::Http::URI uri = m_uri;
635   uri.AddPathSegments("/backup-vaults/");
636   uri.AddPathSegment(request.GetBackupVaultName());
637   return DescribeBackupVaultOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
638 }
639 
DescribeBackupVaultCallable(const DescribeBackupVaultRequest & request) const640 DescribeBackupVaultOutcomeCallable BackupClient::DescribeBackupVaultCallable(const DescribeBackupVaultRequest& request) const
641 {
642   auto task = Aws::MakeShared< std::packaged_task< DescribeBackupVaultOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeBackupVault(request); } );
643   auto packagedFunction = [task]() { (*task)(); };
644   m_executor->Submit(packagedFunction);
645   return task->get_future();
646 }
647 
DescribeBackupVaultAsync(const DescribeBackupVaultRequest & request,const DescribeBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const648 void BackupClient::DescribeBackupVaultAsync(const DescribeBackupVaultRequest& request, const DescribeBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
649 {
650   m_executor->Submit( [this, request, handler, context](){ this->DescribeBackupVaultAsyncHelper( request, handler, context ); } );
651 }
652 
DescribeBackupVaultAsyncHelper(const DescribeBackupVaultRequest & request,const DescribeBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const653 void BackupClient::DescribeBackupVaultAsyncHelper(const DescribeBackupVaultRequest& request, const DescribeBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
654 {
655   handler(this, request, DescribeBackupVault(request), context);
656 }
657 
DescribeCopyJob(const DescribeCopyJobRequest & request) const658 DescribeCopyJobOutcome BackupClient::DescribeCopyJob(const DescribeCopyJobRequest& request) const
659 {
660   if (!request.CopyJobIdHasBeenSet())
661   {
662     AWS_LOGSTREAM_ERROR("DescribeCopyJob", "Required field: CopyJobId, is not set");
663     return DescribeCopyJobOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [CopyJobId]", false));
664   }
665   Aws::Http::URI uri = m_uri;
666   uri.AddPathSegments("/copy-jobs/");
667   uri.AddPathSegment(request.GetCopyJobId());
668   return DescribeCopyJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
669 }
670 
DescribeCopyJobCallable(const DescribeCopyJobRequest & request) const671 DescribeCopyJobOutcomeCallable BackupClient::DescribeCopyJobCallable(const DescribeCopyJobRequest& request) const
672 {
673   auto task = Aws::MakeShared< std::packaged_task< DescribeCopyJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeCopyJob(request); } );
674   auto packagedFunction = [task]() { (*task)(); };
675   m_executor->Submit(packagedFunction);
676   return task->get_future();
677 }
678 
DescribeCopyJobAsync(const DescribeCopyJobRequest & request,const DescribeCopyJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const679 void BackupClient::DescribeCopyJobAsync(const DescribeCopyJobRequest& request, const DescribeCopyJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
680 {
681   m_executor->Submit( [this, request, handler, context](){ this->DescribeCopyJobAsyncHelper( request, handler, context ); } );
682 }
683 
DescribeCopyJobAsyncHelper(const DescribeCopyJobRequest & request,const DescribeCopyJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const684 void BackupClient::DescribeCopyJobAsyncHelper(const DescribeCopyJobRequest& request, const DescribeCopyJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
685 {
686   handler(this, request, DescribeCopyJob(request), context);
687 }
688 
DescribeFramework(const DescribeFrameworkRequest & request) const689 DescribeFrameworkOutcome BackupClient::DescribeFramework(const DescribeFrameworkRequest& request) const
690 {
691   if (!request.FrameworkNameHasBeenSet())
692   {
693     AWS_LOGSTREAM_ERROR("DescribeFramework", "Required field: FrameworkName, is not set");
694     return DescribeFrameworkOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FrameworkName]", false));
695   }
696   Aws::Http::URI uri = m_uri;
697   uri.AddPathSegments("/audit/frameworks/");
698   uri.AddPathSegment(request.GetFrameworkName());
699   return DescribeFrameworkOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
700 }
701 
DescribeFrameworkCallable(const DescribeFrameworkRequest & request) const702 DescribeFrameworkOutcomeCallable BackupClient::DescribeFrameworkCallable(const DescribeFrameworkRequest& request) const
703 {
704   auto task = Aws::MakeShared< std::packaged_task< DescribeFrameworkOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeFramework(request); } );
705   auto packagedFunction = [task]() { (*task)(); };
706   m_executor->Submit(packagedFunction);
707   return task->get_future();
708 }
709 
DescribeFrameworkAsync(const DescribeFrameworkRequest & request,const DescribeFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const710 void BackupClient::DescribeFrameworkAsync(const DescribeFrameworkRequest& request, const DescribeFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
711 {
712   m_executor->Submit( [this, request, handler, context](){ this->DescribeFrameworkAsyncHelper( request, handler, context ); } );
713 }
714 
DescribeFrameworkAsyncHelper(const DescribeFrameworkRequest & request,const DescribeFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const715 void BackupClient::DescribeFrameworkAsyncHelper(const DescribeFrameworkRequest& request, const DescribeFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
716 {
717   handler(this, request, DescribeFramework(request), context);
718 }
719 
DescribeGlobalSettings(const DescribeGlobalSettingsRequest & request) const720 DescribeGlobalSettingsOutcome BackupClient::DescribeGlobalSettings(const DescribeGlobalSettingsRequest& request) const
721 {
722   Aws::Http::URI uri = m_uri;
723   uri.AddPathSegments("/global-settings");
724   return DescribeGlobalSettingsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
725 }
726 
DescribeGlobalSettingsCallable(const DescribeGlobalSettingsRequest & request) const727 DescribeGlobalSettingsOutcomeCallable BackupClient::DescribeGlobalSettingsCallable(const DescribeGlobalSettingsRequest& request) const
728 {
729   auto task = Aws::MakeShared< std::packaged_task< DescribeGlobalSettingsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeGlobalSettings(request); } );
730   auto packagedFunction = [task]() { (*task)(); };
731   m_executor->Submit(packagedFunction);
732   return task->get_future();
733 }
734 
DescribeGlobalSettingsAsync(const DescribeGlobalSettingsRequest & request,const DescribeGlobalSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const735 void BackupClient::DescribeGlobalSettingsAsync(const DescribeGlobalSettingsRequest& request, const DescribeGlobalSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
736 {
737   m_executor->Submit( [this, request, handler, context](){ this->DescribeGlobalSettingsAsyncHelper( request, handler, context ); } );
738 }
739 
DescribeGlobalSettingsAsyncHelper(const DescribeGlobalSettingsRequest & request,const DescribeGlobalSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const740 void BackupClient::DescribeGlobalSettingsAsyncHelper(const DescribeGlobalSettingsRequest& request, const DescribeGlobalSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
741 {
742   handler(this, request, DescribeGlobalSettings(request), context);
743 }
744 
DescribeProtectedResource(const DescribeProtectedResourceRequest & request) const745 DescribeProtectedResourceOutcome BackupClient::DescribeProtectedResource(const DescribeProtectedResourceRequest& request) const
746 {
747   if (!request.ResourceArnHasBeenSet())
748   {
749     AWS_LOGSTREAM_ERROR("DescribeProtectedResource", "Required field: ResourceArn, is not set");
750     return DescribeProtectedResourceOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
751   }
752   Aws::Http::URI uri = m_uri;
753   uri.AddPathSegments("/resources/");
754   uri.AddPathSegment(request.GetResourceArn());
755   return DescribeProtectedResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
756 }
757 
DescribeProtectedResourceCallable(const DescribeProtectedResourceRequest & request) const758 DescribeProtectedResourceOutcomeCallable BackupClient::DescribeProtectedResourceCallable(const DescribeProtectedResourceRequest& request) const
759 {
760   auto task = Aws::MakeShared< std::packaged_task< DescribeProtectedResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeProtectedResource(request); } );
761   auto packagedFunction = [task]() { (*task)(); };
762   m_executor->Submit(packagedFunction);
763   return task->get_future();
764 }
765 
DescribeProtectedResourceAsync(const DescribeProtectedResourceRequest & request,const DescribeProtectedResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const766 void BackupClient::DescribeProtectedResourceAsync(const DescribeProtectedResourceRequest& request, const DescribeProtectedResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
767 {
768   m_executor->Submit( [this, request, handler, context](){ this->DescribeProtectedResourceAsyncHelper( request, handler, context ); } );
769 }
770 
DescribeProtectedResourceAsyncHelper(const DescribeProtectedResourceRequest & request,const DescribeProtectedResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const771 void BackupClient::DescribeProtectedResourceAsyncHelper(const DescribeProtectedResourceRequest& request, const DescribeProtectedResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
772 {
773   handler(this, request, DescribeProtectedResource(request), context);
774 }
775 
DescribeRecoveryPoint(const DescribeRecoveryPointRequest & request) const776 DescribeRecoveryPointOutcome BackupClient::DescribeRecoveryPoint(const DescribeRecoveryPointRequest& request) const
777 {
778   if (!request.BackupVaultNameHasBeenSet())
779   {
780     AWS_LOGSTREAM_ERROR("DescribeRecoveryPoint", "Required field: BackupVaultName, is not set");
781     return DescribeRecoveryPointOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
782   }
783   if (!request.RecoveryPointArnHasBeenSet())
784   {
785     AWS_LOGSTREAM_ERROR("DescribeRecoveryPoint", "Required field: RecoveryPointArn, is not set");
786     return DescribeRecoveryPointOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RecoveryPointArn]", false));
787   }
788   Aws::Http::URI uri = m_uri;
789   uri.AddPathSegments("/backup-vaults/");
790   uri.AddPathSegment(request.GetBackupVaultName());
791   uri.AddPathSegments("/recovery-points/");
792   uri.AddPathSegment(request.GetRecoveryPointArn());
793   return DescribeRecoveryPointOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
794 }
795 
DescribeRecoveryPointCallable(const DescribeRecoveryPointRequest & request) const796 DescribeRecoveryPointOutcomeCallable BackupClient::DescribeRecoveryPointCallable(const DescribeRecoveryPointRequest& request) const
797 {
798   auto task = Aws::MakeShared< std::packaged_task< DescribeRecoveryPointOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeRecoveryPoint(request); } );
799   auto packagedFunction = [task]() { (*task)(); };
800   m_executor->Submit(packagedFunction);
801   return task->get_future();
802 }
803 
DescribeRecoveryPointAsync(const DescribeRecoveryPointRequest & request,const DescribeRecoveryPointResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const804 void BackupClient::DescribeRecoveryPointAsync(const DescribeRecoveryPointRequest& request, const DescribeRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
805 {
806   m_executor->Submit( [this, request, handler, context](){ this->DescribeRecoveryPointAsyncHelper( request, handler, context ); } );
807 }
808 
DescribeRecoveryPointAsyncHelper(const DescribeRecoveryPointRequest & request,const DescribeRecoveryPointResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const809 void BackupClient::DescribeRecoveryPointAsyncHelper(const DescribeRecoveryPointRequest& request, const DescribeRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
810 {
811   handler(this, request, DescribeRecoveryPoint(request), context);
812 }
813 
DescribeRegionSettings(const DescribeRegionSettingsRequest & request) const814 DescribeRegionSettingsOutcome BackupClient::DescribeRegionSettings(const DescribeRegionSettingsRequest& request) const
815 {
816   Aws::Http::URI uri = m_uri;
817   uri.AddPathSegments("/account-settings");
818   return DescribeRegionSettingsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
819 }
820 
DescribeRegionSettingsCallable(const DescribeRegionSettingsRequest & request) const821 DescribeRegionSettingsOutcomeCallable BackupClient::DescribeRegionSettingsCallable(const DescribeRegionSettingsRequest& request) const
822 {
823   auto task = Aws::MakeShared< std::packaged_task< DescribeRegionSettingsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeRegionSettings(request); } );
824   auto packagedFunction = [task]() { (*task)(); };
825   m_executor->Submit(packagedFunction);
826   return task->get_future();
827 }
828 
DescribeRegionSettingsAsync(const DescribeRegionSettingsRequest & request,const DescribeRegionSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const829 void BackupClient::DescribeRegionSettingsAsync(const DescribeRegionSettingsRequest& request, const DescribeRegionSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
830 {
831   m_executor->Submit( [this, request, handler, context](){ this->DescribeRegionSettingsAsyncHelper( request, handler, context ); } );
832 }
833 
DescribeRegionSettingsAsyncHelper(const DescribeRegionSettingsRequest & request,const DescribeRegionSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const834 void BackupClient::DescribeRegionSettingsAsyncHelper(const DescribeRegionSettingsRequest& request, const DescribeRegionSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
835 {
836   handler(this, request, DescribeRegionSettings(request), context);
837 }
838 
DescribeReportJob(const DescribeReportJobRequest & request) const839 DescribeReportJobOutcome BackupClient::DescribeReportJob(const DescribeReportJobRequest& request) const
840 {
841   if (!request.ReportJobIdHasBeenSet())
842   {
843     AWS_LOGSTREAM_ERROR("DescribeReportJob", "Required field: ReportJobId, is not set");
844     return DescribeReportJobOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ReportJobId]", false));
845   }
846   Aws::Http::URI uri = m_uri;
847   uri.AddPathSegments("/audit/report-jobs/");
848   uri.AddPathSegment(request.GetReportJobId());
849   return DescribeReportJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
850 }
851 
DescribeReportJobCallable(const DescribeReportJobRequest & request) const852 DescribeReportJobOutcomeCallable BackupClient::DescribeReportJobCallable(const DescribeReportJobRequest& request) const
853 {
854   auto task = Aws::MakeShared< std::packaged_task< DescribeReportJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeReportJob(request); } );
855   auto packagedFunction = [task]() { (*task)(); };
856   m_executor->Submit(packagedFunction);
857   return task->get_future();
858 }
859 
DescribeReportJobAsync(const DescribeReportJobRequest & request,const DescribeReportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const860 void BackupClient::DescribeReportJobAsync(const DescribeReportJobRequest& request, const DescribeReportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
861 {
862   m_executor->Submit( [this, request, handler, context](){ this->DescribeReportJobAsyncHelper( request, handler, context ); } );
863 }
864 
DescribeReportJobAsyncHelper(const DescribeReportJobRequest & request,const DescribeReportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const865 void BackupClient::DescribeReportJobAsyncHelper(const DescribeReportJobRequest& request, const DescribeReportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
866 {
867   handler(this, request, DescribeReportJob(request), context);
868 }
869 
DescribeReportPlan(const DescribeReportPlanRequest & request) const870 DescribeReportPlanOutcome BackupClient::DescribeReportPlan(const DescribeReportPlanRequest& request) const
871 {
872   if (!request.ReportPlanNameHasBeenSet())
873   {
874     AWS_LOGSTREAM_ERROR("DescribeReportPlan", "Required field: ReportPlanName, is not set");
875     return DescribeReportPlanOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ReportPlanName]", false));
876   }
877   Aws::Http::URI uri = m_uri;
878   uri.AddPathSegments("/audit/report-plans/");
879   uri.AddPathSegment(request.GetReportPlanName());
880   return DescribeReportPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
881 }
882 
DescribeReportPlanCallable(const DescribeReportPlanRequest & request) const883 DescribeReportPlanOutcomeCallable BackupClient::DescribeReportPlanCallable(const DescribeReportPlanRequest& request) const
884 {
885   auto task = Aws::MakeShared< std::packaged_task< DescribeReportPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeReportPlan(request); } );
886   auto packagedFunction = [task]() { (*task)(); };
887   m_executor->Submit(packagedFunction);
888   return task->get_future();
889 }
890 
DescribeReportPlanAsync(const DescribeReportPlanRequest & request,const DescribeReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const891 void BackupClient::DescribeReportPlanAsync(const DescribeReportPlanRequest& request, const DescribeReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
892 {
893   m_executor->Submit( [this, request, handler, context](){ this->DescribeReportPlanAsyncHelper( request, handler, context ); } );
894 }
895 
DescribeReportPlanAsyncHelper(const DescribeReportPlanRequest & request,const DescribeReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const896 void BackupClient::DescribeReportPlanAsyncHelper(const DescribeReportPlanRequest& request, const DescribeReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
897 {
898   handler(this, request, DescribeReportPlan(request), context);
899 }
900 
DescribeRestoreJob(const DescribeRestoreJobRequest & request) const901 DescribeRestoreJobOutcome BackupClient::DescribeRestoreJob(const DescribeRestoreJobRequest& request) const
902 {
903   if (!request.RestoreJobIdHasBeenSet())
904   {
905     AWS_LOGSTREAM_ERROR("DescribeRestoreJob", "Required field: RestoreJobId, is not set");
906     return DescribeRestoreJobOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RestoreJobId]", false));
907   }
908   Aws::Http::URI uri = m_uri;
909   uri.AddPathSegments("/restore-jobs/");
910   uri.AddPathSegment(request.GetRestoreJobId());
911   return DescribeRestoreJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
912 }
913 
DescribeRestoreJobCallable(const DescribeRestoreJobRequest & request) const914 DescribeRestoreJobOutcomeCallable BackupClient::DescribeRestoreJobCallable(const DescribeRestoreJobRequest& request) const
915 {
916   auto task = Aws::MakeShared< std::packaged_task< DescribeRestoreJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeRestoreJob(request); } );
917   auto packagedFunction = [task]() { (*task)(); };
918   m_executor->Submit(packagedFunction);
919   return task->get_future();
920 }
921 
DescribeRestoreJobAsync(const DescribeRestoreJobRequest & request,const DescribeRestoreJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const922 void BackupClient::DescribeRestoreJobAsync(const DescribeRestoreJobRequest& request, const DescribeRestoreJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
923 {
924   m_executor->Submit( [this, request, handler, context](){ this->DescribeRestoreJobAsyncHelper( request, handler, context ); } );
925 }
926 
DescribeRestoreJobAsyncHelper(const DescribeRestoreJobRequest & request,const DescribeRestoreJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const927 void BackupClient::DescribeRestoreJobAsyncHelper(const DescribeRestoreJobRequest& request, const DescribeRestoreJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
928 {
929   handler(this, request, DescribeRestoreJob(request), context);
930 }
931 
DisassociateRecoveryPoint(const DisassociateRecoveryPointRequest & request) const932 DisassociateRecoveryPointOutcome BackupClient::DisassociateRecoveryPoint(const DisassociateRecoveryPointRequest& request) const
933 {
934   if (!request.BackupVaultNameHasBeenSet())
935   {
936     AWS_LOGSTREAM_ERROR("DisassociateRecoveryPoint", "Required field: BackupVaultName, is not set");
937     return DisassociateRecoveryPointOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
938   }
939   if (!request.RecoveryPointArnHasBeenSet())
940   {
941     AWS_LOGSTREAM_ERROR("DisassociateRecoveryPoint", "Required field: RecoveryPointArn, is not set");
942     return DisassociateRecoveryPointOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RecoveryPointArn]", false));
943   }
944   Aws::Http::URI uri = m_uri;
945   uri.AddPathSegments("/backup-vaults/");
946   uri.AddPathSegment(request.GetBackupVaultName());
947   uri.AddPathSegments("/recovery-points/");
948   uri.AddPathSegment(request.GetRecoveryPointArn());
949   uri.AddPathSegments("/disassociate");
950   return DisassociateRecoveryPointOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
951 }
952 
DisassociateRecoveryPointCallable(const DisassociateRecoveryPointRequest & request) const953 DisassociateRecoveryPointOutcomeCallable BackupClient::DisassociateRecoveryPointCallable(const DisassociateRecoveryPointRequest& request) const
954 {
955   auto task = Aws::MakeShared< std::packaged_task< DisassociateRecoveryPointOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DisassociateRecoveryPoint(request); } );
956   auto packagedFunction = [task]() { (*task)(); };
957   m_executor->Submit(packagedFunction);
958   return task->get_future();
959 }
960 
DisassociateRecoveryPointAsync(const DisassociateRecoveryPointRequest & request,const DisassociateRecoveryPointResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const961 void BackupClient::DisassociateRecoveryPointAsync(const DisassociateRecoveryPointRequest& request, const DisassociateRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
962 {
963   m_executor->Submit( [this, request, handler, context](){ this->DisassociateRecoveryPointAsyncHelper( request, handler, context ); } );
964 }
965 
DisassociateRecoveryPointAsyncHelper(const DisassociateRecoveryPointRequest & request,const DisassociateRecoveryPointResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const966 void BackupClient::DisassociateRecoveryPointAsyncHelper(const DisassociateRecoveryPointRequest& request, const DisassociateRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
967 {
968   handler(this, request, DisassociateRecoveryPoint(request), context);
969 }
970 
ExportBackupPlanTemplate(const ExportBackupPlanTemplateRequest & request) const971 ExportBackupPlanTemplateOutcome BackupClient::ExportBackupPlanTemplate(const ExportBackupPlanTemplateRequest& request) const
972 {
973   if (!request.BackupPlanIdHasBeenSet())
974   {
975     AWS_LOGSTREAM_ERROR("ExportBackupPlanTemplate", "Required field: BackupPlanId, is not set");
976     return ExportBackupPlanTemplateOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
977   }
978   Aws::Http::URI uri = m_uri;
979   uri.AddPathSegments("/backup/plans/");
980   uri.AddPathSegment(request.GetBackupPlanId());
981   uri.AddPathSegments("/toTemplate/");
982   return ExportBackupPlanTemplateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
983 }
984 
ExportBackupPlanTemplateCallable(const ExportBackupPlanTemplateRequest & request) const985 ExportBackupPlanTemplateOutcomeCallable BackupClient::ExportBackupPlanTemplateCallable(const ExportBackupPlanTemplateRequest& request) const
986 {
987   auto task = Aws::MakeShared< std::packaged_task< ExportBackupPlanTemplateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ExportBackupPlanTemplate(request); } );
988   auto packagedFunction = [task]() { (*task)(); };
989   m_executor->Submit(packagedFunction);
990   return task->get_future();
991 }
992 
ExportBackupPlanTemplateAsync(const ExportBackupPlanTemplateRequest & request,const ExportBackupPlanTemplateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const993 void BackupClient::ExportBackupPlanTemplateAsync(const ExportBackupPlanTemplateRequest& request, const ExportBackupPlanTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
994 {
995   m_executor->Submit( [this, request, handler, context](){ this->ExportBackupPlanTemplateAsyncHelper( request, handler, context ); } );
996 }
997 
ExportBackupPlanTemplateAsyncHelper(const ExportBackupPlanTemplateRequest & request,const ExportBackupPlanTemplateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const998 void BackupClient::ExportBackupPlanTemplateAsyncHelper(const ExportBackupPlanTemplateRequest& request, const ExportBackupPlanTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
999 {
1000   handler(this, request, ExportBackupPlanTemplate(request), context);
1001 }
1002 
GetBackupPlan(const GetBackupPlanRequest & request) const1003 GetBackupPlanOutcome BackupClient::GetBackupPlan(const GetBackupPlanRequest& request) const
1004 {
1005   if (!request.BackupPlanIdHasBeenSet())
1006   {
1007     AWS_LOGSTREAM_ERROR("GetBackupPlan", "Required field: BackupPlanId, is not set");
1008     return GetBackupPlanOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
1009   }
1010   Aws::Http::URI uri = m_uri;
1011   uri.AddPathSegments("/backup/plans/");
1012   uri.AddPathSegment(request.GetBackupPlanId());
1013   return GetBackupPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1014 }
1015 
GetBackupPlanCallable(const GetBackupPlanRequest & request) const1016 GetBackupPlanOutcomeCallable BackupClient::GetBackupPlanCallable(const GetBackupPlanRequest& request) const
1017 {
1018   auto task = Aws::MakeShared< std::packaged_task< GetBackupPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBackupPlan(request); } );
1019   auto packagedFunction = [task]() { (*task)(); };
1020   m_executor->Submit(packagedFunction);
1021   return task->get_future();
1022 }
1023 
GetBackupPlanAsync(const GetBackupPlanRequest & request,const GetBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1024 void BackupClient::GetBackupPlanAsync(const GetBackupPlanRequest& request, const GetBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1025 {
1026   m_executor->Submit( [this, request, handler, context](){ this->GetBackupPlanAsyncHelper( request, handler, context ); } );
1027 }
1028 
GetBackupPlanAsyncHelper(const GetBackupPlanRequest & request,const GetBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1029 void BackupClient::GetBackupPlanAsyncHelper(const GetBackupPlanRequest& request, const GetBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1030 {
1031   handler(this, request, GetBackupPlan(request), context);
1032 }
1033 
GetBackupPlanFromJSON(const GetBackupPlanFromJSONRequest & request) const1034 GetBackupPlanFromJSONOutcome BackupClient::GetBackupPlanFromJSON(const GetBackupPlanFromJSONRequest& request) const
1035 {
1036   Aws::Http::URI uri = m_uri;
1037   uri.AddPathSegments("/backup/template/json/toPlan");
1038   return GetBackupPlanFromJSONOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
1039 }
1040 
GetBackupPlanFromJSONCallable(const GetBackupPlanFromJSONRequest & request) const1041 GetBackupPlanFromJSONOutcomeCallable BackupClient::GetBackupPlanFromJSONCallable(const GetBackupPlanFromJSONRequest& request) const
1042 {
1043   auto task = Aws::MakeShared< std::packaged_task< GetBackupPlanFromJSONOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBackupPlanFromJSON(request); } );
1044   auto packagedFunction = [task]() { (*task)(); };
1045   m_executor->Submit(packagedFunction);
1046   return task->get_future();
1047 }
1048 
GetBackupPlanFromJSONAsync(const GetBackupPlanFromJSONRequest & request,const GetBackupPlanFromJSONResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1049 void BackupClient::GetBackupPlanFromJSONAsync(const GetBackupPlanFromJSONRequest& request, const GetBackupPlanFromJSONResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1050 {
1051   m_executor->Submit( [this, request, handler, context](){ this->GetBackupPlanFromJSONAsyncHelper( request, handler, context ); } );
1052 }
1053 
GetBackupPlanFromJSONAsyncHelper(const GetBackupPlanFromJSONRequest & request,const GetBackupPlanFromJSONResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1054 void BackupClient::GetBackupPlanFromJSONAsyncHelper(const GetBackupPlanFromJSONRequest& request, const GetBackupPlanFromJSONResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1055 {
1056   handler(this, request, GetBackupPlanFromJSON(request), context);
1057 }
1058 
GetBackupPlanFromTemplate(const GetBackupPlanFromTemplateRequest & request) const1059 GetBackupPlanFromTemplateOutcome BackupClient::GetBackupPlanFromTemplate(const GetBackupPlanFromTemplateRequest& request) const
1060 {
1061   if (!request.BackupPlanTemplateIdHasBeenSet())
1062   {
1063     AWS_LOGSTREAM_ERROR("GetBackupPlanFromTemplate", "Required field: BackupPlanTemplateId, is not set");
1064     return GetBackupPlanFromTemplateOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanTemplateId]", false));
1065   }
1066   Aws::Http::URI uri = m_uri;
1067   uri.AddPathSegments("/backup/template/plans/");
1068   uri.AddPathSegment(request.GetBackupPlanTemplateId());
1069   uri.AddPathSegments("/toPlan");
1070   return GetBackupPlanFromTemplateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1071 }
1072 
GetBackupPlanFromTemplateCallable(const GetBackupPlanFromTemplateRequest & request) const1073 GetBackupPlanFromTemplateOutcomeCallable BackupClient::GetBackupPlanFromTemplateCallable(const GetBackupPlanFromTemplateRequest& request) const
1074 {
1075   auto task = Aws::MakeShared< std::packaged_task< GetBackupPlanFromTemplateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBackupPlanFromTemplate(request); } );
1076   auto packagedFunction = [task]() { (*task)(); };
1077   m_executor->Submit(packagedFunction);
1078   return task->get_future();
1079 }
1080 
GetBackupPlanFromTemplateAsync(const GetBackupPlanFromTemplateRequest & request,const GetBackupPlanFromTemplateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1081 void BackupClient::GetBackupPlanFromTemplateAsync(const GetBackupPlanFromTemplateRequest& request, const GetBackupPlanFromTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1082 {
1083   m_executor->Submit( [this, request, handler, context](){ this->GetBackupPlanFromTemplateAsyncHelper( request, handler, context ); } );
1084 }
1085 
GetBackupPlanFromTemplateAsyncHelper(const GetBackupPlanFromTemplateRequest & request,const GetBackupPlanFromTemplateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1086 void BackupClient::GetBackupPlanFromTemplateAsyncHelper(const GetBackupPlanFromTemplateRequest& request, const GetBackupPlanFromTemplateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1087 {
1088   handler(this, request, GetBackupPlanFromTemplate(request), context);
1089 }
1090 
GetBackupSelection(const GetBackupSelectionRequest & request) const1091 GetBackupSelectionOutcome BackupClient::GetBackupSelection(const GetBackupSelectionRequest& request) const
1092 {
1093   if (!request.BackupPlanIdHasBeenSet())
1094   {
1095     AWS_LOGSTREAM_ERROR("GetBackupSelection", "Required field: BackupPlanId, is not set");
1096     return GetBackupSelectionOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
1097   }
1098   if (!request.SelectionIdHasBeenSet())
1099   {
1100     AWS_LOGSTREAM_ERROR("GetBackupSelection", "Required field: SelectionId, is not set");
1101     return GetBackupSelectionOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [SelectionId]", false));
1102   }
1103   Aws::Http::URI uri = m_uri;
1104   uri.AddPathSegments("/backup/plans/");
1105   uri.AddPathSegment(request.GetBackupPlanId());
1106   uri.AddPathSegments("/selections/");
1107   uri.AddPathSegment(request.GetSelectionId());
1108   return GetBackupSelectionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1109 }
1110 
GetBackupSelectionCallable(const GetBackupSelectionRequest & request) const1111 GetBackupSelectionOutcomeCallable BackupClient::GetBackupSelectionCallable(const GetBackupSelectionRequest& request) const
1112 {
1113   auto task = Aws::MakeShared< std::packaged_task< GetBackupSelectionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBackupSelection(request); } );
1114   auto packagedFunction = [task]() { (*task)(); };
1115   m_executor->Submit(packagedFunction);
1116   return task->get_future();
1117 }
1118 
GetBackupSelectionAsync(const GetBackupSelectionRequest & request,const GetBackupSelectionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1119 void BackupClient::GetBackupSelectionAsync(const GetBackupSelectionRequest& request, const GetBackupSelectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1120 {
1121   m_executor->Submit( [this, request, handler, context](){ this->GetBackupSelectionAsyncHelper( request, handler, context ); } );
1122 }
1123 
GetBackupSelectionAsyncHelper(const GetBackupSelectionRequest & request,const GetBackupSelectionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1124 void BackupClient::GetBackupSelectionAsyncHelper(const GetBackupSelectionRequest& request, const GetBackupSelectionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1125 {
1126   handler(this, request, GetBackupSelection(request), context);
1127 }
1128 
GetBackupVaultAccessPolicy(const GetBackupVaultAccessPolicyRequest & request) const1129 GetBackupVaultAccessPolicyOutcome BackupClient::GetBackupVaultAccessPolicy(const GetBackupVaultAccessPolicyRequest& request) const
1130 {
1131   if (!request.BackupVaultNameHasBeenSet())
1132   {
1133     AWS_LOGSTREAM_ERROR("GetBackupVaultAccessPolicy", "Required field: BackupVaultName, is not set");
1134     return GetBackupVaultAccessPolicyOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
1135   }
1136   Aws::Http::URI uri = m_uri;
1137   uri.AddPathSegments("/backup-vaults/");
1138   uri.AddPathSegment(request.GetBackupVaultName());
1139   uri.AddPathSegments("/access-policy");
1140   return GetBackupVaultAccessPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1141 }
1142 
GetBackupVaultAccessPolicyCallable(const GetBackupVaultAccessPolicyRequest & request) const1143 GetBackupVaultAccessPolicyOutcomeCallable BackupClient::GetBackupVaultAccessPolicyCallable(const GetBackupVaultAccessPolicyRequest& request) const
1144 {
1145   auto task = Aws::MakeShared< std::packaged_task< GetBackupVaultAccessPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBackupVaultAccessPolicy(request); } );
1146   auto packagedFunction = [task]() { (*task)(); };
1147   m_executor->Submit(packagedFunction);
1148   return task->get_future();
1149 }
1150 
GetBackupVaultAccessPolicyAsync(const GetBackupVaultAccessPolicyRequest & request,const GetBackupVaultAccessPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1151 void BackupClient::GetBackupVaultAccessPolicyAsync(const GetBackupVaultAccessPolicyRequest& request, const GetBackupVaultAccessPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1152 {
1153   m_executor->Submit( [this, request, handler, context](){ this->GetBackupVaultAccessPolicyAsyncHelper( request, handler, context ); } );
1154 }
1155 
GetBackupVaultAccessPolicyAsyncHelper(const GetBackupVaultAccessPolicyRequest & request,const GetBackupVaultAccessPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1156 void BackupClient::GetBackupVaultAccessPolicyAsyncHelper(const GetBackupVaultAccessPolicyRequest& request, const GetBackupVaultAccessPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1157 {
1158   handler(this, request, GetBackupVaultAccessPolicy(request), context);
1159 }
1160 
GetBackupVaultNotifications(const GetBackupVaultNotificationsRequest & request) const1161 GetBackupVaultNotificationsOutcome BackupClient::GetBackupVaultNotifications(const GetBackupVaultNotificationsRequest& request) const
1162 {
1163   if (!request.BackupVaultNameHasBeenSet())
1164   {
1165     AWS_LOGSTREAM_ERROR("GetBackupVaultNotifications", "Required field: BackupVaultName, is not set");
1166     return GetBackupVaultNotificationsOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
1167   }
1168   Aws::Http::URI uri = m_uri;
1169   uri.AddPathSegments("/backup-vaults/");
1170   uri.AddPathSegment(request.GetBackupVaultName());
1171   uri.AddPathSegments("/notification-configuration");
1172   return GetBackupVaultNotificationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1173 }
1174 
GetBackupVaultNotificationsCallable(const GetBackupVaultNotificationsRequest & request) const1175 GetBackupVaultNotificationsOutcomeCallable BackupClient::GetBackupVaultNotificationsCallable(const GetBackupVaultNotificationsRequest& request) const
1176 {
1177   auto task = Aws::MakeShared< std::packaged_task< GetBackupVaultNotificationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBackupVaultNotifications(request); } );
1178   auto packagedFunction = [task]() { (*task)(); };
1179   m_executor->Submit(packagedFunction);
1180   return task->get_future();
1181 }
1182 
GetBackupVaultNotificationsAsync(const GetBackupVaultNotificationsRequest & request,const GetBackupVaultNotificationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1183 void BackupClient::GetBackupVaultNotificationsAsync(const GetBackupVaultNotificationsRequest& request, const GetBackupVaultNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1184 {
1185   m_executor->Submit( [this, request, handler, context](){ this->GetBackupVaultNotificationsAsyncHelper( request, handler, context ); } );
1186 }
1187 
GetBackupVaultNotificationsAsyncHelper(const GetBackupVaultNotificationsRequest & request,const GetBackupVaultNotificationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1188 void BackupClient::GetBackupVaultNotificationsAsyncHelper(const GetBackupVaultNotificationsRequest& request, const GetBackupVaultNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1189 {
1190   handler(this, request, GetBackupVaultNotifications(request), context);
1191 }
1192 
GetRecoveryPointRestoreMetadata(const GetRecoveryPointRestoreMetadataRequest & request) const1193 GetRecoveryPointRestoreMetadataOutcome BackupClient::GetRecoveryPointRestoreMetadata(const GetRecoveryPointRestoreMetadataRequest& request) const
1194 {
1195   if (!request.BackupVaultNameHasBeenSet())
1196   {
1197     AWS_LOGSTREAM_ERROR("GetRecoveryPointRestoreMetadata", "Required field: BackupVaultName, is not set");
1198     return GetRecoveryPointRestoreMetadataOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
1199   }
1200   if (!request.RecoveryPointArnHasBeenSet())
1201   {
1202     AWS_LOGSTREAM_ERROR("GetRecoveryPointRestoreMetadata", "Required field: RecoveryPointArn, is not set");
1203     return GetRecoveryPointRestoreMetadataOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RecoveryPointArn]", false));
1204   }
1205   Aws::Http::URI uri = m_uri;
1206   uri.AddPathSegments("/backup-vaults/");
1207   uri.AddPathSegment(request.GetBackupVaultName());
1208   uri.AddPathSegments("/recovery-points/");
1209   uri.AddPathSegment(request.GetRecoveryPointArn());
1210   uri.AddPathSegments("/restore-metadata");
1211   return GetRecoveryPointRestoreMetadataOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1212 }
1213 
GetRecoveryPointRestoreMetadataCallable(const GetRecoveryPointRestoreMetadataRequest & request) const1214 GetRecoveryPointRestoreMetadataOutcomeCallable BackupClient::GetRecoveryPointRestoreMetadataCallable(const GetRecoveryPointRestoreMetadataRequest& request) const
1215 {
1216   auto task = Aws::MakeShared< std::packaged_task< GetRecoveryPointRestoreMetadataOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetRecoveryPointRestoreMetadata(request); } );
1217   auto packagedFunction = [task]() { (*task)(); };
1218   m_executor->Submit(packagedFunction);
1219   return task->get_future();
1220 }
1221 
GetRecoveryPointRestoreMetadataAsync(const GetRecoveryPointRestoreMetadataRequest & request,const GetRecoveryPointRestoreMetadataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1222 void BackupClient::GetRecoveryPointRestoreMetadataAsync(const GetRecoveryPointRestoreMetadataRequest& request, const GetRecoveryPointRestoreMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1223 {
1224   m_executor->Submit( [this, request, handler, context](){ this->GetRecoveryPointRestoreMetadataAsyncHelper( request, handler, context ); } );
1225 }
1226 
GetRecoveryPointRestoreMetadataAsyncHelper(const GetRecoveryPointRestoreMetadataRequest & request,const GetRecoveryPointRestoreMetadataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1227 void BackupClient::GetRecoveryPointRestoreMetadataAsyncHelper(const GetRecoveryPointRestoreMetadataRequest& request, const GetRecoveryPointRestoreMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1228 {
1229   handler(this, request, GetRecoveryPointRestoreMetadata(request), context);
1230 }
1231 
GetSupportedResourceTypes() const1232 GetSupportedResourceTypesOutcome BackupClient::GetSupportedResourceTypes() const
1233 {
1234   Aws::StringStream ss;
1235   ss << m_uri << "/supported-resource-types";
1236   return GetSupportedResourceTypesOutcome(MakeRequest(ss.str(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER, "GetSupportedResourceTypes"));
1237 }
1238 
GetSupportedResourceTypesCallable() const1239 GetSupportedResourceTypesOutcomeCallable BackupClient::GetSupportedResourceTypesCallable() const
1240 {
1241   auto task = Aws::MakeShared< std::packaged_task< GetSupportedResourceTypesOutcome() > >(ALLOCATION_TAG, [this](){ return this->GetSupportedResourceTypes(); } );
1242   auto packagedFunction = [task]() { (*task)(); };
1243   m_executor->Submit(packagedFunction);
1244   return task->get_future();
1245 }
1246 
GetSupportedResourceTypesAsync(const GetSupportedResourceTypesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1247 void BackupClient::GetSupportedResourceTypesAsync(const GetSupportedResourceTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1248 {
1249   m_executor->Submit( [this, handler, context](){ this->GetSupportedResourceTypesAsyncHelper( handler, context ); } );
1250 }
1251 
GetSupportedResourceTypesAsyncHelper(const GetSupportedResourceTypesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1252 void BackupClient::GetSupportedResourceTypesAsyncHelper(const GetSupportedResourceTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1253 {
1254   handler(this, GetSupportedResourceTypes(), context);
1255 }
1256 
ListBackupJobs(const ListBackupJobsRequest & request) const1257 ListBackupJobsOutcome BackupClient::ListBackupJobs(const ListBackupJobsRequest& request) const
1258 {
1259   Aws::Http::URI uri = m_uri;
1260   uri.AddPathSegments("/backup-jobs/");
1261   return ListBackupJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1262 }
1263 
ListBackupJobsCallable(const ListBackupJobsRequest & request) const1264 ListBackupJobsOutcomeCallable BackupClient::ListBackupJobsCallable(const ListBackupJobsRequest& request) const
1265 {
1266   auto task = Aws::MakeShared< std::packaged_task< ListBackupJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBackupJobs(request); } );
1267   auto packagedFunction = [task]() { (*task)(); };
1268   m_executor->Submit(packagedFunction);
1269   return task->get_future();
1270 }
1271 
ListBackupJobsAsync(const ListBackupJobsRequest & request,const ListBackupJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1272 void BackupClient::ListBackupJobsAsync(const ListBackupJobsRequest& request, const ListBackupJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1273 {
1274   m_executor->Submit( [this, request, handler, context](){ this->ListBackupJobsAsyncHelper( request, handler, context ); } );
1275 }
1276 
ListBackupJobsAsyncHelper(const ListBackupJobsRequest & request,const ListBackupJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1277 void BackupClient::ListBackupJobsAsyncHelper(const ListBackupJobsRequest& request, const ListBackupJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1278 {
1279   handler(this, request, ListBackupJobs(request), context);
1280 }
1281 
ListBackupPlanTemplates(const ListBackupPlanTemplatesRequest & request) const1282 ListBackupPlanTemplatesOutcome BackupClient::ListBackupPlanTemplates(const ListBackupPlanTemplatesRequest& request) const
1283 {
1284   Aws::Http::URI uri = m_uri;
1285   uri.AddPathSegments("/backup/template/plans");
1286   return ListBackupPlanTemplatesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1287 }
1288 
ListBackupPlanTemplatesCallable(const ListBackupPlanTemplatesRequest & request) const1289 ListBackupPlanTemplatesOutcomeCallable BackupClient::ListBackupPlanTemplatesCallable(const ListBackupPlanTemplatesRequest& request) const
1290 {
1291   auto task = Aws::MakeShared< std::packaged_task< ListBackupPlanTemplatesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBackupPlanTemplates(request); } );
1292   auto packagedFunction = [task]() { (*task)(); };
1293   m_executor->Submit(packagedFunction);
1294   return task->get_future();
1295 }
1296 
ListBackupPlanTemplatesAsync(const ListBackupPlanTemplatesRequest & request,const ListBackupPlanTemplatesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1297 void BackupClient::ListBackupPlanTemplatesAsync(const ListBackupPlanTemplatesRequest& request, const ListBackupPlanTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1298 {
1299   m_executor->Submit( [this, request, handler, context](){ this->ListBackupPlanTemplatesAsyncHelper( request, handler, context ); } );
1300 }
1301 
ListBackupPlanTemplatesAsyncHelper(const ListBackupPlanTemplatesRequest & request,const ListBackupPlanTemplatesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1302 void BackupClient::ListBackupPlanTemplatesAsyncHelper(const ListBackupPlanTemplatesRequest& request, const ListBackupPlanTemplatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1303 {
1304   handler(this, request, ListBackupPlanTemplates(request), context);
1305 }
1306 
ListBackupPlanVersions(const ListBackupPlanVersionsRequest & request) const1307 ListBackupPlanVersionsOutcome BackupClient::ListBackupPlanVersions(const ListBackupPlanVersionsRequest& request) const
1308 {
1309   if (!request.BackupPlanIdHasBeenSet())
1310   {
1311     AWS_LOGSTREAM_ERROR("ListBackupPlanVersions", "Required field: BackupPlanId, is not set");
1312     return ListBackupPlanVersionsOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
1313   }
1314   Aws::Http::URI uri = m_uri;
1315   uri.AddPathSegments("/backup/plans/");
1316   uri.AddPathSegment(request.GetBackupPlanId());
1317   uri.AddPathSegments("/versions/");
1318   return ListBackupPlanVersionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1319 }
1320 
ListBackupPlanVersionsCallable(const ListBackupPlanVersionsRequest & request) const1321 ListBackupPlanVersionsOutcomeCallable BackupClient::ListBackupPlanVersionsCallable(const ListBackupPlanVersionsRequest& request) const
1322 {
1323   auto task = Aws::MakeShared< std::packaged_task< ListBackupPlanVersionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBackupPlanVersions(request); } );
1324   auto packagedFunction = [task]() { (*task)(); };
1325   m_executor->Submit(packagedFunction);
1326   return task->get_future();
1327 }
1328 
ListBackupPlanVersionsAsync(const ListBackupPlanVersionsRequest & request,const ListBackupPlanVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1329 void BackupClient::ListBackupPlanVersionsAsync(const ListBackupPlanVersionsRequest& request, const ListBackupPlanVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1330 {
1331   m_executor->Submit( [this, request, handler, context](){ this->ListBackupPlanVersionsAsyncHelper( request, handler, context ); } );
1332 }
1333 
ListBackupPlanVersionsAsyncHelper(const ListBackupPlanVersionsRequest & request,const ListBackupPlanVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1334 void BackupClient::ListBackupPlanVersionsAsyncHelper(const ListBackupPlanVersionsRequest& request, const ListBackupPlanVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1335 {
1336   handler(this, request, ListBackupPlanVersions(request), context);
1337 }
1338 
ListBackupPlans(const ListBackupPlansRequest & request) const1339 ListBackupPlansOutcome BackupClient::ListBackupPlans(const ListBackupPlansRequest& request) const
1340 {
1341   Aws::Http::URI uri = m_uri;
1342   uri.AddPathSegments("/backup/plans/");
1343   return ListBackupPlansOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1344 }
1345 
ListBackupPlansCallable(const ListBackupPlansRequest & request) const1346 ListBackupPlansOutcomeCallable BackupClient::ListBackupPlansCallable(const ListBackupPlansRequest& request) const
1347 {
1348   auto task = Aws::MakeShared< std::packaged_task< ListBackupPlansOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBackupPlans(request); } );
1349   auto packagedFunction = [task]() { (*task)(); };
1350   m_executor->Submit(packagedFunction);
1351   return task->get_future();
1352 }
1353 
ListBackupPlansAsync(const ListBackupPlansRequest & request,const ListBackupPlansResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1354 void BackupClient::ListBackupPlansAsync(const ListBackupPlansRequest& request, const ListBackupPlansResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1355 {
1356   m_executor->Submit( [this, request, handler, context](){ this->ListBackupPlansAsyncHelper( request, handler, context ); } );
1357 }
1358 
ListBackupPlansAsyncHelper(const ListBackupPlansRequest & request,const ListBackupPlansResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1359 void BackupClient::ListBackupPlansAsyncHelper(const ListBackupPlansRequest& request, const ListBackupPlansResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1360 {
1361   handler(this, request, ListBackupPlans(request), context);
1362 }
1363 
ListBackupSelections(const ListBackupSelectionsRequest & request) const1364 ListBackupSelectionsOutcome BackupClient::ListBackupSelections(const ListBackupSelectionsRequest& request) const
1365 {
1366   if (!request.BackupPlanIdHasBeenSet())
1367   {
1368     AWS_LOGSTREAM_ERROR("ListBackupSelections", "Required field: BackupPlanId, is not set");
1369     return ListBackupSelectionsOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
1370   }
1371   Aws::Http::URI uri = m_uri;
1372   uri.AddPathSegments("/backup/plans/");
1373   uri.AddPathSegment(request.GetBackupPlanId());
1374   uri.AddPathSegments("/selections/");
1375   return ListBackupSelectionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1376 }
1377 
ListBackupSelectionsCallable(const ListBackupSelectionsRequest & request) const1378 ListBackupSelectionsOutcomeCallable BackupClient::ListBackupSelectionsCallable(const ListBackupSelectionsRequest& request) const
1379 {
1380   auto task = Aws::MakeShared< std::packaged_task< ListBackupSelectionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBackupSelections(request); } );
1381   auto packagedFunction = [task]() { (*task)(); };
1382   m_executor->Submit(packagedFunction);
1383   return task->get_future();
1384 }
1385 
ListBackupSelectionsAsync(const ListBackupSelectionsRequest & request,const ListBackupSelectionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1386 void BackupClient::ListBackupSelectionsAsync(const ListBackupSelectionsRequest& request, const ListBackupSelectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1387 {
1388   m_executor->Submit( [this, request, handler, context](){ this->ListBackupSelectionsAsyncHelper( request, handler, context ); } );
1389 }
1390 
ListBackupSelectionsAsyncHelper(const ListBackupSelectionsRequest & request,const ListBackupSelectionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1391 void BackupClient::ListBackupSelectionsAsyncHelper(const ListBackupSelectionsRequest& request, const ListBackupSelectionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1392 {
1393   handler(this, request, ListBackupSelections(request), context);
1394 }
1395 
ListBackupVaults(const ListBackupVaultsRequest & request) const1396 ListBackupVaultsOutcome BackupClient::ListBackupVaults(const ListBackupVaultsRequest& request) const
1397 {
1398   Aws::Http::URI uri = m_uri;
1399   uri.AddPathSegments("/backup-vaults/");
1400   return ListBackupVaultsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1401 }
1402 
ListBackupVaultsCallable(const ListBackupVaultsRequest & request) const1403 ListBackupVaultsOutcomeCallable BackupClient::ListBackupVaultsCallable(const ListBackupVaultsRequest& request) const
1404 {
1405   auto task = Aws::MakeShared< std::packaged_task< ListBackupVaultsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListBackupVaults(request); } );
1406   auto packagedFunction = [task]() { (*task)(); };
1407   m_executor->Submit(packagedFunction);
1408   return task->get_future();
1409 }
1410 
ListBackupVaultsAsync(const ListBackupVaultsRequest & request,const ListBackupVaultsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1411 void BackupClient::ListBackupVaultsAsync(const ListBackupVaultsRequest& request, const ListBackupVaultsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1412 {
1413   m_executor->Submit( [this, request, handler, context](){ this->ListBackupVaultsAsyncHelper( request, handler, context ); } );
1414 }
1415 
ListBackupVaultsAsyncHelper(const ListBackupVaultsRequest & request,const ListBackupVaultsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1416 void BackupClient::ListBackupVaultsAsyncHelper(const ListBackupVaultsRequest& request, const ListBackupVaultsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1417 {
1418   handler(this, request, ListBackupVaults(request), context);
1419 }
1420 
ListCopyJobs(const ListCopyJobsRequest & request) const1421 ListCopyJobsOutcome BackupClient::ListCopyJobs(const ListCopyJobsRequest& request) const
1422 {
1423   Aws::Http::URI uri = m_uri;
1424   uri.AddPathSegments("/copy-jobs/");
1425   return ListCopyJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1426 }
1427 
ListCopyJobsCallable(const ListCopyJobsRequest & request) const1428 ListCopyJobsOutcomeCallable BackupClient::ListCopyJobsCallable(const ListCopyJobsRequest& request) const
1429 {
1430   auto task = Aws::MakeShared< std::packaged_task< ListCopyJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListCopyJobs(request); } );
1431   auto packagedFunction = [task]() { (*task)(); };
1432   m_executor->Submit(packagedFunction);
1433   return task->get_future();
1434 }
1435 
ListCopyJobsAsync(const ListCopyJobsRequest & request,const ListCopyJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1436 void BackupClient::ListCopyJobsAsync(const ListCopyJobsRequest& request, const ListCopyJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1437 {
1438   m_executor->Submit( [this, request, handler, context](){ this->ListCopyJobsAsyncHelper( request, handler, context ); } );
1439 }
1440 
ListCopyJobsAsyncHelper(const ListCopyJobsRequest & request,const ListCopyJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1441 void BackupClient::ListCopyJobsAsyncHelper(const ListCopyJobsRequest& request, const ListCopyJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1442 {
1443   handler(this, request, ListCopyJobs(request), context);
1444 }
1445 
ListFrameworks(const ListFrameworksRequest & request) const1446 ListFrameworksOutcome BackupClient::ListFrameworks(const ListFrameworksRequest& request) const
1447 {
1448   Aws::Http::URI uri = m_uri;
1449   uri.AddPathSegments("/audit/frameworks");
1450   return ListFrameworksOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1451 }
1452 
ListFrameworksCallable(const ListFrameworksRequest & request) const1453 ListFrameworksOutcomeCallable BackupClient::ListFrameworksCallable(const ListFrameworksRequest& request) const
1454 {
1455   auto task = Aws::MakeShared< std::packaged_task< ListFrameworksOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListFrameworks(request); } );
1456   auto packagedFunction = [task]() { (*task)(); };
1457   m_executor->Submit(packagedFunction);
1458   return task->get_future();
1459 }
1460 
ListFrameworksAsync(const ListFrameworksRequest & request,const ListFrameworksResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1461 void BackupClient::ListFrameworksAsync(const ListFrameworksRequest& request, const ListFrameworksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1462 {
1463   m_executor->Submit( [this, request, handler, context](){ this->ListFrameworksAsyncHelper( request, handler, context ); } );
1464 }
1465 
ListFrameworksAsyncHelper(const ListFrameworksRequest & request,const ListFrameworksResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1466 void BackupClient::ListFrameworksAsyncHelper(const ListFrameworksRequest& request, const ListFrameworksResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1467 {
1468   handler(this, request, ListFrameworks(request), context);
1469 }
1470 
ListProtectedResources(const ListProtectedResourcesRequest & request) const1471 ListProtectedResourcesOutcome BackupClient::ListProtectedResources(const ListProtectedResourcesRequest& request) const
1472 {
1473   Aws::Http::URI uri = m_uri;
1474   uri.AddPathSegments("/resources/");
1475   return ListProtectedResourcesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1476 }
1477 
ListProtectedResourcesCallable(const ListProtectedResourcesRequest & request) const1478 ListProtectedResourcesOutcomeCallable BackupClient::ListProtectedResourcesCallable(const ListProtectedResourcesRequest& request) const
1479 {
1480   auto task = Aws::MakeShared< std::packaged_task< ListProtectedResourcesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListProtectedResources(request); } );
1481   auto packagedFunction = [task]() { (*task)(); };
1482   m_executor->Submit(packagedFunction);
1483   return task->get_future();
1484 }
1485 
ListProtectedResourcesAsync(const ListProtectedResourcesRequest & request,const ListProtectedResourcesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1486 void BackupClient::ListProtectedResourcesAsync(const ListProtectedResourcesRequest& request, const ListProtectedResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1487 {
1488   m_executor->Submit( [this, request, handler, context](){ this->ListProtectedResourcesAsyncHelper( request, handler, context ); } );
1489 }
1490 
ListProtectedResourcesAsyncHelper(const ListProtectedResourcesRequest & request,const ListProtectedResourcesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1491 void BackupClient::ListProtectedResourcesAsyncHelper(const ListProtectedResourcesRequest& request, const ListProtectedResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1492 {
1493   handler(this, request, ListProtectedResources(request), context);
1494 }
1495 
ListRecoveryPointsByBackupVault(const ListRecoveryPointsByBackupVaultRequest & request) const1496 ListRecoveryPointsByBackupVaultOutcome BackupClient::ListRecoveryPointsByBackupVault(const ListRecoveryPointsByBackupVaultRequest& request) const
1497 {
1498   if (!request.BackupVaultNameHasBeenSet())
1499   {
1500     AWS_LOGSTREAM_ERROR("ListRecoveryPointsByBackupVault", "Required field: BackupVaultName, is not set");
1501     return ListRecoveryPointsByBackupVaultOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
1502   }
1503   Aws::Http::URI uri = m_uri;
1504   uri.AddPathSegments("/backup-vaults/");
1505   uri.AddPathSegment(request.GetBackupVaultName());
1506   uri.AddPathSegments("/recovery-points/");
1507   return ListRecoveryPointsByBackupVaultOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1508 }
1509 
ListRecoveryPointsByBackupVaultCallable(const ListRecoveryPointsByBackupVaultRequest & request) const1510 ListRecoveryPointsByBackupVaultOutcomeCallable BackupClient::ListRecoveryPointsByBackupVaultCallable(const ListRecoveryPointsByBackupVaultRequest& request) const
1511 {
1512   auto task = Aws::MakeShared< std::packaged_task< ListRecoveryPointsByBackupVaultOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListRecoveryPointsByBackupVault(request); } );
1513   auto packagedFunction = [task]() { (*task)(); };
1514   m_executor->Submit(packagedFunction);
1515   return task->get_future();
1516 }
1517 
ListRecoveryPointsByBackupVaultAsync(const ListRecoveryPointsByBackupVaultRequest & request,const ListRecoveryPointsByBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1518 void BackupClient::ListRecoveryPointsByBackupVaultAsync(const ListRecoveryPointsByBackupVaultRequest& request, const ListRecoveryPointsByBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1519 {
1520   m_executor->Submit( [this, request, handler, context](){ this->ListRecoveryPointsByBackupVaultAsyncHelper( request, handler, context ); } );
1521 }
1522 
ListRecoveryPointsByBackupVaultAsyncHelper(const ListRecoveryPointsByBackupVaultRequest & request,const ListRecoveryPointsByBackupVaultResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1523 void BackupClient::ListRecoveryPointsByBackupVaultAsyncHelper(const ListRecoveryPointsByBackupVaultRequest& request, const ListRecoveryPointsByBackupVaultResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1524 {
1525   handler(this, request, ListRecoveryPointsByBackupVault(request), context);
1526 }
1527 
ListRecoveryPointsByResource(const ListRecoveryPointsByResourceRequest & request) const1528 ListRecoveryPointsByResourceOutcome BackupClient::ListRecoveryPointsByResource(const ListRecoveryPointsByResourceRequest& request) const
1529 {
1530   if (!request.ResourceArnHasBeenSet())
1531   {
1532     AWS_LOGSTREAM_ERROR("ListRecoveryPointsByResource", "Required field: ResourceArn, is not set");
1533     return ListRecoveryPointsByResourceOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
1534   }
1535   Aws::Http::URI uri = m_uri;
1536   uri.AddPathSegments("/resources/");
1537   uri.AddPathSegment(request.GetResourceArn());
1538   uri.AddPathSegments("/recovery-points/");
1539   return ListRecoveryPointsByResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1540 }
1541 
ListRecoveryPointsByResourceCallable(const ListRecoveryPointsByResourceRequest & request) const1542 ListRecoveryPointsByResourceOutcomeCallable BackupClient::ListRecoveryPointsByResourceCallable(const ListRecoveryPointsByResourceRequest& request) const
1543 {
1544   auto task = Aws::MakeShared< std::packaged_task< ListRecoveryPointsByResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListRecoveryPointsByResource(request); } );
1545   auto packagedFunction = [task]() { (*task)(); };
1546   m_executor->Submit(packagedFunction);
1547   return task->get_future();
1548 }
1549 
ListRecoveryPointsByResourceAsync(const ListRecoveryPointsByResourceRequest & request,const ListRecoveryPointsByResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1550 void BackupClient::ListRecoveryPointsByResourceAsync(const ListRecoveryPointsByResourceRequest& request, const ListRecoveryPointsByResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1551 {
1552   m_executor->Submit( [this, request, handler, context](){ this->ListRecoveryPointsByResourceAsyncHelper( request, handler, context ); } );
1553 }
1554 
ListRecoveryPointsByResourceAsyncHelper(const ListRecoveryPointsByResourceRequest & request,const ListRecoveryPointsByResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1555 void BackupClient::ListRecoveryPointsByResourceAsyncHelper(const ListRecoveryPointsByResourceRequest& request, const ListRecoveryPointsByResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1556 {
1557   handler(this, request, ListRecoveryPointsByResource(request), context);
1558 }
1559 
ListReportJobs(const ListReportJobsRequest & request) const1560 ListReportJobsOutcome BackupClient::ListReportJobs(const ListReportJobsRequest& request) const
1561 {
1562   Aws::Http::URI uri = m_uri;
1563   uri.AddPathSegments("/audit/report-jobs");
1564   return ListReportJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1565 }
1566 
ListReportJobsCallable(const ListReportJobsRequest & request) const1567 ListReportJobsOutcomeCallable BackupClient::ListReportJobsCallable(const ListReportJobsRequest& request) const
1568 {
1569   auto task = Aws::MakeShared< std::packaged_task< ListReportJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListReportJobs(request); } );
1570   auto packagedFunction = [task]() { (*task)(); };
1571   m_executor->Submit(packagedFunction);
1572   return task->get_future();
1573 }
1574 
ListReportJobsAsync(const ListReportJobsRequest & request,const ListReportJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1575 void BackupClient::ListReportJobsAsync(const ListReportJobsRequest& request, const ListReportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1576 {
1577   m_executor->Submit( [this, request, handler, context](){ this->ListReportJobsAsyncHelper( request, handler, context ); } );
1578 }
1579 
ListReportJobsAsyncHelper(const ListReportJobsRequest & request,const ListReportJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1580 void BackupClient::ListReportJobsAsyncHelper(const ListReportJobsRequest& request, const ListReportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1581 {
1582   handler(this, request, ListReportJobs(request), context);
1583 }
1584 
ListReportPlans(const ListReportPlansRequest & request) const1585 ListReportPlansOutcome BackupClient::ListReportPlans(const ListReportPlansRequest& request) const
1586 {
1587   Aws::Http::URI uri = m_uri;
1588   uri.AddPathSegments("/audit/report-plans");
1589   return ListReportPlansOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1590 }
1591 
ListReportPlansCallable(const ListReportPlansRequest & request) const1592 ListReportPlansOutcomeCallable BackupClient::ListReportPlansCallable(const ListReportPlansRequest& request) const
1593 {
1594   auto task = Aws::MakeShared< std::packaged_task< ListReportPlansOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListReportPlans(request); } );
1595   auto packagedFunction = [task]() { (*task)(); };
1596   m_executor->Submit(packagedFunction);
1597   return task->get_future();
1598 }
1599 
ListReportPlansAsync(const ListReportPlansRequest & request,const ListReportPlansResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1600 void BackupClient::ListReportPlansAsync(const ListReportPlansRequest& request, const ListReportPlansResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1601 {
1602   m_executor->Submit( [this, request, handler, context](){ this->ListReportPlansAsyncHelper( request, handler, context ); } );
1603 }
1604 
ListReportPlansAsyncHelper(const ListReportPlansRequest & request,const ListReportPlansResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1605 void BackupClient::ListReportPlansAsyncHelper(const ListReportPlansRequest& request, const ListReportPlansResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1606 {
1607   handler(this, request, ListReportPlans(request), context);
1608 }
1609 
ListRestoreJobs(const ListRestoreJobsRequest & request) const1610 ListRestoreJobsOutcome BackupClient::ListRestoreJobs(const ListRestoreJobsRequest& request) const
1611 {
1612   Aws::Http::URI uri = m_uri;
1613   uri.AddPathSegments("/restore-jobs/");
1614   return ListRestoreJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1615 }
1616 
ListRestoreJobsCallable(const ListRestoreJobsRequest & request) const1617 ListRestoreJobsOutcomeCallable BackupClient::ListRestoreJobsCallable(const ListRestoreJobsRequest& request) const
1618 {
1619   auto task = Aws::MakeShared< std::packaged_task< ListRestoreJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListRestoreJobs(request); } );
1620   auto packagedFunction = [task]() { (*task)(); };
1621   m_executor->Submit(packagedFunction);
1622   return task->get_future();
1623 }
1624 
ListRestoreJobsAsync(const ListRestoreJobsRequest & request,const ListRestoreJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1625 void BackupClient::ListRestoreJobsAsync(const ListRestoreJobsRequest& request, const ListRestoreJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1626 {
1627   m_executor->Submit( [this, request, handler, context](){ this->ListRestoreJobsAsyncHelper( request, handler, context ); } );
1628 }
1629 
ListRestoreJobsAsyncHelper(const ListRestoreJobsRequest & request,const ListRestoreJobsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1630 void BackupClient::ListRestoreJobsAsyncHelper(const ListRestoreJobsRequest& request, const ListRestoreJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1631 {
1632   handler(this, request, ListRestoreJobs(request), context);
1633 }
1634 
ListTags(const ListTagsRequest & request) const1635 ListTagsOutcome BackupClient::ListTags(const ListTagsRequest& request) const
1636 {
1637   if (!request.ResourceArnHasBeenSet())
1638   {
1639     AWS_LOGSTREAM_ERROR("ListTags", "Required field: ResourceArn, is not set");
1640     return ListTagsOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
1641   }
1642   Aws::Http::URI uri = m_uri;
1643   uri.AddPathSegments("/tags/");
1644   uri.AddPathSegment(request.GetResourceArn());
1645   return ListTagsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
1646 }
1647 
ListTagsCallable(const ListTagsRequest & request) const1648 ListTagsOutcomeCallable BackupClient::ListTagsCallable(const ListTagsRequest& request) const
1649 {
1650   auto task = Aws::MakeShared< std::packaged_task< ListTagsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTags(request); } );
1651   auto packagedFunction = [task]() { (*task)(); };
1652   m_executor->Submit(packagedFunction);
1653   return task->get_future();
1654 }
1655 
ListTagsAsync(const ListTagsRequest & request,const ListTagsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1656 void BackupClient::ListTagsAsync(const ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1657 {
1658   m_executor->Submit( [this, request, handler, context](){ this->ListTagsAsyncHelper( request, handler, context ); } );
1659 }
1660 
ListTagsAsyncHelper(const ListTagsRequest & request,const ListTagsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1661 void BackupClient::ListTagsAsyncHelper(const ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1662 {
1663   handler(this, request, ListTags(request), context);
1664 }
1665 
PutBackupVaultAccessPolicy(const PutBackupVaultAccessPolicyRequest & request) const1666 PutBackupVaultAccessPolicyOutcome BackupClient::PutBackupVaultAccessPolicy(const PutBackupVaultAccessPolicyRequest& request) const
1667 {
1668   if (!request.BackupVaultNameHasBeenSet())
1669   {
1670     AWS_LOGSTREAM_ERROR("PutBackupVaultAccessPolicy", "Required field: BackupVaultName, is not set");
1671     return PutBackupVaultAccessPolicyOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
1672   }
1673   Aws::Http::URI uri = m_uri;
1674   uri.AddPathSegments("/backup-vaults/");
1675   uri.AddPathSegment(request.GetBackupVaultName());
1676   uri.AddPathSegments("/access-policy");
1677   return PutBackupVaultAccessPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1678 }
1679 
PutBackupVaultAccessPolicyCallable(const PutBackupVaultAccessPolicyRequest & request) const1680 PutBackupVaultAccessPolicyOutcomeCallable BackupClient::PutBackupVaultAccessPolicyCallable(const PutBackupVaultAccessPolicyRequest& request) const
1681 {
1682   auto task = Aws::MakeShared< std::packaged_task< PutBackupVaultAccessPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBackupVaultAccessPolicy(request); } );
1683   auto packagedFunction = [task]() { (*task)(); };
1684   m_executor->Submit(packagedFunction);
1685   return task->get_future();
1686 }
1687 
PutBackupVaultAccessPolicyAsync(const PutBackupVaultAccessPolicyRequest & request,const PutBackupVaultAccessPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1688 void BackupClient::PutBackupVaultAccessPolicyAsync(const PutBackupVaultAccessPolicyRequest& request, const PutBackupVaultAccessPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1689 {
1690   m_executor->Submit( [this, request, handler, context](){ this->PutBackupVaultAccessPolicyAsyncHelper( request, handler, context ); } );
1691 }
1692 
PutBackupVaultAccessPolicyAsyncHelper(const PutBackupVaultAccessPolicyRequest & request,const PutBackupVaultAccessPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1693 void BackupClient::PutBackupVaultAccessPolicyAsyncHelper(const PutBackupVaultAccessPolicyRequest& request, const PutBackupVaultAccessPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1694 {
1695   handler(this, request, PutBackupVaultAccessPolicy(request), context);
1696 }
1697 
PutBackupVaultLockConfiguration(const PutBackupVaultLockConfigurationRequest & request) const1698 PutBackupVaultLockConfigurationOutcome BackupClient::PutBackupVaultLockConfiguration(const PutBackupVaultLockConfigurationRequest& request) const
1699 {
1700   if (!request.BackupVaultNameHasBeenSet())
1701   {
1702     AWS_LOGSTREAM_ERROR("PutBackupVaultLockConfiguration", "Required field: BackupVaultName, is not set");
1703     return PutBackupVaultLockConfigurationOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
1704   }
1705   Aws::Http::URI uri = m_uri;
1706   uri.AddPathSegments("/backup-vaults/");
1707   uri.AddPathSegment(request.GetBackupVaultName());
1708   uri.AddPathSegments("/vault-lock");
1709   return PutBackupVaultLockConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1710 }
1711 
PutBackupVaultLockConfigurationCallable(const PutBackupVaultLockConfigurationRequest & request) const1712 PutBackupVaultLockConfigurationOutcomeCallable BackupClient::PutBackupVaultLockConfigurationCallable(const PutBackupVaultLockConfigurationRequest& request) const
1713 {
1714   auto task = Aws::MakeShared< std::packaged_task< PutBackupVaultLockConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBackupVaultLockConfiguration(request); } );
1715   auto packagedFunction = [task]() { (*task)(); };
1716   m_executor->Submit(packagedFunction);
1717   return task->get_future();
1718 }
1719 
PutBackupVaultLockConfigurationAsync(const PutBackupVaultLockConfigurationRequest & request,const PutBackupVaultLockConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1720 void BackupClient::PutBackupVaultLockConfigurationAsync(const PutBackupVaultLockConfigurationRequest& request, const PutBackupVaultLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1721 {
1722   m_executor->Submit( [this, request, handler, context](){ this->PutBackupVaultLockConfigurationAsyncHelper( request, handler, context ); } );
1723 }
1724 
PutBackupVaultLockConfigurationAsyncHelper(const PutBackupVaultLockConfigurationRequest & request,const PutBackupVaultLockConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1725 void BackupClient::PutBackupVaultLockConfigurationAsyncHelper(const PutBackupVaultLockConfigurationRequest& request, const PutBackupVaultLockConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1726 {
1727   handler(this, request, PutBackupVaultLockConfiguration(request), context);
1728 }
1729 
PutBackupVaultNotifications(const PutBackupVaultNotificationsRequest & request) const1730 PutBackupVaultNotificationsOutcome BackupClient::PutBackupVaultNotifications(const PutBackupVaultNotificationsRequest& request) const
1731 {
1732   if (!request.BackupVaultNameHasBeenSet())
1733   {
1734     AWS_LOGSTREAM_ERROR("PutBackupVaultNotifications", "Required field: BackupVaultName, is not set");
1735     return PutBackupVaultNotificationsOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
1736   }
1737   Aws::Http::URI uri = m_uri;
1738   uri.AddPathSegments("/backup-vaults/");
1739   uri.AddPathSegment(request.GetBackupVaultName());
1740   uri.AddPathSegments("/notification-configuration");
1741   return PutBackupVaultNotificationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1742 }
1743 
PutBackupVaultNotificationsCallable(const PutBackupVaultNotificationsRequest & request) const1744 PutBackupVaultNotificationsOutcomeCallable BackupClient::PutBackupVaultNotificationsCallable(const PutBackupVaultNotificationsRequest& request) const
1745 {
1746   auto task = Aws::MakeShared< std::packaged_task< PutBackupVaultNotificationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutBackupVaultNotifications(request); } );
1747   auto packagedFunction = [task]() { (*task)(); };
1748   m_executor->Submit(packagedFunction);
1749   return task->get_future();
1750 }
1751 
PutBackupVaultNotificationsAsync(const PutBackupVaultNotificationsRequest & request,const PutBackupVaultNotificationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1752 void BackupClient::PutBackupVaultNotificationsAsync(const PutBackupVaultNotificationsRequest& request, const PutBackupVaultNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1753 {
1754   m_executor->Submit( [this, request, handler, context](){ this->PutBackupVaultNotificationsAsyncHelper( request, handler, context ); } );
1755 }
1756 
PutBackupVaultNotificationsAsyncHelper(const PutBackupVaultNotificationsRequest & request,const PutBackupVaultNotificationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1757 void BackupClient::PutBackupVaultNotificationsAsyncHelper(const PutBackupVaultNotificationsRequest& request, const PutBackupVaultNotificationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1758 {
1759   handler(this, request, PutBackupVaultNotifications(request), context);
1760 }
1761 
StartBackupJob(const StartBackupJobRequest & request) const1762 StartBackupJobOutcome BackupClient::StartBackupJob(const StartBackupJobRequest& request) const
1763 {
1764   Aws::Http::URI uri = m_uri;
1765   uri.AddPathSegments("/backup-jobs");
1766   return StartBackupJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1767 }
1768 
StartBackupJobCallable(const StartBackupJobRequest & request) const1769 StartBackupJobOutcomeCallable BackupClient::StartBackupJobCallable(const StartBackupJobRequest& request) const
1770 {
1771   auto task = Aws::MakeShared< std::packaged_task< StartBackupJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StartBackupJob(request); } );
1772   auto packagedFunction = [task]() { (*task)(); };
1773   m_executor->Submit(packagedFunction);
1774   return task->get_future();
1775 }
1776 
StartBackupJobAsync(const StartBackupJobRequest & request,const StartBackupJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1777 void BackupClient::StartBackupJobAsync(const StartBackupJobRequest& request, const StartBackupJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1778 {
1779   m_executor->Submit( [this, request, handler, context](){ this->StartBackupJobAsyncHelper( request, handler, context ); } );
1780 }
1781 
StartBackupJobAsyncHelper(const StartBackupJobRequest & request,const StartBackupJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1782 void BackupClient::StartBackupJobAsyncHelper(const StartBackupJobRequest& request, const StartBackupJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1783 {
1784   handler(this, request, StartBackupJob(request), context);
1785 }
1786 
StartCopyJob(const StartCopyJobRequest & request) const1787 StartCopyJobOutcome BackupClient::StartCopyJob(const StartCopyJobRequest& request) const
1788 {
1789   Aws::Http::URI uri = m_uri;
1790   uri.AddPathSegments("/copy-jobs");
1791   return StartCopyJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1792 }
1793 
StartCopyJobCallable(const StartCopyJobRequest & request) const1794 StartCopyJobOutcomeCallable BackupClient::StartCopyJobCallable(const StartCopyJobRequest& request) const
1795 {
1796   auto task = Aws::MakeShared< std::packaged_task< StartCopyJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StartCopyJob(request); } );
1797   auto packagedFunction = [task]() { (*task)(); };
1798   m_executor->Submit(packagedFunction);
1799   return task->get_future();
1800 }
1801 
StartCopyJobAsync(const StartCopyJobRequest & request,const StartCopyJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1802 void BackupClient::StartCopyJobAsync(const StartCopyJobRequest& request, const StartCopyJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1803 {
1804   m_executor->Submit( [this, request, handler, context](){ this->StartCopyJobAsyncHelper( request, handler, context ); } );
1805 }
1806 
StartCopyJobAsyncHelper(const StartCopyJobRequest & request,const StartCopyJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1807 void BackupClient::StartCopyJobAsyncHelper(const StartCopyJobRequest& request, const StartCopyJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1808 {
1809   handler(this, request, StartCopyJob(request), context);
1810 }
1811 
StartReportJob(const StartReportJobRequest & request) const1812 StartReportJobOutcome BackupClient::StartReportJob(const StartReportJobRequest& request) const
1813 {
1814   if (!request.ReportPlanNameHasBeenSet())
1815   {
1816     AWS_LOGSTREAM_ERROR("StartReportJob", "Required field: ReportPlanName, is not set");
1817     return StartReportJobOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ReportPlanName]", false));
1818   }
1819   Aws::Http::URI uri = m_uri;
1820   uri.AddPathSegments("/audit/report-jobs/");
1821   uri.AddPathSegment(request.GetReportPlanName());
1822   return StartReportJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
1823 }
1824 
StartReportJobCallable(const StartReportJobRequest & request) const1825 StartReportJobOutcomeCallable BackupClient::StartReportJobCallable(const StartReportJobRequest& request) const
1826 {
1827   auto task = Aws::MakeShared< std::packaged_task< StartReportJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StartReportJob(request); } );
1828   auto packagedFunction = [task]() { (*task)(); };
1829   m_executor->Submit(packagedFunction);
1830   return task->get_future();
1831 }
1832 
StartReportJobAsync(const StartReportJobRequest & request,const StartReportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1833 void BackupClient::StartReportJobAsync(const StartReportJobRequest& request, const StartReportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1834 {
1835   m_executor->Submit( [this, request, handler, context](){ this->StartReportJobAsyncHelper( request, handler, context ); } );
1836 }
1837 
StartReportJobAsyncHelper(const StartReportJobRequest & request,const StartReportJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1838 void BackupClient::StartReportJobAsyncHelper(const StartReportJobRequest& request, const StartReportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1839 {
1840   handler(this, request, StartReportJob(request), context);
1841 }
1842 
StartRestoreJob(const StartRestoreJobRequest & request) const1843 StartRestoreJobOutcome BackupClient::StartRestoreJob(const StartRestoreJobRequest& request) const
1844 {
1845   Aws::Http::URI uri = m_uri;
1846   uri.AddPathSegments("/restore-jobs");
1847   return StartRestoreJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1848 }
1849 
StartRestoreJobCallable(const StartRestoreJobRequest & request) const1850 StartRestoreJobOutcomeCallable BackupClient::StartRestoreJobCallable(const StartRestoreJobRequest& request) const
1851 {
1852   auto task = Aws::MakeShared< std::packaged_task< StartRestoreJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StartRestoreJob(request); } );
1853   auto packagedFunction = [task]() { (*task)(); };
1854   m_executor->Submit(packagedFunction);
1855   return task->get_future();
1856 }
1857 
StartRestoreJobAsync(const StartRestoreJobRequest & request,const StartRestoreJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1858 void BackupClient::StartRestoreJobAsync(const StartRestoreJobRequest& request, const StartRestoreJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1859 {
1860   m_executor->Submit( [this, request, handler, context](){ this->StartRestoreJobAsyncHelper( request, handler, context ); } );
1861 }
1862 
StartRestoreJobAsyncHelper(const StartRestoreJobRequest & request,const StartRestoreJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1863 void BackupClient::StartRestoreJobAsyncHelper(const StartRestoreJobRequest& request, const StartRestoreJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1864 {
1865   handler(this, request, StartRestoreJob(request), context);
1866 }
1867 
StopBackupJob(const StopBackupJobRequest & request) const1868 StopBackupJobOutcome BackupClient::StopBackupJob(const StopBackupJobRequest& request) const
1869 {
1870   if (!request.BackupJobIdHasBeenSet())
1871   {
1872     AWS_LOGSTREAM_ERROR("StopBackupJob", "Required field: BackupJobId, is not set");
1873     return StopBackupJobOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupJobId]", false));
1874   }
1875   Aws::Http::URI uri = m_uri;
1876   uri.AddPathSegments("/backup-jobs/");
1877   uri.AddPathSegment(request.GetBackupJobId());
1878   return StopBackupJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
1879 }
1880 
StopBackupJobCallable(const StopBackupJobRequest & request) const1881 StopBackupJobOutcomeCallable BackupClient::StopBackupJobCallable(const StopBackupJobRequest& request) const
1882 {
1883   auto task = Aws::MakeShared< std::packaged_task< StopBackupJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StopBackupJob(request); } );
1884   auto packagedFunction = [task]() { (*task)(); };
1885   m_executor->Submit(packagedFunction);
1886   return task->get_future();
1887 }
1888 
StopBackupJobAsync(const StopBackupJobRequest & request,const StopBackupJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1889 void BackupClient::StopBackupJobAsync(const StopBackupJobRequest& request, const StopBackupJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1890 {
1891   m_executor->Submit( [this, request, handler, context](){ this->StopBackupJobAsyncHelper( request, handler, context ); } );
1892 }
1893 
StopBackupJobAsyncHelper(const StopBackupJobRequest & request,const StopBackupJobResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1894 void BackupClient::StopBackupJobAsyncHelper(const StopBackupJobRequest& request, const StopBackupJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1895 {
1896   handler(this, request, StopBackupJob(request), context);
1897 }
1898 
TagResource(const TagResourceRequest & request) const1899 TagResourceOutcome BackupClient::TagResource(const TagResourceRequest& request) const
1900 {
1901   if (!request.ResourceArnHasBeenSet())
1902   {
1903     AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set");
1904     return TagResourceOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
1905   }
1906   Aws::Http::URI uri = m_uri;
1907   uri.AddPathSegments("/tags/");
1908   uri.AddPathSegment(request.GetResourceArn());
1909   return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
1910 }
1911 
TagResourceCallable(const TagResourceRequest & request) const1912 TagResourceOutcomeCallable BackupClient::TagResourceCallable(const TagResourceRequest& request) const
1913 {
1914   auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } );
1915   auto packagedFunction = [task]() { (*task)(); };
1916   m_executor->Submit(packagedFunction);
1917   return task->get_future();
1918 }
1919 
TagResourceAsync(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1920 void BackupClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1921 {
1922   m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } );
1923 }
1924 
TagResourceAsyncHelper(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1925 void BackupClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1926 {
1927   handler(this, request, TagResource(request), context);
1928 }
1929 
UntagResource(const UntagResourceRequest & request) const1930 UntagResourceOutcome BackupClient::UntagResource(const UntagResourceRequest& request) const
1931 {
1932   if (!request.ResourceArnHasBeenSet())
1933   {
1934     AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set");
1935     return UntagResourceOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
1936   }
1937   Aws::Http::URI uri = m_uri;
1938   uri.AddPathSegments("/untag/");
1939   uri.AddPathSegment(request.GetResourceArn());
1940   return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
1941 }
1942 
UntagResourceCallable(const UntagResourceRequest & request) const1943 UntagResourceOutcomeCallable BackupClient::UntagResourceCallable(const UntagResourceRequest& request) const
1944 {
1945   auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } );
1946   auto packagedFunction = [task]() { (*task)(); };
1947   m_executor->Submit(packagedFunction);
1948   return task->get_future();
1949 }
1950 
UntagResourceAsync(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1951 void BackupClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1952 {
1953   m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } );
1954 }
1955 
UntagResourceAsyncHelper(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1956 void BackupClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1957 {
1958   handler(this, request, UntagResource(request), context);
1959 }
1960 
UpdateBackupPlan(const UpdateBackupPlanRequest & request) const1961 UpdateBackupPlanOutcome BackupClient::UpdateBackupPlan(const UpdateBackupPlanRequest& request) const
1962 {
1963   if (!request.BackupPlanIdHasBeenSet())
1964   {
1965     AWS_LOGSTREAM_ERROR("UpdateBackupPlan", "Required field: BackupPlanId, is not set");
1966     return UpdateBackupPlanOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupPlanId]", false));
1967   }
1968   Aws::Http::URI uri = m_uri;
1969   uri.AddPathSegments("/backup/plans/");
1970   uri.AddPathSegment(request.GetBackupPlanId());
1971   return UpdateBackupPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
1972 }
1973 
UpdateBackupPlanCallable(const UpdateBackupPlanRequest & request) const1974 UpdateBackupPlanOutcomeCallable BackupClient::UpdateBackupPlanCallable(const UpdateBackupPlanRequest& request) const
1975 {
1976   auto task = Aws::MakeShared< std::packaged_task< UpdateBackupPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateBackupPlan(request); } );
1977   auto packagedFunction = [task]() { (*task)(); };
1978   m_executor->Submit(packagedFunction);
1979   return task->get_future();
1980 }
1981 
UpdateBackupPlanAsync(const UpdateBackupPlanRequest & request,const UpdateBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1982 void BackupClient::UpdateBackupPlanAsync(const UpdateBackupPlanRequest& request, const UpdateBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1983 {
1984   m_executor->Submit( [this, request, handler, context](){ this->UpdateBackupPlanAsyncHelper( request, handler, context ); } );
1985 }
1986 
UpdateBackupPlanAsyncHelper(const UpdateBackupPlanRequest & request,const UpdateBackupPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1987 void BackupClient::UpdateBackupPlanAsyncHelper(const UpdateBackupPlanRequest& request, const UpdateBackupPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1988 {
1989   handler(this, request, UpdateBackupPlan(request), context);
1990 }
1991 
UpdateFramework(const UpdateFrameworkRequest & request) const1992 UpdateFrameworkOutcome BackupClient::UpdateFramework(const UpdateFrameworkRequest& request) const
1993 {
1994   if (!request.FrameworkNameHasBeenSet())
1995   {
1996     AWS_LOGSTREAM_ERROR("UpdateFramework", "Required field: FrameworkName, is not set");
1997     return UpdateFrameworkOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FrameworkName]", false));
1998   }
1999   Aws::Http::URI uri = m_uri;
2000   uri.AddPathSegments("/audit/frameworks/");
2001   uri.AddPathSegment(request.GetFrameworkName());
2002   return UpdateFrameworkOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
2003 }
2004 
UpdateFrameworkCallable(const UpdateFrameworkRequest & request) const2005 UpdateFrameworkOutcomeCallable BackupClient::UpdateFrameworkCallable(const UpdateFrameworkRequest& request) const
2006 {
2007   auto task = Aws::MakeShared< std::packaged_task< UpdateFrameworkOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateFramework(request); } );
2008   auto packagedFunction = [task]() { (*task)(); };
2009   m_executor->Submit(packagedFunction);
2010   return task->get_future();
2011 }
2012 
UpdateFrameworkAsync(const UpdateFrameworkRequest & request,const UpdateFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2013 void BackupClient::UpdateFrameworkAsync(const UpdateFrameworkRequest& request, const UpdateFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2014 {
2015   m_executor->Submit( [this, request, handler, context](){ this->UpdateFrameworkAsyncHelper( request, handler, context ); } );
2016 }
2017 
UpdateFrameworkAsyncHelper(const UpdateFrameworkRequest & request,const UpdateFrameworkResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2018 void BackupClient::UpdateFrameworkAsyncHelper(const UpdateFrameworkRequest& request, const UpdateFrameworkResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2019 {
2020   handler(this, request, UpdateFramework(request), context);
2021 }
2022 
UpdateGlobalSettings(const UpdateGlobalSettingsRequest & request) const2023 UpdateGlobalSettingsOutcome BackupClient::UpdateGlobalSettings(const UpdateGlobalSettingsRequest& request) const
2024 {
2025   Aws::Http::URI uri = m_uri;
2026   uri.AddPathSegments("/global-settings");
2027   return UpdateGlobalSettingsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
2028 }
2029 
UpdateGlobalSettingsCallable(const UpdateGlobalSettingsRequest & request) const2030 UpdateGlobalSettingsOutcomeCallable BackupClient::UpdateGlobalSettingsCallable(const UpdateGlobalSettingsRequest& request) const
2031 {
2032   auto task = Aws::MakeShared< std::packaged_task< UpdateGlobalSettingsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateGlobalSettings(request); } );
2033   auto packagedFunction = [task]() { (*task)(); };
2034   m_executor->Submit(packagedFunction);
2035   return task->get_future();
2036 }
2037 
UpdateGlobalSettingsAsync(const UpdateGlobalSettingsRequest & request,const UpdateGlobalSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2038 void BackupClient::UpdateGlobalSettingsAsync(const UpdateGlobalSettingsRequest& request, const UpdateGlobalSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2039 {
2040   m_executor->Submit( [this, request, handler, context](){ this->UpdateGlobalSettingsAsyncHelper( request, handler, context ); } );
2041 }
2042 
UpdateGlobalSettingsAsyncHelper(const UpdateGlobalSettingsRequest & request,const UpdateGlobalSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2043 void BackupClient::UpdateGlobalSettingsAsyncHelper(const UpdateGlobalSettingsRequest& request, const UpdateGlobalSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2044 {
2045   handler(this, request, UpdateGlobalSettings(request), context);
2046 }
2047 
UpdateRecoveryPointLifecycle(const UpdateRecoveryPointLifecycleRequest & request) const2048 UpdateRecoveryPointLifecycleOutcome BackupClient::UpdateRecoveryPointLifecycle(const UpdateRecoveryPointLifecycleRequest& request) const
2049 {
2050   if (!request.BackupVaultNameHasBeenSet())
2051   {
2052     AWS_LOGSTREAM_ERROR("UpdateRecoveryPointLifecycle", "Required field: BackupVaultName, is not set");
2053     return UpdateRecoveryPointLifecycleOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [BackupVaultName]", false));
2054   }
2055   if (!request.RecoveryPointArnHasBeenSet())
2056   {
2057     AWS_LOGSTREAM_ERROR("UpdateRecoveryPointLifecycle", "Required field: RecoveryPointArn, is not set");
2058     return UpdateRecoveryPointLifecycleOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RecoveryPointArn]", false));
2059   }
2060   Aws::Http::URI uri = m_uri;
2061   uri.AddPathSegments("/backup-vaults/");
2062   uri.AddPathSegment(request.GetBackupVaultName());
2063   uri.AddPathSegments("/recovery-points/");
2064   uri.AddPathSegment(request.GetRecoveryPointArn());
2065   return UpdateRecoveryPointLifecycleOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
2066 }
2067 
UpdateRecoveryPointLifecycleCallable(const UpdateRecoveryPointLifecycleRequest & request) const2068 UpdateRecoveryPointLifecycleOutcomeCallable BackupClient::UpdateRecoveryPointLifecycleCallable(const UpdateRecoveryPointLifecycleRequest& request) const
2069 {
2070   auto task = Aws::MakeShared< std::packaged_task< UpdateRecoveryPointLifecycleOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateRecoveryPointLifecycle(request); } );
2071   auto packagedFunction = [task]() { (*task)(); };
2072   m_executor->Submit(packagedFunction);
2073   return task->get_future();
2074 }
2075 
UpdateRecoveryPointLifecycleAsync(const UpdateRecoveryPointLifecycleRequest & request,const UpdateRecoveryPointLifecycleResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2076 void BackupClient::UpdateRecoveryPointLifecycleAsync(const UpdateRecoveryPointLifecycleRequest& request, const UpdateRecoveryPointLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2077 {
2078   m_executor->Submit( [this, request, handler, context](){ this->UpdateRecoveryPointLifecycleAsyncHelper( request, handler, context ); } );
2079 }
2080 
UpdateRecoveryPointLifecycleAsyncHelper(const UpdateRecoveryPointLifecycleRequest & request,const UpdateRecoveryPointLifecycleResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2081 void BackupClient::UpdateRecoveryPointLifecycleAsyncHelper(const UpdateRecoveryPointLifecycleRequest& request, const UpdateRecoveryPointLifecycleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2082 {
2083   handler(this, request, UpdateRecoveryPointLifecycle(request), context);
2084 }
2085 
UpdateRegionSettings(const UpdateRegionSettingsRequest & request) const2086 UpdateRegionSettingsOutcome BackupClient::UpdateRegionSettings(const UpdateRegionSettingsRequest& request) const
2087 {
2088   Aws::Http::URI uri = m_uri;
2089   uri.AddPathSegments("/account-settings");
2090   return UpdateRegionSettingsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
2091 }
2092 
UpdateRegionSettingsCallable(const UpdateRegionSettingsRequest & request) const2093 UpdateRegionSettingsOutcomeCallable BackupClient::UpdateRegionSettingsCallable(const UpdateRegionSettingsRequest& request) const
2094 {
2095   auto task = Aws::MakeShared< std::packaged_task< UpdateRegionSettingsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateRegionSettings(request); } );
2096   auto packagedFunction = [task]() { (*task)(); };
2097   m_executor->Submit(packagedFunction);
2098   return task->get_future();
2099 }
2100 
UpdateRegionSettingsAsync(const UpdateRegionSettingsRequest & request,const UpdateRegionSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2101 void BackupClient::UpdateRegionSettingsAsync(const UpdateRegionSettingsRequest& request, const UpdateRegionSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2102 {
2103   m_executor->Submit( [this, request, handler, context](){ this->UpdateRegionSettingsAsyncHelper( request, handler, context ); } );
2104 }
2105 
UpdateRegionSettingsAsyncHelper(const UpdateRegionSettingsRequest & request,const UpdateRegionSettingsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2106 void BackupClient::UpdateRegionSettingsAsyncHelper(const UpdateRegionSettingsRequest& request, const UpdateRegionSettingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2107 {
2108   handler(this, request, UpdateRegionSettings(request), context);
2109 }
2110 
UpdateReportPlan(const UpdateReportPlanRequest & request) const2111 UpdateReportPlanOutcome BackupClient::UpdateReportPlan(const UpdateReportPlanRequest& request) const
2112 {
2113   if (!request.ReportPlanNameHasBeenSet())
2114   {
2115     AWS_LOGSTREAM_ERROR("UpdateReportPlan", "Required field: ReportPlanName, is not set");
2116     return UpdateReportPlanOutcome(Aws::Client::AWSError<BackupErrors>(BackupErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ReportPlanName]", false));
2117   }
2118   Aws::Http::URI uri = m_uri;
2119   uri.AddPathSegments("/audit/report-plans/");
2120   uri.AddPathSegment(request.GetReportPlanName());
2121   return UpdateReportPlanOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
2122 }
2123 
UpdateReportPlanCallable(const UpdateReportPlanRequest & request) const2124 UpdateReportPlanOutcomeCallable BackupClient::UpdateReportPlanCallable(const UpdateReportPlanRequest& request) const
2125 {
2126   auto task = Aws::MakeShared< std::packaged_task< UpdateReportPlanOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateReportPlan(request); } );
2127   auto packagedFunction = [task]() { (*task)(); };
2128   m_executor->Submit(packagedFunction);
2129   return task->get_future();
2130 }
2131 
UpdateReportPlanAsync(const UpdateReportPlanRequest & request,const UpdateReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2132 void BackupClient::UpdateReportPlanAsync(const UpdateReportPlanRequest& request, const UpdateReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2133 {
2134   m_executor->Submit( [this, request, handler, context](){ this->UpdateReportPlanAsyncHelper( request, handler, context ); } );
2135 }
2136 
UpdateReportPlanAsyncHelper(const UpdateReportPlanRequest & request,const UpdateReportPlanResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const2137 void BackupClient::UpdateReportPlanAsyncHelper(const UpdateReportPlanRequest& request, const UpdateReportPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
2138 {
2139   handler(this, request, UpdateReportPlan(request), context);
2140 }
2141 
2142