/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace CognitoSync { namespace Model { class BulkPublishRequest; class DeleteDatasetRequest; class DescribeDatasetRequest; class DescribeIdentityPoolUsageRequest; class DescribeIdentityUsageRequest; class GetBulkPublishDetailsRequest; class GetCognitoEventsRequest; class GetIdentityPoolConfigurationRequest; class ListDatasetsRequest; class ListIdentityPoolUsageRequest; class ListRecordsRequest; class RegisterDeviceRequest; class SetCognitoEventsRequest; class SetIdentityPoolConfigurationRequest; class SubscribeToDatasetRequest; class UnsubscribeFromDatasetRequest; class UpdateRecordsRequest; typedef Aws::Utils::Outcome BulkPublishOutcome; typedef Aws::Utils::Outcome DeleteDatasetOutcome; typedef Aws::Utils::Outcome DescribeDatasetOutcome; typedef Aws::Utils::Outcome DescribeIdentityPoolUsageOutcome; typedef Aws::Utils::Outcome DescribeIdentityUsageOutcome; typedef Aws::Utils::Outcome GetBulkPublishDetailsOutcome; typedef Aws::Utils::Outcome GetCognitoEventsOutcome; typedef Aws::Utils::Outcome GetIdentityPoolConfigurationOutcome; typedef Aws::Utils::Outcome ListDatasetsOutcome; typedef Aws::Utils::Outcome ListIdentityPoolUsageOutcome; typedef Aws::Utils::Outcome ListRecordsOutcome; typedef Aws::Utils::Outcome RegisterDeviceOutcome; typedef Aws::Utils::Outcome SetCognitoEventsOutcome; typedef Aws::Utils::Outcome SetIdentityPoolConfigurationOutcome; typedef Aws::Utils::Outcome SubscribeToDatasetOutcome; typedef Aws::Utils::Outcome UnsubscribeFromDatasetOutcome; typedef Aws::Utils::Outcome UpdateRecordsOutcome; typedef std::future BulkPublishOutcomeCallable; typedef std::future DeleteDatasetOutcomeCallable; typedef std::future DescribeDatasetOutcomeCallable; typedef std::future DescribeIdentityPoolUsageOutcomeCallable; typedef std::future DescribeIdentityUsageOutcomeCallable; typedef std::future GetBulkPublishDetailsOutcomeCallable; typedef std::future GetCognitoEventsOutcomeCallable; typedef std::future GetIdentityPoolConfigurationOutcomeCallable; typedef std::future ListDatasetsOutcomeCallable; typedef std::future ListIdentityPoolUsageOutcomeCallable; typedef std::future ListRecordsOutcomeCallable; typedef std::future RegisterDeviceOutcomeCallable; typedef std::future SetCognitoEventsOutcomeCallable; typedef std::future SetIdentityPoolConfigurationOutcomeCallable; typedef std::future SubscribeToDatasetOutcomeCallable; typedef std::future UnsubscribeFromDatasetOutcomeCallable; typedef std::future UpdateRecordsOutcomeCallable; } // namespace Model class CognitoSyncClient; typedef std::function&) > BulkPublishResponseReceivedHandler; typedef std::function&) > DeleteDatasetResponseReceivedHandler; typedef std::function&) > DescribeDatasetResponseReceivedHandler; typedef std::function&) > DescribeIdentityPoolUsageResponseReceivedHandler; typedef std::function&) > DescribeIdentityUsageResponseReceivedHandler; typedef std::function&) > GetBulkPublishDetailsResponseReceivedHandler; typedef std::function&) > GetCognitoEventsResponseReceivedHandler; typedef std::function&) > GetIdentityPoolConfigurationResponseReceivedHandler; typedef std::function&) > ListDatasetsResponseReceivedHandler; typedef std::function&) > ListIdentityPoolUsageResponseReceivedHandler; typedef std::function&) > ListRecordsResponseReceivedHandler; typedef std::function&) > RegisterDeviceResponseReceivedHandler; typedef std::function&) > SetCognitoEventsResponseReceivedHandler; typedef std::function&) > SetIdentityPoolConfigurationResponseReceivedHandler; typedef std::function&) > SubscribeToDatasetResponseReceivedHandler; typedef std::function&) > UnsubscribeFromDatasetResponseReceivedHandler; typedef std::function&) > UpdateRecordsResponseReceivedHandler; /** * Amazon Cognito Sync

Amazon Cognito Sync provides an AWS * service and client library that enable cross-device syncing of * application-related user data. High-level client libraries are available for * both iOS and Android. You can use these libraries to persist data locally so * that it's available even if the device is offline. Developer credentials don't * need to be stored on the mobile device to access the service. You can use Amazon * Cognito to obtain a normalized user ID and credentials. User data is persisted * in a dataset that can store up to 1 MB of key-value pairs, and you can have up * to 20 datasets per user identity.

With Amazon Cognito Sync, the data * stored for each identity is accessible only to credentials assigned to that * identity. In order to use the Cognito Sync service, you need to make API calls * using credentials retrieved with Amazon * Cognito Identity service.

If you want to use Cognito Sync in an * Android or iOS application, you will probably want to make API calls via the AWS * Mobile SDK. To learn more, see the Developer * Guide for Android and the Developer * Guide for iOS.

*/ class AWS_COGNITOSYNC_API CognitoSyncClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CognitoSyncClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ CognitoSyncClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ CognitoSyncClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~CognitoSyncClient(); /** *

Initiates a bulk publish of all existing datasets for an Identity Pool to the * configured stream. Customers are limited to one successful bulk publish per 24 * hours. Bulk publish is an asynchronous request, customers can see the status of * the request via the GetBulkPublishDetails operation.

This API can only be * called with developer credentials. You cannot call this API with the temporary * user credentials provided by Cognito Identity.

See Also:

AWS * API Reference

*/ virtual Model::BulkPublishOutcome BulkPublish(const Model::BulkPublishRequest& request) const; /** *

Initiates a bulk publish of all existing datasets for an Identity Pool to the * configured stream. Customers are limited to one successful bulk publish per 24 * hours. Bulk publish is an asynchronous request, customers can see the status of * the request via the GetBulkPublishDetails operation.

This API can only be * called with developer credentials. You cannot call this API with the temporary * user credentials provided by Cognito Identity.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BulkPublishOutcomeCallable BulkPublishCallable(const Model::BulkPublishRequest& request) const; /** *

Initiates a bulk publish of all existing datasets for an Identity Pool to the * configured stream. Customers are limited to one successful bulk publish per 24 * hours. Bulk publish is an asynchronous request, customers can see the status of * the request via the GetBulkPublishDetails operation.

This API can only be * called with developer credentials. You cannot call this API with the temporary * user credentials provided by Cognito Identity.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BulkPublishAsync(const Model::BulkPublishRequest& request, const BulkPublishResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specific dataset. The dataset will be deleted permanently, and * the action can't be undone. Datasets that this dataset was merged with will no * longer report the merge. Any subsequent operation on this dataset will result in * a ResourceNotFoundException.

This API can be called with temporary user * credentials provided by Cognito Identity or with developer * credentials.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDatasetOutcome DeleteDataset(const Model::DeleteDatasetRequest& request) const; /** *

Deletes the specific dataset. The dataset will be deleted permanently, and * the action can't be undone. Datasets that this dataset was merged with will no * longer report the merge. Any subsequent operation on this dataset will result in * a ResourceNotFoundException.

This API can be called with temporary user * credentials provided by Cognito Identity or with developer * credentials.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteDatasetOutcomeCallable DeleteDatasetCallable(const Model::DeleteDatasetRequest& request) const; /** *

Deletes the specific dataset. The dataset will be deleted permanently, and * the action can't be undone. Datasets that this dataset was merged with will no * longer report the merge. Any subsequent operation on this dataset will result in * a ResourceNotFoundException.

This API can be called with temporary user * credentials provided by Cognito Identity or with developer * credentials.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteDatasetAsync(const Model::DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets meta data about a dataset by identity and dataset name. With Amazon * Cognito Sync, each identity has access only to its own data. Thus, the * credentials used to make this API call need to have access to the identity * data.

This API can be called with temporary user credentials provided by * Cognito Identity or with developer credentials. You should use Cognito Identity * credentials to make this API call.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDatasetOutcome DescribeDataset(const Model::DescribeDatasetRequest& request) const; /** *

Gets meta data about a dataset by identity and dataset name. With Amazon * Cognito Sync, each identity has access only to its own data. Thus, the * credentials used to make this API call need to have access to the identity * data.

This API can be called with temporary user credentials provided by * Cognito Identity or with developer credentials. You should use Cognito Identity * credentials to make this API call.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeDatasetOutcomeCallable DescribeDatasetCallable(const Model::DescribeDatasetRequest& request) const; /** *

Gets meta data about a dataset by identity and dataset name. With Amazon * Cognito Sync, each identity has access only to its own data. Thus, the * credentials used to make this API call need to have access to the identity * data.

This API can be called with temporary user credentials provided by * Cognito Identity or with developer credentials. You should use Cognito Identity * credentials to make this API call.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeDatasetAsync(const Model::DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets usage details (for example, data storage) about a particular identity * pool.

This API can only be called with developer credentials. You cannot * call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

*/ virtual Model::DescribeIdentityPoolUsageOutcome DescribeIdentityPoolUsage(const Model::DescribeIdentityPoolUsageRequest& request) const; /** *

Gets usage details (for example, data storage) about a particular identity * pool.

This API can only be called with developer credentials. You cannot * call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeIdentityPoolUsageOutcomeCallable DescribeIdentityPoolUsageCallable(const Model::DescribeIdentityPoolUsageRequest& request) const; /** *

Gets usage details (for example, data storage) about a particular identity * pool.

This API can only be called with developer credentials. You cannot * call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeIdentityPoolUsageAsync(const Model::DescribeIdentityPoolUsageRequest& request, const DescribeIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets usage information for an identity, including number of datasets and data * usage.

This API can be called with temporary user credentials provided by * Cognito Identity or with developer credentials.

See Also:

AWS * API Reference

*/ virtual Model::DescribeIdentityUsageOutcome DescribeIdentityUsage(const Model::DescribeIdentityUsageRequest& request) const; /** *

Gets usage information for an identity, including number of datasets and data * usage.

This API can be called with temporary user credentials provided by * Cognito Identity or with developer credentials.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeIdentityUsageOutcomeCallable DescribeIdentityUsageCallable(const Model::DescribeIdentityUsageRequest& request) const; /** *

Gets usage information for an identity, including number of datasets and data * usage.

This API can be called with temporary user credentials provided by * Cognito Identity or with developer credentials.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeIdentityUsageAsync(const Model::DescribeIdentityUsageRequest& request, const DescribeIdentityUsageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Get the status of the last BulkPublish operation for an identity pool.

*

This API can only be called with developer credentials. You cannot call this * API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

*/ virtual Model::GetBulkPublishDetailsOutcome GetBulkPublishDetails(const Model::GetBulkPublishDetailsRequest& request) const; /** *

Get the status of the last BulkPublish operation for an identity pool.

*

This API can only be called with developer credentials. You cannot call this * API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetBulkPublishDetailsOutcomeCallable GetBulkPublishDetailsCallable(const Model::GetBulkPublishDetailsRequest& request) const; /** *

Get the status of the last BulkPublish operation for an identity pool.

*

This API can only be called with developer credentials. You cannot call this * API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetBulkPublishDetailsAsync(const Model::GetBulkPublishDetailsRequest& request, const GetBulkPublishDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the events and the corresponding Lambda functions associated with an * identity pool.

This API can only be called with developer credentials. * You cannot call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

*/ virtual Model::GetCognitoEventsOutcome GetCognitoEvents(const Model::GetCognitoEventsRequest& request) const; /** *

Gets the events and the corresponding Lambda functions associated with an * identity pool.

This API can only be called with developer credentials. * You cannot call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetCognitoEventsOutcomeCallable GetCognitoEventsCallable(const Model::GetCognitoEventsRequest& request) const; /** *

Gets the events and the corresponding Lambda functions associated with an * identity pool.

This API can only be called with developer credentials. * You cannot call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetCognitoEventsAsync(const Model::GetCognitoEventsRequest& request, const GetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the configuration settings of an identity pool.

This API can only * be called with developer credentials. You cannot call this API with the * temporary user credentials provided by Cognito Identity.

See * Also:

AWS * API Reference

*/ virtual Model::GetIdentityPoolConfigurationOutcome GetIdentityPoolConfiguration(const Model::GetIdentityPoolConfigurationRequest& request) const; /** *

Gets the configuration settings of an identity pool.

This API can only * be called with developer credentials. You cannot call this API with the * temporary user credentials provided by Cognito Identity.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetIdentityPoolConfigurationOutcomeCallable GetIdentityPoolConfigurationCallable(const Model::GetIdentityPoolConfigurationRequest& request) const; /** *

Gets the configuration settings of an identity pool.

This API can only * be called with developer credentials. You cannot call this API with the * temporary user credentials provided by Cognito Identity.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetIdentityPoolConfigurationAsync(const Model::GetIdentityPoolConfigurationRequest& request, const GetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists datasets for an identity. With Amazon Cognito Sync, each identity has * access only to its own data. Thus, the credentials used to make this API call * need to have access to the identity data.

ListDatasets can be called with * temporary user credentials provided by Cognito Identity or with developer * credentials. You should use the Cognito Identity credentials to make this API * call.

See Also:

AWS * API Reference

*/ virtual Model::ListDatasetsOutcome ListDatasets(const Model::ListDatasetsRequest& request) const; /** *

Lists datasets for an identity. With Amazon Cognito Sync, each identity has * access only to its own data. Thus, the credentials used to make this API call * need to have access to the identity data.

ListDatasets can be called with * temporary user credentials provided by Cognito Identity or with developer * credentials. You should use the Cognito Identity credentials to make this API * call.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListDatasetsOutcomeCallable ListDatasetsCallable(const Model::ListDatasetsRequest& request) const; /** *

Lists datasets for an identity. With Amazon Cognito Sync, each identity has * access only to its own data. Thus, the credentials used to make this API call * need to have access to the identity data.

ListDatasets can be called with * temporary user credentials provided by Cognito Identity or with developer * credentials. You should use the Cognito Identity credentials to make this API * call.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListDatasetsAsync(const Model::ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets a list of identity pools registered with Cognito.

*

ListIdentityPoolUsage can only be called with developer credentials. You * cannot make this API call with the temporary user credentials provided by * Cognito Identity.

See Also:

AWS * API Reference

*/ virtual Model::ListIdentityPoolUsageOutcome ListIdentityPoolUsage(const Model::ListIdentityPoolUsageRequest& request) const; /** *

Gets a list of identity pools registered with Cognito.

*

ListIdentityPoolUsage can only be called with developer credentials. You * cannot make this API call with the temporary user credentials provided by * Cognito Identity.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListIdentityPoolUsageOutcomeCallable ListIdentityPoolUsageCallable(const Model::ListIdentityPoolUsageRequest& request) const; /** *

Gets a list of identity pools registered with Cognito.

*

ListIdentityPoolUsage can only be called with developer credentials. You * cannot make this API call with the temporary user credentials provided by * Cognito Identity.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListIdentityPoolUsageAsync(const Model::ListIdentityPoolUsageRequest& request, const ListIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets paginated records, optionally changed after a particular sync count for * a dataset and identity. With Amazon Cognito Sync, each identity has access only * to its own data. Thus, the credentials used to make this API call need to have * access to the identity data.

ListRecords can be called with temporary * user credentials provided by Cognito Identity or with developer credentials. You * should use Cognito Identity credentials to make this API call.

See * Also:

AWS * API Reference

*/ virtual Model::ListRecordsOutcome ListRecords(const Model::ListRecordsRequest& request) const; /** *

Gets paginated records, optionally changed after a particular sync count for * a dataset and identity. With Amazon Cognito Sync, each identity has access only * to its own data. Thus, the credentials used to make this API call need to have * access to the identity data.

ListRecords can be called with temporary * user credentials provided by Cognito Identity or with developer credentials. You * should use Cognito Identity credentials to make this API call.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRecordsOutcomeCallable ListRecordsCallable(const Model::ListRecordsRequest& request) const; /** *

Gets paginated records, optionally changed after a particular sync count for * a dataset and identity. With Amazon Cognito Sync, each identity has access only * to its own data. Thus, the credentials used to make this API call need to have * access to the identity data.

ListRecords can be called with temporary * user credentials provided by Cognito Identity or with developer credentials. You * should use Cognito Identity credentials to make this API call.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRecordsAsync(const Model::ListRecordsRequest& request, const ListRecordsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Registers a device to receive push sync notifications.

This API can * only be called with temporary credentials provided by Cognito Identity. You * cannot call this API with developer credentials.

See Also:

AWS * API Reference

*/ virtual Model::RegisterDeviceOutcome RegisterDevice(const Model::RegisterDeviceRequest& request) const; /** *

Registers a device to receive push sync notifications.

This API can * only be called with temporary credentials provided by Cognito Identity. You * cannot call this API with developer credentials.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RegisterDeviceOutcomeCallable RegisterDeviceCallable(const Model::RegisterDeviceRequest& request) const; /** *

Registers a device to receive push sync notifications.

This API can * only be called with temporary credentials provided by Cognito Identity. You * cannot call this API with developer credentials.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RegisterDeviceAsync(const Model::RegisterDeviceRequest& request, const RegisterDeviceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Sets the AWS Lambda function for a given event type for an identity pool. * This request only updates the key/value pair specified. Other key/values pairs * are not updated. To remove a key value pair, pass a empty value for the * particular key.

This API can only be called with developer credentials. * You cannot call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

*/ virtual Model::SetCognitoEventsOutcome SetCognitoEvents(const Model::SetCognitoEventsRequest& request) const; /** *

Sets the AWS Lambda function for a given event type for an identity pool. * This request only updates the key/value pair specified. Other key/values pairs * are not updated. To remove a key value pair, pass a empty value for the * particular key.

This API can only be called with developer credentials. * You cannot call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SetCognitoEventsOutcomeCallable SetCognitoEventsCallable(const Model::SetCognitoEventsRequest& request) const; /** *

Sets the AWS Lambda function for a given event type for an identity pool. * This request only updates the key/value pair specified. Other key/values pairs * are not updated. To remove a key value pair, pass a empty value for the * particular key.

This API can only be called with developer credentials. * You cannot call this API with the temporary user credentials provided by Cognito * Identity.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SetCognitoEventsAsync(const Model::SetCognitoEventsRequest& request, const SetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Sets the necessary configuration for push sync.

This API can only be * called with developer credentials. You cannot call this API with the temporary * user credentials provided by Cognito Identity.

See Also:

AWS * API Reference

*/ virtual Model::SetIdentityPoolConfigurationOutcome SetIdentityPoolConfiguration(const Model::SetIdentityPoolConfigurationRequest& request) const; /** *

Sets the necessary configuration for push sync.

This API can only be * called with developer credentials. You cannot call this API with the temporary * user credentials provided by Cognito Identity.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SetIdentityPoolConfigurationOutcomeCallable SetIdentityPoolConfigurationCallable(const Model::SetIdentityPoolConfigurationRequest& request) const; /** *

Sets the necessary configuration for push sync.

This API can only be * called with developer credentials. You cannot call this API with the temporary * user credentials provided by Cognito Identity.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SetIdentityPoolConfigurationAsync(const Model::SetIdentityPoolConfigurationRequest& request, const SetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Subscribes to receive notifications when a dataset is modified by another * device.

This API can only be called with temporary credentials provided * by Cognito Identity. You cannot call this API with developer * credentials.

See Also:

AWS * API Reference

*/ virtual Model::SubscribeToDatasetOutcome SubscribeToDataset(const Model::SubscribeToDatasetRequest& request) const; /** *

Subscribes to receive notifications when a dataset is modified by another * device.

This API can only be called with temporary credentials provided * by Cognito Identity. You cannot call this API with developer * credentials.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SubscribeToDatasetOutcomeCallable SubscribeToDatasetCallable(const Model::SubscribeToDatasetRequest& request) const; /** *

Subscribes to receive notifications when a dataset is modified by another * device.

This API can only be called with temporary credentials provided * by Cognito Identity. You cannot call this API with developer * credentials.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SubscribeToDatasetAsync(const Model::SubscribeToDatasetRequest& request, const SubscribeToDatasetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Unsubscribes from receiving notifications when a dataset is modified by * another device.

This API can only be called with temporary credentials * provided by Cognito Identity. You cannot call this API with developer * credentials.

See Also:

AWS * API Reference

*/ virtual Model::UnsubscribeFromDatasetOutcome UnsubscribeFromDataset(const Model::UnsubscribeFromDatasetRequest& request) const; /** *

Unsubscribes from receiving notifications when a dataset is modified by * another device.

This API can only be called with temporary credentials * provided by Cognito Identity. You cannot call this API with developer * credentials.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UnsubscribeFromDatasetOutcomeCallable UnsubscribeFromDatasetCallable(const Model::UnsubscribeFromDatasetRequest& request) const; /** *

Unsubscribes from receiving notifications when a dataset is modified by * another device.

This API can only be called with temporary credentials * provided by Cognito Identity. You cannot call this API with developer * credentials.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UnsubscribeFromDatasetAsync(const Model::UnsubscribeFromDatasetRequest& request, const UnsubscribeFromDatasetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Posts updates to records and adds and deletes records for a dataset and * user.

The sync count in the record patch is your last known sync count * for that record. The server will reject an UpdateRecords request with a * ResourceConflictException if you try to patch a record with a new value but a * stale sync count.

For example, if the sync count on the server is 5 for a * key called highScore and you try and submit a new highScore with sync count of * 4, the request will be rejected. To obtain the current sync count for a record, * call ListRecords. On a successful update of the record, the response returns the * new sync count for that record. You should present that sync count the next time * you try to update that same record. When the record does not exist, specify the * sync count as 0.

This API can be called with temporary user credentials * provided by Cognito Identity or with developer credentials.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateRecordsOutcome UpdateRecords(const Model::UpdateRecordsRequest& request) const; /** *

Posts updates to records and adds and deletes records for a dataset and * user.

The sync count in the record patch is your last known sync count * for that record. The server will reject an UpdateRecords request with a * ResourceConflictException if you try to patch a record with a new value but a * stale sync count.

For example, if the sync count on the server is 5 for a * key called highScore and you try and submit a new highScore with sync count of * 4, the request will be rejected. To obtain the current sync count for a record, * call ListRecords. On a successful update of the record, the response returns the * new sync count for that record. You should present that sync count the next time * you try to update that same record. When the record does not exist, specify the * sync count as 0.

This API can be called with temporary user credentials * provided by Cognito Identity or with developer credentials.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRecordsOutcomeCallable UpdateRecordsCallable(const Model::UpdateRecordsRequest& request) const; /** *

Posts updates to records and adds and deletes records for a dataset and * user.

The sync count in the record patch is your last known sync count * for that record. The server will reject an UpdateRecords request with a * ResourceConflictException if you try to patch a record with a new value but a * stale sync count.

For example, if the sync count on the server is 5 for a * key called highScore and you try and submit a new highScore with sync count of * 4, the request will be rejected. To obtain the current sync count for a record, * call ListRecords. On a successful update of the record, the response returns the * new sync count for that record. You should present that sync count the next time * you try to update that same record. When the record does not exist, specify the * sync count as 0.

This API can be called with temporary user credentials * provided by Cognito Identity or with developer credentials.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRecordsAsync(const Model::UpdateRecordsRequest& request, const UpdateRecordsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void BulkPublishAsyncHelper(const Model::BulkPublishRequest& request, const BulkPublishResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteDatasetAsyncHelper(const Model::DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeDatasetAsyncHelper(const Model::DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeIdentityPoolUsageAsyncHelper(const Model::DescribeIdentityPoolUsageRequest& request, const DescribeIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeIdentityUsageAsyncHelper(const Model::DescribeIdentityUsageRequest& request, const DescribeIdentityUsageResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetBulkPublishDetailsAsyncHelper(const Model::GetBulkPublishDetailsRequest& request, const GetBulkPublishDetailsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetCognitoEventsAsyncHelper(const Model::GetCognitoEventsRequest& request, const GetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetIdentityPoolConfigurationAsyncHelper(const Model::GetIdentityPoolConfigurationRequest& request, const GetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListDatasetsAsyncHelper(const Model::ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListIdentityPoolUsageAsyncHelper(const Model::ListIdentityPoolUsageRequest& request, const ListIdentityPoolUsageResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRecordsAsyncHelper(const Model::ListRecordsRequest& request, const ListRecordsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RegisterDeviceAsyncHelper(const Model::RegisterDeviceRequest& request, const RegisterDeviceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SetCognitoEventsAsyncHelper(const Model::SetCognitoEventsRequest& request, const SetCognitoEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SetIdentityPoolConfigurationAsyncHelper(const Model::SetIdentityPoolConfigurationRequest& request, const SetIdentityPoolConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SubscribeToDatasetAsyncHelper(const Model::SubscribeToDatasetRequest& request, const SubscribeToDatasetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UnsubscribeFromDatasetAsyncHelper(const Model::UnsubscribeFromDatasetRequest& request, const UnsubscribeFromDatasetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRecordsAsyncHelper(const Model::UpdateRecordsRequest& request, const UpdateRecordsResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace CognitoSync } // namespace Aws