-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Cognito Sync SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.CognitoSync</a> or <a>the AWS documentation</a> to
--   get started.
@package amazonka-cognito-sync
@version 1.4.5


module Network.AWS.CognitoSync.Types

-- | API version <tt>2014-06-30</tt> of the Amazon Cognito Sync SDK
--   configuration.
cognitoSync :: Service

-- | Thrown when a request parameter does not comply with the associated
--   constraints.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown when a user is not authorized to access the requested resource.
_NotAuthorizedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates an internal service error.
_InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Prism for InvalidConfigurationException' errors.
_InvalidConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An exception thrown when there is an IN_PROGRESS bulk publish
--   operation for the given identity pool.
_DuplicateRequestException :: AsError a => Getting (First ServiceError) a ServiceError

-- | AWS Lambda throttled your account, please contact AWS Support
_LambdaThrottledException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An exception thrown when a bulk publish operation is requested less
--   than 24 hours after a previous bulk publish operation completed
--   successfully.
_AlreadyStreamedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The AWS Lambda function returned invalid output or an exception.
_InvalidLambdaFunctionOutputException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if the request is throttled.
_TooManyRequestsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if there are parallel requests to modify a resource.
_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if an update can't be applied because the resource was changed
--   by another call and this would result in a conflict.
_ResourceConflictException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if the resource doesn't exist.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown when the limit on the number of objects or operations has been
--   exceeded.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data BulkPublishStatus
Failed :: BulkPublishStatus
InProgress :: BulkPublishStatus
NotStarted :: BulkPublishStatus
Succeeded :: BulkPublishStatus
data Operation
Remove :: Operation
Replace :: Operation
data Platform
ADM :: Platform
APNS :: Platform
APNSSandbox :: Platform
GCM :: Platform
data StreamingStatus
Disabled :: StreamingStatus
Enabled :: StreamingStatus

-- | Configuration options for configure Cognito streams.
--   
--   <i>See:</i> <a>cognitoStreams</a> smart constructor.
data CognitoStreams

-- | Creates a value of <a>CognitoStreams</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csStreamingStatus</a> - Status of the Cognito streams. Valid
--   values are: ENABLED - Streaming of updates to identity pool is
--   enabled. DISABLED - Streaming of updates to identity pool is disabled.
--   Bulk publish will also fail if StreamingStatus is DISABLED.</li>
--   <li><a>csStreamName</a> - The name of the Cognito stream to receive
--   updates. This stream must be in the developers account and in the same
--   region as the identity pool.</li>
--   <li><a>csRoleARN</a> - The ARN of the role Amazon Cognito can assume
--   in order to publish to the stream. This role must grant access to
--   Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito
--   stream.</li>
--   </ul>
cognitoStreams :: CognitoStreams

-- | Status of the Cognito streams. Valid values are: ENABLED - Streaming
--   of updates to identity pool is enabled. DISABLED - Streaming of
--   updates to identity pool is disabled. Bulk publish will also fail if
--   StreamingStatus is DISABLED.
csStreamingStatus :: Lens' CognitoStreams (Maybe StreamingStatus)

-- | The name of the Cognito stream to receive updates. This stream must be
--   in the developers account and in the same region as the identity pool.
csStreamName :: Lens' CognitoStreams (Maybe Text)

-- | The ARN of the role Amazon Cognito can assume in order to publish to
--   the stream. This role must grant access to Amazon Cognito
--   (cognito-sync) to invoke PutRecord on your Cognito stream.
csRoleARN :: Lens' CognitoStreams (Maybe Text)

-- | A collection of data for an identity pool. An identity pool can have
--   multiple datasets. A dataset is per identity and can be general or
--   associated with a particular entity in an application (like a saved
--   game). Datasets are automatically created if they don't exist. Data is
--   synced by dataset, and a dataset can hold up to 1MB of key-value
--   pairs.
--   
--   <i>See:</i> <a>dataset</a> smart constructor.
data Dataset

-- | Creates a value of <a>Dataset</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dLastModifiedDate</a> - Date when the dataset was last
--   modified.</li>
--   <li><a>dNumRecords</a> - Number of records in this dataset.</li>
--   <li><a>dDataStorage</a> - Total size in bytes of the records in this
--   dataset.</li>
--   <li><a>dDatasetName</a> - A string of up to 128 characters. Allowed
--   characters are a-z, A-Z, 0-9, '_' (underscore), <a>-</a> (dash), and
--   <a>.</a> (dot).</li>
--   <li><a>dCreationDate</a> - Date on which the dataset was created.</li>
--   <li><a>dLastModifiedBy</a> - The device that made the last change to
--   this dataset.</li>
--   <li><a>dIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
dataset :: Dataset

-- | Date when the dataset was last modified.
dLastModifiedDate :: Lens' Dataset (Maybe UTCTime)

-- | Number of records in this dataset.
dNumRecords :: Lens' Dataset (Maybe Integer)

-- | Total size in bytes of the records in this dataset.
dDataStorage :: Lens' Dataset (Maybe Integer)

-- | A string of up to 128 characters. Allowed characters are a-z, A-Z,
--   0-9, '_' (underscore), <a>-</a> (dash), and <a>.</a> (dot).
dDatasetName :: Lens' Dataset (Maybe Text)

-- | Date on which the dataset was created.
dCreationDate :: Lens' Dataset (Maybe UTCTime)

-- | The device that made the last change to this dataset.
dLastModifiedBy :: Lens' Dataset (Maybe Text)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
dIdentityId :: Lens' Dataset (Maybe Text)

-- | Usage information for the identity pool.
--   
--   <i>See:</i> <a>identityPoolUsage</a> smart constructor.
data IdentityPoolUsage

-- | Creates a value of <a>IdentityPoolUsage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ipuLastModifiedDate</a> - Date on which the identity pool was
--   last modified.</li>
--   <li><a>ipuIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>ipuDataStorage</a> - Data storage information for the identity
--   pool.</li>
--   <li><a>ipuSyncSessionsCount</a> - Number of sync sessions for the
--   identity pool.</li>
--   </ul>
identityPoolUsage :: IdentityPoolUsage

-- | Date on which the identity pool was last modified.
ipuLastModifiedDate :: Lens' IdentityPoolUsage (Maybe UTCTime)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
ipuIdentityPoolId :: Lens' IdentityPoolUsage (Maybe Text)

-- | Data storage information for the identity pool.
ipuDataStorage :: Lens' IdentityPoolUsage (Maybe Integer)

-- | Number of sync sessions for the identity pool.
ipuSyncSessionsCount :: Lens' IdentityPoolUsage (Maybe Integer)

-- | Usage information for the identity.
--   
--   <i>See:</i> <a>identityUsage</a> smart constructor.
data IdentityUsage

-- | Creates a value of <a>IdentityUsage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iuLastModifiedDate</a> - Date on which the identity was last
--   modified.</li>
--   <li><a>iuIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>iuDatasetCount</a> - Number of datasets for the identity.</li>
--   <li><a>iuDataStorage</a> - Total data storage for this identity.</li>
--   <li><a>iuIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
identityUsage :: IdentityUsage

-- | Date on which the identity was last modified.
iuLastModifiedDate :: Lens' IdentityUsage (Maybe UTCTime)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
iuIdentityPoolId :: Lens' IdentityUsage (Maybe Text)

-- | Number of datasets for the identity.
iuDatasetCount :: Lens' IdentityUsage (Maybe Int)

-- | Total data storage for this identity.
iuDataStorage :: Lens' IdentityUsage (Maybe Integer)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
iuIdentityId :: Lens' IdentityUsage (Maybe Text)

-- | Configuration options to be applied to the identity pool.
--   
--   <i>See:</i> <a>pushSync</a> smart constructor.
data PushSync

-- | Creates a value of <a>PushSync</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psApplicationARNs</a> - List of SNS platform application ARNs
--   that could be used by clients.</li>
--   <li><a>psRoleARN</a> - A role configured to allow Cognito to call SNS
--   on behalf of the developer.</li>
--   </ul>
pushSync :: PushSync

