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/cognito-sync/CognitoSyncClient.h>
21 #include <aws/cognito-sync/CognitoSyncEndpoint.h>
22 #include <aws/cognito-sync/CognitoSyncErrorMarshaller.h>
23 #include <aws/cognito-sync/model/BulkPublishRequest.h>
24 #include <aws/cognito-sync/model/DeleteDatasetRequest.h>
25 #include <aws/cognito-sync/model/DescribeDatasetRequest.h>
26 #include <aws/cognito-sync/model/DescribeIdentityPoolUsageRequest.h>
27 #include <aws/cognito-sync/model/DescribeIdentityUsageRequest.h>
28 #include <aws/cognito-sync/model/GetBulkPublishDetailsRequest.h>
29 #include <aws/cognito-sync/model/GetCognitoEventsRequest.h>
30 #include <aws/cognito-sync/model/GetIdentityPoolConfigurationRequest.h>
31 #include <aws/cognito-sync/model/ListDatasetsRequest.h>
32 #include <aws/cognito-sync/model/ListIdentityPoolUsageRequest.h>
33 #include <aws/cognito-sync/model/ListRecordsRequest.h>
34 #include <aws/cognito-sync/model/RegisterDeviceRequest.h>
35 #include <aws/cognito-sync/model/SetCognitoEventsRequest.h>
36 #include <aws/cognito-sync/model/SetIdentityPoolConfigurationRequest.h>
37 #include <aws/cognito-sync/model/SubscribeToDatasetRequest.h>
38 #include <aws/cognito-sync/model/UnsubscribeFromDatasetRequest.h>
39 #include <aws/cognito-sync/model/UpdateRecordsRequest.h>
40 
41 using namespace Aws;
42 using namespace Aws::Auth;
43 using namespace Aws::Client;
44 using namespace Aws::CognitoSync;
45 using namespace Aws::CognitoSync::Model;
46 using namespace Aws::Http;
47 using namespace Aws::Utils::Json;
48 
49 static const char* SERVICE_NAME = "cognito-sync";
50 static const char* ALLOCATION_TAG = "CognitoSyncClient";
51 
52 
CognitoSyncClient(const Client::ClientConfiguration & clientConfiguration)53 CognitoSyncClient::CognitoSyncClient(const Client::ClientConfiguration& clientConfiguration) :
54   BASECLASS(clientConfiguration,
55     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
56         SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
57     Aws::MakeShared<CognitoSyncErrorMarshaller>(ALLOCATION_TAG)),
58     m_executor(clientConfiguration.executor)
59 {
60   init(clientConfiguration);
61 }
62 
CognitoSyncClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)63 CognitoSyncClient::CognitoSyncClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
64   BASECLASS(clientConfiguration,
65     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
66          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
67     Aws::MakeShared<CognitoSyncErrorMarshaller>(ALLOCATION_TAG)),
68     m_executor(clientConfiguration.executor)
69 {
70   init(clientConfiguration);
71 }
72 
CognitoSyncClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)73 CognitoSyncClient::CognitoSyncClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
74   const Client::ClientConfiguration& clientConfiguration) :
75   BASECLASS(clientConfiguration,
76     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
77          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
78     Aws::MakeShared<CognitoSyncErrorMarshaller>(ALLOCATION_TAG)),
79     m_executor(clientConfiguration.executor)
80 {
81   init(clientConfiguration);
82 }
83 
~CognitoSyncClient()84 CognitoSyncClient::~CognitoSyncClient()
85 {
86 }
87 
init(const Client::ClientConfiguration & config)88 void CognitoSyncClient::init(const Client::ClientConfiguration& config)
89 {
90   SetServiceClientName("Cognito Sync");
91   m_configScheme = SchemeMapper::ToString(config.scheme);
92   if (config.endpointOverride.empty())
93   {
94       m_uri = m_configScheme + "://" + CognitoSyncEndpoint::ForRegion(config.region, config.useDualStack);
95   }
96   else
97   {
98       OverrideEndpoint(config.endpointOverride);
99   }
100 }
101 
OverrideEndpoint(const Aws::String & endpoint)102 void CognitoSyncClient::OverrideEndpoint(const Aws::String& endpoint)
103 {
104   if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
105   {
106       m_uri = endpoint;
107   }
108   else
109   {
110       m_uri = m_configScheme + "://" + endpoint;
111   }
112 }
113 
BulkPublish(const BulkPublishRequest & request) const114 BulkPublishOutcome CognitoSyncClient::BulkPublish(const BulkPublishRequest& request) const
115 {
116   if (!request.IdentityPoolIdHasBeenSet())
117   {
118     AWS_LOGSTREAM_ERROR("BulkPublish", "Required field: IdentityPoolId, is not set");
119     return BulkPublishOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
120   }
121   Aws::Http::URI uri = m_uri;
122   uri.AddPathSegments("/identitypools/");
123   uri.AddPathSegment(request.GetIdentityPoolId());
124   uri.AddPathSegments("/bulkpublish");
125   return BulkPublishOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
126 }
127 
BulkPublishCallable(const BulkPublishRequest & request) const128 BulkPublishOutcomeCallable CognitoSyncClient::BulkPublishCallable(const BulkPublishRequest& request) const
129 {
130   auto task = Aws::MakeShared< std::packaged_task< BulkPublishOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->BulkPublish(request); } );
131   auto packagedFunction = [task]() { (*task)(); };
132   m_executor->Submit(packagedFunction);
133   return task->get_future();
134 }
135 
BulkPublishAsync(const BulkPublishRequest & request,const BulkPublishResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const136 void CognitoSyncClient::BulkPublishAsync(const BulkPublishRequest& request, const BulkPublishResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
137 {
138   m_executor->Submit( [this, request, handler, context](){ this->BulkPublishAsyncHelper( request, handler, context ); } );
139 }
140 
BulkPublishAsyncHelper(const BulkPublishRequest & request,const BulkPublishResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const141 void CognitoSyncClient::BulkPublishAsyncHelper(const BulkPublishRequest& request, const BulkPublishResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
142 {
143   handler(this, request, BulkPublish(request), context);
144 }
145 
DeleteDataset(const DeleteDatasetRequest & request) const146 DeleteDatasetOutcome CognitoSyncClient::DeleteDataset(const DeleteDatasetRequest& request) const
147 {
148   if (!request.IdentityPoolIdHasBeenSet())
149   {
150     AWS_LOGSTREAM_ERROR("DeleteDataset", "Required field: IdentityPoolId, is not set");
151     return DeleteDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
152   }
153   if (!request.IdentityIdHasBeenSet())
154   {
155     AWS_LOGSTREAM_ERROR("DeleteDataset", "Required field: IdentityId, is not set");
156     return DeleteDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
157   }
158   if (!request.DatasetNameHasBeenSet())
159   {
160     AWS_LOGSTREAM_ERROR("DeleteDataset", "Required field: DatasetName, is not set");
161     return DeleteDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DatasetName]", false));
162   }
163   Aws::Http::URI uri = m_uri;
164   uri.AddPathSegments("/identitypools/");
165   uri.AddPathSegment(request.GetIdentityPoolId());
166   uri.AddPathSegments("/identities/");
167   uri.AddPathSegment(request.GetIdentityId());
168   uri.AddPathSegments("/datasets/");
169   uri.AddPathSegment(request.GetDatasetName());
170   return DeleteDatasetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
171 }
172 
DeleteDatasetCallable(const DeleteDatasetRequest & request) const173 DeleteDatasetOutcomeCallable CognitoSyncClient::DeleteDatasetCallable(const DeleteDatasetRequest& request) const
174 {
175   auto task = Aws::MakeShared< std::packaged_task< DeleteDatasetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteDataset(request); } );
176   auto packagedFunction = [task]() { (*task)(); };
177   m_executor->Submit(packagedFunction);
178   return task->get_future();
179 }
180 
DeleteDatasetAsync(const DeleteDatasetRequest & request,const DeleteDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const181 void CognitoSyncClient::DeleteDatasetAsync(const DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
182 {
183   m_executor->Submit( [this, request, handler, context](){ this->DeleteDatasetAsyncHelper( request, handler, context ); } );
184 }
185 
DeleteDatasetAsyncHelper(const DeleteDatasetRequest & request,const DeleteDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const186 void CognitoSyncClient::DeleteDatasetAsyncHelper(const DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
187 {
188   handler(this, request, DeleteDataset(request), context);
189 }
190 
DescribeDataset(const DescribeDatasetRequest & request) const191 DescribeDatasetOutcome CognitoSyncClient::DescribeDataset(const DescribeDatasetRequest& request) const
192 {
193   if (!request.IdentityPoolIdHasBeenSet())
194   {
195     AWS_LOGSTREAM_ERROR("DescribeDataset", "Required field: IdentityPoolId, is not set");
196     return DescribeDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
197   }
198   if (!request.IdentityIdHasBeenSet())
199   {
200     AWS_LOGSTREAM_ERROR("DescribeDataset", "Required field: IdentityId, is not set");
201     return DescribeDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
202   }
203   if (!request.DatasetNameHasBeenSet())
204   {
205     AWS_LOGSTREAM_ERROR("DescribeDataset", "Required field: DatasetName, is not set");
206     return DescribeDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DatasetName]", false));
207   }
208   Aws::Http::URI uri = m_uri;
209   uri.AddPathSegments("/identitypools/");
210   uri.AddPathSegment(request.GetIdentityPoolId());
211   uri.AddPathSegments("/identities/");
212   uri.AddPathSegment(request.GetIdentityId());
213   uri.AddPathSegments("/datasets/");
214   uri.AddPathSegment(request.GetDatasetName());
215   return DescribeDatasetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
216 }
217 
DescribeDatasetCallable(const DescribeDatasetRequest & request) const218 DescribeDatasetOutcomeCallable CognitoSyncClient::DescribeDatasetCallable(const DescribeDatasetRequest& request) const
219 {
220   auto task = Aws::MakeShared< std::packaged_task< DescribeDatasetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeDataset(request); } );
221   auto packagedFunction = [task]() { (*task)(); };
222   m_executor->Submit(packagedFunction);
223   return task->get_future();
224 }
225 
DescribeDatasetAsync(const DescribeDatasetRequest & request,const DescribeDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const226 void CognitoSyncClient::DescribeDatasetAsync(const DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
227 {
228   m_executor->Submit( [this, request, handler, context](){ this->DescribeDatasetAsyncHelper( request, handler, context ); } );
229 }
230 
DescribeDatasetAsyncHelper(const DescribeDatasetRequest & request,const DescribeDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const231 void CognitoSyncClient::DescribeDatasetAsyncHelper(const DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
232 {
233   handler(this, request, DescribeDataset(request), context);
234 }
235 
DescribeIdentityPoolUsage(const DescribeIdentityPoolUsageRequest & request) const236 DescribeIdentityPoolUsageOutcome CognitoSyncClient::DescribeIdentityPoolUsage(const DescribeIdentityPoolUsageRequest& request) const
237 {
238   if (!request.IdentityPoolIdHasBeenSet())
239   {
240     AWS_LOGSTREAM_ERROR("DescribeIdentityPoolUsage", "Required field: IdentityPoolId, is not set");
241     return DescribeIdentityPoolUsageOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
242   }
243   Aws::Http::URI uri = m_uri;
244   uri.AddPathSegments("/identitypools/");
245   uri.AddPathSegment(request.GetIdentityPoolId());
246   return DescribeIdentityPoolUsageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
247 }
248 
DescribeIdentityPoolUsageCallable(const DescribeIdentityPoolUsageRequest & request) const249 DescribeIdentityPoolUsageOutcomeCallable CognitoSyncClient::DescribeIdentityPoolUsageCallable(const DescribeIdentityPoolUsageRequest& request) const
250 {
251   auto task = Aws::MakeShared< std::packaged_task< DescribeIdentityPoolUsageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeIdentityPoolUsage(request); } );
252   auto packagedFunction = [task]() { (*task)(); };
253   m_executor->Submit(packagedFunction);
254   return task->get_future();
255 }
256 
DescribeIdentityPoolUsageAsync(const DescribeIdentityPoolUsageRequest & request,const DescribeIdentityPoolUsageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const257 void CognitoSyncClient::DescribeIdentityPoolUsageAsync(const DescribeIdentityPoolUsageRequest& request, const DescribeIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
258 {
259   m_executor->Submit( [this, request, handler, context](){ this->DescribeIdentityPoolUsageAsyncHelper( request, handler, context ); } );
260 }
261 
DescribeIdentityPoolUsageAsyncHelper(const DescribeIdentityPoolUsageRequest & request,const DescribeIdentityPoolUsageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const262 void CognitoSyncClient::DescribeIdentityPoolUsageAsyncHelper(const DescribeIdentityPoolUsageRequest& request, const DescribeIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
263 {
264   handler(this, request, DescribeIdentityPoolUsage(request), context);
265 }
266 
DescribeIdentityUsage(const DescribeIdentityUsageRequest & request) const267 DescribeIdentityUsageOutcome CognitoSyncClient::DescribeIdentityUsage(const DescribeIdentityUsageRequest& request) const
268 {
269   if (!request.IdentityPoolIdHasBeenSet())
270   {
271     AWS_LOGSTREAM_ERROR("DescribeIdentityUsage", "Required field: IdentityPoolId, is not set");
272     return DescribeIdentityUsageOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
273   }
274   if (!request.IdentityIdHasBeenSet())
275   {
276     AWS_LOGSTREAM_ERROR("DescribeIdentityUsage", "Required field: IdentityId, is not set");
277     return DescribeIdentityUsageOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
278   }
279   Aws::Http::URI uri = m_uri;
280   uri.AddPathSegments("/identitypools/");
281   uri.AddPathSegment(request.GetIdentityPoolId());
282   uri.AddPathSegments("/identities/");
283   uri.AddPathSegment(request.GetIdentityId());
284   return DescribeIdentityUsageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
285 }
286 
DescribeIdentityUsageCallable(const DescribeIdentityUsageRequest & request) const287 DescribeIdentityUsageOutcomeCallable CognitoSyncClient::DescribeIdentityUsageCallable(const DescribeIdentityUsageRequest& request) const
288 {
289   auto task = Aws::MakeShared< std::packaged_task< DescribeIdentityUsageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeIdentityUsage(request); } );
290   auto packagedFunction = [task]() { (*task)(); };
291   m_executor->Submit(packagedFunction);
292   return task->get_future();
293 }
294 
DescribeIdentityUsageAsync(const DescribeIdentityUsageRequest & request,const DescribeIdentityUsageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const295 void CognitoSyncClient::DescribeIdentityUsageAsync(const DescribeIdentityUsageRequest& request, const DescribeIdentityUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
296 {
297   m_executor->Submit( [this, request, handler, context](){ this->DescribeIdentityUsageAsyncHelper( request, handler, context ); } );
298 }
299 
DescribeIdentityUsageAsyncHelper(const DescribeIdentityUsageRequest & request,const DescribeIdentityUsageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const300 void CognitoSyncClient::DescribeIdentityUsageAsyncHelper(const DescribeIdentityUsageRequest& request, const DescribeIdentityUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
301 {
302   handler(this, request, DescribeIdentityUsage(request), context);
303 }
304 
GetBulkPublishDetails(const GetBulkPublishDetailsRequest & request) const305 GetBulkPublishDetailsOutcome CognitoSyncClient::GetBulkPublishDetails(const GetBulkPublishDetailsRequest& request) const
306 {
307   if (!request.IdentityPoolIdHasBeenSet())
308   {
309     AWS_LOGSTREAM_ERROR("GetBulkPublishDetails", "Required field: IdentityPoolId, is not set");
310     return GetBulkPublishDetailsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
311   }
312   Aws::Http::URI uri = m_uri;
313   uri.AddPathSegments("/identitypools/");
314   uri.AddPathSegment(request.GetIdentityPoolId());
315   uri.AddPathSegments("/getBulkPublishDetails");
316   return GetBulkPublishDetailsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
317 }
318 
GetBulkPublishDetailsCallable(const GetBulkPublishDetailsRequest & request) const319 GetBulkPublishDetailsOutcomeCallable CognitoSyncClient::GetBulkPublishDetailsCallable(const GetBulkPublishDetailsRequest& request) const
320 {
321   auto task = Aws::MakeShared< std::packaged_task< GetBulkPublishDetailsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetBulkPublishDetails(request); } );
322   auto packagedFunction = [task]() { (*task)(); };
323   m_executor->Submit(packagedFunction);
324   return task->get_future();
325 }
326 
GetBulkPublishDetailsAsync(const GetBulkPublishDetailsRequest & request,const GetBulkPublishDetailsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const327 void CognitoSyncClient::GetBulkPublishDetailsAsync(const GetBulkPublishDetailsRequest& request, const GetBulkPublishDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
328 {
329   m_executor->Submit( [this, request, handler, context](){ this->GetBulkPublishDetailsAsyncHelper( request, handler, context ); } );
330 }
331 
GetBulkPublishDetailsAsyncHelper(const GetBulkPublishDetailsRequest & request,const GetBulkPublishDetailsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const332 void CognitoSyncClient::GetBulkPublishDetailsAsyncHelper(const GetBulkPublishDetailsRequest& request, const GetBulkPublishDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
333 {
334   handler(this, request, GetBulkPublishDetails(request), context);
335 }
336 
GetCognitoEvents(const GetCognitoEventsRequest & request) const337 GetCognitoEventsOutcome CognitoSyncClient::GetCognitoEvents(const GetCognitoEventsRequest& request) const
338 {
339   if (!request.IdentityPoolIdHasBeenSet())
340   {
341     AWS_LOGSTREAM_ERROR("GetCognitoEvents", "Required field: IdentityPoolId, is not set");
342     return GetCognitoEventsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
343   }
344   Aws::Http::URI uri = m_uri;
345   uri.AddPathSegments("/identitypools/");
346   uri.AddPathSegment(request.GetIdentityPoolId());
347   uri.AddPathSegments("/events");
348   return GetCognitoEventsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
349 }
350 
GetCognitoEventsCallable(const GetCognitoEventsRequest & request) const351 GetCognitoEventsOutcomeCallable CognitoSyncClient::GetCognitoEventsCallable(const GetCognitoEventsRequest& request) const
352 {
353   auto task = Aws::MakeShared< std::packaged_task< GetCognitoEventsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetCognitoEvents(request); } );
354   auto packagedFunction = [task]() { (*task)(); };
355   m_executor->Submit(packagedFunction);
356   return task->get_future();
357 }
358 
GetCognitoEventsAsync(const GetCognitoEventsRequest & request,const GetCognitoEventsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const359 void CognitoSyncClient::GetCognitoEventsAsync(const GetCognitoEventsRequest& request, const GetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
360 {
361   m_executor->Submit( [this, request, handler, context](){ this->GetCognitoEventsAsyncHelper( request, handler, context ); } );
362 }
363 
GetCognitoEventsAsyncHelper(const GetCognitoEventsRequest & request,const GetCognitoEventsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const364 void CognitoSyncClient::GetCognitoEventsAsyncHelper(const GetCognitoEventsRequest& request, const GetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
365 {
366   handler(this, request, GetCognitoEvents(request), context);
367 }
368 
GetIdentityPoolConfiguration(const GetIdentityPoolConfigurationRequest & request) const369 GetIdentityPoolConfigurationOutcome CognitoSyncClient::GetIdentityPoolConfiguration(const GetIdentityPoolConfigurationRequest& request) const
370 {
371   if (!request.IdentityPoolIdHasBeenSet())
372   {
373     AWS_LOGSTREAM_ERROR("GetIdentityPoolConfiguration", "Required field: IdentityPoolId, is not set");
374     return GetIdentityPoolConfigurationOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
375   }
376   Aws::Http::URI uri = m_uri;
377   uri.AddPathSegments("/identitypools/");
378   uri.AddPathSegment(request.GetIdentityPoolId());
379   uri.AddPathSegments("/configuration");
380   return GetIdentityPoolConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
381 }
382 
GetIdentityPoolConfigurationCallable(const GetIdentityPoolConfigurationRequest & request) const383 GetIdentityPoolConfigurationOutcomeCallable CognitoSyncClient::GetIdentityPoolConfigurationCallable(const GetIdentityPoolConfigurationRequest& request) const
384 {
385   auto task = Aws::MakeShared< std::packaged_task< GetIdentityPoolConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetIdentityPoolConfiguration(request); } );
386   auto packagedFunction = [task]() { (*task)(); };
387   m_executor->Submit(packagedFunction);
388   return task->get_future();
389 }
390 
GetIdentityPoolConfigurationAsync(const GetIdentityPoolConfigurationRequest & request,const GetIdentityPoolConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const391 void CognitoSyncClient::GetIdentityPoolConfigurationAsync(const GetIdentityPoolConfigurationRequest& request, const GetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
392 {
393   m_executor->Submit( [this, request, handler, context](){ this->GetIdentityPoolConfigurationAsyncHelper( request, handler, context ); } );
394 }
395 
GetIdentityPoolConfigurationAsyncHelper(const GetIdentityPoolConfigurationRequest & request,const GetIdentityPoolConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const396 void CognitoSyncClient::GetIdentityPoolConfigurationAsyncHelper(const GetIdentityPoolConfigurationRequest& request, const GetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
397 {
398   handler(this, request, GetIdentityPoolConfiguration(request), context);
399 }
400 
ListDatasets(const ListDatasetsRequest & request) const401 ListDatasetsOutcome CognitoSyncClient::ListDatasets(const ListDatasetsRequest& request) const
402 {
403   if (!request.IdentityPoolIdHasBeenSet())
404   {
405     AWS_LOGSTREAM_ERROR("ListDatasets", "Required field: IdentityPoolId, is not set");
406     return ListDatasetsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
407   }
408   if (!request.IdentityIdHasBeenSet())
409   {
410     AWS_LOGSTREAM_ERROR("ListDatasets", "Required field: IdentityId, is not set");
411     return ListDatasetsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
412   }
413   Aws::Http::URI uri = m_uri;
414   uri.AddPathSegments("/identitypools/");
415   uri.AddPathSegment(request.GetIdentityPoolId());
416   uri.AddPathSegments("/identities/");
417   uri.AddPathSegment(request.GetIdentityId());
418   uri.AddPathSegments("/datasets");
419   return ListDatasetsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
420 }
421 
ListDatasetsCallable(const ListDatasetsRequest & request) const422 ListDatasetsOutcomeCallable CognitoSyncClient::ListDatasetsCallable(const ListDatasetsRequest& request) const
423 {
424   auto task = Aws::MakeShared< std::packaged_task< ListDatasetsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDatasets(request); } );
425   auto packagedFunction = [task]() { (*task)(); };
426   m_executor->Submit(packagedFunction);
427   return task->get_future();
428 }
429 
ListDatasetsAsync(const ListDatasetsRequest & request,const ListDatasetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const430 void CognitoSyncClient::ListDatasetsAsync(const ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
431 {
432   m_executor->Submit( [this, request, handler, context](){ this->ListDatasetsAsyncHelper( request, handler, context ); } );
433 }
434 
ListDatasetsAsyncHelper(const ListDatasetsRequest & request,const ListDatasetsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const435 void CognitoSyncClient::ListDatasetsAsyncHelper(const ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
436 {
437   handler(this, request, ListDatasets(request), context);
438 }
439 
ListIdentityPoolUsage(const ListIdentityPoolUsageRequest & request) const440 ListIdentityPoolUsageOutcome CognitoSyncClient::ListIdentityPoolUsage(const ListIdentityPoolUsageRequest& request) const
441 {
442   Aws::Http::URI uri = m_uri;
443   uri.AddPathSegments("/identitypools");
444   return ListIdentityPoolUsageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
445 }
446 
ListIdentityPoolUsageCallable(const ListIdentityPoolUsageRequest & request) const447 ListIdentityPoolUsageOutcomeCallable CognitoSyncClient::ListIdentityPoolUsageCallable(const ListIdentityPoolUsageRequest& request) const
448 {
449   auto task = Aws::MakeShared< std::packaged_task< ListIdentityPoolUsageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListIdentityPoolUsage(request); } );
450   auto packagedFunction = [task]() { (*task)(); };
451   m_executor->Submit(packagedFunction);
452   return task->get_future();
453 }
454 
ListIdentityPoolUsageAsync(const ListIdentityPoolUsageRequest & request,const ListIdentityPoolUsageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const455 void CognitoSyncClient::ListIdentityPoolUsageAsync(const ListIdentityPoolUsageRequest& request, const ListIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
456 {
457   m_executor->Submit( [this, request, handler, context](){ this->ListIdentityPoolUsageAsyncHelper( request, handler, context ); } );
458 }
459 
ListIdentityPoolUsageAsyncHelper(const ListIdentityPoolUsageRequest & request,const ListIdentityPoolUsageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const460 void CognitoSyncClient::ListIdentityPoolUsageAsyncHelper(const ListIdentityPoolUsageRequest& request, const ListIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
461 {
462   handler(this, request, ListIdentityPoolUsage(request), context);
463 }
464 
ListRecords(const ListRecordsRequest & request) const465 ListRecordsOutcome CognitoSyncClient::ListRecords(const ListRecordsRequest& request) const
466 {
467   if (!request.IdentityPoolIdHasBeenSet())
468   {
469     AWS_LOGSTREAM_ERROR("ListRecords", "Required field: IdentityPoolId, is not set");
470     return ListRecordsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
471   }
472   if (!request.IdentityIdHasBeenSet())
473   {
474     AWS_LOGSTREAM_ERROR("ListRecords", "Required field: IdentityId, is not set");
475     return ListRecordsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
476   }
477   if (!request.DatasetNameHasBeenSet())
478   {
479     AWS_LOGSTREAM_ERROR("ListRecords", "Required field: DatasetName, is not set");
480     return ListRecordsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DatasetName]", false));
481   }
482   Aws::Http::URI uri = m_uri;
483   uri.AddPathSegments("/identitypools/");
484   uri.AddPathSegment(request.GetIdentityPoolId());
485   uri.AddPathSegments("/identities/");
486   uri.AddPathSegment(request.GetIdentityId());
487   uri.AddPathSegments("/datasets/");
488   uri.AddPathSegment(request.GetDatasetName());
489   uri.AddPathSegments("/records");
490   return ListRecordsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER));
491 }
492 
ListRecordsCallable(const ListRecordsRequest & request) const493 ListRecordsOutcomeCallable CognitoSyncClient::ListRecordsCallable(const ListRecordsRequest& request) const
494 {
495   auto task = Aws::MakeShared< std::packaged_task< ListRecordsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListRecords(request); } );
496   auto packagedFunction = [task]() { (*task)(); };
497   m_executor->Submit(packagedFunction);
498   return task->get_future();
499 }
500 
ListRecordsAsync(const ListRecordsRequest & request,const ListRecordsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const501 void CognitoSyncClient::ListRecordsAsync(const ListRecordsRequest& request, const ListRecordsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
502 {
503   m_executor->Submit( [this, request, handler, context](){ this->ListRecordsAsyncHelper( request, handler, context ); } );
504 }
505 
ListRecordsAsyncHelper(const ListRecordsRequest & request,const ListRecordsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const506 void CognitoSyncClient::ListRecordsAsyncHelper(const ListRecordsRequest& request, const ListRecordsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
507 {
508   handler(this, request, ListRecords(request), context);
509 }
510 
RegisterDevice(const RegisterDeviceRequest & request) const511 RegisterDeviceOutcome CognitoSyncClient::RegisterDevice(const RegisterDeviceRequest& request) const
512 {
513   if (!request.IdentityPoolIdHasBeenSet())
514   {
515     AWS_LOGSTREAM_ERROR("RegisterDevice", "Required field: IdentityPoolId, is not set");
516     return RegisterDeviceOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
517   }
518   if (!request.IdentityIdHasBeenSet())
519   {
520     AWS_LOGSTREAM_ERROR("RegisterDevice", "Required field: IdentityId, is not set");
521     return RegisterDeviceOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
522   }
523   Aws::Http::URI uri = m_uri;
524   uri.AddPathSegments("/identitypools/");
525   uri.AddPathSegment(request.GetIdentityPoolId());
526   uri.AddPathSegments("/identity/");
527   uri.AddPathSegment(request.GetIdentityId());
528   uri.AddPathSegments("/device");
529   return RegisterDeviceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
530 }
531 
RegisterDeviceCallable(const RegisterDeviceRequest & request) const532 RegisterDeviceOutcomeCallable CognitoSyncClient::RegisterDeviceCallable(const RegisterDeviceRequest& request) const
533 {
534   auto task = Aws::MakeShared< std::packaged_task< RegisterDeviceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->RegisterDevice(request); } );
535   auto packagedFunction = [task]() { (*task)(); };
536   m_executor->Submit(packagedFunction);
537   return task->get_future();
538 }
539 
RegisterDeviceAsync(const RegisterDeviceRequest & request,const RegisterDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const540 void CognitoSyncClient::RegisterDeviceAsync(const RegisterDeviceRequest& request, const RegisterDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
541 {
542   m_executor->Submit( [this, request, handler, context](){ this->RegisterDeviceAsyncHelper( request, handler, context ); } );
543 }
544 
RegisterDeviceAsyncHelper(const RegisterDeviceRequest & request,const RegisterDeviceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const545 void CognitoSyncClient::RegisterDeviceAsyncHelper(const RegisterDeviceRequest& request, const RegisterDeviceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
546 {
547   handler(this, request, RegisterDevice(request), context);
548 }
549 
SetCognitoEvents(const SetCognitoEventsRequest & request) const550 SetCognitoEventsOutcome CognitoSyncClient::SetCognitoEvents(const SetCognitoEventsRequest& request) const
551 {
552   if (!request.IdentityPoolIdHasBeenSet())
553   {
554     AWS_LOGSTREAM_ERROR("SetCognitoEvents", "Required field: IdentityPoolId, is not set");
555     return SetCognitoEventsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
556   }
557   Aws::Http::URI uri = m_uri;
558   uri.AddPathSegments("/identitypools/");
559   uri.AddPathSegment(request.GetIdentityPoolId());
560   uri.AddPathSegments("/events");
561   return SetCognitoEventsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
562 }
563 
SetCognitoEventsCallable(const SetCognitoEventsRequest & request) const564 SetCognitoEventsOutcomeCallable CognitoSyncClient::SetCognitoEventsCallable(const SetCognitoEventsRequest& request) const
565 {
566   auto task = Aws::MakeShared< std::packaged_task< SetCognitoEventsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->SetCognitoEvents(request); } );
567   auto packagedFunction = [task]() { (*task)(); };
568   m_executor->Submit(packagedFunction);
569   return task->get_future();
570 }
571 
SetCognitoEventsAsync(const SetCognitoEventsRequest & request,const SetCognitoEventsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const572 void CognitoSyncClient::SetCognitoEventsAsync(const SetCognitoEventsRequest& request, const SetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
573 {
574   m_executor->Submit( [this, request, handler, context](){ this->SetCognitoEventsAsyncHelper( request, handler, context ); } );
575 }
576 
SetCognitoEventsAsyncHelper(const SetCognitoEventsRequest & request,const SetCognitoEventsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const577 void CognitoSyncClient::SetCognitoEventsAsyncHelper(const SetCognitoEventsRequest& request, const SetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
578 {
579   handler(this, request, SetCognitoEvents(request), context);
580 }
581 
SetIdentityPoolConfiguration(const SetIdentityPoolConfigurationRequest & request) const582 SetIdentityPoolConfigurationOutcome CognitoSyncClient::SetIdentityPoolConfiguration(const SetIdentityPoolConfigurationRequest& request) const
583 {
584   if (!request.IdentityPoolIdHasBeenSet())
585   {
586     AWS_LOGSTREAM_ERROR("SetIdentityPoolConfiguration", "Required field: IdentityPoolId, is not set");
587     return SetIdentityPoolConfigurationOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
588   }
589   Aws::Http::URI uri = m_uri;
590   uri.AddPathSegments("/identitypools/");
591   uri.AddPathSegment(request.GetIdentityPoolId());
592   uri.AddPathSegments("/configuration");
593   return SetIdentityPoolConfigurationOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
594 }
595 
SetIdentityPoolConfigurationCallable(const SetIdentityPoolConfigurationRequest & request) const596 SetIdentityPoolConfigurationOutcomeCallable CognitoSyncClient::SetIdentityPoolConfigurationCallable(const SetIdentityPoolConfigurationRequest& request) const
597 {
598   auto task = Aws::MakeShared< std::packaged_task< SetIdentityPoolConfigurationOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->SetIdentityPoolConfiguration(request); } );
599   auto packagedFunction = [task]() { (*task)(); };
600   m_executor->Submit(packagedFunction);
601   return task->get_future();
602 }
603 
SetIdentityPoolConfigurationAsync(const SetIdentityPoolConfigurationRequest & request,const SetIdentityPoolConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const604 void CognitoSyncClient::SetIdentityPoolConfigurationAsync(const SetIdentityPoolConfigurationRequest& request, const SetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
605 {
606   m_executor->Submit( [this, request, handler, context](){ this->SetIdentityPoolConfigurationAsyncHelper( request, handler, context ); } );
607 }
608 
SetIdentityPoolConfigurationAsyncHelper(const SetIdentityPoolConfigurationRequest & request,const SetIdentityPoolConfigurationResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const609 void CognitoSyncClient::SetIdentityPoolConfigurationAsyncHelper(const SetIdentityPoolConfigurationRequest& request, const SetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
610 {
611   handler(this, request, SetIdentityPoolConfiguration(request), context);
612 }
613 
SubscribeToDataset(const SubscribeToDatasetRequest & request) const614 SubscribeToDatasetOutcome CognitoSyncClient::SubscribeToDataset(const SubscribeToDatasetRequest& request) const
615 {
616   if (!request.IdentityPoolIdHasBeenSet())
617   {
618     AWS_LOGSTREAM_ERROR("SubscribeToDataset", "Required field: IdentityPoolId, is not set");
619     return SubscribeToDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
620   }
621   if (!request.IdentityIdHasBeenSet())
622   {
623     AWS_LOGSTREAM_ERROR("SubscribeToDataset", "Required field: IdentityId, is not set");
624     return SubscribeToDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
625   }
626   if (!request.DatasetNameHasBeenSet())
627   {
628     AWS_LOGSTREAM_ERROR("SubscribeToDataset", "Required field: DatasetName, is not set");
629     return SubscribeToDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DatasetName]", false));
630   }
631   if (!request.DeviceIdHasBeenSet())
632   {
633     AWS_LOGSTREAM_ERROR("SubscribeToDataset", "Required field: DeviceId, is not set");
634     return SubscribeToDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DeviceId]", false));
635   }
636   Aws::Http::URI uri = m_uri;
637   uri.AddPathSegments("/identitypools/");
638   uri.AddPathSegment(request.GetIdentityPoolId());
639   uri.AddPathSegments("/identities/");
640   uri.AddPathSegment(request.GetIdentityId());
641   uri.AddPathSegments("/datasets/");
642   uri.AddPathSegment(request.GetDatasetName());
643   uri.AddPathSegments("/subscriptions/");
644   uri.AddPathSegment(request.GetDeviceId());
645   return SubscribeToDatasetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
646 }
647 
SubscribeToDatasetCallable(const SubscribeToDatasetRequest & request) const648 SubscribeToDatasetOutcomeCallable CognitoSyncClient::SubscribeToDatasetCallable(const SubscribeToDatasetRequest& request) const
649 {
650   auto task = Aws::MakeShared< std::packaged_task< SubscribeToDatasetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->SubscribeToDataset(request); } );
651   auto packagedFunction = [task]() { (*task)(); };
652   m_executor->Submit(packagedFunction);
653   return task->get_future();
654 }
655 
SubscribeToDatasetAsync(const SubscribeToDatasetRequest & request,const SubscribeToDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const656 void CognitoSyncClient::SubscribeToDatasetAsync(const SubscribeToDatasetRequest& request, const SubscribeToDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
657 {
658   m_executor->Submit( [this, request, handler, context](){ this->SubscribeToDatasetAsyncHelper( request, handler, context ); } );
659 }
660 
SubscribeToDatasetAsyncHelper(const SubscribeToDatasetRequest & request,const SubscribeToDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const661 void CognitoSyncClient::SubscribeToDatasetAsyncHelper(const SubscribeToDatasetRequest& request, const SubscribeToDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
662 {
663   handler(this, request, SubscribeToDataset(request), context);
664 }
665 
UnsubscribeFromDataset(const UnsubscribeFromDatasetRequest & request) const666 UnsubscribeFromDatasetOutcome CognitoSyncClient::UnsubscribeFromDataset(const UnsubscribeFromDatasetRequest& request) const
667 {
668   if (!request.IdentityPoolIdHasBeenSet())
669   {
670     AWS_LOGSTREAM_ERROR("UnsubscribeFromDataset", "Required field: IdentityPoolId, is not set");
671     return UnsubscribeFromDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
672   }
673   if (!request.IdentityIdHasBeenSet())
674   {
675     AWS_LOGSTREAM_ERROR("UnsubscribeFromDataset", "Required field: IdentityId, is not set");
676     return UnsubscribeFromDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
677   }
678   if (!request.DatasetNameHasBeenSet())
679   {
680     AWS_LOGSTREAM_ERROR("UnsubscribeFromDataset", "Required field: DatasetName, is not set");
681     return UnsubscribeFromDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DatasetName]", false));
682   }
683   if (!request.DeviceIdHasBeenSet())
684   {
685     AWS_LOGSTREAM_ERROR("UnsubscribeFromDataset", "Required field: DeviceId, is not set");
686     return UnsubscribeFromDatasetOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DeviceId]", false));
687   }
688   Aws::Http::URI uri = m_uri;
689   uri.AddPathSegments("/identitypools/");
690   uri.AddPathSegment(request.GetIdentityPoolId());
691   uri.AddPathSegments("/identities/");
692   uri.AddPathSegment(request.GetIdentityId());
693   uri.AddPathSegments("/datasets/");
694   uri.AddPathSegment(request.GetDatasetName());
695   uri.AddPathSegments("/subscriptions/");
696   uri.AddPathSegment(request.GetDeviceId());
697   return UnsubscribeFromDatasetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER));
698 }
699 
UnsubscribeFromDatasetCallable(const UnsubscribeFromDatasetRequest & request) const700 UnsubscribeFromDatasetOutcomeCallable CognitoSyncClient::UnsubscribeFromDatasetCallable(const UnsubscribeFromDatasetRequest& request) const
701 {
702   auto task = Aws::MakeShared< std::packaged_task< UnsubscribeFromDatasetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UnsubscribeFromDataset(request); } );
703   auto packagedFunction = [task]() { (*task)(); };
704   m_executor->Submit(packagedFunction);
705   return task->get_future();
706 }
707 
UnsubscribeFromDatasetAsync(const UnsubscribeFromDatasetRequest & request,const UnsubscribeFromDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const708 void CognitoSyncClient::UnsubscribeFromDatasetAsync(const UnsubscribeFromDatasetRequest& request, const UnsubscribeFromDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
709 {
710   m_executor->Submit( [this, request, handler, context](){ this->UnsubscribeFromDatasetAsyncHelper( request, handler, context ); } );
711 }
712 
UnsubscribeFromDatasetAsyncHelper(const UnsubscribeFromDatasetRequest & request,const UnsubscribeFromDatasetResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const713 void CognitoSyncClient::UnsubscribeFromDatasetAsyncHelper(const UnsubscribeFromDatasetRequest& request, const UnsubscribeFromDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
714 {
715   handler(this, request, UnsubscribeFromDataset(request), context);
716 }
717 
UpdateRecords(const UpdateRecordsRequest & request) const718 UpdateRecordsOutcome CognitoSyncClient::UpdateRecords(const UpdateRecordsRequest& request) const
719 {
720   if (!request.IdentityPoolIdHasBeenSet())
721   {
722     AWS_LOGSTREAM_ERROR("UpdateRecords", "Required field: IdentityPoolId, is not set");
723     return UpdateRecordsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityPoolId]", false));
724   }
725   if (!request.IdentityIdHasBeenSet())
726   {
727     AWS_LOGSTREAM_ERROR("UpdateRecords", "Required field: IdentityId, is not set");
728     return UpdateRecordsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [IdentityId]", false));
729   }
730   if (!request.DatasetNameHasBeenSet())
731   {
732     AWS_LOGSTREAM_ERROR("UpdateRecords", "Required field: DatasetName, is not set");
733     return UpdateRecordsOutcome(Aws::Client::AWSError<CognitoSyncErrors>(CognitoSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DatasetName]", false));
734   }
735   Aws::Http::URI uri = m_uri;
736   uri.AddPathSegments("/identitypools/");
737   uri.AddPathSegment(request.GetIdentityPoolId());
738   uri.AddPathSegments("/identities/");
739   uri.AddPathSegment(request.GetIdentityId());
740   uri.AddPathSegments("/datasets/");
741   uri.AddPathSegment(request.GetDatasetName());
742   return UpdateRecordsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
743 }
744 
UpdateRecordsCallable(const UpdateRecordsRequest & request) const745 UpdateRecordsOutcomeCallable CognitoSyncClient::UpdateRecordsCallable(const UpdateRecordsRequest& request) const
746 {
747   auto task = Aws::MakeShared< std::packaged_task< UpdateRecordsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateRecords(request); } );
748   auto packagedFunction = [task]() { (*task)(); };
749   m_executor->Submit(packagedFunction);
750   return task->get_future();
751 }
752 
UpdateRecordsAsync(const UpdateRecordsRequest & request,const UpdateRecordsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const753 void CognitoSyncClient::UpdateRecordsAsync(const UpdateRecordsRequest& request, const UpdateRecordsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
754 {
755   m_executor->Submit( [this, request, handler, context](){ this->UpdateRecordsAsyncHelper( request, handler, context ); } );
756 }
757 
UpdateRecordsAsyncHelper(const UpdateRecordsRequest & request,const UpdateRecordsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const758 void CognitoSyncClient::UpdateRecordsAsyncHelper(const UpdateRecordsRequest& request, const UpdateRecordsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
759 {
760   handler(this, request, UpdateRecords(request), context);
761 }
762 
763