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


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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.SubscribeToDataset.SubscribeToDatasetResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.SetIdentityPoolConfiguration.SetIdentityPoolConfigurationResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.SetCognitoEvents.SetCognitoEventsResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.RegisterDevice.RegisterDeviceResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.ListRecords.ListRecordsResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.ListIdentityPoolUsage.ListIdentityPoolUsageResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.ListDatasets.ListDatasetsResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.GetIdentityPoolConfiguration.GetIdentityPoolConfigurationResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.GetCognitoEvents.GetCognitoEventsResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.GetBulkPublishDetails.GetBulkPublishDetailsResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeIdentityUsage.DescribeIdentityUsageResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeIdentityPoolUsage.DescribeIdentityPoolUsageResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.DescribeDataset.DescribeDatasetResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.DeleteDataset.DeleteDatasetResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.BulkPublish.BulkPublishResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.UnsubscribeFromDataset.UnsubscribeFromDatasetResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CognitoSync.UpdateRecords.UpdateRecordsResponse
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


module Network.AWS.CognitoSync.Waiters


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