-- | List of SNS platform application ARNs that could be used by clients.
psApplicationARNs :: Lens' PushSync [Text]

-- | A role configured to allow Cognito to call SNS on behalf of the
--   developer.
psRoleARN :: Lens' PushSync (Maybe Text)

-- | The basic data structure of a dataset.
--   
--   <i>See:</i> <a>record</a> smart constructor.
data Record

-- | Creates a value of <a>Record</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rSyncCount</a> - The server sync count for this record.</li>
--   <li><a>rDeviceLastModifiedDate</a> - The last modified date of the
--   client device.</li>
--   <li><a>rLastModifiedDate</a> - The date on which the record was last
--   modified.</li>
--   <li><a>rValue</a> - The value for the record.</li>
--   <li><a>rKey</a> - The key for the record.</li>
--   <li><a>rLastModifiedBy</a> - The user/device that made the last change
--   to this record.</li>
--   </ul>
record :: Record

-- | The server sync count for this record.
rSyncCount :: Lens' Record (Maybe Integer)

-- | The last modified date of the client device.
rDeviceLastModifiedDate :: Lens' Record (Maybe UTCTime)

-- | The date on which the record was last modified.
rLastModifiedDate :: Lens' Record (Maybe UTCTime)

-- | The value for the record.
rValue :: Lens' Record (Maybe Text)

-- | The key for the record.
rKey :: Lens' Record (Maybe Text)

-- | The user/device that made the last change to this record.
rLastModifiedBy :: Lens' Record (Maybe Text)

-- | An update operation for a record.
--   
--   <i>See:</i> <a>recordPatch</a> smart constructor.
data RecordPatch

-- | Creates a value of <a>RecordPatch</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpDeviceLastModifiedDate</a> - The last modified date of the
--   client device.</li>
--   <li><a>rpValue</a> - The value associated with the record patch.</li>
--   <li><a>rpOp</a> - An operation, either replace or remove.</li>
--   <li><a>rpKey</a> - The key associated with the record patch.</li>
--   <li><a>rpSyncCount</a> - Last known server sync count for this record.
--   Set to 0 if unknown.</li>
--   </ul>
recordPatch :: Operation -> Text -> Integer -> RecordPatch

-- | The last modified date of the client device.
rpDeviceLastModifiedDate :: Lens' RecordPatch (Maybe UTCTime)

-- | The value associated with the record patch.
rpValue :: Lens' RecordPatch (Maybe Text)

-- | An operation, either replace or remove.
rpOp :: Lens' RecordPatch Operation

-- | The key associated with the record patch.
rpKey :: Lens' RecordPatch Text

-- | Last known server sync count for this record. Set to 0 if unknown.
rpSyncCount :: Lens' RecordPatch Integer


-- | 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.
module Network.AWS.CognitoSync.UnsubscribeFromDataset

-- | Creates a value of <a>UnsubscribeFromDataset</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ufdIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. The ID of the pool to which this identity belongs.</li>
--   <li><a>ufdIdentityId</a> - Unique ID for this identity.</li>
--   <li><a>ufdDatasetName</a> - The name of the dataset from which to
--   unsubcribe.</li>
--   <li><a>ufdDeviceId</a> - The unique ID generated for this device by
--   Cognito.</li>
--   </ul>
unsubscribeFromDataset :: Text -> Text -> Text -> Text -> UnsubscribeFromDataset

-- | A request to UnsubscribeFromDataset.
--   
--   <i>See:</i> <a>unsubscribeFromDataset</a> smart constructor.
data UnsubscribeFromDataset

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. The ID of the pool to which this identity belongs.
ufdIdentityPoolId :: Lens' UnsubscribeFromDataset Text

-- | Unique ID for this identity.
ufdIdentityId :: Lens' UnsubscribeFromDataset Text

-- | The name of the dataset from which to unsubcribe.
ufdDatasetName :: Lens' UnsubscribeFromDataset Text

-- | The unique ID generated for this device by Cognito.
ufdDeviceId :: Lens' UnsubscribeFromDataset Text

-- | Creates a value of <a>UnsubscribeFromDatasetResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ufdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
unsubscribeFromDatasetResponse :: Int -> UnsubscribeFromDatasetResponse

-- | Response to an UnsubscribeFromDataset request.
--   
--   <i>See:</i> <a>unsubscribeFromDatasetResponse</a> smart constructor.
data UnsubscribeFromDatasetResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ufdrsResponseStatus :: Lens' UnsubscribeFromDatasetResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDatasetResponse
instance Data.Data.Data Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDatasetResponse
instance GHC.Show.Show Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDatasetResponse
instance GHC.Read.Read Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDatasetResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDatasetResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Data.Data.Data Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance GHC.Show.Show Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance GHC.Read.Read Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance GHC.Classes.Eq Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDatasetResponse


-- | 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.
module Network.AWS.CognitoSync.UpdateRecords

-- | Creates a value of <a>UpdateRecords</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urRecordPatches</a> - A list of patch operations.</li>
--   <li><a>urDeviceId</a> - The unique ID generated for this device by
--   Cognito.</li>
--   <li><a>urClientContext</a> - Intended to supply a device ID that will
--   populate the lastModifiedBy field referenced in other methods. The
--   ClientContext field is not yet implemented.</li>
--   <li><a>urIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>urIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>urDatasetName</a> - A string of up to 128 characters. Allowed
--   characters are a-z, A-Z, 0-9, '_' (underscore), <a>-</a> (dash), and
--   <a>.</a> (dot).</li>
--   <li><a>urSyncSessionToken</a> - The SyncSessionToken returned by a
--   previous call to ListRecords for this dataset and identity.</li>
--   </ul>
updateRecords :: Text -> Text -> Text -> Text -> UpdateRecords

-- | A request to post updates to records or add and delete records for a
--   dataset and user.
--   
--   <i>See:</i> <a>updateRecords</a> smart constructor.
data UpdateRecords

-- | A list of patch operations.
urRecordPatches :: Lens' UpdateRecords [RecordPatch]

-- | The unique ID generated for this device by Cognito.
urDeviceId :: Lens' UpdateRecords (Maybe Text)

-- | Intended to supply a device ID that will populate the lastModifiedBy
--   field referenced in other methods. The ClientContext field is not yet
--   implemented.
urClientContext :: Lens' UpdateRecords (Maybe Text)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
urIdentityPoolId :: Lens' UpdateRecords Text

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
urIdentityId :: Lens' UpdateRecords Text

-- | A string of up to 128 characters. Allowed characters are a-z, A-Z,
--   0-9, '_' (underscore), <a>-</a> (dash), and <a>.</a> (dot).
urDatasetName :: Lens' UpdateRecords Text

-- | The SyncSessionToken returned by a previous call to ListRecords for
--   this dataset and identity.
urSyncSessionToken :: Lens' UpdateRecords Text

-- | Creates a value of <a>UpdateRecordsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urrsRecords</a> - A list of records that have been
--   updated.</li>
--   <li><a>urrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateRecordsResponse :: Int -> UpdateRecordsResponse

-- | Returned for a successful UpdateRecordsRequest.
--   
--   <i>See:</i> <a>updateRecordsResponse</a> smart constructor.
data UpdateRecordsResponse

-- | A list of records that have been updated.
urrsRecords :: Lens' UpdateRecordsResponse [Record]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
urrsResponseStatus :: Lens' UpdateRecordsResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.UpdateRecords.UpdateRecordsResponse
instance Data.Data.Data Network.AWS.CognitoSync.UpdateRecords.UpdateRecordsResponse
instance GHC.Show.Show Network.AWS.CognitoSync.UpdateRecords.UpdateRecordsResponse
instance GHC.Read.Read Network.AWS.CognitoSync.UpdateRecords.UpdateRecordsResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.UpdateRecords.UpdateRecordsResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Data.Data.Data Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance GHC.Show.Show Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance GHC.Read.Read Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance GHC.Classes.Eq Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.UpdateRecords.UpdateRecords
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.UpdateRecords.UpdateRecordsResponse


