All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cognitosync.AmazonCognitoSync Maven / Gradle / Ivy

Go to download

The AWS Android SDK for Amazon Cognito Sync module holds the client classes that are used for communicating with Amazon Cognito Sync Service

There is a newer version: 2.6.9
Show newest version
/*
 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.cognitosync;

import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.cognitosync.model.*;

/**
 * Interface for accessing AmazonCognitoSync.
 * 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 * . *

*/ public interface AmazonCognitoSync { /** * Overrides the default endpoint for this client ("https://cognito-sync.us-east-1.amazonaws.com"). * Callers can use this method to control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "cognito-sync.us-east-1.amazonaws.com") or a full * URL, including the protocol (ex: "https://cognito-sync.us-east-1.amazonaws.com"). If the * protocol is not specified here, the default protocol from this client's * {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and * a complete list of all available endpoints for all AWS services, see: * * http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912 *

* This method is not threadsafe. An endpoint should be configured when the * client is created and before any service requests are made. Changing it * afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "cognito-sync.us-east-1.amazonaws.com") or a full URL, * including the protocol (ex: "https://cognito-sync.us-east-1.amazonaws.com") of * the region specific AWS endpoint this client will communicate * with. * * @throws IllegalArgumentException * If any problems are detected with the specified endpoint. */ public void setEndpoint(String endpoint) throws java.lang.IllegalArgumentException; /** * An alternative to {@link AmazonCognitoSync#setEndpoint(String)}, sets the * regional endpoint for this client's service calls. Callers can use this * method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. * To use http instead, specify it in the {@link ClientConfiguration} * supplied at construction. *

* This method is not threadsafe. A region should be configured when the * client is created and before any service requests are made. Changing it * afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param region * The region this client will communicate with. See * {@link Region#getRegion(com.amazonaws.regions.Regions)} for * accessing a given region. * @throws java.lang.IllegalArgumentException * If the given region is null, or if this service isn't * available in the given region. See * {@link Region#isServiceSupported(String)} * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) */ public void setRegion(Region region) throws java.lang.IllegalArgumentException; /** *

* 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. *

* * @param listRecordsRequest Container for the necessary parameters to * execute the ListRecords service method on AmazonCognitoSync. * * @return The response from the ListRecords service method, as returned * by AmazonCognitoSync. * * @throws InternalErrorException * @throws InvalidParameterException * @throws NotAuthorizedException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public ListRecordsResult listRecords(ListRecordsRequest listRecordsRequest) throws AmazonServiceException, AmazonClientException; /** *

* 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. *

* * @param unsubscribeFromDatasetRequest Container for the necessary * parameters to execute the UnsubscribeFromDataset service method on * AmazonCognitoSync. * * @return The response from the UnsubscribeFromDataset service method, * as returned by AmazonCognitoSync. * * @throws ResourceNotFoundException * @throws InternalErrorException * @throws InvalidConfigurationException * @throws NotAuthorizedException * @throws InvalidParameterException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public UnsubscribeFromDatasetResult unsubscribeFromDataset(UnsubscribeFromDatasetRequest unsubscribeFromDatasetRequest) throws AmazonServiceException, AmazonClientException; /** *

* 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. *

* * @param registerDeviceRequest Container for the necessary parameters to * execute the RegisterDevice service method on AmazonCognitoSync. * * @return The response from the RegisterDevice service method, as * returned by AmazonCognitoSync. * * @throws ResourceNotFoundException * @throws InternalErrorException * @throws InvalidConfigurationException * @throws NotAuthorizedException * @throws InvalidParameterException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public RegisterDeviceResult registerDevice(RegisterDeviceRequest registerDeviceRequest) throws AmazonServiceException, AmazonClientException; /** *

* 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. *

* * @param subscribeToDatasetRequest Container for the necessary * parameters to execute the SubscribeToDataset service method on * AmazonCognitoSync. * * @return The response from the SubscribeToDataset service method, as * returned by AmazonCognitoSync. * * @throws ResourceNotFoundException * @throws InternalErrorException * @throws InvalidConfigurationException * @throws NotAuthorizedException * @throws InvalidParameterException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public SubscribeToDatasetResult subscribeToDataset(SubscribeToDatasetRequest subscribeToDatasetRequest) throws AmazonServiceException, AmazonClientException; /** *

* 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. *

* * @param updateRecordsRequest Container for the necessary parameters to * execute the UpdateRecords service method on AmazonCognitoSync. * * @return The response from the UpdateRecords service method, as * returned by AmazonCognitoSync. * * @throws ResourceNotFoundException * @throws InternalErrorException * @throws LambdaThrottledException * @throws InvalidLambdaFunctionOutputException * @throws InvalidParameterException * @throws LimitExceededException * @throws NotAuthorizedException * @throws ResourceConflictException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public UpdateRecordsResult updateRecords(UpdateRecordsRequest updateRecordsRequest) throws AmazonServiceException, AmazonClientException; /** *

* 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. *

* * @param listDatasetsRequest Container for the necessary parameters to * execute the ListDatasets service method on AmazonCognitoSync. * * @return The response from the ListDatasets service method, as returned * by AmazonCognitoSync. * * @throws InternalErrorException * @throws NotAuthorizedException * @throws InvalidParameterException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public ListDatasetsResult listDatasets(ListDatasetsRequest listDatasetsRequest) throws AmazonServiceException, AmazonClientException; /** *

* 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. *

* * @param describeDatasetRequest Container for the necessary parameters * to execute the DescribeDataset service method on AmazonCognitoSync. * * @return The response from the DescribeDataset service method, as * returned by AmazonCognitoSync. * * @throws ResourceNotFoundException * @throws InternalErrorException * @throws NotAuthorizedException * @throws InvalidParameterException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public DescribeDatasetResult describeDataset(DescribeDatasetRequest describeDatasetRequest) throws AmazonServiceException, AmazonClientException; /** *

* 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. *

* * @param deleteDatasetRequest Container for the necessary parameters to * execute the DeleteDataset service method on AmazonCognitoSync. * * @return The response from the DeleteDataset service method, as * returned by AmazonCognitoSync. * * @throws ResourceNotFoundException * @throws InternalErrorException * @throws NotAuthorizedException * @throws InvalidParameterException * @throws ResourceConflictException * @throws TooManyRequestsException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonCognitoSync indicating * either a problem with the data in the request, or a server side issue. */ public DeleteDatasetResult deleteDataset(DeleteDatasetRequest deleteDatasetRequest) throws AmazonServiceException, AmazonClientException; /** * Shuts down this client object, releasing any resources that might be held * open. This is an optional method, and callers are not expected to call * it, but can if they want to explicitly release any open resources. Once a * client has been shutdown, it should not be used to make any more * requests. */ public void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for * debugging issues where a service isn't acting as expected. This data isn't considered part * of the result data returned by an operation, so it's available through this separate, * diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access * this extra diagnostic information for an executed request, you should use this method * to retrieve it as soon as possible after executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy