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/acm-pca/ACMPCAClient.h>
21 #include <aws/acm-pca/ACMPCAEndpoint.h>
22 #include <aws/acm-pca/ACMPCAErrorMarshaller.h>
23 #include <aws/acm-pca/model/CreateCertificateAuthorityRequest.h>
24 #include <aws/acm-pca/model/CreateCertificateAuthorityAuditReportRequest.h>
25 #include <aws/acm-pca/model/CreatePermissionRequest.h>
26 #include <aws/acm-pca/model/DeleteCertificateAuthorityRequest.h>
27 #include <aws/acm-pca/model/DeletePermissionRequest.h>
28 #include <aws/acm-pca/model/DeletePolicyRequest.h>
29 #include <aws/acm-pca/model/DescribeCertificateAuthorityRequest.h>
30 #include <aws/acm-pca/model/DescribeCertificateAuthorityAuditReportRequest.h>
31 #include <aws/acm-pca/model/GetCertificateRequest.h>
32 #include <aws/acm-pca/model/GetCertificateAuthorityCertificateRequest.h>
33 #include <aws/acm-pca/model/GetCertificateAuthorityCsrRequest.h>
34 #include <aws/acm-pca/model/GetPolicyRequest.h>
35 #include <aws/acm-pca/model/ImportCertificateAuthorityCertificateRequest.h>
36 #include <aws/acm-pca/model/IssueCertificateRequest.h>
37 #include <aws/acm-pca/model/ListCertificateAuthoritiesRequest.h>
38 #include <aws/acm-pca/model/ListPermissionsRequest.h>
39 #include <aws/acm-pca/model/ListTagsRequest.h>
40 #include <aws/acm-pca/model/PutPolicyRequest.h>
41 #include <aws/acm-pca/model/RestoreCertificateAuthorityRequest.h>
42 #include <aws/acm-pca/model/RevokeCertificateRequest.h>
43 #include <aws/acm-pca/model/TagCertificateAuthorityRequest.h>
44 #include <aws/acm-pca/model/UntagCertificateAuthorityRequest.h>
45 #include <aws/acm-pca/model/UpdateCertificateAuthorityRequest.h>
46 
47 using namespace Aws;
48 using namespace Aws::Auth;
49 using namespace Aws::Client;
50 using namespace Aws::ACMPCA;
51 using namespace Aws::ACMPCA::Model;
52 using namespace Aws::Http;
53 using namespace Aws::Utils::Json;
54 
55 static const char* SERVICE_NAME = "acm-pca";
56 static const char* ALLOCATION_TAG = "ACMPCAClient";
57 
58 
ACMPCAClient(const Client::ClientConfiguration & clientConfiguration)59 ACMPCAClient::ACMPCAClient(const Client::ClientConfiguration& clientConfiguration) :
60   BASECLASS(clientConfiguration,
61     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
62         SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
63     Aws::MakeShared<ACMPCAErrorMarshaller>(ALLOCATION_TAG)),
64     m_executor(clientConfiguration.executor)
65 {
66   init(clientConfiguration);
67 }
68 
ACMPCAClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)69 ACMPCAClient::ACMPCAClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
70   BASECLASS(clientConfiguration,
71     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
72          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
73     Aws::MakeShared<ACMPCAErrorMarshaller>(ALLOCATION_TAG)),
74     m_executor(clientConfiguration.executor)
75 {
76   init(clientConfiguration);
77 }
78 
ACMPCAClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)79 ACMPCAClient::ACMPCAClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
80   const Client::ClientConfiguration& clientConfiguration) :
81   BASECLASS(clientConfiguration,
82     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
83          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
84     Aws::MakeShared<ACMPCAErrorMarshaller>(ALLOCATION_TAG)),
85     m_executor(clientConfiguration.executor)
86 {
87   init(clientConfiguration);
88 }
89 
~ACMPCAClient()90 ACMPCAClient::~ACMPCAClient()
91 {
92 }
93 
init(const Client::ClientConfiguration & config)94 void ACMPCAClient::init(const Client::ClientConfiguration& config)
95 {
96   SetServiceClientName("ACM PCA");
97   m_configScheme = SchemeMapper::ToString(config.scheme);
98   if (config.endpointOverride.empty())
99   {
100       m_uri = m_configScheme + "://" + ACMPCAEndpoint::ForRegion(config.region, config.useDualStack);
101   }
102   else
103   {
104       OverrideEndpoint(config.endpointOverride);
105   }
106 }
107 
OverrideEndpoint(const Aws::String & endpoint)108 void ACMPCAClient::OverrideEndpoint(const Aws::String& endpoint)
109 {
110   if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
111   {
112       m_uri = endpoint;
113   }
114   else
115   {
116       m_uri = m_configScheme + "://" + endpoint;
117   }
118 }
119 
CreateCertificateAuthority(const CreateCertificateAuthorityRequest & request) const120 CreateCertificateAuthorityOutcome ACMPCAClient::CreateCertificateAuthority(const CreateCertificateAuthorityRequest& request) const
121 {
122   Aws::Http::URI uri = m_uri;
123   return CreateCertificateAuthorityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
124 }
125 
CreateCertificateAuthorityCallable(const CreateCertificateAuthorityRequest & request) const126 CreateCertificateAuthorityOutcomeCallable ACMPCAClient::CreateCertificateAuthorityCallable(const CreateCertificateAuthorityRequest& request) const
127 {
128   auto task = Aws::MakeShared< std::packaged_task< CreateCertificateAuthorityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateCertificateAuthority(request); } );
129   auto packagedFunction = [task]() { (*task)(); };
130   m_executor->Submit(packagedFunction);
131   return task->get_future();
132 }
133 
CreateCertificateAuthorityAsync(const CreateCertificateAuthorityRequest & request,const CreateCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const134 void ACMPCAClient::CreateCertificateAuthorityAsync(const CreateCertificateAuthorityRequest& request, const CreateCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
135 {
136   m_executor->Submit( [this, request, handler, context](){ this->CreateCertificateAuthorityAsyncHelper( request, handler, context ); } );
137 }
138 
CreateCertificateAuthorityAsyncHelper(const CreateCertificateAuthorityRequest & request,const CreateCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const139 void ACMPCAClient::CreateCertificateAuthorityAsyncHelper(const CreateCertificateAuthorityRequest& request, const CreateCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
140 {
141   handler(this, request, CreateCertificateAuthority(request), context);
142 }
143 
CreateCertificateAuthorityAuditReport(const CreateCertificateAuthorityAuditReportRequest & request) const144 CreateCertificateAuthorityAuditReportOutcome ACMPCAClient::CreateCertificateAuthorityAuditReport(const CreateCertificateAuthorityAuditReportRequest& request) const
145 {
146   Aws::Http::URI uri = m_uri;
147   return CreateCertificateAuthorityAuditReportOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
148 }
149 
CreateCertificateAuthorityAuditReportCallable(const CreateCertificateAuthorityAuditReportRequest & request) const150 CreateCertificateAuthorityAuditReportOutcomeCallable ACMPCAClient::CreateCertificateAuthorityAuditReportCallable(const CreateCertificateAuthorityAuditReportRequest& request) const
151 {
152   auto task = Aws::MakeShared< std::packaged_task< CreateCertificateAuthorityAuditReportOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateCertificateAuthorityAuditReport(request); } );
153   auto packagedFunction = [task]() { (*task)(); };
154   m_executor->Submit(packagedFunction);
155   return task->get_future();
156 }
157 
CreateCertificateAuthorityAuditReportAsync(const CreateCertificateAuthorityAuditReportRequest & request,const CreateCertificateAuthorityAuditReportResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const158 void ACMPCAClient::CreateCertificateAuthorityAuditReportAsync(const CreateCertificateAuthorityAuditReportRequest& request, const CreateCertificateAuthorityAuditReportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
159 {
160   m_executor->Submit( [this, request, handler, context](){ this->CreateCertificateAuthorityAuditReportAsyncHelper( request, handler, context ); } );
161 }
162 
CreateCertificateAuthorityAuditReportAsyncHelper(const CreateCertificateAuthorityAuditReportRequest & request,const CreateCertificateAuthorityAuditReportResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const163 void ACMPCAClient::CreateCertificateAuthorityAuditReportAsyncHelper(const CreateCertificateAuthorityAuditReportRequest& request, const CreateCertificateAuthorityAuditReportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
164 {
165   handler(this, request, CreateCertificateAuthorityAuditReport(request), context);
166 }
167 
CreatePermission(const CreatePermissionRequest & request) const168 CreatePermissionOutcome ACMPCAClient::CreatePermission(const CreatePermissionRequest& request) const
169 {
170   Aws::Http::URI uri = m_uri;
171   return CreatePermissionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
172 }
173 
CreatePermissionCallable(const CreatePermissionRequest & request) const174 CreatePermissionOutcomeCallable ACMPCAClient::CreatePermissionCallable(const CreatePermissionRequest& request) const
175 {
176   auto task = Aws::MakeShared< std::packaged_task< CreatePermissionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreatePermission(request); } );
177   auto packagedFunction = [task]() { (*task)(); };
178   m_executor->Submit(packagedFunction);
179   return task->get_future();
180 }
181 
CreatePermissionAsync(const CreatePermissionRequest & request,const CreatePermissionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const182 void ACMPCAClient::CreatePermissionAsync(const CreatePermissionRequest& request, const CreatePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
183 {
184   m_executor->Submit( [this, request, handler, context](){ this->CreatePermissionAsyncHelper( request, handler, context ); } );
185 }
186 
CreatePermissionAsyncHelper(const CreatePermissionRequest & request,const CreatePermissionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const187 void ACMPCAClient::CreatePermissionAsyncHelper(const CreatePermissionRequest& request, const CreatePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
188 {
189   handler(this, request, CreatePermission(request), context);
190 }
191 
DeleteCertificateAuthority(const DeleteCertificateAuthorityRequest & request) const192 DeleteCertificateAuthorityOutcome ACMPCAClient::DeleteCertificateAuthority(const DeleteCertificateAuthorityRequest& request) const
193 {
194   Aws::Http::URI uri = m_uri;
195   return DeleteCertificateAuthorityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
196 }
197 
DeleteCertificateAuthorityCallable(const DeleteCertificateAuthorityRequest & request) const198 DeleteCertificateAuthorityOutcomeCallable ACMPCAClient::DeleteCertificateAuthorityCallable(const DeleteCertificateAuthorityRequest& request) const
199 {
200   auto task = Aws::MakeShared< std::packaged_task< DeleteCertificateAuthorityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteCertificateAuthority(request); } );
201   auto packagedFunction = [task]() { (*task)(); };
202   m_executor->Submit(packagedFunction);
203   return task->get_future();
204 }
205 
DeleteCertificateAuthorityAsync(const DeleteCertificateAuthorityRequest & request,const DeleteCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const206 void ACMPCAClient::DeleteCertificateAuthorityAsync(const DeleteCertificateAuthorityRequest& request, const DeleteCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
207 {
208   m_executor->Submit( [this, request, handler, context](){ this->DeleteCertificateAuthorityAsyncHelper( request, handler, context ); } );
209 }
210 
DeleteCertificateAuthorityAsyncHelper(const DeleteCertificateAuthorityRequest & request,const DeleteCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const211 void ACMPCAClient::DeleteCertificateAuthorityAsyncHelper(const DeleteCertificateAuthorityRequest& request, const DeleteCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
212 {
213   handler(this, request, DeleteCertificateAuthority(request), context);
214 }
215 
DeletePermission(const DeletePermissionRequest & request) const216 DeletePermissionOutcome ACMPCAClient::DeletePermission(const DeletePermissionRequest& request) const
217 {
218   Aws::Http::URI uri = m_uri;
219   return DeletePermissionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
220 }
221 
DeletePermissionCallable(const DeletePermissionRequest & request) const222 DeletePermissionOutcomeCallable ACMPCAClient::DeletePermissionCallable(const DeletePermissionRequest& request) const
223 {
224   auto task = Aws::MakeShared< std::packaged_task< DeletePermissionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeletePermission(request); } );
225   auto packagedFunction = [task]() { (*task)(); };
226   m_executor->Submit(packagedFunction);
227   return task->get_future();
228 }
229 
DeletePermissionAsync(const DeletePermissionRequest & request,const DeletePermissionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const230 void ACMPCAClient::DeletePermissionAsync(const DeletePermissionRequest& request, const DeletePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
231 {
232   m_executor->Submit( [this, request, handler, context](){ this->DeletePermissionAsyncHelper( request, handler, context ); } );
233 }
234 
DeletePermissionAsyncHelper(const DeletePermissionRequest & request,const DeletePermissionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const235 void ACMPCAClient::DeletePermissionAsyncHelper(const DeletePermissionRequest& request, const DeletePermissionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
236 {
237   handler(this, request, DeletePermission(request), context);
238 }
239 
DeletePolicy(const DeletePolicyRequest & request) const240 DeletePolicyOutcome ACMPCAClient::DeletePolicy(const DeletePolicyRequest& request) const
241 {
242   Aws::Http::URI uri = m_uri;
243   return DeletePolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
244 }
245 
DeletePolicyCallable(const DeletePolicyRequest & request) const246 DeletePolicyOutcomeCallable ACMPCAClient::DeletePolicyCallable(const DeletePolicyRequest& request) const
247 {
248   auto task = Aws::MakeShared< std::packaged_task< DeletePolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeletePolicy(request); } );
249   auto packagedFunction = [task]() { (*task)(); };
250   m_executor->Submit(packagedFunction);
251   return task->get_future();
252 }
253 
DeletePolicyAsync(const DeletePolicyRequest & request,const DeletePolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const254 void ACMPCAClient::DeletePolicyAsync(const DeletePolicyRequest& request, const DeletePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
255 {
256   m_executor->Submit( [this, request, handler, context](){ this->DeletePolicyAsyncHelper( request, handler, context ); } );
257 }
258 
DeletePolicyAsyncHelper(const DeletePolicyRequest & request,const DeletePolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const259 void ACMPCAClient::DeletePolicyAsyncHelper(const DeletePolicyRequest& request, const DeletePolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
260 {
261   handler(this, request, DeletePolicy(request), context);
262 }
263 
DescribeCertificateAuthority(const DescribeCertificateAuthorityRequest & request) const264 DescribeCertificateAuthorityOutcome ACMPCAClient::DescribeCertificateAuthority(const DescribeCertificateAuthorityRequest& request) const
265 {
266   Aws::Http::URI uri = m_uri;
267   return DescribeCertificateAuthorityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
268 }
269 
DescribeCertificateAuthorityCallable(const DescribeCertificateAuthorityRequest & request) const270 DescribeCertificateAuthorityOutcomeCallable ACMPCAClient::DescribeCertificateAuthorityCallable(const DescribeCertificateAuthorityRequest& request) const
271 {
272   auto task = Aws::MakeShared< std::packaged_task< DescribeCertificateAuthorityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeCertificateAuthority(request); } );
273   auto packagedFunction = [task]() { (*task)(); };
274   m_executor->Submit(packagedFunction);
275   return task->get_future();
276 }
277 
DescribeCertificateAuthorityAsync(const DescribeCertificateAuthorityRequest & request,const DescribeCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const278 void ACMPCAClient::DescribeCertificateAuthorityAsync(const DescribeCertificateAuthorityRequest& request, const DescribeCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
279 {
280   m_executor->Submit( [this, request, handler, context](){ this->DescribeCertificateAuthorityAsyncHelper( request, handler, context ); } );
281 }
282 
DescribeCertificateAuthorityAsyncHelper(const DescribeCertificateAuthorityRequest & request,const DescribeCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const283 void ACMPCAClient::DescribeCertificateAuthorityAsyncHelper(const DescribeCertificateAuthorityRequest& request, const DescribeCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
284 {
285   handler(this, request, DescribeCertificateAuthority(request), context);
286 }
287 
DescribeCertificateAuthorityAuditReport(const DescribeCertificateAuthorityAuditReportRequest & request) const288 DescribeCertificateAuthorityAuditReportOutcome ACMPCAClient::DescribeCertificateAuthorityAuditReport(const DescribeCertificateAuthorityAuditReportRequest& request) const
289 {
290   Aws::Http::URI uri = m_uri;
291   return DescribeCertificateAuthorityAuditReportOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
292 }
293 
DescribeCertificateAuthorityAuditReportCallable(const DescribeCertificateAuthorityAuditReportRequest & request) const294 DescribeCertificateAuthorityAuditReportOutcomeCallable ACMPCAClient::DescribeCertificateAuthorityAuditReportCallable(const DescribeCertificateAuthorityAuditReportRequest& request) const
295 {
296   auto task = Aws::MakeShared< std::packaged_task< DescribeCertificateAuthorityAuditReportOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeCertificateAuthorityAuditReport(request); } );
297   auto packagedFunction = [task]() { (*task)(); };
298   m_executor->Submit(packagedFunction);
299   return task->get_future();
300 }
301 
DescribeCertificateAuthorityAuditReportAsync(const DescribeCertificateAuthorityAuditReportRequest & request,const DescribeCertificateAuthorityAuditReportResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const302 void ACMPCAClient::DescribeCertificateAuthorityAuditReportAsync(const DescribeCertificateAuthorityAuditReportRequest& request, const DescribeCertificateAuthorityAuditReportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
303 {
304   m_executor->Submit( [this, request, handler, context](){ this->DescribeCertificateAuthorityAuditReportAsyncHelper( request, handler, context ); } );
305 }
306 
DescribeCertificateAuthorityAuditReportAsyncHelper(const DescribeCertificateAuthorityAuditReportRequest & request,const DescribeCertificateAuthorityAuditReportResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const307 void ACMPCAClient::DescribeCertificateAuthorityAuditReportAsyncHelper(const DescribeCertificateAuthorityAuditReportRequest& request, const DescribeCertificateAuthorityAuditReportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
308 {
309   handler(this, request, DescribeCertificateAuthorityAuditReport(request), context);
310 }
311 
GetCertificate(const GetCertificateRequest & request) const312 GetCertificateOutcome ACMPCAClient::GetCertificate(const GetCertificateRequest& request) const
313 {
314   Aws::Http::URI uri = m_uri;
315   return GetCertificateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
316 }
317 
GetCertificateCallable(const GetCertificateRequest & request) const318 GetCertificateOutcomeCallable ACMPCAClient::GetCertificateCallable(const GetCertificateRequest& request) const
319 {
320   auto task = Aws::MakeShared< std::packaged_task< GetCertificateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetCertificate(request); } );
321   auto packagedFunction = [task]() { (*task)(); };
322   m_executor->Submit(packagedFunction);
323   return task->get_future();
324 }
325 
GetCertificateAsync(const GetCertificateRequest & request,const GetCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const326 void ACMPCAClient::GetCertificateAsync(const GetCertificateRequest& request, const GetCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
327 {
328   m_executor->Submit( [this, request, handler, context](){ this->GetCertificateAsyncHelper( request, handler, context ); } );
329 }
330 
GetCertificateAsyncHelper(const GetCertificateRequest & request,const GetCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const331 void ACMPCAClient::GetCertificateAsyncHelper(const GetCertificateRequest& request, const GetCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
332 {
333   handler(this, request, GetCertificate(request), context);
334 }
335 
GetCertificateAuthorityCertificate(const GetCertificateAuthorityCertificateRequest & request) const336 GetCertificateAuthorityCertificateOutcome ACMPCAClient::GetCertificateAuthorityCertificate(const GetCertificateAuthorityCertificateRequest& request) const
337 {
338   Aws::Http::URI uri = m_uri;
339   return GetCertificateAuthorityCertificateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
340 }
341 
GetCertificateAuthorityCertificateCallable(const GetCertificateAuthorityCertificateRequest & request) const342 GetCertificateAuthorityCertificateOutcomeCallable ACMPCAClient::GetCertificateAuthorityCertificateCallable(const GetCertificateAuthorityCertificateRequest& request) const
343 {
344   auto task = Aws::MakeShared< std::packaged_task< GetCertificateAuthorityCertificateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetCertificateAuthorityCertificate(request); } );
345   auto packagedFunction = [task]() { (*task)(); };
346   m_executor->Submit(packagedFunction);
347   return task->get_future();
348 }
349 
GetCertificateAuthorityCertificateAsync(const GetCertificateAuthorityCertificateRequest & request,const GetCertificateAuthorityCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const350 void ACMPCAClient::GetCertificateAuthorityCertificateAsync(const GetCertificateAuthorityCertificateRequest& request, const GetCertificateAuthorityCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
351 {
352   m_executor->Submit( [this, request, handler, context](){ this->GetCertificateAuthorityCertificateAsyncHelper( request, handler, context ); } );
353 }
354 
GetCertificateAuthorityCertificateAsyncHelper(const GetCertificateAuthorityCertificateRequest & request,const GetCertificateAuthorityCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const355 void ACMPCAClient::GetCertificateAuthorityCertificateAsyncHelper(const GetCertificateAuthorityCertificateRequest& request, const GetCertificateAuthorityCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
356 {
357   handler(this, request, GetCertificateAuthorityCertificate(request), context);
358 }
359 
GetCertificateAuthorityCsr(const GetCertificateAuthorityCsrRequest & request) const360 GetCertificateAuthorityCsrOutcome ACMPCAClient::GetCertificateAuthorityCsr(const GetCertificateAuthorityCsrRequest& request) const
361 {
362   Aws::Http::URI uri = m_uri;
363   return GetCertificateAuthorityCsrOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
364 }
365 
GetCertificateAuthorityCsrCallable(const GetCertificateAuthorityCsrRequest & request) const366 GetCertificateAuthorityCsrOutcomeCallable ACMPCAClient::GetCertificateAuthorityCsrCallable(const GetCertificateAuthorityCsrRequest& request) const
367 {
368   auto task = Aws::MakeShared< std::packaged_task< GetCertificateAuthorityCsrOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetCertificateAuthorityCsr(request); } );
369   auto packagedFunction = [task]() { (*task)(); };
370   m_executor->Submit(packagedFunction);
371   return task->get_future();
372 }
373 
GetCertificateAuthorityCsrAsync(const GetCertificateAuthorityCsrRequest & request,const GetCertificateAuthorityCsrResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const374 void ACMPCAClient::GetCertificateAuthorityCsrAsync(const GetCertificateAuthorityCsrRequest& request, const GetCertificateAuthorityCsrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
375 {
376   m_executor->Submit( [this, request, handler, context](){ this->GetCertificateAuthorityCsrAsyncHelper( request, handler, context ); } );
377 }
378 
GetCertificateAuthorityCsrAsyncHelper(const GetCertificateAuthorityCsrRequest & request,const GetCertificateAuthorityCsrResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const379 void ACMPCAClient::GetCertificateAuthorityCsrAsyncHelper(const GetCertificateAuthorityCsrRequest& request, const GetCertificateAuthorityCsrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
380 {
381   handler(this, request, GetCertificateAuthorityCsr(request), context);
382 }
383 
GetPolicy(const GetPolicyRequest & request) const384 GetPolicyOutcome ACMPCAClient::GetPolicy(const GetPolicyRequest& request) const
385 {
386   Aws::Http::URI uri = m_uri;
387   return GetPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
388 }
389 
GetPolicyCallable(const GetPolicyRequest & request) const390 GetPolicyOutcomeCallable ACMPCAClient::GetPolicyCallable(const GetPolicyRequest& request) const
391 {
392   auto task = Aws::MakeShared< std::packaged_task< GetPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetPolicy(request); } );
393   auto packagedFunction = [task]() { (*task)(); };
394   m_executor->Submit(packagedFunction);
395   return task->get_future();
396 }
397 
GetPolicyAsync(const GetPolicyRequest & request,const GetPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const398 void ACMPCAClient::GetPolicyAsync(const GetPolicyRequest& request, const GetPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
399 {
400   m_executor->Submit( [this, request, handler, context](){ this->GetPolicyAsyncHelper( request, handler, context ); } );
401 }
402 
GetPolicyAsyncHelper(const GetPolicyRequest & request,const GetPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const403 void ACMPCAClient::GetPolicyAsyncHelper(const GetPolicyRequest& request, const GetPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
404 {
405   handler(this, request, GetPolicy(request), context);
406 }
407 
ImportCertificateAuthorityCertificate(const ImportCertificateAuthorityCertificateRequest & request) const408 ImportCertificateAuthorityCertificateOutcome ACMPCAClient::ImportCertificateAuthorityCertificate(const ImportCertificateAuthorityCertificateRequest& request) const
409 {
410   Aws::Http::URI uri = m_uri;
411   return ImportCertificateAuthorityCertificateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
412 }
413 
ImportCertificateAuthorityCertificateCallable(const ImportCertificateAuthorityCertificateRequest & request) const414 ImportCertificateAuthorityCertificateOutcomeCallable ACMPCAClient::ImportCertificateAuthorityCertificateCallable(const ImportCertificateAuthorityCertificateRequest& request) const
415 {
416   auto task = Aws::MakeShared< std::packaged_task< ImportCertificateAuthorityCertificateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ImportCertificateAuthorityCertificate(request); } );
417   auto packagedFunction = [task]() { (*task)(); };
418   m_executor->Submit(packagedFunction);
419   return task->get_future();
420 }
421 
ImportCertificateAuthorityCertificateAsync(const ImportCertificateAuthorityCertificateRequest & request,const ImportCertificateAuthorityCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const422 void ACMPCAClient::ImportCertificateAuthorityCertificateAsync(const ImportCertificateAuthorityCertificateRequest& request, const ImportCertificateAuthorityCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
423 {
424   m_executor->Submit( [this, request, handler, context](){ this->ImportCertificateAuthorityCertificateAsyncHelper( request, handler, context ); } );
425 }
426 
ImportCertificateAuthorityCertificateAsyncHelper(const ImportCertificateAuthorityCertificateRequest & request,const ImportCertificateAuthorityCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const427 void ACMPCAClient::ImportCertificateAuthorityCertificateAsyncHelper(const ImportCertificateAuthorityCertificateRequest& request, const ImportCertificateAuthorityCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
428 {
429   handler(this, request, ImportCertificateAuthorityCertificate(request), context);
430 }
431 
IssueCertificate(const IssueCertificateRequest & request) const432 IssueCertificateOutcome ACMPCAClient::IssueCertificate(const IssueCertificateRequest& request) const
433 {
434   Aws::Http::URI uri = m_uri;
435   return IssueCertificateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
436 }
437 
IssueCertificateCallable(const IssueCertificateRequest & request) const438 IssueCertificateOutcomeCallable ACMPCAClient::IssueCertificateCallable(const IssueCertificateRequest& request) const
439 {
440   auto task = Aws::MakeShared< std::packaged_task< IssueCertificateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->IssueCertificate(request); } );
441   auto packagedFunction = [task]() { (*task)(); };
442   m_executor->Submit(packagedFunction);
443   return task->get_future();
444 }
445 
IssueCertificateAsync(const IssueCertificateRequest & request,const IssueCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const446 void ACMPCAClient::IssueCertificateAsync(const IssueCertificateRequest& request, const IssueCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
447 {
448   m_executor->Submit( [this, request, handler, context](){ this->IssueCertificateAsyncHelper( request, handler, context ); } );
449 }
450 
IssueCertificateAsyncHelper(const IssueCertificateRequest & request,const IssueCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const451 void ACMPCAClient::IssueCertificateAsyncHelper(const IssueCertificateRequest& request, const IssueCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
452 {
453   handler(this, request, IssueCertificate(request), context);
454 }
455 
ListCertificateAuthorities(const ListCertificateAuthoritiesRequest & request) const456 ListCertificateAuthoritiesOutcome ACMPCAClient::ListCertificateAuthorities(const ListCertificateAuthoritiesRequest& request) const
457 {
458   Aws::Http::URI uri = m_uri;
459   return ListCertificateAuthoritiesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
460 }
461 
ListCertificateAuthoritiesCallable(const ListCertificateAuthoritiesRequest & request) const462 ListCertificateAuthoritiesOutcomeCallable ACMPCAClient::ListCertificateAuthoritiesCallable(const ListCertificateAuthoritiesRequest& request) const
463 {
464   auto task = Aws::MakeShared< std::packaged_task< ListCertificateAuthoritiesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListCertificateAuthorities(request); } );
465   auto packagedFunction = [task]() { (*task)(); };
466   m_executor->Submit(packagedFunction);
467   return task->get_future();
468 }
469 
ListCertificateAuthoritiesAsync(const ListCertificateAuthoritiesRequest & request,const ListCertificateAuthoritiesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const470 void ACMPCAClient::ListCertificateAuthoritiesAsync(const ListCertificateAuthoritiesRequest& request, const ListCertificateAuthoritiesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
471 {
472   m_executor->Submit( [this, request, handler, context](){ this->ListCertificateAuthoritiesAsyncHelper( request, handler, context ); } );
473 }
474 
ListCertificateAuthoritiesAsyncHelper(const ListCertificateAuthoritiesRequest & request,const ListCertificateAuthoritiesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const475 void ACMPCAClient::ListCertificateAuthoritiesAsyncHelper(const ListCertificateAuthoritiesRequest& request, const ListCertificateAuthoritiesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
476 {
477   handler(this, request, ListCertificateAuthorities(request), context);
478 }
479 
ListPermissions(const ListPermissionsRequest & request) const480 ListPermissionsOutcome ACMPCAClient::ListPermissions(const ListPermissionsRequest& request) const
481 {
482   Aws::Http::URI uri = m_uri;
483   return ListPermissionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
484 }
485 
ListPermissionsCallable(const ListPermissionsRequest & request) const486 ListPermissionsOutcomeCallable ACMPCAClient::ListPermissionsCallable(const ListPermissionsRequest& request) const
487 {
488   auto task = Aws::MakeShared< std::packaged_task< ListPermissionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListPermissions(request); } );
489   auto packagedFunction = [task]() { (*task)(); };
490   m_executor->Submit(packagedFunction);
491   return task->get_future();
492 }
493 
ListPermissionsAsync(const ListPermissionsRequest & request,const ListPermissionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const494 void ACMPCAClient::ListPermissionsAsync(const ListPermissionsRequest& request, const ListPermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
495 {
496   m_executor->Submit( [this, request, handler, context](){ this->ListPermissionsAsyncHelper( request, handler, context ); } );
497 }
498 
ListPermissionsAsyncHelper(const ListPermissionsRequest & request,const ListPermissionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const499 void ACMPCAClient::ListPermissionsAsyncHelper(const ListPermissionsRequest& request, const ListPermissionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
500 {
501   handler(this, request, ListPermissions(request), context);
502 }
503 
ListTags(const ListTagsRequest & request) const504 ListTagsOutcome ACMPCAClient::ListTags(const ListTagsRequest& request) const
505 {
506   Aws::Http::URI uri = m_uri;
507   return ListTagsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
508 }
509 
ListTagsCallable(const ListTagsRequest & request) const510 ListTagsOutcomeCallable ACMPCAClient::ListTagsCallable(const ListTagsRequest& request) const
511 {
512   auto task = Aws::MakeShared< std::packaged_task< ListTagsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTags(request); } );
513   auto packagedFunction = [task]() { (*task)(); };
514   m_executor->Submit(packagedFunction);
515   return task->get_future();
516 }
517 
ListTagsAsync(const ListTagsRequest & request,const ListTagsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const518 void ACMPCAClient::ListTagsAsync(const ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
519 {
520   m_executor->Submit( [this, request, handler, context](){ this->ListTagsAsyncHelper( request, handler, context ); } );
521 }
522 
ListTagsAsyncHelper(const ListTagsRequest & request,const ListTagsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const523 void ACMPCAClient::ListTagsAsyncHelper(const ListTagsRequest& request, const ListTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
524 {
525   handler(this, request, ListTags(request), context);
526 }
527 
PutPolicy(const PutPolicyRequest & request) const528 PutPolicyOutcome ACMPCAClient::PutPolicy(const PutPolicyRequest& request) const
529 {
530   Aws::Http::URI uri = m_uri;
531   return PutPolicyOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
532 }
533 
PutPolicyCallable(const PutPolicyRequest & request) const534 PutPolicyOutcomeCallable ACMPCAClient::PutPolicyCallable(const PutPolicyRequest& request) const
535 {
536   auto task = Aws::MakeShared< std::packaged_task< PutPolicyOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutPolicy(request); } );
537   auto packagedFunction = [task]() { (*task)(); };
538   m_executor->Submit(packagedFunction);
539   return task->get_future();
540 }
541 
PutPolicyAsync(const PutPolicyRequest & request,const PutPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const542 void ACMPCAClient::PutPolicyAsync(const PutPolicyRequest& request, const PutPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
543 {
544   m_executor->Submit( [this, request, handler, context](){ this->PutPolicyAsyncHelper( request, handler, context ); } );
545 }
546 
PutPolicyAsyncHelper(const PutPolicyRequest & request,const PutPolicyResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const547 void ACMPCAClient::PutPolicyAsyncHelper(const PutPolicyRequest& request, const PutPolicyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
548 {
549   handler(this, request, PutPolicy(request), context);
550 }
551 
RestoreCertificateAuthority(const RestoreCertificateAuthorityRequest & request) const552 RestoreCertificateAuthorityOutcome ACMPCAClient::RestoreCertificateAuthority(const RestoreCertificateAuthorityRequest& request) const
553 {
554   Aws::Http::URI uri = m_uri;
555   return RestoreCertificateAuthorityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
556 }
557 
RestoreCertificateAuthorityCallable(const RestoreCertificateAuthorityRequest & request) const558 RestoreCertificateAuthorityOutcomeCallable ACMPCAClient::RestoreCertificateAuthorityCallable(const RestoreCertificateAuthorityRequest& request) const
559 {
560   auto task = Aws::MakeShared< std::packaged_task< RestoreCertificateAuthorityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->RestoreCertificateAuthority(request); } );
561   auto packagedFunction = [task]() { (*task)(); };
562   m_executor->Submit(packagedFunction);
563   return task->get_future();
564 }
565 
RestoreCertificateAuthorityAsync(const RestoreCertificateAuthorityRequest & request,const RestoreCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const566 void ACMPCAClient::RestoreCertificateAuthorityAsync(const RestoreCertificateAuthorityRequest& request, const RestoreCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
567 {
568   m_executor->Submit( [this, request, handler, context](){ this->RestoreCertificateAuthorityAsyncHelper( request, handler, context ); } );
569 }
570 
RestoreCertificateAuthorityAsyncHelper(const RestoreCertificateAuthorityRequest & request,const RestoreCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const571 void ACMPCAClient::RestoreCertificateAuthorityAsyncHelper(const RestoreCertificateAuthorityRequest& request, const RestoreCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
572 {
573   handler(this, request, RestoreCertificateAuthority(request), context);
574 }
575 
RevokeCertificate(const RevokeCertificateRequest & request) const576 RevokeCertificateOutcome ACMPCAClient::RevokeCertificate(const RevokeCertificateRequest& request) const
577 {
578   Aws::Http::URI uri = m_uri;
579   return RevokeCertificateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
580 }
581 
RevokeCertificateCallable(const RevokeCertificateRequest & request) const582 RevokeCertificateOutcomeCallable ACMPCAClient::RevokeCertificateCallable(const RevokeCertificateRequest& request) const
583 {
584   auto task = Aws::MakeShared< std::packaged_task< RevokeCertificateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->RevokeCertificate(request); } );
585   auto packagedFunction = [task]() { (*task)(); };
586   m_executor->Submit(packagedFunction);
587   return task->get_future();
588 }
589 
RevokeCertificateAsync(const RevokeCertificateRequest & request,const RevokeCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const590 void ACMPCAClient::RevokeCertificateAsync(const RevokeCertificateRequest& request, const RevokeCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
591 {
592   m_executor->Submit( [this, request, handler, context](){ this->RevokeCertificateAsyncHelper( request, handler, context ); } );
593 }
594 
RevokeCertificateAsyncHelper(const RevokeCertificateRequest & request,const RevokeCertificateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const595 void ACMPCAClient::RevokeCertificateAsyncHelper(const RevokeCertificateRequest& request, const RevokeCertificateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
596 {
597   handler(this, request, RevokeCertificate(request), context);
598 }
599 
TagCertificateAuthority(const TagCertificateAuthorityRequest & request) const600 TagCertificateAuthorityOutcome ACMPCAClient::TagCertificateAuthority(const TagCertificateAuthorityRequest& request) const
601 {
602   Aws::Http::URI uri = m_uri;
603   return TagCertificateAuthorityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
604 }
605 
TagCertificateAuthorityCallable(const TagCertificateAuthorityRequest & request) const606 TagCertificateAuthorityOutcomeCallable ACMPCAClient::TagCertificateAuthorityCallable(const TagCertificateAuthorityRequest& request) const
607 {
608   auto task = Aws::MakeShared< std::packaged_task< TagCertificateAuthorityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagCertificateAuthority(request); } );
609   auto packagedFunction = [task]() { (*task)(); };
610   m_executor->Submit(packagedFunction);
611   return task->get_future();
612 }
613 
TagCertificateAuthorityAsync(const TagCertificateAuthorityRequest & request,const TagCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const614 void ACMPCAClient::TagCertificateAuthorityAsync(const TagCertificateAuthorityRequest& request, const TagCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
615 {
616   m_executor->Submit( [this, request, handler, context](){ this->TagCertificateAuthorityAsyncHelper( request, handler, context ); } );
617 }
618 
TagCertificateAuthorityAsyncHelper(const TagCertificateAuthorityRequest & request,const TagCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const619 void ACMPCAClient::TagCertificateAuthorityAsyncHelper(const TagCertificateAuthorityRequest& request, const TagCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
620 {
621   handler(this, request, TagCertificateAuthority(request), context);
622 }
623 
UntagCertificateAuthority(const UntagCertificateAuthorityRequest & request) const624 UntagCertificateAuthorityOutcome ACMPCAClient::UntagCertificateAuthority(const UntagCertificateAuthorityRequest& request) const
625 {
626   Aws::Http::URI uri = m_uri;
627   return UntagCertificateAuthorityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
628 }
629 
UntagCertificateAuthorityCallable(const UntagCertificateAuthorityRequest & request) const630 UntagCertificateAuthorityOutcomeCallable ACMPCAClient::UntagCertificateAuthorityCallable(const UntagCertificateAuthorityRequest& request) const
631 {
632   auto task = Aws::MakeShared< std::packaged_task< UntagCertificateAuthorityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagCertificateAuthority(request); } );
633   auto packagedFunction = [task]() { (*task)(); };
634   m_executor->Submit(packagedFunction);
635   return task->get_future();
636 }
637 
UntagCertificateAuthorityAsync(const UntagCertificateAuthorityRequest & request,const UntagCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const638 void ACMPCAClient::UntagCertificateAuthorityAsync(const UntagCertificateAuthorityRequest& request, const UntagCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
639 {
640   m_executor->Submit( [this, request, handler, context](){ this->UntagCertificateAuthorityAsyncHelper( request, handler, context ); } );
641 }
642 
UntagCertificateAuthorityAsyncHelper(const UntagCertificateAuthorityRequest & request,const UntagCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const643 void ACMPCAClient::UntagCertificateAuthorityAsyncHelper(const UntagCertificateAuthorityRequest& request, const UntagCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
644 {
645   handler(this, request, UntagCertificateAuthority(request), context);
646 }
647 
UpdateCertificateAuthority(const UpdateCertificateAuthorityRequest & request) const648 UpdateCertificateAuthorityOutcome ACMPCAClient::UpdateCertificateAuthority(const UpdateCertificateAuthorityRequest& request) const
649 {
650   Aws::Http::URI uri = m_uri;
651   return UpdateCertificateAuthorityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
652 }
653 
UpdateCertificateAuthorityCallable(const UpdateCertificateAuthorityRequest & request) const654 UpdateCertificateAuthorityOutcomeCallable ACMPCAClient::UpdateCertificateAuthorityCallable(const UpdateCertificateAuthorityRequest& request) const
655 {
656   auto task = Aws::MakeShared< std::packaged_task< UpdateCertificateAuthorityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateCertificateAuthority(request); } );
657   auto packagedFunction = [task]() { (*task)(); };
658   m_executor->Submit(packagedFunction);
659   return task->get_future();
660 }
661 
UpdateCertificateAuthorityAsync(const UpdateCertificateAuthorityRequest & request,const UpdateCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const662 void ACMPCAClient::UpdateCertificateAuthorityAsync(const UpdateCertificateAuthorityRequest& request, const UpdateCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
663 {
664   m_executor->Submit( [this, request, handler, context](){ this->UpdateCertificateAuthorityAsyncHelper( request, handler, context ); } );
665 }
666 
UpdateCertificateAuthorityAsyncHelper(const UpdateCertificateAuthorityRequest & request,const UpdateCertificateAuthorityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const667 void ACMPCAClient::UpdateCertificateAuthorityAsyncHelper(const UpdateCertificateAuthorityRequest& request, const UpdateCertificateAuthorityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
668 {
669   handler(this, request, UpdateCertificateAuthority(request), context);
670 }
671 
672