module Network.AWS.CognitoSync.Waiters


-- | 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.
module Network.AWS.CognitoSync.SubscribeToDataset

-- | Creates a value of <a>SubscribeToDataset</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>stdIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. The ID of the pool to which the identity belongs.</li>
--   <li><a>stdIdentityId</a> - Unique ID for this identity.</li>
--   <li><a>stdDatasetName</a> - The name of the dataset to subcribe
--   to.</li>
--   <li><a>stdDeviceId</a> - The unique ID generated for this device by
--   Cognito.</li>
--   </ul>
subscribeToDataset :: Text -> Text -> Text -> Text -> SubscribeToDataset

-- | A request to SubscribeToDatasetRequest.
--   
--   <i>See:</i> <a>subscribeToDataset</a> smart constructor.
data SubscribeToDataset

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. The ID of the pool to which the identity belongs.
stdIdentityPoolId :: Lens' SubscribeToDataset Text

-- | Unique ID for this identity.
stdIdentityId :: Lens' SubscribeToDataset Text

-- | The name of the dataset to subcribe to.
stdDatasetName :: Lens' SubscribeToDataset Text

-- | The unique ID generated for this device by Cognito.
stdDeviceId :: Lens' SubscribeToDataset Text

-- | Creates a value of <a>SubscribeToDatasetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>stdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
subscribeToDatasetResponse :: Int -> SubscribeToDatasetResponse

-- | Response to a SubscribeToDataset request.
--   
--   <i>See:</i> <a>subscribeToDatasetResponse</a> smart constructor.
data SubscribeToDatasetResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
stdrsResponseStatus :: Lens' SubscribeToDatasetResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDatasetResponse
instance Data.Data.Data Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDatasetResponse
instance GHC.Show.Show Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDatasetResponse
instance GHC.Read.Read Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDatasetResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDatasetResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Data.Data.Data Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance GHC.Show.Show Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance GHC.Read.Read Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance GHC.Classes.Eq Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDatasetResponse


-- | 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.
module Network.AWS.CognitoSync.SetIdentityPoolConfiguration

-- | Creates a value of <a>SetIdentityPoolConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sipcCognitoStreams</a> - Options to apply to this identity pool
--   for Amazon Cognito streams.</li>
--   <li><a>sipcPushSync</a> - Options to apply to this identity pool for
--   push synchronization.</li>
--   <li><a>sipcIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. This is the ID of the pool to modify.</li>
--   </ul>
setIdentityPoolConfiguration :: Text -> SetIdentityPoolConfiguration

-- | The input for the SetIdentityPoolConfiguration operation.
--   
--   <i>See:</i> <a>setIdentityPoolConfiguration</a> smart constructor.
data SetIdentityPoolConfiguration

-- | Options to apply to this identity pool for Amazon Cognito streams.
sipcCognitoStreams :: Lens' SetIdentityPoolConfiguration (Maybe CognitoStreams)

-- | Options to apply to this identity pool for push synchronization.
sipcPushSync :: Lens' SetIdentityPoolConfiguration (Maybe PushSync)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. This is the ID of the pool to modify.
sipcIdentityPoolId :: Lens' SetIdentityPoolConfiguration Text

-- | Creates a value of <a>SetIdentityPoolConfigurationResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sipcrsIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito.</li>
--   <li><a>sipcrsCognitoStreams</a> - Options to apply to this identity
--   pool for Amazon Cognito streams.</li>
--   <li><a>sipcrsPushSync</a> - Options to apply to this identity pool for
--   push synchronization.</li>
--   <li><a>sipcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
setIdentityPoolConfigurationResponse :: Int -> SetIdentityPoolConfigurationResponse

-- | The output for the SetIdentityPoolConfiguration operation
--   
--   <i>See:</i> <a>setIdentityPoolConfigurationResponse</a> smart
--   constructor.
data SetIdentityPoolConfigurationResponse

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito.
sipcrsIdentityPoolId :: Lens' SetIdentityPoolConfigurationResponse (Maybe Text)

-- | Options to apply to this identity pool for Amazon Cognito streams.
sipcrsCognitoStreams :: Lens' SetIdentityPoolConfigurationResponse (Maybe CognitoStreams)

-- | Options to apply to this identity pool for push synchronization.
sipcrsPushSync :: Lens' SetIdentityPoolConfigurationResponse (Maybe PushSync)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
sipcrsResponseStatus :: Lens' SetIdentityPoolConfigurationResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfigurationResponse
instance Data.Data.Data Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfigurationResponse
instance GHC.Show.Show Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfigurationResponse
instance GHC.Read.Read Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfigurationResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfigurationResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Data.Data.Data Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance GHC.Show.Show Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance GHC.Read.Read Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance GHC.Classes.Eq Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfiguration
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfigurationResponse


-- | Sets the AWS Lambda function for a given event type for an identity
--   pool. This request only updates the key<i>value pair specified. Other
--   key</i>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.
module Network.AWS.CognitoSync.SetCognitoEvents

-- | Creates a value of <a>SetCognitoEvents</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sceIdentityPoolId</a> - The Cognito Identity Pool to use when
--   configuring Cognito Events</li>
--   <li><a>sceEvents</a> - The events to configure</li>
--   </ul>
setCognitoEvents :: Text -> SetCognitoEvents

-- | A request to configure Cognito Events"
--   
--   <i>See:</i> <a>setCognitoEvents</a> smart constructor.
data SetCognitoEvents

-- | The Cognito Identity Pool to use when configuring Cognito Events
sceIdentityPoolId :: Lens' SetCognitoEvents Text

-- | The events to configure
sceEvents :: Lens' SetCognitoEvents (HashMap Text Text)

-- | Creates a value of <a>SetCognitoEventsResponse</a> with the minimum
--   fields required to make a request.
setCognitoEventsResponse :: SetCognitoEventsResponse

-- | <i>See:</i> <a>setCognitoEventsResponse</a> smart constructor.
data SetCognitoEventsResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEventsResponse
instance Data.Data.Data Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEventsResponse
instance GHC.Show.Show Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEventsResponse
instance GHC.Read.Read Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEventsResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEventsResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Data.Data.Data Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance GHC.Show.Show Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance GHC.Read.Read Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance GHC.Classes.Eq Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEvents
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEventsResponse


-- | 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.
module Network.AWS.CognitoSync.RegisterDevice

-- | Creates a value of <a>RegisterDevice</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. Here, the ID of the pool that the identity belongs to.</li>
--   <li><a>rdIdentityId</a> - The unique ID for this identity.</li>
--   <li><a>rdPlatform</a> - The SNS platform type (e.g. GCM, SDM, APNS,
--   APNS_SANDBOX).</li>
--   <li><a>rdToken</a> - The push token.</li>
--   </ul>
registerDevice :: Text -> Text -> Platform -> Text -> RegisterDevice

-- | A request to RegisterDevice.
--   
--   <i>See:</i> <a>registerDevice</a> smart constructor.
data RegisterDevice

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. Here, the ID of the pool that the identity belongs to.
rdIdentityPoolId :: Lens' RegisterDevice Text

-- | The unique ID for this identity.
rdIdentityId :: Lens' RegisterDevice Text

-- | The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX).
rdPlatform :: Lens' RegisterDevice Platform

-- | The push token.
rdToken :: Lens' RegisterDevice Text

-- | Creates a value of <a>RegisterDeviceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdrsDeviceId</a> - The unique ID generated for this device by
--   Cognito.</li>
--   <li><a>rdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
registerDeviceResponse :: Int -> RegisterDeviceResponse

-- | Response to a RegisterDevice request.
--   
--   <i>See:</i> <a>registerDeviceResponse</a> smart constructor.
data RegisterDeviceResponse

