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/kafka/KafkaClient.h>
21 #include <aws/kafka/KafkaEndpoint.h>
22 #include <aws/kafka/KafkaErrorMarshaller.h>
23 #include <aws/kafka/model/BatchAssociateScramSecretRequest.h>
24 #include <aws/kafka/model/CreateClusterRequest.h>
25 #include <aws/kafka/model/CreateConfigurationRequest.h>
26 #include <aws/kafka/model/DeleteClusterRequest.h>
27 #include <aws/kafka/model/DeleteConfigurationRequest.h>
28 #include <aws/kafka/model/DescribeClusterRequest.h>
29 #include <aws/kafka/model/DescribeClusterOperationRequest.h>
30 #include <aws/kafka/model/DescribeConfigurationRequest.h>
31 #include <aws/kafka/model/DescribeConfigurationRevisionRequest.h>
32 #include <aws/kafka/model/BatchDisassociateScramSecretRequest.h>
33 #include <aws/kafka/model/GetBootstrapBrokersRequest.h>
34 #include <aws/kafka/model/GetCompatibleKafkaVersionsRequest.h>
35 #include <aws/kafka/model/ListClusterOperationsRequest.h>
36 #include <aws/kafka/model/ListClustersRequest.h>
37 #include <aws/kafka/model/ListConfigurationRevisionsRequest.h>
38 #include <aws/kafka/model/ListConfigurationsRequest.h>
39 #include <aws/kafka/model/ListKafkaVersionsRequest.h>
40 #include <aws/kafka/model/ListNodesRequest.h>
41 #include <aws/kafka/model/ListScramSecretsRequest.h>
42 #include <aws/kafka/model/ListTagsForResourceRequest.h>
43 #include <aws/kafka/model/RebootBrokerRequest.h>
44 #include <aws/kafka/model/TagResourceRequest.h>
45 #include <aws/kafka/model/UntagResourceRequest.h>
46 #include <aws/kafka/model/UpdateBrokerCountRequest.h>
47 #include <aws/kafka/model/UpdateBrokerTypeRequest.h>
48 #include <aws/kafka/model/UpdateBrokerStorageRequest.h>
49 #include <aws/kafka/model/UpdateConfigurationRequest.h>
50 #include <aws/kafka/model/UpdateClusterConfigurationRequest.h>
51 #include <aws/kafka/model/UpdateClusterKafkaVersionRequest.h>
52 #include <aws/kafka/model/UpdateMonitoringRequest.h>
53 #include <aws/kafka/model/UpdateSecurityRequest.h>
54 
55 using namespace Aws;
56 using namespace Aws::Auth;
57 using namespace Aws::Client;
58 using namespace Aws::Kafka;
59 using namespace Aws::Kafka::Model;
60 using namespace Aws::Http;
61 using namespace Aws::Utils::Json;
62 
63 static const char* SERVICE_NAME = "kafka";
64 static const char* ALLOCATION_TAG = "KafkaClient";
65 
66 
KafkaClient(const Client::ClientConfiguration & clientConfiguration)67 KafkaClient::KafkaClient(const Client::ClientConfiguration& clientConfiguration) :
68   BASECLASS(clientConfiguration,
69     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
70         SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
71     Aws::MakeShared<KafkaErrorMarshaller>(ALLOCATION_TAG)),
72     m_executor(clientConfiguration.executor)
73 {
74   init(clientConfiguration);
75 }
76 
KafkaClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)77 KafkaClient::KafkaClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
78   BASECLASS(clientConfiguration,
79     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
80          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
81     Aws::MakeShared<KafkaErrorMarshaller>(ALLOCATION_TAG)),
82     m_executor(clientConfiguration.executor)
83 {
84   init(clientConfiguration);
85 }
86 
KafkaClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)87 KafkaClient::KafkaClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
88   const Client::ClientConfiguration& clientConfiguration) :
89   BASECLASS(clientConfiguration,
90     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
91          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
92     Aws::MakeShared<KafkaErrorMarshaller>(ALLOCATION_TAG)),
93     m_executor(clientConfiguration.executor)
94 {
95   init(clientConfiguration);
96 }
97 
~KafkaClient()98 KafkaClient::~KafkaClient()
99 {
100 }
101 
init(const Client::ClientConfiguration & config)102 void KafkaClient::init(const Client::ClientConfiguration& config)
103 {
104   SetServiceClientName("Kafka");
105   m_configScheme = SchemeMapper::ToString(config.scheme);
106   if (config.endpointOverride.empty())
107   {
108       m_uri = m_configScheme + "://" + KafkaEndpoint::ForRegion(config.region, config.useDualStack);
109   }
110   else
111   {
112       OverrideEndpoint(config.endpointOverride);
113   }
114 }
115 
OverrideEndpoint(const Aws::String & endpoint)116 void KafkaClient::OverrideEndpoint(const Aws::String& endpoint)
117 {
118   if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
119   {
120       m_uri = endpoint;
121   }
122   else
123   {
124       m_uri = m_configScheme + "://" + endpoint;
125   }
126 }
127 
BatchAssociateScramSecret(const BatchAssociateScramSecretRequest & request) const128 BatchAssociateScramSecretOutcome KafkaClient::BatchAssociateScramSecret(const BatchAssociateScramSecretRequest& request) const
129 {
130   if (!request.ClusterArnHasBeenSet())
131   {
132     AWS_LOGSTREAM_ERROR("BatchAssociateScramSecret", "Required field: ClusterArn, is not set");
133     return BatchAssociateScramSecretOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
134   }
135   Aws::Http::URI uri = m_uri;
136   uri.AddPathSegments("/v1/clusters/");
137   uri.AddPathSegment(request.GetClusterArn());
138   uri.AddPathSegments("/scram-secrets");
139   return BatchAssociateScramSecretOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
140 }
141 
BatchAssociateScramSecretCallable(const BatchAssociateScramSecretRequest & request) const142 BatchAssociateScramSecretOutcomeCallable KafkaClient::BatchAssociateScramSecretCallable(const BatchAssociateScramSecretRequest& request) const
143 {
144   auto task = Aws::MakeShared< std::packaged_task< BatchAssociateScramSecretOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->BatchAssociateScramSecret(request); } );
145   auto packagedFunction = [task]() { (*task)(); };
146   m_executor->Submit(packagedFunction);
147   return task->get_future();
148 }
149 
BatchAssociateScramSecretAsync(const BatchAssociateScramSecretRequest & request,const BatchAssociateScramSecretResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const150 void KafkaClient::BatchAssociateScramSecretAsync(const BatchAssociateScramSecretRequest& request, const BatchAssociateScramSecretResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
151 {
152   m_executor->Submit( [this, request, handler, context](){ this->BatchAssociateScramSecretAsyncHelper( request, handler, context ); } );
153 }
154 
BatchAssociateScramSecretAsyncHelper(const BatchAssociateScramSecretRequest & request,const BatchAssociateScramSecretResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const155 void KafkaClient::BatchAssociateScramSecretAsyncHelper(const BatchAssociateScramSecretRequest& request, const BatchAssociateScramSecretResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
156 {
157   handler(this, request, BatchAssociateScramSecret(request), context);
158 }
159 
CreateCluster(const CreateClusterRequest & request) const160 CreateClusterOutcome KafkaClient::CreateCluster(const CreateClusterRequest& request) const
161 {
162   Aws::Http::URI uri = m_uri;
163   uri.AddPathSegments("/v1/clusters");
164   return CreateClusterOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
165 }
166 
CreateClusterCallable(const CreateClusterRequest & request) const167 CreateClusterOutcomeCallable KafkaClient::CreateClusterCallable(const CreateClusterRequest& request) const
168 {
169   auto task = Aws::MakeShared< std::packaged_task< CreateClusterOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateCluster(request); } );
170   auto packagedFunction = [task]() { (*task)(); };
171   m_executor->Submit(packagedFunction);
172   return task->get_future();
173 }
174 
CreateClusterAsync(const CreateClusterRequest & request,const CreateClusterResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const175 void KafkaClient::CreateClusterAsync(const CreateClusterRequest& request, const CreateClusterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
176 {
177   m_executor->Submit( [this, request, handler, context](){ this->CreateClusterAsyncHelper( request, handler, context ); } );
178 }
179 
CreateClusterAsyncHelper(const CreateClusterRequest & request,const CreateClusterResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const180 void KafkaClient::CreateClusterAsyncHelper(const CreateClusterRequest& request, const CreateClusterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
181 {
182   handler(this, request, CreateCluster(request), context);
183 }
184 
CreateConfiguration(const CreateConfigurationRequest & request) const185 CreateConfigurationOutcome KafkaClient::CreateConfiguration(const CreateConfigurationRequest& request) const
186 {
187   Aws::Http::URI uri = m_uri;
188   uri.AddPathSegments("/v1/configurations");
189   return CreateConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
190 }
191 
CreateConfigurationCallable(const CreateConfigurationRequest & request) const192 CreateConfigurationOutcomeCallable KafkaClient::CreateConfigurationCallable(const CreateConfigurationRequest& request) const
193 {
194   auto task = Aws::MakeShared< std::packaged_task< CreateConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateConfiguration(request); } );
195   auto packagedFunction = [task]() { (*task)(); };
196   m_executor->Submit(packagedFunction);
197   return task->get_future();
198 }
199 
CreateConfigurationAsync(const CreateConfigurationRequest & request,const CreateConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const200 void KafkaClient::CreateConfigurationAsync(const CreateConfigurationRequest& request, const CreateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
201 {
202   m_executor->Submit( [this, request, handler, context](){ this->CreateConfigurationAsyncHelper( request, handler, context ); } );
203 }
204 
CreateConfigurationAsyncHelper(const CreateConfigurationRequest & request,const CreateConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const205 void KafkaClient::CreateConfigurationAsyncHelper(const CreateConfigurationRequest& request, const CreateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
206 {
207   handler(this, request, CreateConfiguration(request), context);
208 }
209 
DeleteCluster(const DeleteClusterRequest & request) const210 DeleteClusterOutcome KafkaClient::DeleteCluster(const DeleteClusterRequest& request) const
211 {
212   if (!request.ClusterArnHasBeenSet())
213   {
214     AWS_LOGSTREAM_ERROR("DeleteCluster", "Required field: ClusterArn, is not set");
215     return DeleteClusterOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
216   }
217   Aws::Http::URI uri = m_uri;
218   uri.AddPathSegments("/v1/clusters/");
219   uri.AddPathSegment(request.GetClusterArn());
220   return DeleteClusterOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
221 }
222 
DeleteClusterCallable(const DeleteClusterRequest & request) const223 DeleteClusterOutcomeCallable KafkaClient::DeleteClusterCallable(const DeleteClusterRequest& request) const
224 {
225   auto task = Aws::MakeShared< std::packaged_task< DeleteClusterOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteCluster(request); } );
226   auto packagedFunction = [task]() { (*task)(); };
227   m_executor->Submit(packagedFunction);
228   return task->get_future();
229 }
230 
DeleteClusterAsync(const DeleteClusterRequest & request,const DeleteClusterResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const231 void KafkaClient::DeleteClusterAsync(const DeleteClusterRequest& request, const DeleteClusterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
232 {
233   m_executor->Submit( [this, request, handler, context](){ this->DeleteClusterAsyncHelper( request, handler, context ); } );
234 }
235 
DeleteClusterAsyncHelper(const DeleteClusterRequest & request,const DeleteClusterResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const236 void KafkaClient::DeleteClusterAsyncHelper(const DeleteClusterRequest& request, const DeleteClusterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
237 {
238   handler(this, request, DeleteCluster(request), context);
239 }
240 
DeleteConfiguration(const DeleteConfigurationRequest & request) const241 DeleteConfigurationOutcome KafkaClient::DeleteConfiguration(const DeleteConfigurationRequest& request) const
242 {
243   if (!request.ArnHasBeenSet())
244   {
245     AWS_LOGSTREAM_ERROR("DeleteConfiguration", "Required field: Arn, is not set");
246     return DeleteConfigurationOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false));
247   }
248   Aws::Http::URI uri = m_uri;
249   uri.AddPathSegments("/v1/configurations/");
250   uri.AddPathSegment(request.GetArn());
251   return DeleteConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
252 }
253 
DeleteConfigurationCallable(const DeleteConfigurationRequest & request) const254 DeleteConfigurationOutcomeCallable KafkaClient::DeleteConfigurationCallable(const DeleteConfigurationRequest& request) const
255 {
256   auto task = Aws::MakeShared< std::packaged_task< DeleteConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteConfiguration(request); } );
257   auto packagedFunction = [task]() { (*task)(); };
258   m_executor->Submit(packagedFunction);
259   return task->get_future();
260 }
261 
DeleteConfigurationAsync(const DeleteConfigurationRequest & request,const DeleteConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const262 void KafkaClient::DeleteConfigurationAsync(const DeleteConfigurationRequest& request, const DeleteConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
263 {
264   m_executor->Submit( [this, request, handler, context](){ this->DeleteConfigurationAsyncHelper( request, handler, context ); } );
265 }
266 
DeleteConfigurationAsyncHelper(const DeleteConfigurationRequest & request,const DeleteConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const267 void KafkaClient::DeleteConfigurationAsyncHelper(const DeleteConfigurationRequest& request, const DeleteConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
268 {
269   handler(this, request, DeleteConfiguration(request), context);
270 }
271 
DescribeCluster(const DescribeClusterRequest & request) const272 DescribeClusterOutcome KafkaClient::DescribeCluster(const DescribeClusterRequest& request) const
273 {
274   if (!request.ClusterArnHasBeenSet())
275   {
276     AWS_LOGSTREAM_ERROR("DescribeCluster", "Required field: ClusterArn, is not set");
277     return DescribeClusterOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
278   }
279   Aws::Http::URI uri = m_uri;
280   uri.AddPathSegments("/v1/clusters/");
281   uri.AddPathSegment(request.GetClusterArn());
282   return DescribeClusterOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
283 }
284 
DescribeClusterCallable(const DescribeClusterRequest & request) const285 DescribeClusterOutcomeCallable KafkaClient::DescribeClusterCallable(const DescribeClusterRequest& request) const
286 {
287   auto task = Aws::MakeShared< std::packaged_task< DescribeClusterOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeCluster(request); } );
288   auto packagedFunction = [task]() { (*task)(); };
289   m_executor->Submit(packagedFunction);
290   return task->get_future();
291 }
292 
DescribeClusterAsync(const DescribeClusterRequest & request,const DescribeClusterResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const293 void KafkaClient::DescribeClusterAsync(const DescribeClusterRequest& request, const DescribeClusterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
294 {
295   m_executor->Submit( [this, request, handler, context](){ this->DescribeClusterAsyncHelper( request, handler, context ); } );
296 }
297 
DescribeClusterAsyncHelper(const DescribeClusterRequest & request,const DescribeClusterResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const298 void KafkaClient::DescribeClusterAsyncHelper(const DescribeClusterRequest& request, const DescribeClusterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
299 {
300   handler(this, request, DescribeCluster(request), context);
301 }
302 
DescribeClusterOperation(const DescribeClusterOperationRequest & request) const303 DescribeClusterOperationOutcome KafkaClient::DescribeClusterOperation(const DescribeClusterOperationRequest& request) const
304 {
305   if (!request.ClusterOperationArnHasBeenSet())
306   {
307     AWS_LOGSTREAM_ERROR("DescribeClusterOperation", "Required field: ClusterOperationArn, is not set");
308     return DescribeClusterOperationOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterOperationArn]", false));
309   }
310   Aws::Http::URI uri = m_uri;
311   uri.AddPathSegments("/v1/operations/");
312   uri.AddPathSegment(request.GetClusterOperationArn());
313   return DescribeClusterOperationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
314 }
315 
DescribeClusterOperationCallable(const DescribeClusterOperationRequest & request) const316 DescribeClusterOperationOutcomeCallable KafkaClient::DescribeClusterOperationCallable(const DescribeClusterOperationRequest& request) const
317 {
318   auto task = Aws::MakeShared< std::packaged_task< DescribeClusterOperationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeClusterOperation(request); } );
319   auto packagedFunction = [task]() { (*task)(); };
320   m_executor->Submit(packagedFunction);
321   return task->get_future();
322 }
323 
DescribeClusterOperationAsync(const DescribeClusterOperationRequest & request,const DescribeClusterOperationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const324 void KafkaClient::DescribeClusterOperationAsync(const DescribeClusterOperationRequest& request, const DescribeClusterOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
325 {
326   m_executor->Submit( [this, request, handler, context](){ this->DescribeClusterOperationAsyncHelper( request, handler, context ); } );
327 }
328 
DescribeClusterOperationAsyncHelper(const DescribeClusterOperationRequest & request,const DescribeClusterOperationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const329 void KafkaClient::DescribeClusterOperationAsyncHelper(const DescribeClusterOperationRequest& request, const DescribeClusterOperationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
330 {
331   handler(this, request, DescribeClusterOperation(request), context);
332 }
333 
DescribeConfiguration(const DescribeConfigurationRequest & request) const334 DescribeConfigurationOutcome KafkaClient::DescribeConfiguration(const DescribeConfigurationRequest& request) const
335 {
336   if (!request.ArnHasBeenSet())
337   {
338     AWS_LOGSTREAM_ERROR("DescribeConfiguration", "Required field: Arn, is not set");
339     return DescribeConfigurationOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false));
340   }
341   Aws::Http::URI uri = m_uri;
342   uri.AddPathSegments("/v1/configurations/");
343   uri.AddPathSegment(request.GetArn());
344   return DescribeConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
345 }
346 
DescribeConfigurationCallable(const DescribeConfigurationRequest & request) const347 DescribeConfigurationOutcomeCallable KafkaClient::DescribeConfigurationCallable(const DescribeConfigurationRequest& request) const
348 {
349   auto task = Aws::MakeShared< std::packaged_task< DescribeConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeConfiguration(request); } );
350   auto packagedFunction = [task]() { (*task)(); };
351   m_executor->Submit(packagedFunction);
352   return task->get_future();
353 }
354 
DescribeConfigurationAsync(const DescribeConfigurationRequest & request,const DescribeConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const355 void KafkaClient::DescribeConfigurationAsync(const DescribeConfigurationRequest& request, const DescribeConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
356 {
357   m_executor->Submit( [this, request, handler, context](){ this->DescribeConfigurationAsyncHelper( request, handler, context ); } );
358 }
359 
DescribeConfigurationAsyncHelper(const DescribeConfigurationRequest & request,const DescribeConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const360 void KafkaClient::DescribeConfigurationAsyncHelper(const DescribeConfigurationRequest& request, const DescribeConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
361 {
362   handler(this, request, DescribeConfiguration(request), context);
363 }
364 
DescribeConfigurationRevision(const DescribeConfigurationRevisionRequest & request) const365 DescribeConfigurationRevisionOutcome KafkaClient::DescribeConfigurationRevision(const DescribeConfigurationRevisionRequest& request) const
366 {
367   if (!request.ArnHasBeenSet())
368   {
369     AWS_LOGSTREAM_ERROR("DescribeConfigurationRevision", "Required field: Arn, is not set");
370     return DescribeConfigurationRevisionOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false));
371   }
372   if (!request.RevisionHasBeenSet())
373   {
374     AWS_LOGSTREAM_ERROR("DescribeConfigurationRevision", "Required field: Revision, is not set");
375     return DescribeConfigurationRevisionOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Revision]", false));
376   }
377   Aws::Http::URI uri = m_uri;
378   uri.AddPathSegments("/v1/configurations/");
379   uri.AddPathSegment(request.GetArn());
380   uri.AddPathSegments("/revisions/");
381   uri.AddPathSegment(request.GetRevision());
382   return DescribeConfigurationRevisionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
383 }
384 
DescribeConfigurationRevisionCallable(const DescribeConfigurationRevisionRequest & request) const385 DescribeConfigurationRevisionOutcomeCallable KafkaClient::DescribeConfigurationRevisionCallable(const DescribeConfigurationRevisionRequest& request) const
386 {
387   auto task = Aws::MakeShared< std::packaged_task< DescribeConfigurationRevisionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeConfigurationRevision(request); } );
388   auto packagedFunction = [task]() { (*task)(); };
389   m_executor->Submit(packagedFunction);
390   return task->get_future();
391 }
392 
DescribeConfigurationRevisionAsync(const DescribeConfigurationRevisionRequest & request,const DescribeConfigurationRevisionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const393 void KafkaClient::DescribeConfigurationRevisionAsync(const DescribeConfigurationRevisionRequest& request, const DescribeConfigurationRevisionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
394 {
395   m_executor->Submit( [this, request, handler, context](){ this->DescribeConfigurationRevisionAsyncHelper( request, handler, context ); } );
396 }
397 
DescribeConfigurationRevisionAsyncHelper(const DescribeConfigurationRevisionRequest & request,const DescribeConfigurationRevisionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const398 void KafkaClient::DescribeConfigurationRevisionAsyncHelper(const DescribeConfigurationRevisionRequest& request, const DescribeConfigurationRevisionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
399 {
400   handler(this, request, DescribeConfigurationRevision(request), context);
401 }
402 
BatchDisassociateScramSecret(const BatchDisassociateScramSecretRequest & request) const403 BatchDisassociateScramSecretOutcome KafkaClient::BatchDisassociateScramSecret(const BatchDisassociateScramSecretRequest& request) const
404 {
405   if (!request.ClusterArnHasBeenSet())
406   {
407     AWS_LOGSTREAM_ERROR("BatchDisassociateScramSecret", "Required field: ClusterArn, is not set");
408     return BatchDisassociateScramSecretOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
409   }
410   Aws::Http::URI uri = m_uri;
411   uri.AddPathSegments("/v1/clusters/");
412   uri.AddPathSegment(request.GetClusterArn());
413   uri.AddPathSegments("/scram-secrets");
414   return BatchDisassociateScramSecretOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER));
415 }
416 
BatchDisassociateScramSecretCallable(const BatchDisassociateScramSecretRequest & request) const417 BatchDisassociateScramSecretOutcomeCallable KafkaClient::BatchDisassociateScramSecretCallable(const BatchDisassociateScramSecretRequest& request) const
418 {
419   auto task = Aws::MakeShared< std::packaged_task< BatchDisassociateScramSecretOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->BatchDisassociateScramSecret(request); } );
420   auto packagedFunction = [task]() { (*task)(); };
421   m_executor->Submit(packagedFunction);
422   return task->get_future();
423 }
424 
BatchDisassociateScramSecretAsync(const BatchDisassociateScramSecretRequest & request,const BatchDisassociateScramSecretResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const425 void KafkaClient::BatchDisassociateScramSecretAsync(const BatchDisassociateScramSecretRequest& request, const BatchDisassociateScramSecretResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
426 {
427   m_executor->Submit( [this, request, handler, context](){ this->BatchDisassociateScramSecretAsyncHelper( request, handler, context ); } );
428 }
429 
BatchDisassociateScramSecretAsyncHelper(const BatchDisassociateScramSecretRequest & request,const BatchDisassociateScramSecretResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const430 void KafkaClient::BatchDisassociateScramSecretAsyncHelper(const BatchDisassociateScramSecretRequest& request, const BatchDisassociateScramSecretResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
431 {
432   handler(this, request, BatchDisassociateScramSecret(request), context);
433 }
434 
GetBootstrapBrokers(const GetBootstrapBrokersRequest & request) const435 GetBootstrapBrokersOutcome KafkaClient::GetBootstrapBrokers(const GetBootstrapBrokersRequest& request) const
436 {
437   if (!request.ClusterArnHasBeenSet())
438   {
439     AWS_LOGSTREAM_ERROR("GetBootstrapBrokers", "Required field: ClusterArn, is not set");
440     return GetBootstrapBrokersOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
441   }
442   Aws::Http::URI uri = m_uri;
443   uri.AddPathSegments("/v1/clusters/");
444   uri.AddPathSegment(request.GetClusterArn());
445   uri.AddPathSegments("/bootstrap-brokers");
446   return GetBootstrapBrokersOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
447 }
448 
GetBootstrapBrokersCallable(const GetBootstrapBrokersRequest & request) const449 GetBootstrapBrokersOutcomeCallable KafkaClient::GetBootstrapBrokersCallable(const GetBootstrapBrokersRequest& request) const
450 {
451   auto task = Aws::MakeShared< std::packaged_task< GetBootstrapBrokersOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBootstrapBrokers(request); } );
452   auto packagedFunction = [task]() { (*task)(); };
453   m_executor->Submit(packagedFunction);
454   return task->get_future();
455 }
456 
GetBootstrapBrokersAsync(const GetBootstrapBrokersRequest & request,const GetBootstrapBrokersResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const457 void KafkaClient::GetBootstrapBrokersAsync(const GetBootstrapBrokersRequest& request, const GetBootstrapBrokersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
458 {
459   m_executor->Submit( [this, request, handler, context](){ this->GetBootstrapBrokersAsyncHelper( request, handler, context ); } );
460 }
461 
GetBootstrapBrokersAsyncHelper(const GetBootstrapBrokersRequest & request,const GetBootstrapBrokersResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const462 void KafkaClient::GetBootstrapBrokersAsyncHelper(const GetBootstrapBrokersRequest& request, const GetBootstrapBrokersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
463 {
464   handler(this, request, GetBootstrapBrokers(request), context);
465 }
466 
GetCompatibleKafkaVersions(const GetCompatibleKafkaVersionsRequest & request) const467 GetCompatibleKafkaVersionsOutcome KafkaClient::GetCompatibleKafkaVersions(const GetCompatibleKafkaVersionsRequest& request) const
468 {
469   Aws::Http::URI uri = m_uri;
470   uri.AddPathSegments("/v1/compatible-kafka-versions");
471   return GetCompatibleKafkaVersionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
472 }
473 
GetCompatibleKafkaVersionsCallable(const GetCompatibleKafkaVersionsRequest & request) const474 GetCompatibleKafkaVersionsOutcomeCallable KafkaClient::GetCompatibleKafkaVersionsCallable(const GetCompatibleKafkaVersionsRequest& request) const
475 {
476   auto task = Aws::MakeShared< std::packaged_task< GetCompatibleKafkaVersionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetCompatibleKafkaVersions(request); } );
477   auto packagedFunction = [task]() { (*task)(); };
478   m_executor->Submit(packagedFunction);
479   return task->get_future();
480 }
481 
GetCompatibleKafkaVersionsAsync(const GetCompatibleKafkaVersionsRequest & request,const GetCompatibleKafkaVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const482 void KafkaClient::GetCompatibleKafkaVersionsAsync(const GetCompatibleKafkaVersionsRequest& request, const GetCompatibleKafkaVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
483 {
484   m_executor->Submit( [this, request, handler, context](){ this->GetCompatibleKafkaVersionsAsyncHelper( request, handler, context ); } );
485 }
486 
GetCompatibleKafkaVersionsAsyncHelper(const GetCompatibleKafkaVersionsRequest & request,const GetCompatibleKafkaVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const487 void KafkaClient::GetCompatibleKafkaVersionsAsyncHelper(const GetCompatibleKafkaVersionsRequest& request, const GetCompatibleKafkaVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
488 {
489   handler(this, request, GetCompatibleKafkaVersions(request), context);
490 }
491 
ListClusterOperations(const ListClusterOperationsRequest & request) const492 ListClusterOperationsOutcome KafkaClient::ListClusterOperations(const ListClusterOperationsRequest& request) const
493 {
494   if (!request.ClusterArnHasBeenSet())
495   {
496     AWS_LOGSTREAM_ERROR("ListClusterOperations", "Required field: ClusterArn, is not set");
497     return ListClusterOperationsOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
498   }
499   Aws::Http::URI uri = m_uri;
500   uri.AddPathSegments("/v1/clusters/");
501   uri.AddPathSegment(request.GetClusterArn());
502   uri.AddPathSegments("/operations");
503   return ListClusterOperationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
504 }
505 
ListClusterOperationsCallable(const ListClusterOperationsRequest & request) const506 ListClusterOperationsOutcomeCallable KafkaClient::ListClusterOperationsCallable(const ListClusterOperationsRequest& request) const
507 {
508   auto task = Aws::MakeShared< std::packaged_task< ListClusterOperationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListClusterOperations(request); } );
509   auto packagedFunction = [task]() { (*task)(); };
510   m_executor->Submit(packagedFunction);
511   return task->get_future();
512 }
513 
ListClusterOperationsAsync(const ListClusterOperationsRequest & request,const ListClusterOperationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const514 void KafkaClient::ListClusterOperationsAsync(const ListClusterOperationsRequest& request, const ListClusterOperationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
515 {
516   m_executor->Submit( [this, request, handler, context](){ this->ListClusterOperationsAsyncHelper( request, handler, context ); } );
517 }
518 
ListClusterOperationsAsyncHelper(const ListClusterOperationsRequest & request,const ListClusterOperationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const519 void KafkaClient::ListClusterOperationsAsyncHelper(const ListClusterOperationsRequest& request, const ListClusterOperationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
520 {
521   handler(this, request, ListClusterOperations(request), context);
522 }
523 
ListClusters(const ListClustersRequest & request) const524 ListClustersOutcome KafkaClient::ListClusters(const ListClustersRequest& request) const
525 {
526   Aws::Http::URI uri = m_uri;
527   uri.AddPathSegments("/v1/clusters");
528   return ListClustersOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
529 }
530 
ListClustersCallable(const ListClustersRequest & request) const531 ListClustersOutcomeCallable KafkaClient::ListClustersCallable(const ListClustersRequest& request) const
532 {
533   auto task = Aws::MakeShared< std::packaged_task< ListClustersOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListClusters(request); } );
534   auto packagedFunction = [task]() { (*task)(); };
535   m_executor->Submit(packagedFunction);
536   return task->get_future();
537 }
538 
ListClustersAsync(const ListClustersRequest & request,const ListClustersResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const539 void KafkaClient::ListClustersAsync(const ListClustersRequest& request, const ListClustersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
540 {
541   m_executor->Submit( [this, request, handler, context](){ this->ListClustersAsyncHelper( request, handler, context ); } );
542 }
543 
ListClustersAsyncHelper(const ListClustersRequest & request,const ListClustersResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const544 void KafkaClient::ListClustersAsyncHelper(const ListClustersRequest& request, const ListClustersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
545 {
546   handler(this, request, ListClusters(request), context);
547 }
548 
ListConfigurationRevisions(const ListConfigurationRevisionsRequest & request) const549 ListConfigurationRevisionsOutcome KafkaClient::ListConfigurationRevisions(const ListConfigurationRevisionsRequest& request) const
550 {
551   if (!request.ArnHasBeenSet())
552   {
553     AWS_LOGSTREAM_ERROR("ListConfigurationRevisions", "Required field: Arn, is not set");
554     return ListConfigurationRevisionsOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false));
555   }
556   Aws::Http::URI uri = m_uri;
557   uri.AddPathSegments("/v1/configurations/");
558   uri.AddPathSegment(request.GetArn());
559   uri.AddPathSegments("/revisions");
560   return ListConfigurationRevisionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
561 }
562 
ListConfigurationRevisionsCallable(const ListConfigurationRevisionsRequest & request) const563 ListConfigurationRevisionsOutcomeCallable KafkaClient::ListConfigurationRevisionsCallable(const ListConfigurationRevisionsRequest& request) const
564 {
565   auto task = Aws::MakeShared< std::packaged_task< ListConfigurationRevisionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListConfigurationRevisions(request); } );
566   auto packagedFunction = [task]() { (*task)(); };
567   m_executor->Submit(packagedFunction);
568   return task->get_future();
569 }
570 
ListConfigurationRevisionsAsync(const ListConfigurationRevisionsRequest & request,const ListConfigurationRevisionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const571 void KafkaClient::ListConfigurationRevisionsAsync(const ListConfigurationRevisionsRequest& request, const ListConfigurationRevisionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
572 {
573   m_executor->Submit( [this, request, handler, context](){ this->ListConfigurationRevisionsAsyncHelper( request, handler, context ); } );
574 }
575 
ListConfigurationRevisionsAsyncHelper(const ListConfigurationRevisionsRequest & request,const ListConfigurationRevisionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const576 void KafkaClient::ListConfigurationRevisionsAsyncHelper(const ListConfigurationRevisionsRequest& request, const ListConfigurationRevisionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
577 {
578   handler(this, request, ListConfigurationRevisions(request), context);
579 }
580 
ListConfigurations(const ListConfigurationsRequest & request) const581 ListConfigurationsOutcome KafkaClient::ListConfigurations(const ListConfigurationsRequest& request) const
582 {
583   Aws::Http::URI uri = m_uri;
584   uri.AddPathSegments("/v1/configurations");
585   return ListConfigurationsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
586 }
587 
ListConfigurationsCallable(const ListConfigurationsRequest & request) const588 ListConfigurationsOutcomeCallable KafkaClient::ListConfigurationsCallable(const ListConfigurationsRequest& request) const
589 {
590   auto task = Aws::MakeShared< std::packaged_task< ListConfigurationsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListConfigurations(request); } );
591   auto packagedFunction = [task]() { (*task)(); };
592   m_executor->Submit(packagedFunction);
593   return task->get_future();
594 }
595 
ListConfigurationsAsync(const ListConfigurationsRequest & request,const ListConfigurationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const596 void KafkaClient::ListConfigurationsAsync(const ListConfigurationsRequest& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
597 {
598   m_executor->Submit( [this, request, handler, context](){ this->ListConfigurationsAsyncHelper( request, handler, context ); } );
599 }
600 
ListConfigurationsAsyncHelper(const ListConfigurationsRequest & request,const ListConfigurationsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const601 void KafkaClient::ListConfigurationsAsyncHelper(const ListConfigurationsRequest& request, const ListConfigurationsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
602 {
603   handler(this, request, ListConfigurations(request), context);
604 }
605 
ListKafkaVersions(const ListKafkaVersionsRequest & request) const606 ListKafkaVersionsOutcome KafkaClient::ListKafkaVersions(const ListKafkaVersionsRequest& request) const
607 {
608   Aws::Http::URI uri = m_uri;
609   uri.AddPathSegments("/v1/kafka-versions");
610   return ListKafkaVersionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
611 }
612 
ListKafkaVersionsCallable(const ListKafkaVersionsRequest & request) const613 ListKafkaVersionsOutcomeCallable KafkaClient::ListKafkaVersionsCallable(const ListKafkaVersionsRequest& request) const
614 {
615   auto task = Aws::MakeShared< std::packaged_task< ListKafkaVersionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListKafkaVersions(request); } );
616   auto packagedFunction = [task]() { (*task)(); };
617   m_executor->Submit(packagedFunction);
618   return task->get_future();
619 }
620 
ListKafkaVersionsAsync(const ListKafkaVersionsRequest & request,const ListKafkaVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const621 void KafkaClient::ListKafkaVersionsAsync(const ListKafkaVersionsRequest& request, const ListKafkaVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
622 {
623   m_executor->Submit( [this, request, handler, context](){ this->ListKafkaVersionsAsyncHelper( request, handler, context ); } );
624 }
625 
ListKafkaVersionsAsyncHelper(const ListKafkaVersionsRequest & request,const ListKafkaVersionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const626 void KafkaClient::ListKafkaVersionsAsyncHelper(const ListKafkaVersionsRequest& request, const ListKafkaVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
627 {
628   handler(this, request, ListKafkaVersions(request), context);
629 }
630 
ListNodes(const ListNodesRequest & request) const631 ListNodesOutcome KafkaClient::ListNodes(const ListNodesRequest& request) const
632 {
633   if (!request.ClusterArnHasBeenSet())
634   {
635     AWS_LOGSTREAM_ERROR("ListNodes", "Required field: ClusterArn, is not set");
636     return ListNodesOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
637   }
638   Aws::Http::URI uri = m_uri;
639   uri.AddPathSegments("/v1/clusters/");
640   uri.AddPathSegment(request.GetClusterArn());
641   uri.AddPathSegments("/nodes");
642   return ListNodesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
643 }
644 
ListNodesCallable(const ListNodesRequest & request) const645 ListNodesOutcomeCallable KafkaClient::ListNodesCallable(const ListNodesRequest& request) const
646 {
647   auto task = Aws::MakeShared< std::packaged_task< ListNodesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListNodes(request); } );
648   auto packagedFunction = [task]() { (*task)(); };
649   m_executor->Submit(packagedFunction);
650   return task->get_future();
651 }
652 
ListNodesAsync(const ListNodesRequest & request,const ListNodesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const653 void KafkaClient::ListNodesAsync(const ListNodesRequest& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
654 {
655   m_executor->Submit( [this, request, handler, context](){ this->ListNodesAsyncHelper( request, handler, context ); } );
656 }
657 
ListNodesAsyncHelper(const ListNodesRequest & request,const ListNodesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const658 void KafkaClient::ListNodesAsyncHelper(const ListNodesRequest& request, const ListNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
659 {
660   handler(this, request, ListNodes(request), context);
661 }
662 
ListScramSecrets(const ListScramSecretsRequest & request) const663 ListScramSecretsOutcome KafkaClient::ListScramSecrets(const ListScramSecretsRequest& request) const
664 {
665   if (!request.ClusterArnHasBeenSet())
666   {
667     AWS_LOGSTREAM_ERROR("ListScramSecrets", "Required field: ClusterArn, is not set");
668     return ListScramSecretsOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
669   }
670   Aws::Http::URI uri = m_uri;
671   uri.AddPathSegments("/v1/clusters/");
672   uri.AddPathSegment(request.GetClusterArn());
673   uri.AddPathSegments("/scram-secrets");
674   return ListScramSecretsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
675 }
676 
ListScramSecretsCallable(const ListScramSecretsRequest & request) const677 ListScramSecretsOutcomeCallable KafkaClient::ListScramSecretsCallable(const ListScramSecretsRequest& request) const
678 {
679   auto task = Aws::MakeShared< std::packaged_task< ListScramSecretsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListScramSecrets(request); } );
680   auto packagedFunction = [task]() { (*task)(); };
681   m_executor->Submit(packagedFunction);
682   return task->get_future();
683 }
684 
ListScramSecretsAsync(const ListScramSecretsRequest & request,const ListScramSecretsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const685 void KafkaClient::ListScramSecretsAsync(const ListScramSecretsRequest& request, const ListScramSecretsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
686 {
687   m_executor->Submit( [this, request, handler, context](){ this->ListScramSecretsAsyncHelper( request, handler, context ); } );
688 }
689 
ListScramSecretsAsyncHelper(const ListScramSecretsRequest & request,const ListScramSecretsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const690 void KafkaClient::ListScramSecretsAsyncHelper(const ListScramSecretsRequest& request, const ListScramSecretsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
691 {
692   handler(this, request, ListScramSecrets(request), context);
693 }
694 
ListTagsForResource(const ListTagsForResourceRequest & request) const695 ListTagsForResourceOutcome KafkaClient::ListTagsForResource(const ListTagsForResourceRequest& request) const
696 {
697   if (!request.ResourceArnHasBeenSet())
698   {
699     AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set");
700     return ListTagsForResourceOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
701   }
702   Aws::Http::URI uri = m_uri;
703   uri.AddPathSegments("/v1/tags/");
704   uri.AddPathSegment(request.GetResourceArn());
705   return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
706 }
707 
ListTagsForResourceCallable(const ListTagsForResourceRequest & request) const708 ListTagsForResourceOutcomeCallable KafkaClient::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const
709 {
710   auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } );
711   auto packagedFunction = [task]() { (*task)(); };
712   m_executor->Submit(packagedFunction);
713   return task->get_future();
714 }
715 
ListTagsForResourceAsync(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const716 void KafkaClient::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
717 {
718   m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } );
719 }
720 
ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const721 void KafkaClient::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
722 {
723   handler(this, request, ListTagsForResource(request), context);
724 }
725 
RebootBroker(const RebootBrokerRequest & request) const726 RebootBrokerOutcome KafkaClient::RebootBroker(const RebootBrokerRequest& request) const
727 {
728   if (!request.ClusterArnHasBeenSet())
729   {
730     AWS_LOGSTREAM_ERROR("RebootBroker", "Required field: ClusterArn, is not set");
731     return RebootBrokerOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
732   }
733   Aws::Http::URI uri = m_uri;
734   uri.AddPathSegments("/v1/clusters/");
735   uri.AddPathSegment(request.GetClusterArn());
736   uri.AddPathSegments("/reboot-broker");
737   return RebootBrokerOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
738 }
739 
RebootBrokerCallable(const RebootBrokerRequest & request) const740 RebootBrokerOutcomeCallable KafkaClient::RebootBrokerCallable(const RebootBrokerRequest& request) const
741 {
742   auto task = Aws::MakeShared< std::packaged_task< RebootBrokerOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->RebootBroker(request); } );
743   auto packagedFunction = [task]() { (*task)(); };
744   m_executor->Submit(packagedFunction);
745   return task->get_future();
746 }
747 
RebootBrokerAsync(const RebootBrokerRequest & request,const RebootBrokerResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const748 void KafkaClient::RebootBrokerAsync(const RebootBrokerRequest& request, const RebootBrokerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
749 {
750   m_executor->Submit( [this, request, handler, context](){ this->RebootBrokerAsyncHelper( request, handler, context ); } );
751 }
752 
RebootBrokerAsyncHelper(const RebootBrokerRequest & request,const RebootBrokerResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const753 void KafkaClient::RebootBrokerAsyncHelper(const RebootBrokerRequest& request, const RebootBrokerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
754 {
755   handler(this, request, RebootBroker(request), context);
756 }
757 
TagResource(const TagResourceRequest & request) const758 TagResourceOutcome KafkaClient::TagResource(const TagResourceRequest& request) const
759 {
760   if (!request.ResourceArnHasBeenSet())
761   {
762     AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set");
763     return TagResourceOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
764   }
765   Aws::Http::URI uri = m_uri;
766   uri.AddPathSegments("/v1/tags/");
767   uri.AddPathSegment(request.GetResourceArn());
768   return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
769 }
770 
TagResourceCallable(const TagResourceRequest & request) const771 TagResourceOutcomeCallable KafkaClient::TagResourceCallable(const TagResourceRequest& request) const
772 {
773   auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } );
774   auto packagedFunction = [task]() { (*task)(); };
775   m_executor->Submit(packagedFunction);
776   return task->get_future();
777 }
778 
TagResourceAsync(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const779 void KafkaClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
780 {
781   m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } );
782 }
783 
TagResourceAsyncHelper(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const784 void KafkaClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
785 {
786   handler(this, request, TagResource(request), context);
787 }
788 
UntagResource(const UntagResourceRequest & request) const789 UntagResourceOutcome KafkaClient::UntagResource(const UntagResourceRequest& request) const
790 {
791   if (!request.ResourceArnHasBeenSet())
792   {
793     AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set");
794     return UntagResourceOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false));
795   }
796   if (!request.TagKeysHasBeenSet())
797   {
798     AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set");
799     return UntagResourceOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false));
800   }
801   Aws::Http::URI uri = m_uri;
802   uri.AddPathSegments("/v1/tags/");
803   uri.AddPathSegment(request.GetResourceArn());
804   return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
805 }
806 
UntagResourceCallable(const UntagResourceRequest & request) const807 UntagResourceOutcomeCallable KafkaClient::UntagResourceCallable(const UntagResourceRequest& request) const
808 {
809   auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } );
810   auto packagedFunction = [task]() { (*task)(); };
811   m_executor->Submit(packagedFunction);
812   return task->get_future();
813 }
814 
UntagResourceAsync(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const815 void KafkaClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
816 {
817   m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } );
818 }
819 
UntagResourceAsyncHelper(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const820 void KafkaClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
821 {
822   handler(this, request, UntagResource(request), context);
823 }
824 
UpdateBrokerCount(const UpdateBrokerCountRequest & request) const825 UpdateBrokerCountOutcome KafkaClient::UpdateBrokerCount(const UpdateBrokerCountRequest& request) const
826 {
827   if (!request.ClusterArnHasBeenSet())
828   {
829     AWS_LOGSTREAM_ERROR("UpdateBrokerCount", "Required field: ClusterArn, is not set");
830     return UpdateBrokerCountOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
831   }
832   Aws::Http::URI uri = m_uri;
833   uri.AddPathSegments("/v1/clusters/");
834   uri.AddPathSegment(request.GetClusterArn());
835   uri.AddPathSegments("/nodes/count");
836   return UpdateBrokerCountOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
837 }
838 
UpdateBrokerCountCallable(const UpdateBrokerCountRequest & request) const839 UpdateBrokerCountOutcomeCallable KafkaClient::UpdateBrokerCountCallable(const UpdateBrokerCountRequest& request) const
840 {
841   auto task = Aws::MakeShared< std::packaged_task< UpdateBrokerCountOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateBrokerCount(request); } );
842   auto packagedFunction = [task]() { (*task)(); };
843   m_executor->Submit(packagedFunction);
844   return task->get_future();
845 }
846 
UpdateBrokerCountAsync(const UpdateBrokerCountRequest & request,const UpdateBrokerCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const847 void KafkaClient::UpdateBrokerCountAsync(const UpdateBrokerCountRequest& request, const UpdateBrokerCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
848 {
849   m_executor->Submit( [this, request, handler, context](){ this->UpdateBrokerCountAsyncHelper( request, handler, context ); } );
850 }
851 
UpdateBrokerCountAsyncHelper(const UpdateBrokerCountRequest & request,const UpdateBrokerCountResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const852 void KafkaClient::UpdateBrokerCountAsyncHelper(const UpdateBrokerCountRequest& request, const UpdateBrokerCountResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
853 {
854   handler(this, request, UpdateBrokerCount(request), context);
855 }
856 
UpdateBrokerType(const UpdateBrokerTypeRequest & request) const857 UpdateBrokerTypeOutcome KafkaClient::UpdateBrokerType(const UpdateBrokerTypeRequest& request) const
858 {
859   if (!request.ClusterArnHasBeenSet())
860   {
861     AWS_LOGSTREAM_ERROR("UpdateBrokerType", "Required field: ClusterArn, is not set");
862     return UpdateBrokerTypeOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
863   }
864   Aws::Http::URI uri = m_uri;
865   uri.AddPathSegments("/v1/clusters/");
866   uri.AddPathSegment(request.GetClusterArn());
867   uri.AddPathSegments("/nodes/type");
868   return UpdateBrokerTypeOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
869 }
870 
UpdateBrokerTypeCallable(const UpdateBrokerTypeRequest & request) const871 UpdateBrokerTypeOutcomeCallable KafkaClient::UpdateBrokerTypeCallable(const UpdateBrokerTypeRequest& request) const
872 {
873   auto task = Aws::MakeShared< std::packaged_task< UpdateBrokerTypeOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateBrokerType(request); } );
874   auto packagedFunction = [task]() { (*task)(); };
875   m_executor->Submit(packagedFunction);
876   return task->get_future();
877 }
878 
UpdateBrokerTypeAsync(const UpdateBrokerTypeRequest & request,const UpdateBrokerTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const879 void KafkaClient::UpdateBrokerTypeAsync(const UpdateBrokerTypeRequest& request, const UpdateBrokerTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
880 {
881   m_executor->Submit( [this, request, handler, context](){ this->UpdateBrokerTypeAsyncHelper( request, handler, context ); } );
882 }
883 
UpdateBrokerTypeAsyncHelper(const UpdateBrokerTypeRequest & request,const UpdateBrokerTypeResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const884 void KafkaClient::UpdateBrokerTypeAsyncHelper(const UpdateBrokerTypeRequest& request, const UpdateBrokerTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
885 {
886   handler(this, request, UpdateBrokerType(request), context);
887 }
888 
UpdateBrokerStorage(const UpdateBrokerStorageRequest & request) const889 UpdateBrokerStorageOutcome KafkaClient::UpdateBrokerStorage(const UpdateBrokerStorageRequest& request) const
890 {
891   if (!request.ClusterArnHasBeenSet())
892   {
893     AWS_LOGSTREAM_ERROR("UpdateBrokerStorage", "Required field: ClusterArn, is not set");
894     return UpdateBrokerStorageOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
895   }
896   Aws::Http::URI uri = m_uri;
897   uri.AddPathSegments("/v1/clusters/");
898   uri.AddPathSegment(request.GetClusterArn());
899   uri.AddPathSegments("/nodes/storage");
900   return UpdateBrokerStorageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
901 }
902 
UpdateBrokerStorageCallable(const UpdateBrokerStorageRequest & request) const903 UpdateBrokerStorageOutcomeCallable KafkaClient::UpdateBrokerStorageCallable(const UpdateBrokerStorageRequest& request) const
904 {
905   auto task = Aws::MakeShared< std::packaged_task< UpdateBrokerStorageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateBrokerStorage(request); } );
906   auto packagedFunction = [task]() { (*task)(); };
907   m_executor->Submit(packagedFunction);
908   return task->get_future();
909 }
910 
UpdateBrokerStorageAsync(const UpdateBrokerStorageRequest & request,const UpdateBrokerStorageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const911 void KafkaClient::UpdateBrokerStorageAsync(const UpdateBrokerStorageRequest& request, const UpdateBrokerStorageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
912 {
913   m_executor->Submit( [this, request, handler, context](){ this->UpdateBrokerStorageAsyncHelper( request, handler, context ); } );
914 }
915 
UpdateBrokerStorageAsyncHelper(const UpdateBrokerStorageRequest & request,const UpdateBrokerStorageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const916 void KafkaClient::UpdateBrokerStorageAsyncHelper(const UpdateBrokerStorageRequest& request, const UpdateBrokerStorageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
917 {
918   handler(this, request, UpdateBrokerStorage(request), context);
919 }
920 
UpdateConfiguration(const UpdateConfigurationRequest & request) const921 UpdateConfigurationOutcome KafkaClient::UpdateConfiguration(const UpdateConfigurationRequest& request) const
922 {
923   if (!request.ArnHasBeenSet())
924   {
925     AWS_LOGSTREAM_ERROR("UpdateConfiguration", "Required field: Arn, is not set");
926     return UpdateConfigurationOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Arn]", false));
927   }
928   Aws::Http::URI uri = m_uri;
929   uri.AddPathSegments("/v1/configurations/");
930   uri.AddPathSegment(request.GetArn());
931   return UpdateConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
932 }
933 
UpdateConfigurationCallable(const UpdateConfigurationRequest & request) const934 UpdateConfigurationOutcomeCallable KafkaClient::UpdateConfigurationCallable(const UpdateConfigurationRequest& request) const
935 {
936   auto task = Aws::MakeShared< std::packaged_task< UpdateConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateConfiguration(request); } );
937   auto packagedFunction = [task]() { (*task)(); };
938   m_executor->Submit(packagedFunction);
939   return task->get_future();
940 }
941 
UpdateConfigurationAsync(const UpdateConfigurationRequest & request,const UpdateConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const942 void KafkaClient::UpdateConfigurationAsync(const UpdateConfigurationRequest& request, const UpdateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
943 {
944   m_executor->Submit( [this, request, handler, context](){ this->UpdateConfigurationAsyncHelper( request, handler, context ); } );
945 }
946 
UpdateConfigurationAsyncHelper(const UpdateConfigurationRequest & request,const UpdateConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const947 void KafkaClient::UpdateConfigurationAsyncHelper(const UpdateConfigurationRequest& request, const UpdateConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
948 {
949   handler(this, request, UpdateConfiguration(request), context);
950 }
951 
UpdateClusterConfiguration(const UpdateClusterConfigurationRequest & request) const952 UpdateClusterConfigurationOutcome KafkaClient::UpdateClusterConfiguration(const UpdateClusterConfigurationRequest& request) const
953 {
954   if (!request.ClusterArnHasBeenSet())
955   {
956     AWS_LOGSTREAM_ERROR("UpdateClusterConfiguration", "Required field: ClusterArn, is not set");
957     return UpdateClusterConfigurationOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
958   }
959   Aws::Http::URI uri = m_uri;
960   uri.AddPathSegments("/v1/clusters/");
961   uri.AddPathSegment(request.GetClusterArn());
962   uri.AddPathSegments("/configuration");
963   return UpdateClusterConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
964 }
965 
UpdateClusterConfigurationCallable(const UpdateClusterConfigurationRequest & request) const966 UpdateClusterConfigurationOutcomeCallable KafkaClient::UpdateClusterConfigurationCallable(const UpdateClusterConfigurationRequest& request) const
967 {
968   auto task = Aws::MakeShared< std::packaged_task< UpdateClusterConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateClusterConfiguration(request); } );
969   auto packagedFunction = [task]() { (*task)(); };
970   m_executor->Submit(packagedFunction);
971   return task->get_future();
972 }
973 
UpdateClusterConfigurationAsync(const UpdateClusterConfigurationRequest & request,const UpdateClusterConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const974 void KafkaClient::UpdateClusterConfigurationAsync(const UpdateClusterConfigurationRequest& request, const UpdateClusterConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
975 {
976   m_executor->Submit( [this, request, handler, context](){ this->UpdateClusterConfigurationAsyncHelper( request, handler, context ); } );
977 }
978 
UpdateClusterConfigurationAsyncHelper(const UpdateClusterConfigurationRequest & request,const UpdateClusterConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const979 void KafkaClient::UpdateClusterConfigurationAsyncHelper(const UpdateClusterConfigurationRequest& request, const UpdateClusterConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
980 {
981   handler(this, request, UpdateClusterConfiguration(request), context);
982 }
983 
UpdateClusterKafkaVersion(const UpdateClusterKafkaVersionRequest & request) const984 UpdateClusterKafkaVersionOutcome KafkaClient::UpdateClusterKafkaVersion(const UpdateClusterKafkaVersionRequest& request) const
985 {
986   if (!request.ClusterArnHasBeenSet())
987   {
988     AWS_LOGSTREAM_ERROR("UpdateClusterKafkaVersion", "Required field: ClusterArn, is not set");
989     return UpdateClusterKafkaVersionOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
990   }
991   Aws::Http::URI uri = m_uri;
992   uri.AddPathSegments("/v1/clusters/");
993   uri.AddPathSegment(request.GetClusterArn());
994   uri.AddPathSegments("/version");
995   return UpdateClusterKafkaVersionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
996 }
997 
UpdateClusterKafkaVersionCallable(const UpdateClusterKafkaVersionRequest & request) const998 UpdateClusterKafkaVersionOutcomeCallable KafkaClient::UpdateClusterKafkaVersionCallable(const UpdateClusterKafkaVersionRequest& request) const
999 {
1000   auto task = Aws::MakeShared< std::packaged_task< UpdateClusterKafkaVersionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateClusterKafkaVersion(request); } );
1001   auto packagedFunction = [task]() { (*task)(); };
1002   m_executor->Submit(packagedFunction);
1003   return task->get_future();
1004 }
1005 
UpdateClusterKafkaVersionAsync(const UpdateClusterKafkaVersionRequest & request,const UpdateClusterKafkaVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1006 void KafkaClient::UpdateClusterKafkaVersionAsync(const UpdateClusterKafkaVersionRequest& request, const UpdateClusterKafkaVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1007 {
1008   m_executor->Submit( [this, request, handler, context](){ this->UpdateClusterKafkaVersionAsyncHelper( request, handler, context ); } );
1009 }
1010 
UpdateClusterKafkaVersionAsyncHelper(const UpdateClusterKafkaVersionRequest & request,const UpdateClusterKafkaVersionResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1011 void KafkaClient::UpdateClusterKafkaVersionAsyncHelper(const UpdateClusterKafkaVersionRequest& request, const UpdateClusterKafkaVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1012 {
1013   handler(this, request, UpdateClusterKafkaVersion(request), context);
1014 }
1015 
UpdateMonitoring(const UpdateMonitoringRequest & request) const1016 UpdateMonitoringOutcome KafkaClient::UpdateMonitoring(const UpdateMonitoringRequest& request) const
1017 {
1018   if (!request.ClusterArnHasBeenSet())
1019   {
1020     AWS_LOGSTREAM_ERROR("UpdateMonitoring", "Required field: ClusterArn, is not set");
1021     return UpdateMonitoringOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
1022   }
1023   Aws::Http::URI uri = m_uri;
1024   uri.AddPathSegments("/v1/clusters/");
1025   uri.AddPathSegment(request.GetClusterArn());
1026   uri.AddPathSegments("/monitoring");
1027   return UpdateMonitoringOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER));
1028 }
1029 
UpdateMonitoringCallable(const UpdateMonitoringRequest & request) const1030 UpdateMonitoringOutcomeCallable KafkaClient::UpdateMonitoringCallable(const UpdateMonitoringRequest& request) const
1031 {
1032   auto task = Aws::MakeShared< std::packaged_task< UpdateMonitoringOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateMonitoring(request); } );
1033   auto packagedFunction = [task]() { (*task)(); };
1034   m_executor->Submit(packagedFunction);
1035   return task->get_future();
1036 }
1037 
UpdateMonitoringAsync(const UpdateMonitoringRequest & request,const UpdateMonitoringResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1038 void KafkaClient::UpdateMonitoringAsync(const UpdateMonitoringRequest& request, const UpdateMonitoringResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1039 {
1040   m_executor->Submit( [this, request, handler, context](){ this->UpdateMonitoringAsyncHelper( request, handler, context ); } );
1041 }
1042 
UpdateMonitoringAsyncHelper(const UpdateMonitoringRequest & request,const UpdateMonitoringResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1043 void KafkaClient::UpdateMonitoringAsyncHelper(const UpdateMonitoringRequest& request, const UpdateMonitoringResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1044 {
1045   handler(this, request, UpdateMonitoring(request), context);
1046 }
1047 
UpdateSecurity(const UpdateSecurityRequest & request) const1048 UpdateSecurityOutcome KafkaClient::UpdateSecurity(const UpdateSecurityRequest& request) const
1049 {
1050   if (!request.ClusterArnHasBeenSet())
1051   {
1052     AWS_LOGSTREAM_ERROR("UpdateSecurity", "Required field: ClusterArn, is not set");
1053     return UpdateSecurityOutcome(Aws::Client::AWSError<KafkaErrors>(KafkaErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ClusterArn]", false));
1054   }
1055   Aws::Http::URI uri = m_uri;
1056   uri.AddPathSegments("/v1/clusters/");
1057   uri.AddPathSegment(request.GetClusterArn());
1058   uri.AddPathSegments("/security");
1059   return UpdateSecurityOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER));
1060 }
1061 
UpdateSecurityCallable(const UpdateSecurityRequest & request) const1062 UpdateSecurityOutcomeCallable KafkaClient::UpdateSecurityCallable(const UpdateSecurityRequest& request) const
1063 {
1064   auto task = Aws::MakeShared< std::packaged_task< UpdateSecurityOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateSecurity(request); } );
1065   auto packagedFunction = [task]() { (*task)(); };
1066   m_executor->Submit(packagedFunction);
1067   return task->get_future();
1068 }
1069 
UpdateSecurityAsync(const UpdateSecurityRequest & request,const UpdateSecurityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1070 void KafkaClient::UpdateSecurityAsync(const UpdateSecurityRequest& request, const UpdateSecurityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1071 {
1072   m_executor->Submit( [this, request, handler, context](){ this->UpdateSecurityAsyncHelper( request, handler, context ); } );
1073 }
1074 
UpdateSecurityAsyncHelper(const UpdateSecurityRequest & request,const UpdateSecurityResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1075 void KafkaClient::UpdateSecurityAsyncHelper(const UpdateSecurityRequest& request, const UpdateSecurityResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1076 {
1077   handler(this, request, UpdateSecurity(request), context);
1078 }
1079 
1080