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

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

/*
 * Copyright 2010-2017 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 Amazon Cognito Sync 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; /** *

* 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 A request to delete the specific dataset. * @return deleteDatasetResult The response from the DeleteDataset service * method, as returned by Amazon Cognito Sync. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws ResourceNotFoundException Thrown if the resource doesn't exist. * @throws InternalErrorException Indicates an internal service error. * @throws TooManyRequestsException Thrown if the request is throttled. * @throws ResourceConflictException Thrown if an update can't be applied * because the resource was changed by another call and this * would result in a conflict. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ DeleteDatasetResult deleteDataset(DeleteDatasetRequest deleteDatasetRequest) throws AmazonClientException, AmazonServiceException; /** *

* 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 A request for meta data about a dataset * (creation date, number of records, size) by owner and dataset * name. * @return describeDatasetResult The response from the DescribeDataset * service method, as returned by Amazon Cognito Sync. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws ResourceNotFoundException Thrown if the resource doesn't exist. * @throws InternalErrorException Indicates an internal service error. * @throws TooManyRequestsException Thrown if the request is throttled. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ DescribeDatasetResult describeDataset(DescribeDatasetRequest describeDatasetRequest) throws AmazonClientException, AmazonServiceException; /** *

* 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 Request for a list of datasets for an * identity. * @return listDatasetsResult The response from the ListDatasets service * method, as returned by Amazon Cognito Sync. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws InternalErrorException Indicates an internal service error. * @throws TooManyRequestsException Thrown if the request is throttled. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ ListDatasetsResult listDatasets(ListDatasetsRequest listDatasetsRequest) throws AmazonClientException, AmazonServiceException; /** *

* 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 A request for a list of records. * @return listRecordsResult The response from the ListRecords service * method, as returned by Amazon Cognito Sync. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws TooManyRequestsException Thrown if the request is throttled. * @throws InternalErrorException Indicates an internal service error. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ ListRecordsResult listRecords(ListRecordsRequest listRecordsRequest) throws AmazonClientException, AmazonServiceException; /** *

* 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

* A request to RegisterDevice. *

* @return registerDeviceResult The response from the RegisterDevice service * method, as returned by Amazon Cognito Sync. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws ResourceNotFoundException Thrown if the resource doesn't exist. * @throws InternalErrorException Indicates an internal service error. * @throws InvalidConfigurationException * @throws TooManyRequestsException Thrown if the request is throttled. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ RegisterDeviceResult registerDevice(RegisterDeviceRequest registerDeviceRequest) throws AmazonClientException, AmazonServiceException; /** *

* 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

* A request to SubscribeToDatasetRequest. *

* @return subscribeToDatasetResult The response from the SubscribeToDataset * service method, as returned by Amazon Cognito Sync. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws ResourceNotFoundException Thrown if the resource doesn't exist. * @throws InternalErrorException Indicates an internal service error. * @throws InvalidConfigurationException * @throws TooManyRequestsException Thrown if the request is throttled. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ SubscribeToDatasetResult subscribeToDataset(SubscribeToDatasetRequest subscribeToDatasetRequest) throws AmazonClientException, AmazonServiceException; /** *

* 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

* A request to UnsubscribeFromDataset. *

* @return unsubscribeFromDatasetResult The response from the * UnsubscribeFromDataset service method, as returned by Amazon * Cognito Sync. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws ResourceNotFoundException Thrown if the resource doesn't exist. * @throws InternalErrorException Indicates an internal service error. * @throws InvalidConfigurationException * @throws TooManyRequestsException Thrown if the request is throttled. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ UnsubscribeFromDatasetResult unsubscribeFromDataset( UnsubscribeFromDatasetRequest unsubscribeFromDatasetRequest) throws AmazonClientException, AmazonServiceException; /** *

* 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 A request to post updates to records or add * and delete records for a dataset and user. * @return updateRecordsResult The response from the UpdateRecords service * method, as returned by Amazon Cognito Sync. * @throws InvalidParameterException Thrown when a request parameter does * not comply with the associated constraints. * @throws LimitExceededException Thrown when the limit on the number of * objects or operations has been exceeded. * @throws NotAuthorizedException Thrown when a user is not authorized to * access the requested resource. * @throws ResourceNotFoundException Thrown if the resource doesn't exist. * @throws ResourceConflictException Thrown if an update can't be applied * because the resource was changed by another call and this * would result in a conflict. * @throws InvalidLambdaFunctionOutputException

* The AWS Lambda function returned invalid output or an * exception. *

* @throws LambdaThrottledException

* AWS Lambda throttled your account, please contact AWS Support *

* @throws TooManyRequestsException Thrown if the request is throttled. * @throws InternalErrorException Indicates an internal service error. * @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 Amazon * Cognito Sync indicating either a problem with the data in the * request, or a server side issue. */ UpdateRecordsResult updateRecords(UpdateRecordsRequest updateRecordsRequest) throws AmazonClientException, AmazonServiceException; /** * 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 - 2024 Weber Informatics LLC | Privacy Policy