-- | The unique ID generated for this device by Cognito.
rdrsDeviceId :: Lens' RegisterDeviceResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdrsResponseStatus :: Lens' RegisterDeviceResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.RegisterDevice.RegisterDeviceResponse
instance Data.Data.Data Network.AWS.CognitoSync.RegisterDevice.RegisterDeviceResponse
instance GHC.Show.Show Network.AWS.CognitoSync.RegisterDevice.RegisterDeviceResponse
instance GHC.Read.Read Network.AWS.CognitoSync.RegisterDevice.RegisterDeviceResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.RegisterDevice.RegisterDeviceResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Data.Data.Data Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance GHC.Show.Show Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance GHC.Read.Read Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance GHC.Classes.Eq Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.RegisterDevice.RegisterDevice
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.RegisterDevice.RegisterDeviceResponse


-- | 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.
module Network.AWS.CognitoSync.ListRecords

-- | Creates a value of <a>ListRecords</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lrLastSyncCount</a> - The last server sync count for this
--   record.</li>
--   <li><a>lrNextToken</a> - A pagination token for obtaining the next
--   page of results.</li>
--   <li><a>lrSyncSessionToken</a> - A token containing a session ID,
--   identity ID, and expiration.</li>
--   <li><a>lrMaxResults</a> - The maximum number of results to be
--   returned.</li>
--   <li><a>lrIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>lrIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>lrDatasetName</a> - A string of up to 128 characters. Allowed
--   characters are a-z, A-Z, 0-9, '_' (underscore), <a>-</a> (dash), and
--   <a>.</a> (dot).</li>
--   </ul>
listRecords :: Text -> Text -> Text -> ListRecords

-- | A request for a list of records.
--   
--   <i>See:</i> <a>listRecords</a> smart constructor.
data ListRecords

-- | The last server sync count for this record.
lrLastSyncCount :: Lens' ListRecords (Maybe Integer)

-- | A pagination token for obtaining the next page of results.
lrNextToken :: Lens' ListRecords (Maybe Text)

-- | A token containing a session ID, identity ID, and expiration.
lrSyncSessionToken :: Lens' ListRecords (Maybe Text)

-- | The maximum number of results to be returned.
lrMaxResults :: Lens' ListRecords (Maybe Int)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
lrIdentityPoolId :: Lens' ListRecords Text

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
lrIdentityId :: Lens' ListRecords Text

-- | A string of up to 128 characters. Allowed characters are a-z, A-Z,
--   0-9, '_' (underscore), <a>-</a> (dash), and <a>.</a> (dot).
lrDatasetName :: Lens' ListRecords Text

-- | Creates a value of <a>ListRecordsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lrrsDatasetDeletedAfterRequestedSyncCount</a> - A boolean value
--   specifying whether to delete the dataset locally.</li>
--   <li><a>lrrsDatasetExists</a> - Indicates whether the dataset
--   exists.</li>
--   <li><a>lrrsCount</a> - Total number of records.</li>
--   <li><a>lrrsRecords</a> - A list of all records.</li>
--   <li><a>lrrsNextToken</a> - A pagination token for obtaining the next
--   page of results.</li>
--   <li><a>lrrsMergedDatasetNames</a> - Names of merged datasets.</li>
--   <li><a>lrrsSyncSessionToken</a> - A token containing a session ID,
--   identity ID, and expiration.</li>
--   <li><a>lrrsLastModifiedBy</a> - The user/device that made the last
--   change to this record.</li>
--   <li><a>lrrsDatasetSyncCount</a> - Server sync count for this
--   dataset.</li>
--   <li><a>lrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listRecordsResponse :: Int -> ListRecordsResponse

-- | Returned for a successful ListRecordsRequest.
--   
--   <i>See:</i> <a>listRecordsResponse</a> smart constructor.
data ListRecordsResponse

-- | A boolean value specifying whether to delete the dataset locally.
lrrsDatasetDeletedAfterRequestedSyncCount :: Lens' ListRecordsResponse (Maybe Bool)

-- | Indicates whether the dataset exists.
lrrsDatasetExists :: Lens' ListRecordsResponse (Maybe Bool)

-- | Total number of records.
lrrsCount :: Lens' ListRecordsResponse (Maybe Int)

-- | A list of all records.
lrrsRecords :: Lens' ListRecordsResponse [Record]

-- | A pagination token for obtaining the next page of results.
lrrsNextToken :: Lens' ListRecordsResponse (Maybe Text)

-- | Names of merged datasets.
lrrsMergedDatasetNames :: Lens' ListRecordsResponse [Text]

-- | A token containing a session ID, identity ID, and expiration.
lrrsSyncSessionToken :: Lens' ListRecordsResponse (Maybe Text)

-- | The user/device that made the last change to this record.
lrrsLastModifiedBy :: Lens' ListRecordsResponse (Maybe Text)

-- | Server sync count for this dataset.
lrrsDatasetSyncCount :: Lens' ListRecordsResponse (Maybe Integer)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lrrsResponseStatus :: Lens' ListRecordsResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.ListRecords.ListRecordsResponse
instance Data.Data.Data Network.AWS.CognitoSync.ListRecords.ListRecordsResponse
instance GHC.Show.Show Network.AWS.CognitoSync.ListRecords.ListRecordsResponse
instance GHC.Read.Read Network.AWS.CognitoSync.ListRecords.ListRecordsResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.ListRecords.ListRecordsResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.ListRecords.ListRecords
instance Data.Data.Data Network.AWS.CognitoSync.ListRecords.ListRecords
instance GHC.Show.Show Network.AWS.CognitoSync.ListRecords.ListRecords
instance GHC.Read.Read Network.AWS.CognitoSync.ListRecords.ListRecords
instance GHC.Classes.Eq Network.AWS.CognitoSync.ListRecords.ListRecords
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.ListRecords.ListRecords
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.ListRecords.ListRecords
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.ListRecords.ListRecords
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.ListRecords.ListRecords
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.ListRecords.ListRecords
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.ListRecords.ListRecords
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.ListRecords.ListRecordsResponse


-- | 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.
module Network.AWS.CognitoSync.ListIdentityPoolUsage

-- | Creates a value of <a>ListIdentityPoolUsage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lipuNextToken</a> - A pagination token for obtaining the next
--   page of results.</li>
--   <li><a>lipuMaxResults</a> - The maximum number of results to be
--   returned.</li>
--   </ul>
listIdentityPoolUsage :: ListIdentityPoolUsage

-- | A request for usage information on an identity pool.
--   
--   <i>See:</i> <a>listIdentityPoolUsage</a> smart constructor.
data ListIdentityPoolUsage

-- | A pagination token for obtaining the next page of results.
lipuNextToken :: Lens' ListIdentityPoolUsage (Maybe Text)

-- | The maximum number of results to be returned.
lipuMaxResults :: Lens' ListIdentityPoolUsage (Maybe Int)

-- | Creates a value of <a>ListIdentityPoolUsageResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lipursIdentityPoolUsages</a> - Usage information for the
--   identity pools.</li>
--   <li><a>lipursCount</a> - Total number of identities for the identity
--   pool.</li>
--   <li><a>lipursNextToken</a> - A pagination token for obtaining the next
--   page of results.</li>
--   <li><a>lipursMaxResults</a> - The maximum number of results to be
--   returned.</li>
--   <li><a>lipursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listIdentityPoolUsageResponse :: Int -> ListIdentityPoolUsageResponse

-- | Returned for a successful ListIdentityPoolUsage request.
--   
--   <i>See:</i> <a>listIdentityPoolUsageResponse</a> smart constructor.
data ListIdentityPoolUsageResponse

-- | Usage information for the identity pools.
lipursIdentityPoolUsages :: Lens' ListIdentityPoolUsageResponse [IdentityPoolUsage]

-- | Total number of identities for the identity pool.
lipursCount :: Lens' ListIdentityPoolUsageResponse (Maybe Int)

-- | A pagination token for obtaining the next page of results.
lipursNextToken :: Lens' ListIdentityPoolUsageResponse (Maybe Text)

-- | The maximum number of results to be returned.
lipursMaxResults :: Lens' ListIdentityPoolUsageResponse (Maybe Int)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lipursResponseStatus :: Lens' ListIdentityPoolUsageResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsageResponse
instance Data.Data.Data Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsageResponse
instance GHC.Show.Show Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsageResponse
instance GHC.Read.Read Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsageResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsageResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Data.Data.Data Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance GHC.Show.Show Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance GHC.Read.Read Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance GHC.Classes.Eq Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsage
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsageResponse


-- | 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.
module Network.AWS.CognitoSync.ListDatasets

-- | Creates a value of <a>ListDatasets</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldNextToken</a> - A pagination token for obtaining the next
--   page of results.</li>
--   <li><a>ldMaxResults</a> - The maximum number of results to be
--   returned.</li>
--   <li><a>ldIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>ldIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
listDatasets :: Text -> Text -> ListDatasets

-- | Request for a list of datasets for an identity.
--   
--   <i>See:</i> <a>listDatasets</a> smart constructor.
data ListDatasets

-- | A pagination token for obtaining the next page of results.
ldNextToken :: Lens' ListDatasets (Maybe Text)

-- | The maximum number of results to be returned.
ldMaxResults :: Lens' ListDatasets (Maybe Int)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
ldIdentityId :: Lens' ListDatasets Text

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
ldIdentityPoolId :: Lens' ListDatasets Text

-- | Creates a value of <a>ListDatasetsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrsCount</a> - Number of datasets returned.</li>
--   <li><a>ldrsNextToken</a> - A pagination token for obtaining the next
--   page of results.</li>
--   <li><a>ldrsDatasets</a> - A set of datasets.</li>
--   <li><a>ldrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDatasetsResponse :: Int -> ListDatasetsResponse

-- | Returned for a successful ListDatasets request.
--   
--   <i>See:</i> <a>listDatasetsResponse</a> smart constructor.
data ListDatasetsResponse

-- | Number of datasets returned.
ldrsCount :: Lens' ListDatasetsResponse (Maybe Int)

-- | A pagination token for obtaining the next page of results.
ldrsNextToken :: Lens' ListDatasetsResponse (Maybe Text)

-- | A set of datasets.
ldrsDatasets :: Lens' ListDatasetsResponse [Dataset]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldrsResponseStatus :: Lens' ListDatasetsResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.ListDatasets.ListDatasetsResponse
instance Data.Data.Data Network.AWS.CognitoSync.ListDatasets.ListDatasetsResponse
instance GHC.Show.Show Network.AWS.CognitoSync.ListDatasets.ListDatasetsResponse
instance GHC.Read.Read Network.AWS.CognitoSync.ListDatasets.ListDatasetsResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.ListDatasets.ListDatasetsResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Data.Data.Data Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance GHC.Show.Show Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance GHC.Read.Read Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance GHC.Classes.Eq Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.ListDatasets.ListDatasets
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.ListDatasets.ListDatasetsResponse


-- | 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.
module Network.AWS.CognitoSync.GetIdentityPoolConfiguration

-- | Creates a value of <a>GetIdentityPoolConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gipcIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. This is the ID of the pool for which to return a
--   configuration.</li>
--   </ul>
getIdentityPoolConfiguration :: Text -> GetIdentityPoolConfiguration

-- | The input for the GetIdentityPoolConfiguration operation.
--   
--   <i>See:</i> <a>getIdentityPoolConfiguration</a> smart constructor.
data GetIdentityPoolConfiguration

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. This is the ID of the pool for which to return a
--   configuration.
gipcIdentityPoolId :: Lens' GetIdentityPoolConfiguration Text

-- | Creates a value of <a>GetIdentityPoolConfigurationResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gipcrsIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito.</li>
--   <li><a>gipcrsCognitoStreams</a> - Options to apply to this identity
--   pool for Amazon Cognito streams.</li>
--   <li><a>gipcrsPushSync</a> - Options to apply to this identity pool for
--   push synchronization.</li>
--   <li><a>gipcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getIdentityPoolConfigurationResponse :: Int -> GetIdentityPoolConfigurationResponse

-- | The output for the GetIdentityPoolConfiguration operation.
--   
--   <i>See:</i> <a>getIdentityPoolConfigurationResponse</a> smart
--   constructor.
data GetIdentityPoolConfigurationResponse

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito.
gipcrsIdentityPoolId :: Lens' GetIdentityPoolConfigurationResponse (Maybe Text)

-- | Options to apply to this identity pool for Amazon Cognito streams.
gipcrsCognitoStreams :: Lens' GetIdentityPoolConfigurationResponse (Maybe CognitoStreams)

-- | Options to apply to this identity pool for push synchronization.
gipcrsPushSync :: Lens' GetIdentityPoolConfigurationResponse (Maybe PushSync)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gipcrsResponseStatus :: Lens' GetIdentityPoolConfigurationResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfigurationResponse
instance Data.Data.Data Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfigurationResponse
instance GHC.Show.Show Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfigurationResponse
instance GHC.Read.Read Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfigurationResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfigurationResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Data.Data.Data Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance GHC.Show.Show Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance GHC.Read.Read Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance GHC.Classes.Eq Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfiguration
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfigurationResponse


-- | 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.
module Network.AWS.CognitoSync.GetCognitoEvents

-- | Creates a value of <a>GetCognitoEvents</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gceIdentityPoolId</a> - The Cognito Identity Pool ID for the
--   request</li>
--   </ul>
getCognitoEvents :: Text -> GetCognitoEvents

-- | A request for a list of the configured Cognito Events
--   
--   <i>See:</i> <a>getCognitoEvents</a> smart constructor.
data GetCognitoEvents

-- | The Cognito Identity Pool ID for the request
gceIdentityPoolId :: Lens' GetCognitoEvents Text

-- | Creates a value of <a>GetCognitoEventsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcersEvents</a> - The Cognito Events returned from the
--   GetCognitoEvents request</li>
--   <li><a>gcersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getCognitoEventsResponse :: Int -> GetCognitoEventsResponse

-- | The response from the GetCognitoEvents request
--   
--   <i>See:</i> <a>getCognitoEventsResponse</a> smart constructor.
data GetCognitoEventsResponse

-- | The Cognito Events returned from the GetCognitoEvents request
gcersEvents :: Lens' GetCognitoEventsResponse (HashMap Text Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcersResponseStatus :: Lens' GetCognitoEventsResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEventsResponse
instance Data.Data.Data Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEventsResponse
instance GHC.Show.Show Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEventsResponse
instance GHC.Read.Read Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEventsResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEventsResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Data.Data.Data Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance GHC.Show.Show Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance GHC.Read.Read Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance GHC.Classes.Eq Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEvents
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEventsResponse


-- | 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.
module Network.AWS.CognitoSync.GetBulkPublishDetails

-- | Creates a value of <a>GetBulkPublishDetails</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gbpdIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
getBulkPublishDetails :: Text -> GetBulkPublishDetails

-- | The input for the GetBulkPublishDetails operation.
--   
--   <i>See:</i> <a>getBulkPublishDetails</a> smart constructor.
data GetBulkPublishDetails

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
gbpdIdentityPoolId :: Lens' GetBulkPublishDetails Text

-- | Creates a value of <a>GetBulkPublishDetailsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gbpdrsBulkPublishStartTime</a> - The date/time at which the
--   last bulk publish was initiated.</li>
--   <li><a>gbpdrsIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>gbpdrsBulkPublishCompleteTime</a> - If BulkPublishStatus is
--   SUCCEEDED, the time the last bulk publish operation completed.</li>
--   <li><a>gbpdrsFailureMessage</a> - If BulkPublishStatus is FAILED this
--   field will contain the error message that caused the bulk publish to
--   fail.</li>
--   <li><a>gbpdrsBulkPublishStatus</a> - Status of the last bulk publish
--   operation, valid values are: NOT_STARTED - No bulk publish has been
--   requested for this identity pool IN_PROGRESS - Data is being published
--   to the configured stream SUCCEEDED - All data for the identity pool
--   has been published to the configured stream FAILED - Some portion of
--   the data has failed to publish, check FailureMessage for the
--   cause.</li>
--   <li><a>gbpdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getBulkPublishDetailsResponse :: Int -> GetBulkPublishDetailsResponse

-- | The output for the GetBulkPublishDetails operation.
--   
--   <i>See:</i> <a>getBulkPublishDetailsResponse</a> smart constructor.
data GetBulkPublishDetailsResponse

-- | The date/time at which the last bulk publish was initiated.
gbpdrsBulkPublishStartTime :: Lens' GetBulkPublishDetailsResponse (Maybe UTCTime)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
gbpdrsIdentityPoolId :: Lens' GetBulkPublishDetailsResponse (Maybe Text)

-- | If BulkPublishStatus is SUCCEEDED, the time the last bulk publish
--   operation completed.
gbpdrsBulkPublishCompleteTime :: Lens' GetBulkPublishDetailsResponse (Maybe UTCTime)

-- | If BulkPublishStatus is FAILED this field will contain the error
--   message that caused the bulk publish to fail.
gbpdrsFailureMessage :: Lens' GetBulkPublishDetailsResponse (Maybe Text)

-- | Status of the last bulk publish operation, valid values are:
--   NOT_STARTED - No bulk publish has been requested for this identity
--   pool IN_PROGRESS - Data is being published to the configured stream
--   SUCCEEDED - All data for the identity pool has been published to the
--   configured stream FAILED - Some portion of the data has failed to
--   publish, check FailureMessage for the cause.
gbpdrsBulkPublishStatus :: Lens' GetBulkPublishDetailsResponse (Maybe BulkPublishStatus)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gbpdrsResponseStatus :: Lens' GetBulkPublishDetailsResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetailsResponse
instance Data.Data.Data Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetailsResponse
instance GHC.Show.Show Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetailsResponse
instance GHC.Read.Read Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetailsResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetailsResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Data.Data.Data Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance GHC.Show.Show Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance GHC.Read.Read Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance GHC.Classes.Eq Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetails
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetailsResponse


-- | 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.
module Network.AWS.CognitoSync.DescribeIdentityUsage

-- | Creates a value of <a>DescribeIdentityUsage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diuIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>diuIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
describeIdentityUsage :: Text -> Text -> DescribeIdentityUsage

-- | A request for information about the usage of an identity pool.
--   
--   <i>See:</i> <a>describeIdentityUsage</a> smart constructor.
data DescribeIdentityUsage

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
diuIdentityPoolId :: Lens' DescribeIdentityUsage Text

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
diuIdentityId :: Lens' DescribeIdentityUsage Text

-- | Creates a value of <a>DescribeIdentityUsageResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diursIdentityUsage</a> - Usage information for the
--   identity.</li>
--   <li><a>diursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeIdentityUsageResponse :: Int -> DescribeIdentityUsageResponse

-- | The response to a successful DescribeIdentityUsage request.
--   
--   <i>See:</i> <a>describeIdentityUsageResponse</a> smart constructor.
data DescribeIdentityUsageResponse

-- | Usage information for the identity.
diursIdentityUsage :: Lens' DescribeIdentityUsageResponse (Maybe IdentityUsage)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
diursResponseStatus :: Lens' DescribeIdentityUsageResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsageResponse
instance Data.Data.Data Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsageResponse
instance GHC.Show.Show Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsageResponse
instance GHC.Read.Read Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsageResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsageResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Data.Data.Data Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance GHC.Show.Show Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance GHC.Read.Read Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance GHC.Classes.Eq Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsage
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsageResponse


-- | 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.
module Network.AWS.CognitoSync.DescribeIdentityPoolUsage

-- | Creates a value of <a>DescribeIdentityPoolUsage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dipuIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
describeIdentityPoolUsage :: Text -> DescribeIdentityPoolUsage

-- | A request for usage information about the identity pool.
--   
--   <i>See:</i> <a>describeIdentityPoolUsage</a> smart constructor.
data DescribeIdentityPoolUsage

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
dipuIdentityPoolId :: Lens' DescribeIdentityPoolUsage Text

-- | Creates a value of <a>DescribeIdentityPoolUsageResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dipursIdentityPoolUsage</a> - Information about the usage of
--   the identity pool.</li>
--   <li><a>dipursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeIdentityPoolUsageResponse :: Int -> DescribeIdentityPoolUsageResponse

-- | Response to a successful DescribeIdentityPoolUsage request.
--   
--   <i>See:</i> <a>describeIdentityPoolUsageResponse</a> smart
--   constructor.
data DescribeIdentityPoolUsageResponse

-- | Information about the usage of the identity pool.
dipursIdentityPoolUsage :: Lens' DescribeIdentityPoolUsageResponse (Maybe IdentityPoolUsage)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dipursResponseStatus :: Lens' DescribeIdentityPoolUsageResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsageResponse
instance Data.Data.Data Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsageResponse
instance GHC.Show.Show Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsageResponse
instance GHC.Read.Read Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsageResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsageResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Data.Data.Data Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance GHC.Show.Show Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance GHC.Read.Read Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance GHC.Classes.Eq Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsage
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsageResponse


-- | 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.
module Network.AWS.CognitoSync.DescribeDataset

-- | Creates a value of <a>DescribeDataset</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>ddIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>ddDatasetName</a> - A string of up to 128 characters. Allowed
--   characters are a-z, A-Z, 0-9, '_' (underscore), <a>-</a> (dash), and
--   <a>.</a> (dot).</li>
--   </ul>
describeDataset :: Text -> Text -> Text -> DescribeDataset

-- | A request for meta data about a dataset (creation date, number of
--   records, size) by owner and dataset name.
--   
--   <i>See:</i> <a>describeDataset</a> smart constructor.
data DescribeDataset

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
ddIdentityPoolId :: Lens' DescribeDataset Text

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
ddIdentityId :: Lens' DescribeDataset Text

-- | A string of up to 128 characters. Allowed characters are a-z, A-Z,
--   0-9, '_' (underscore), <a>-</a> (dash), and <a>.</a> (dot).
ddDatasetName :: Lens' DescribeDataset Text

-- | Creates a value of <a>DescribeDatasetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddrsDataset</a> - Meta data for a collection of data for an
--   identity. An identity can have multiple datasets. A dataset can be
--   general or associated with a particular entity in an application (like
--   a saved game). Datasets are automatically created if they don't exist.
--   Data is synced by dataset, and a dataset can hold up to 1MB of
--   key-value pairs.</li>
--   <li><a>ddrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDatasetResponse :: Int -> DescribeDatasetResponse

-- | Response to a successful DescribeDataset request.
--   
--   <i>See:</i> <a>describeDatasetResponse</a> smart constructor.
data DescribeDatasetResponse

-- | Meta data for a collection of data for an identity. An identity can
--   have multiple datasets. A dataset can be general or associated with a
--   particular entity in an application (like a saved game). Datasets are
--   automatically created if they don't exist. Data is synced by dataset,
--   and a dataset can hold up to 1MB of key-value pairs.
ddrsDataset :: Lens' DescribeDatasetResponse (Maybe Dataset)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddrsResponseStatus :: Lens' DescribeDatasetResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.DescribeDataset.DescribeDatasetResponse
instance Data.Data.Data Network.AWS.CognitoSync.DescribeDataset.DescribeDatasetResponse
instance GHC.Show.Show Network.AWS.CognitoSync.DescribeDataset.DescribeDatasetResponse
instance GHC.Read.Read Network.AWS.CognitoSync.DescribeDataset.DescribeDatasetResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.DescribeDataset.DescribeDatasetResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Data.Data.Data Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance GHC.Show.Show Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance GHC.Read.Read Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance GHC.Classes.Eq Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.DescribeDataset.DescribeDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeDataset.DescribeDatasetResponse


-- | 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.
module Network.AWS.CognitoSync.DeleteDataset

-- | Creates a value of <a>DeleteDataset</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>delIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>delDatasetName</a> - A string of up to 128 characters. Allowed
--   characters are a-z, A-Z, 0-9, '_' (underscore), <a>-</a> (dash), and
--   <a>.</a> (dot).</li>
--   </ul>
deleteDataset :: Text -> Text -> Text -> DeleteDataset

-- | A request to delete the specific dataset.
--   
--   <i>See:</i> <a>deleteDataset</a> smart constructor.
data DeleteDataset

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
delIdentityPoolId :: Lens' DeleteDataset Text

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
delIdentityId :: Lens' DeleteDataset Text

-- | A string of up to 128 characters. Allowed characters are a-z, A-Z,
--   0-9, '_' (underscore), <a>-</a> (dash), and <a>.</a> (dot).
delDatasetName :: Lens' DeleteDataset Text

-- | Creates a value of <a>DeleteDatasetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsDataset</a> - A collection of data for an identity pool. An
--   identity pool can have multiple datasets. A dataset is per identity
--   and can be general or associated with a particular entity in an
--   application (like a saved game). Datasets are automatically created if
--   they don't exist. Data is synced by dataset, and a dataset can hold up
--   to 1MB of key-value pairs.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDatasetResponse :: Int -> DeleteDatasetResponse

-- | Response to a successful DeleteDataset request.
--   
--   <i>See:</i> <a>deleteDatasetResponse</a> smart constructor.
data DeleteDatasetResponse

-- | A collection of data for an identity pool. An identity pool can have
--   multiple datasets. A dataset is per identity and can be general or
--   associated with a particular entity in an application (like a saved
--   game). Datasets are automatically created if they don't exist. Data is
--   synced by dataset, and a dataset can hold up to 1MB of key-value
--   pairs.
drsDataset :: Lens' DeleteDatasetResponse (Maybe Dataset)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DeleteDatasetResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.DeleteDataset.DeleteDatasetResponse
instance Data.Data.Data Network.AWS.CognitoSync.DeleteDataset.DeleteDatasetResponse
instance GHC.Show.Show Network.AWS.CognitoSync.DeleteDataset.DeleteDatasetResponse
instance GHC.Read.Read Network.AWS.CognitoSync.DeleteDataset.DeleteDatasetResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.DeleteDataset.DeleteDatasetResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Data.Data.Data Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance GHC.Show.Show Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance GHC.Read.Read Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance GHC.Classes.Eq Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.DeleteDataset.DeleteDataset
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.DeleteDataset.DeleteDatasetResponse


-- | 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.
module Network.AWS.CognitoSync.BulkPublish

-- | Creates a value of <a>BulkPublish</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bpIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
bulkPublish :: Text -> BulkPublish

-- | The input for the BulkPublish operation.
--   
--   <i>See:</i> <a>bulkPublish</a> smart constructor.
data BulkPublish

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
bpIdentityPoolId :: Lens' BulkPublish Text

-- | Creates a value of <a>BulkPublishResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bprsIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>bprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
bulkPublishResponse :: Int -> BulkPublishResponse

-- | The output for the BulkPublish operation.
--   
--   <i>See:</i> <a>bulkPublishResponse</a> smart constructor.
data BulkPublishResponse

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
bprsIdentityPoolId :: Lens' BulkPublishResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bprsResponseStatus :: Lens' BulkPublishResponse Int
instance GHC.Generics.Generic Network.AWS.CognitoSync.BulkPublish.BulkPublishResponse
instance Data.Data.Data Network.AWS.CognitoSync.BulkPublish.BulkPublishResponse
instance GHC.Show.Show Network.AWS.CognitoSync.BulkPublish.BulkPublishResponse
instance GHC.Read.Read Network.AWS.CognitoSync.BulkPublish.BulkPublishResponse
instance GHC.Classes.Eq Network.AWS.CognitoSync.BulkPublish.BulkPublishResponse
instance GHC.Generics.Generic Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Data.Data.Data Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance GHC.Show.Show Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance GHC.Read.Read Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance GHC.Classes.Eq Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Network.AWS.Types.AWSRequest Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Data.Hashable.Class.Hashable Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Network.AWS.Data.Path.ToPath Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Network.AWS.Data.Query.ToQuery Network.AWS.CognitoSync.BulkPublish.BulkPublish
instance Control.DeepSeq.NFData Network.AWS.CognitoSync.BulkPublish.BulkPublishResponse


-- | <b>Amazon Cognito Sync</b>
--   
--   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 <a>Amazon Cognito Identity service</a> .
--   
--   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 <a>Developer Guide for Android</a> and the <a>Developer
--   Guide for iOS</a> .
module Network.AWS.CognitoSync

-- | API version <tt>2014-06-30</tt> of the Amazon Cognito Sync SDK
--   configuration.
cognitoSync :: Service

-- | Thrown when a request parameter does not comply with the associated
--   constraints.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown when a user is not authorized to access the requested resource.
_NotAuthorizedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates an internal service error.
_InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Prism for InvalidConfigurationException' errors.
_InvalidConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An exception thrown when there is an IN_PROGRESS bulk publish
--   operation for the given identity pool.
_DuplicateRequestException :: AsError a => Getting (First ServiceError) a ServiceError

-- | AWS Lambda throttled your account, please contact AWS Support
_LambdaThrottledException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An exception thrown when a bulk publish operation is requested less
--   than 24 hours after a previous bulk publish operation completed
--   successfully.
_AlreadyStreamedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The AWS Lambda function returned invalid output or an exception.
_InvalidLambdaFunctionOutputException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if the request is throttled.
_TooManyRequestsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if there are parallel requests to modify a resource.
_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if an update can't be applied because the resource was changed
--   by another call and this would result in a conflict.
_ResourceConflictException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown if the resource doesn't exist.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Thrown when the limit on the number of objects or operations has been
--   exceeded.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data BulkPublishStatus
Failed :: BulkPublishStatus
InProgress :: BulkPublishStatus
NotStarted :: BulkPublishStatus
Succeeded :: BulkPublishStatus
data Operation
Remove :: Operation
Replace :: Operation
data Platform
ADM :: Platform
APNS :: Platform
APNSSandbox :: Platform
GCM :: Platform
data StreamingStatus
Disabled :: StreamingStatus
Enabled :: StreamingStatus

-- | Configuration options for configure Cognito streams.
--   
--   <i>See:</i> <a>cognitoStreams</a> smart constructor.
data CognitoStreams

-- | Creates a value of <a>CognitoStreams</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csStreamingStatus</a> - Status of the Cognito streams. Valid
--   values are: ENABLED - Streaming of updates to identity pool is
--   enabled. DISABLED - Streaming of updates to identity pool is disabled.
--   Bulk publish will also fail if StreamingStatus is DISABLED.</li>
--   <li><a>csStreamName</a> - The name of the Cognito stream to receive
--   updates. This stream must be in the developers account and in the same
--   region as the identity pool.</li>
--   <li><a>csRoleARN</a> - The ARN of the role Amazon Cognito can assume
--   in order to publish to the stream. This role must grant access to
--   Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito
--   stream.</li>
--   </ul>
cognitoStreams :: CognitoStreams

-- | Status of the Cognito streams. Valid values are: ENABLED - Streaming
--   of updates to identity pool is enabled. DISABLED - Streaming of
--   updates to identity pool is disabled. Bulk publish will also fail if
--   StreamingStatus is DISABLED.
csStreamingStatus :: Lens' CognitoStreams (Maybe StreamingStatus)

-- | The name of the Cognito stream to receive updates. This stream must be
--   in the developers account and in the same region as the identity pool.
csStreamName :: Lens' CognitoStreams (Maybe Text)

-- | The ARN of the role Amazon Cognito can assume in order to publish to
--   the stream. This role must grant access to Amazon Cognito
--   (cognito-sync) to invoke PutRecord on your Cognito stream.
csRoleARN :: Lens' CognitoStreams (Maybe Text)

-- | A collection of data for an identity pool. An identity pool can have
--   multiple datasets. A dataset is per identity and can be general or
--   associated with a particular entity in an application (like a saved
--   game). Datasets are automatically created if they don't exist. Data is
--   synced by dataset, and a dataset can hold up to 1MB of key-value
--   pairs.
--   
--   <i>See:</i> <a>dataset</a> smart constructor.
data Dataset

-- | Creates a value of <a>Dataset</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dLastModifiedDate</a> - Date when the dataset was last
--   modified.</li>
--   <li><a>dNumRecords</a> - Number of records in this dataset.</li>
--   <li><a>dDataStorage</a> - Total size in bytes of the records in this
--   dataset.</li>
--   <li><a>dDatasetName</a> - A string of up to 128 characters. Allowed
--   characters are a-z, A-Z, 0-9, '_' (underscore), <a>-</a> (dash), and
--   <a>.</a> (dot).</li>
--   <li><a>dCreationDate</a> - Date on which the dataset was created.</li>
--   <li><a>dLastModifiedBy</a> - The device that made the last change to
--   this dataset.</li>
--   <li><a>dIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
dataset :: Dataset

-- | Date when the dataset was last modified.
dLastModifiedDate :: Lens' Dataset (Maybe UTCTime)

-- | Number of records in this dataset.
dNumRecords :: Lens' Dataset (Maybe Integer)

-- | Total size in bytes of the records in this dataset.
dDataStorage :: Lens' Dataset (Maybe Integer)

-- | A string of up to 128 characters. Allowed characters are a-z, A-Z,
--   0-9, '_' (underscore), <a>-</a> (dash), and <a>.</a> (dot).
dDatasetName :: Lens' Dataset (Maybe Text)

-- | Date on which the dataset was created.
dCreationDate :: Lens' Dataset (Maybe UTCTime)

-- | The device that made the last change to this dataset.
dLastModifiedBy :: Lens' Dataset (Maybe Text)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
dIdentityId :: Lens' Dataset (Maybe Text)

-- | Usage information for the identity pool.
--   
--   <i>See:</i> <a>identityPoolUsage</a> smart constructor.
data IdentityPoolUsage

-- | Creates a value of <a>IdentityPoolUsage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ipuLastModifiedDate</a> - Date on which the identity pool was
--   last modified.</li>
--   <li><a>ipuIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>ipuDataStorage</a> - Data storage information for the identity
--   pool.</li>
--   <li><a>ipuSyncSessionsCount</a> - Number of sync sessions for the
--   identity pool.</li>
--   </ul>
identityPoolUsage :: IdentityPoolUsage

-- | Date on which the identity pool was last modified.
ipuLastModifiedDate :: Lens' IdentityPoolUsage (Maybe UTCTime)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
ipuIdentityPoolId :: Lens' IdentityPoolUsage (Maybe Text)

-- | Data storage information for the identity pool.
ipuDataStorage :: Lens' IdentityPoolUsage (Maybe Integer)

-- | Number of sync sessions for the identity pool.
ipuSyncSessionsCount :: Lens' IdentityPoolUsage (Maybe Integer)

-- | Usage information for the identity.
--   
--   <i>See:</i> <a>identityUsage</a> smart constructor.
data IdentityUsage

-- | Creates a value of <a>IdentityUsage</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iuLastModifiedDate</a> - Date on which the identity was last
--   modified.</li>
--   <li><a>iuIdentityPoolId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   <li><a>iuDatasetCount</a> - Number of datasets for the identity.</li>
--   <li><a>iuDataStorage</a> - Total data storage for this identity.</li>
--   <li><a>iuIdentityId</a> - A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.</li>
--   </ul>
identityUsage :: IdentityUsage

-- | Date on which the identity was last modified.
iuLastModifiedDate :: Lens' IdentityUsage (Maybe UTCTime)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
iuIdentityPoolId :: Lens' IdentityUsage (Maybe Text)

-- | Number of datasets for the identity.
iuDatasetCount :: Lens' IdentityUsage (Maybe Int)

-- | Total data storage for this identity.
iuDataStorage :: Lens' IdentityUsage (Maybe Integer)

-- | A name-spaced GUID (for example,
--   us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon
--   Cognito. GUID generation is unique within a region.
iuIdentityId :: Lens' IdentityUsage (Maybe Text)

-- | Configuration options to be applied to the identity pool.
--   
--   <i>See:</i> <a>pushSync</a> smart constructor.
data PushSync

-- | Creates a value of <a>PushSync</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psApplicationARNs</a> - List of SNS platform application ARNs
--   that could be used by clients.</li>
--   <li><a>psRoleARN</a> - A role configured to allow Cognito to call SNS
--   on behalf of the developer.</li>
--   </ul>
pushSync :: PushSync

-- | List of SNS platform application ARNs that could be used by clients.
psApplicationARNs :: Lens' PushSync [Text]

-- | A role configured to allow Cognito to call SNS on behalf of the
--   developer.
psRoleARN :: Lens' PushSync (Maybe Text)

-- | The basic data structure of a dataset.
--   
--   <i>See:</i> <a>record</a> smart constructor.
data Record

-- | Creates a value of <a>Record</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rSyncCount</a> - The server sync count for this record.</li>
--   <li><a>rDeviceLastModifiedDate</a> - The last modified date of the
--   client device.</li>
--   <li><a>rLastModifiedDate</a> - The date on which the record was last
--   modified.</li>
--   <li><a>rValue</a> - The value for the record.</li>
--   <li><a>rKey</a> - The key for the record.</li>
--   <li><a>rLastModifiedBy</a> - The user/device that made the last change
--   to this record.</li>
--   </ul>
record :: Record

-- | The server sync count for this record.
rSyncCount :: Lens' Record (Maybe Integer)

-- | The last modified date of the client device.
rDeviceLastModifiedDate :: Lens' Record (Maybe UTCTime)

-- | The date on which the record was last modified.
rLastModifiedDate :: Lens' Record (Maybe UTCTime)

-- | The value for the record.
rValue :: Lens' Record (Maybe Text)

-- | The key for the record.
rKey :: Lens' Record (Maybe Text)

-- | The user/device that made the last change to this record.
rLastModifiedBy :: Lens' Record (Maybe Text)

-- | An update operation for a record.
--   
--   <i>See:</i> <a>recordPatch</a> smart constructor.
data RecordPatch

-- | Creates a value of <a>RecordPatch</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpDeviceLastModifiedDate</a> - The last modified date of the
--   client device.</li>
--   <li><a>rpValue</a> - The value associated with the record patch.</li>
--   <li><a>rpOp</a> - An operation, either replace or remove.</li>
--   <li><a>rpKey</a> - The key associated with the record patch.</li>
--   <li><a>rpSyncCount</a> - Last known server sync count for this record.
--   Set to 0 if unknown.</li>
--   </ul>
recordPatch :: Operation -> Text -> Integer -> RecordPatch

-- | The last modified date of the client device.
rpDeviceLastModifiedDate :: Lens' RecordPatch (Maybe UTCTime)

-- | The value associated with the record patch.
rpValue :: Lens' RecordPatch (Maybe Text)

-- | An operation, either replace or remove.
rpOp :: Lens' RecordPatch Operation

-- | The key associated with the record patch.
rpKey :: Lens' RecordPatch Text

-- | Last known server sync count for this record. Set to 0 if unknown.
rpSyncCount :: Lens' RecordPatch Integer
