packages feed

amazonka-dynamodb 1.5.0 → 1.6.0

raw patch · 72 files changed

+7259/−2297 lines, 72 filesdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-test

API changes (from Hackage documentation)

- Network.AWS.DynamoDB: Active :: TableStatus
- Network.AWS.DynamoDB: All :: ProjectionType
- Network.AWS.DynamoDB: Deleting :: TableStatus
- Network.AWS.DynamoDB: Include :: ProjectionType
- Network.AWS.DynamoDB: SVTKeysOnly :: StreamViewType
- Network.AWS.DynamoDB: SVTNewAndOldImages :: StreamViewType
- Network.AWS.DynamoDB: SVTNewImage :: StreamViewType
- Network.AWS.DynamoDB: SVTOldImage :: StreamViewType
- Network.AWS.DynamoDB: Updating :: TableStatus
- Network.AWS.DynamoDB.Types: Active :: TableStatus
- Network.AWS.DynamoDB.Types: All :: ProjectionType
- Network.AWS.DynamoDB.Types: Deleting :: TableStatus
- Network.AWS.DynamoDB.Types: Include :: ProjectionType
- Network.AWS.DynamoDB.Types: SVTKeysOnly :: StreamViewType
- Network.AWS.DynamoDB.Types: SVTNewAndOldImages :: StreamViewType
- Network.AWS.DynamoDB.Types: SVTNewImage :: StreamViewType
- Network.AWS.DynamoDB.Types: SVTOldImage :: StreamViewType
- Network.AWS.DynamoDB.Types: Updating :: TableStatus
+ Network.AWS.DynamoDB: Available :: BackupStatus
+ Network.AWS.DynamoDB: CBSDisabled :: ContinuousBackupsStatus
+ Network.AWS.DynamoDB: CBSEnabled :: ContinuousBackupsStatus
+ Network.AWS.DynamoDB: Deleted :: BackupStatus
+ Network.AWS.DynamoDB: GTSActive :: GlobalTableStatus
+ Network.AWS.DynamoDB: GTSCreating :: GlobalTableStatus
+ Network.AWS.DynamoDB: GTSDeleting :: GlobalTableStatus
+ Network.AWS.DynamoDB: GTSUpdating :: GlobalTableStatus
+ Network.AWS.DynamoDB: NewAndOldImages :: StreamViewType
+ Network.AWS.DynamoDB: NewImage :: StreamViewType
+ Network.AWS.DynamoDB: OldImage :: StreamViewType
+ Network.AWS.DynamoDB: PITRSDisabled :: PointInTimeRecoveryStatus
+ Network.AWS.DynamoDB: PITRSEnabled :: PointInTimeRecoveryStatus
+ Network.AWS.DynamoDB: PTAll :: ProjectionType
+ Network.AWS.DynamoDB: PTInclude :: ProjectionType
+ Network.AWS.DynamoDB: PTKeysOnly :: ProjectionType
+ Network.AWS.DynamoDB: RSActive :: ReplicaStatus
+ Network.AWS.DynamoDB: RSCreating :: ReplicaStatus
+ Network.AWS.DynamoDB: RSDeleting :: ReplicaStatus
+ Network.AWS.DynamoDB: RSUpdating :: ReplicaStatus
+ Network.AWS.DynamoDB: SSESDisabled :: SSEStatus
+ Network.AWS.DynamoDB: SSESDisabling :: SSEStatus
+ Network.AWS.DynamoDB: SSESEnabled :: SSEStatus
+ Network.AWS.DynamoDB: SSESEnabling :: SSEStatus
+ Network.AWS.DynamoDB: TSActive :: TableStatus
+ Network.AWS.DynamoDB: TSCreating :: TableStatus
+ Network.AWS.DynamoDB: TSDeleting :: TableStatus
+ Network.AWS.DynamoDB: TSUpdating :: TableStatus
+ Network.AWS.DynamoDB: _BackupInUseException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _BackupNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _ContinuousBackupsUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _GlobalTableAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _GlobalTableNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _IndexNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _InvalidRestoreTimeException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _PointInTimeRecoveryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _ReplicaAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _ReplicaNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _TableAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _TableInUseException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: _TableNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB: backupDescription :: BackupDescription
+ Network.AWS.DynamoDB: backupDetails :: Text -> Text -> BackupStatus -> UTCTime -> BackupDetails
+ Network.AWS.DynamoDB: backupSummary :: BackupSummary
+ Network.AWS.DynamoDB: bdBackupARN :: Lens' BackupDetails Text
+ Network.AWS.DynamoDB: bdBackupCreationDateTime :: Lens' BackupDetails UTCTime
+ Network.AWS.DynamoDB: bdBackupDetails :: Lens' BackupDescription (Maybe BackupDetails)
+ Network.AWS.DynamoDB: bdBackupName :: Lens' BackupDetails Text
+ Network.AWS.DynamoDB: bdBackupSizeBytes :: Lens' BackupDetails (Maybe Natural)
+ Network.AWS.DynamoDB: bdBackupStatus :: Lens' BackupDetails BackupStatus
+ Network.AWS.DynamoDB: bdSourceTableDetails :: Lens' BackupDescription (Maybe SourceTableDetails)
+ Network.AWS.DynamoDB: bdSourceTableFeatureDetails :: Lens' BackupDescription (Maybe SourceTableFeatureDetails)
+ Network.AWS.DynamoDB: bsBackupARN :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB: bsBackupCreationDateTime :: Lens' BackupSummary (Maybe UTCTime)
+ Network.AWS.DynamoDB: bsBackupName :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB: bsBackupSizeBytes :: Lens' BackupSummary (Maybe Natural)
+ Network.AWS.DynamoDB: bsBackupStatus :: Lens' BackupSummary (Maybe BackupStatus)
+ Network.AWS.DynamoDB: bsTableARN :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB: bsTableId :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB: bsTableName :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB: cbdContinuousBackupsStatus :: Lens' ContinuousBackupsDescription ContinuousBackupsStatus
+ Network.AWS.DynamoDB: cbdPointInTimeRecoveryDescription :: Lens' ContinuousBackupsDescription (Maybe PointInTimeRecoveryDescription)
+ Network.AWS.DynamoDB: continuousBackupsDescription :: ContinuousBackupsStatus -> ContinuousBackupsDescription
+ Network.AWS.DynamoDB: craRegionName :: Lens' CreateReplicaAction Text
+ Network.AWS.DynamoDB: createReplicaAction :: Text -> CreateReplicaAction
+ Network.AWS.DynamoDB: data BackupDescription
+ Network.AWS.DynamoDB: data BackupDetails
+ Network.AWS.DynamoDB: data BackupStatus
+ Network.AWS.DynamoDB: data BackupSummary
+ Network.AWS.DynamoDB: data ContinuousBackupsDescription
+ Network.AWS.DynamoDB: data ContinuousBackupsStatus
+ Network.AWS.DynamoDB: data CreateReplicaAction
+ Network.AWS.DynamoDB: data DeleteReplicaAction
+ Network.AWS.DynamoDB: data GlobalSecondaryIndexInfo
+ Network.AWS.DynamoDB: data GlobalTable
+ Network.AWS.DynamoDB: data GlobalTableDescription
+ Network.AWS.DynamoDB: data GlobalTableGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB: data GlobalTableStatus
+ Network.AWS.DynamoDB: data LocalSecondaryIndexInfo
+ Network.AWS.DynamoDB: data PointInTimeRecoveryDescription
+ Network.AWS.DynamoDB: data PointInTimeRecoverySpecification
+ Network.AWS.DynamoDB: data PointInTimeRecoveryStatus
+ Network.AWS.DynamoDB: data Replica
+ Network.AWS.DynamoDB: data ReplicaDescription
+ Network.AWS.DynamoDB: data ReplicaGlobalSecondaryIndexSettingsDescription
+ Network.AWS.DynamoDB: data ReplicaGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB: data ReplicaSettingsDescription
+ Network.AWS.DynamoDB: data ReplicaSettingsUpdate
+ Network.AWS.DynamoDB: data ReplicaStatus
+ Network.AWS.DynamoDB: data ReplicaUpdate
+ Network.AWS.DynamoDB: data RestoreSummary
+ Network.AWS.DynamoDB: data SSEDescription
+ Network.AWS.DynamoDB: data SSESpecification
+ Network.AWS.DynamoDB: data SSEStatus
+ Network.AWS.DynamoDB: data SourceTableDetails
+ Network.AWS.DynamoDB: data SourceTableFeatureDetails
+ Network.AWS.DynamoDB: deleteReplicaAction :: Text -> DeleteReplicaAction
+ Network.AWS.DynamoDB: draRegionName :: Lens' DeleteReplicaAction Text
+ Network.AWS.DynamoDB: globalSecondaryIndexInfo :: GlobalSecondaryIndexInfo
+ Network.AWS.DynamoDB: globalTable :: GlobalTable
+ Network.AWS.DynamoDB: globalTableDescription :: GlobalTableDescription
+ Network.AWS.DynamoDB: globalTableGlobalSecondaryIndexSettingsUpdate :: Text -> GlobalTableGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB: gsiiIndexName :: Lens' GlobalSecondaryIndexInfo (Maybe Text)
+ Network.AWS.DynamoDB: gsiiKeySchema :: Lens' GlobalSecondaryIndexInfo (Maybe (NonEmpty KeySchemaElement))
+ Network.AWS.DynamoDB: gsiiProjection :: Lens' GlobalSecondaryIndexInfo (Maybe Projection)
+ Network.AWS.DynamoDB: gsiiProvisionedThroughput :: Lens' GlobalSecondaryIndexInfo (Maybe ProvisionedThroughput)
+ Network.AWS.DynamoDB: gtGlobalTableName :: Lens' GlobalTable (Maybe Text)
+ Network.AWS.DynamoDB: gtReplicationGroup :: Lens' GlobalTable [Replica]
+ Network.AWS.DynamoDB: gtdCreationDateTime :: Lens' GlobalTableDescription (Maybe UTCTime)
+ Network.AWS.DynamoDB: gtdGlobalTableARN :: Lens' GlobalTableDescription (Maybe Text)
+ Network.AWS.DynamoDB: gtdGlobalTableName :: Lens' GlobalTableDescription (Maybe Text)
+ Network.AWS.DynamoDB: gtdGlobalTableStatus :: Lens' GlobalTableDescription (Maybe GlobalTableStatus)
+ Network.AWS.DynamoDB: gtdReplicationGroup :: Lens' GlobalTableDescription [ReplicaDescription]
+ Network.AWS.DynamoDB: gtgsisuIndexName :: Lens' GlobalTableGlobalSecondaryIndexSettingsUpdate Text
+ Network.AWS.DynamoDB: gtgsisuProvisionedWriteCapacityUnits :: Lens' GlobalTableGlobalSecondaryIndexSettingsUpdate (Maybe Natural)
+ Network.AWS.DynamoDB: localSecondaryIndexInfo :: LocalSecondaryIndexInfo
+ Network.AWS.DynamoDB: lsiiIndexName :: Lens' LocalSecondaryIndexInfo (Maybe Text)
+ Network.AWS.DynamoDB: lsiiKeySchema :: Lens' LocalSecondaryIndexInfo (Maybe (NonEmpty KeySchemaElement))
+ Network.AWS.DynamoDB: lsiiProjection :: Lens' LocalSecondaryIndexInfo (Maybe Projection)
+ Network.AWS.DynamoDB: pitrdEarliestRestorableDateTime :: Lens' PointInTimeRecoveryDescription (Maybe UTCTime)
+ Network.AWS.DynamoDB: pitrdLatestRestorableDateTime :: Lens' PointInTimeRecoveryDescription (Maybe UTCTime)
+ Network.AWS.DynamoDB: pitrdPointInTimeRecoveryStatus :: Lens' PointInTimeRecoveryDescription (Maybe PointInTimeRecoveryStatus)
+ Network.AWS.DynamoDB: pitrsPointInTimeRecoveryEnabled :: Lens' PointInTimeRecoverySpecification Bool
+ Network.AWS.DynamoDB: pointInTimeRecoveryDescription :: PointInTimeRecoveryDescription
+ Network.AWS.DynamoDB: pointInTimeRecoverySpecification :: Bool -> PointInTimeRecoverySpecification
+ Network.AWS.DynamoDB: rRegionName :: Lens' Replica (Maybe Text)
+ Network.AWS.DynamoDB: rdRegionName :: Lens' ReplicaDescription (Maybe Text)
+ Network.AWS.DynamoDB: replica :: Replica
+ Network.AWS.DynamoDB: replicaDescription :: ReplicaDescription
+ Network.AWS.DynamoDB: replicaGlobalSecondaryIndexSettingsDescription :: Text -> ReplicaGlobalSecondaryIndexSettingsDescription
+ Network.AWS.DynamoDB: replicaGlobalSecondaryIndexSettingsUpdate :: Text -> ReplicaGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB: replicaSettingsDescription :: Text -> ReplicaSettingsDescription
+ Network.AWS.DynamoDB: replicaSettingsUpdate :: Text -> ReplicaSettingsUpdate
+ Network.AWS.DynamoDB: replicaUpdate :: ReplicaUpdate
+ Network.AWS.DynamoDB: restoreSummary :: UTCTime -> Bool -> RestoreSummary
+ Network.AWS.DynamoDB: rgsisdIndexName :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription Text
+ Network.AWS.DynamoDB: rgsisdIndexStatus :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe IndexStatus)
+ Network.AWS.DynamoDB: rgsisdProvisionedReadCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB: rgsisdProvisionedWriteCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB: rgsisuIndexName :: Lens' ReplicaGlobalSecondaryIndexSettingsUpdate Text
+ Network.AWS.DynamoDB: rgsisuProvisionedReadCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsUpdate (Maybe Natural)
+ Network.AWS.DynamoDB: rsRestoreDateTime :: Lens' RestoreSummary UTCTime
+ Network.AWS.DynamoDB: rsRestoreInProgress :: Lens' RestoreSummary Bool
+ Network.AWS.DynamoDB: rsSourceBackupARN :: Lens' RestoreSummary (Maybe Text)
+ Network.AWS.DynamoDB: rsSourceTableARN :: Lens' RestoreSummary (Maybe Text)
+ Network.AWS.DynamoDB: rsdRegionName :: Lens' ReplicaSettingsDescription Text
+ Network.AWS.DynamoDB: rsdReplicaGlobalSecondaryIndexSettings :: Lens' ReplicaSettingsDescription [ReplicaGlobalSecondaryIndexSettingsDescription]
+ Network.AWS.DynamoDB: rsdReplicaProvisionedReadCapacityUnits :: Lens' ReplicaSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB: rsdReplicaProvisionedWriteCapacityUnits :: Lens' ReplicaSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB: rsdReplicaStatus :: Lens' ReplicaSettingsDescription (Maybe ReplicaStatus)
+ Network.AWS.DynamoDB: rsuRegionName :: Lens' ReplicaSettingsUpdate Text
+ Network.AWS.DynamoDB: rsuReplicaGlobalSecondaryIndexSettingsUpdate :: Lens' ReplicaSettingsUpdate (Maybe (NonEmpty ReplicaGlobalSecondaryIndexSettingsUpdate))
+ Network.AWS.DynamoDB: rsuReplicaProvisionedReadCapacityUnits :: Lens' ReplicaSettingsUpdate (Maybe Natural)
+ Network.AWS.DynamoDB: ruCreate :: Lens' ReplicaUpdate (Maybe CreateReplicaAction)
+ Network.AWS.DynamoDB: ruDelete :: Lens' ReplicaUpdate (Maybe DeleteReplicaAction)
+ Network.AWS.DynamoDB: sSEDescription :: SSEDescription
+ Network.AWS.DynamoDB: sSESpecification :: Bool -> SSESpecification
+ Network.AWS.DynamoDB: sourceTableDetails :: Text -> Text -> NonEmpty KeySchemaElement -> UTCTime -> ProvisionedThroughput -> SourceTableDetails
+ Network.AWS.DynamoDB: sourceTableFeatureDetails :: SourceTableFeatureDetails
+ Network.AWS.DynamoDB: ssedStatus :: Lens' SSEDescription (Maybe SSEStatus)
+ Network.AWS.DynamoDB: ssesEnabled :: Lens' SSESpecification Bool
+ Network.AWS.DynamoDB: stdItemCount :: Lens' SourceTableDetails (Maybe Natural)
+ Network.AWS.DynamoDB: stdKeySchema :: Lens' SourceTableDetails (NonEmpty KeySchemaElement)
+ Network.AWS.DynamoDB: stdProvisionedThroughput :: Lens' SourceTableDetails ProvisionedThroughput
+ Network.AWS.DynamoDB: stdTableARN :: Lens' SourceTableDetails (Maybe Text)
+ Network.AWS.DynamoDB: stdTableCreationDateTime :: Lens' SourceTableDetails UTCTime
+ Network.AWS.DynamoDB: stdTableId :: Lens' SourceTableDetails Text
+ Network.AWS.DynamoDB: stdTableName :: Lens' SourceTableDetails Text
+ Network.AWS.DynamoDB: stdTableSizeBytes :: Lens' SourceTableDetails (Maybe Integer)
+ Network.AWS.DynamoDB: stfdGlobalSecondaryIndexes :: Lens' SourceTableFeatureDetails [GlobalSecondaryIndexInfo]
+ Network.AWS.DynamoDB: stfdLocalSecondaryIndexes :: Lens' SourceTableFeatureDetails [LocalSecondaryIndexInfo]
+ Network.AWS.DynamoDB: stfdSSEDescription :: Lens' SourceTableFeatureDetails (Maybe SSEDescription)
+ Network.AWS.DynamoDB: stfdStreamDescription :: Lens' SourceTableFeatureDetails (Maybe StreamSpecification)
+ Network.AWS.DynamoDB: stfdTimeToLiveDescription :: Lens' SourceTableFeatureDetails (Maybe TimeToLiveDescription)
+ Network.AWS.DynamoDB: tdRestoreSummary :: Lens' TableDescription (Maybe RestoreSummary)
+ Network.AWS.DynamoDB: tdSSEDescription :: Lens' TableDescription (Maybe SSEDescription)
+ Network.AWS.DynamoDB: tdTableId :: Lens' TableDescription (Maybe Text)
+ Network.AWS.DynamoDB.CreateBackup: cbBackupName :: Lens' CreateBackup Text
+ Network.AWS.DynamoDB.CreateBackup: cbTableName :: Lens' CreateBackup Text
+ Network.AWS.DynamoDB.CreateBackup: cbrsBackupDetails :: Lens' CreateBackupResponse (Maybe BackupDetails)
+ Network.AWS.DynamoDB.CreateBackup: cbrsResponseStatus :: Lens' CreateBackupResponse Int
+ Network.AWS.DynamoDB.CreateBackup: createBackup :: Text -> Text -> CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: createBackupResponse :: Int -> CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: data CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: data CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.CreateBackup.CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance Data.Data.Data Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance Data.Data.Data Network.AWS.DynamoDB.CreateBackup.CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.CreateBackup.CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.CreateBackup.CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Read.Read Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Read.Read Network.AWS.DynamoDB.CreateBackup.CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Show.Show Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance GHC.Show.Show Network.AWS.DynamoDB.CreateBackup.CreateBackupResponse
+ Network.AWS.DynamoDB.CreateBackup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateBackup: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.CreateBackup.CreateBackup
+ Network.AWS.DynamoDB.CreateGlobalTable: cgtGlobalTableName :: Lens' CreateGlobalTable Text
+ Network.AWS.DynamoDB.CreateGlobalTable: cgtReplicationGroup :: Lens' CreateGlobalTable [Replica]
+ Network.AWS.DynamoDB.CreateGlobalTable: cgtrsGlobalTableDescription :: Lens' CreateGlobalTableResponse (Maybe GlobalTableDescription)
+ Network.AWS.DynamoDB.CreateGlobalTable: cgtrsResponseStatus :: Lens' CreateGlobalTableResponse Int
+ Network.AWS.DynamoDB.CreateGlobalTable: createGlobalTable :: Text -> CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: createGlobalTableResponse :: Int -> CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: data CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: data CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Data.Data.Data Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Data.Data.Data Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Classes.Eq Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Classes.Eq Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Generics.Generic Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Generics.Generic Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Read.Read Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Read.Read Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Show.Show Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance GHC.Show.Show Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTableResponse
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateGlobalTable: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.CreateGlobalTable.CreateGlobalTable
+ Network.AWS.DynamoDB.CreateTable: ctSSESpecification :: Lens' CreateTable (Maybe SSESpecification)
+ Network.AWS.DynamoDB.DeleteBackup: data DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: data DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: dbBackupARN :: Lens' DeleteBackup Text
+ Network.AWS.DynamoDB.DeleteBackup: dbrsBackupDescription :: Lens' DeleteBackupResponse (Maybe BackupDescription)
+ Network.AWS.DynamoDB.DeleteBackup: dbrsResponseStatus :: Lens' DeleteBackupResponse Int
+ Network.AWS.DynamoDB.DeleteBackup: deleteBackup :: Text -> DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: deleteBackupResponse :: Int -> DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DeleteBackup.DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance Data.Data.Data Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance Data.Data.Data Network.AWS.DynamoDB.DeleteBackup.DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.DeleteBackup.DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.DeleteBackup.DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Read.Read Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Read.Read Network.AWS.DynamoDB.DeleteBackup.DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Show.Show Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance GHC.Show.Show Network.AWS.DynamoDB.DeleteBackup.DeleteBackupResponse
+ Network.AWS.DynamoDB.DeleteBackup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DeleteBackup: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.DeleteBackup.DeleteBackup
+ Network.AWS.DynamoDB.DescribeBackup: dBackupARN :: Lens' DescribeBackup Text
+ Network.AWS.DynamoDB.DescribeBackup: data DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: data DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: describeBackup :: Text -> DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: describeBackupResponse :: Int -> DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: desrsBackupDescription :: Lens' DescribeBackupResponse (Maybe BackupDescription)
+ Network.AWS.DynamoDB.DescribeBackup: desrsResponseStatus :: Lens' DescribeBackupResponse Int
+ Network.AWS.DynamoDB.DescribeBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeBackup.DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance Data.Data.Data Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance Data.Data.Data Network.AWS.DynamoDB.DescribeBackup.DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeBackup.DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeBackup.DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeBackup.DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeBackup.DescribeBackupResponse
+ Network.AWS.DynamoDB.DescribeBackup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeBackup: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.DescribeBackup.DescribeBackup
+ Network.AWS.DynamoDB.DescribeContinuousBackups: data DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: data DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: dcbTableName :: Lens' DescribeContinuousBackups Text
+ Network.AWS.DynamoDB.DescribeContinuousBackups: dcbrsContinuousBackupsDescription :: Lens' DescribeContinuousBackupsResponse (Maybe ContinuousBackupsDescription)
+ Network.AWS.DynamoDB.DescribeContinuousBackups: dcbrsResponseStatus :: Lens' DescribeContinuousBackupsResponse Int
+ Network.AWS.DynamoDB.DescribeContinuousBackups: describeContinuousBackups :: Text -> DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: describeContinuousBackupsResponse :: Int -> DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Data.Data.Data Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Data.Data.Data Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackupsResponse
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeContinuousBackups: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.DescribeContinuousBackups.DescribeContinuousBackups
+ Network.AWS.DynamoDB.DescribeGlobalTable: data DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: data DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: describeGlobalTable :: Text -> DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: describeGlobalTableResponse :: Int -> DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: dgtGlobalTableName :: Lens' DescribeGlobalTable Text
+ Network.AWS.DynamoDB.DescribeGlobalTable: dgtrsGlobalTableDescription :: Lens' DescribeGlobalTableResponse (Maybe GlobalTableDescription)
+ Network.AWS.DynamoDB.DescribeGlobalTable: dgtrsResponseStatus :: Lens' DescribeGlobalTableResponse Int
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Data.Data.Data Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Data.Data.Data Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTableResponse
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTable: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.DescribeGlobalTable.DescribeGlobalTable
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: data DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: data DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: describeGlobalTableSettings :: Text -> DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: describeGlobalTableSettingsResponse :: Int -> DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: dgtsGlobalTableName :: Lens' DescribeGlobalTableSettings Text
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: dgtsrsGlobalTableName :: Lens' DescribeGlobalTableSettingsResponse (Maybe Text)
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: dgtsrsReplicaSettings :: Lens' DescribeGlobalTableSettingsResponse [ReplicaSettingsDescription]
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: dgtsrsResponseStatus :: Lens' DescribeGlobalTableSettingsResponse Int
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Data.Data.Data Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Data.Data.Data Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Classes.Eq Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Generics.Generic Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Read.Read Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance GHC.Show.Show Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.DescribeGlobalTableSettings: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.DescribeGlobalTableSettings.DescribeGlobalTableSettings
+ Network.AWS.DynamoDB.ListBackups: data ListBackups
+ Network.AWS.DynamoDB.ListBackups: data ListBackupsResponse
+ Network.AWS.DynamoDB.ListBackups: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.ListBackups.ListBackupsResponse
+ Network.AWS.DynamoDB.ListBackups: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance Data.Data.Data Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance Data.Data.Data Network.AWS.DynamoDB.ListBackups.ListBackupsResponse
+ Network.AWS.DynamoDB.ListBackups: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Classes.Eq Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Classes.Eq Network.AWS.DynamoDB.ListBackups.ListBackupsResponse
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Generics.Generic Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Generics.Generic Network.AWS.DynamoDB.ListBackups.ListBackupsResponse
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Read.Read Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Read.Read Network.AWS.DynamoDB.ListBackups.ListBackupsResponse
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Show.Show Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance GHC.Show.Show Network.AWS.DynamoDB.ListBackups.ListBackupsResponse
+ Network.AWS.DynamoDB.ListBackups: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance Network.AWS.Pager.AWSPager Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.ListBackups.ListBackups
+ Network.AWS.DynamoDB.ListBackups: lbExclusiveStartBackupARN :: Lens' ListBackups (Maybe Text)
+ Network.AWS.DynamoDB.ListBackups: lbLimit :: Lens' ListBackups (Maybe Natural)
+ Network.AWS.DynamoDB.ListBackups: lbTableName :: Lens' ListBackups (Maybe Text)
+ Network.AWS.DynamoDB.ListBackups: lbTimeRangeLowerBound :: Lens' ListBackups (Maybe UTCTime)
+ Network.AWS.DynamoDB.ListBackups: lbTimeRangeUpperBound :: Lens' ListBackups (Maybe UTCTime)
+ Network.AWS.DynamoDB.ListBackups: lbrsBackupSummaries :: Lens' ListBackupsResponse [BackupSummary]
+ Network.AWS.DynamoDB.ListBackups: lbrsLastEvaluatedBackupARN :: Lens' ListBackupsResponse (Maybe Text)
+ Network.AWS.DynamoDB.ListBackups: lbrsResponseStatus :: Lens' ListBackupsResponse Int
+ Network.AWS.DynamoDB.ListBackups: listBackups :: ListBackups
+ Network.AWS.DynamoDB.ListBackups: listBackupsResponse :: Int -> ListBackupsResponse
+ Network.AWS.DynamoDB.ListGlobalTables: data ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: data ListGlobalTablesResponse
+ Network.AWS.DynamoDB.ListGlobalTables: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTablesResponse
+ Network.AWS.DynamoDB.ListGlobalTables: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance Data.Data.Data Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance Data.Data.Data Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTablesResponse
+ Network.AWS.DynamoDB.ListGlobalTables: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Classes.Eq Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Classes.Eq Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTablesResponse
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Generics.Generic Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Generics.Generic Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTablesResponse
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Read.Read Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Read.Read Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTablesResponse
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Show.Show Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance GHC.Show.Show Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTablesResponse
+ Network.AWS.DynamoDB.ListGlobalTables: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.ListGlobalTables.ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: lgtExclusiveStartGlobalTableName :: Lens' ListGlobalTables (Maybe Text)
+ Network.AWS.DynamoDB.ListGlobalTables: lgtLimit :: Lens' ListGlobalTables (Maybe Natural)
+ Network.AWS.DynamoDB.ListGlobalTables: lgtRegionName :: Lens' ListGlobalTables (Maybe Text)
+ Network.AWS.DynamoDB.ListGlobalTables: lgtrsGlobalTables :: Lens' ListGlobalTablesResponse [GlobalTable]
+ Network.AWS.DynamoDB.ListGlobalTables: lgtrsLastEvaluatedGlobalTableName :: Lens' ListGlobalTablesResponse (Maybe Text)
+ Network.AWS.DynamoDB.ListGlobalTables: lgtrsResponseStatus :: Lens' ListGlobalTablesResponse Int
+ Network.AWS.DynamoDB.ListGlobalTables: listGlobalTables :: ListGlobalTables
+ Network.AWS.DynamoDB.ListGlobalTables: listGlobalTablesResponse :: Int -> ListGlobalTablesResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: data RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: data RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Data.Data.Data Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Data.Data.Data Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Classes.Eq Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Generics.Generic Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Read.Read Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Read.Read Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Show.Show Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance GHC.Show.Show Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.RestoreTableFromBackup.RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: restoreTableFromBackup :: Text -> Text -> RestoreTableFromBackup
+ Network.AWS.DynamoDB.RestoreTableFromBackup: restoreTableFromBackupResponse :: Int -> RestoreTableFromBackupResponse
+ Network.AWS.DynamoDB.RestoreTableFromBackup: rtfbBackupARN :: Lens' RestoreTableFromBackup Text
+ Network.AWS.DynamoDB.RestoreTableFromBackup: rtfbTargetTableName :: Lens' RestoreTableFromBackup Text
+ Network.AWS.DynamoDB.RestoreTableFromBackup: rtfbrsResponseStatus :: Lens' RestoreTableFromBackupResponse Int
+ Network.AWS.DynamoDB.RestoreTableFromBackup: rtfbrsTableDescription :: Lens' RestoreTableFromBackupResponse (Maybe TableDescription)
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: data RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: data RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Data.Data.Data Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Data.Data.Data Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Classes.Eq Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Classes.Eq Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Generics.Generic Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Generics.Generic Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Read.Read Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Read.Read Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Show.Show Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance GHC.Show.Show Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.RestoreTableToPointInTime.RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: restoreTableToPointInTime :: Text -> Text -> RestoreTableToPointInTime
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: restoreTableToPointInTimeResponse :: Int -> RestoreTableToPointInTimeResponse
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: rttpitRestoreDateTime :: Lens' RestoreTableToPointInTime (Maybe UTCTime)
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: rttpitSourceTableName :: Lens' RestoreTableToPointInTime Text
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: rttpitTargetTableName :: Lens' RestoreTableToPointInTime Text
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: rttpitUseLatestRestorableTime :: Lens' RestoreTableToPointInTime (Maybe Bool)
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: rttpitrsResponseStatus :: Lens' RestoreTableToPointInTimeResponse Int
+ Network.AWS.DynamoDB.RestoreTableToPointInTime: rttpitrsTableDescription :: Lens' RestoreTableToPointInTimeResponse (Maybe TableDescription)
+ Network.AWS.DynamoDB.Types: Available :: BackupStatus
+ Network.AWS.DynamoDB.Types: CBSDisabled :: ContinuousBackupsStatus
+ Network.AWS.DynamoDB.Types: CBSEnabled :: ContinuousBackupsStatus
+ Network.AWS.DynamoDB.Types: Deleted :: BackupStatus
+ Network.AWS.DynamoDB.Types: GTSActive :: GlobalTableStatus
+ Network.AWS.DynamoDB.Types: GTSCreating :: GlobalTableStatus
+ Network.AWS.DynamoDB.Types: GTSDeleting :: GlobalTableStatus
+ Network.AWS.DynamoDB.Types: GTSUpdating :: GlobalTableStatus
+ Network.AWS.DynamoDB.Types: NewAndOldImages :: StreamViewType
+ Network.AWS.DynamoDB.Types: NewImage :: StreamViewType
+ Network.AWS.DynamoDB.Types: OldImage :: StreamViewType
+ Network.AWS.DynamoDB.Types: PITRSDisabled :: PointInTimeRecoveryStatus
+ Network.AWS.DynamoDB.Types: PITRSEnabled :: PointInTimeRecoveryStatus
+ Network.AWS.DynamoDB.Types: PTAll :: ProjectionType
+ Network.AWS.DynamoDB.Types: PTInclude :: ProjectionType
+ Network.AWS.DynamoDB.Types: PTKeysOnly :: ProjectionType
+ Network.AWS.DynamoDB.Types: RSActive :: ReplicaStatus
+ Network.AWS.DynamoDB.Types: RSCreating :: ReplicaStatus
+ Network.AWS.DynamoDB.Types: RSDeleting :: ReplicaStatus
+ Network.AWS.DynamoDB.Types: RSUpdating :: ReplicaStatus
+ Network.AWS.DynamoDB.Types: SSESDisabled :: SSEStatus
+ Network.AWS.DynamoDB.Types: SSESDisabling :: SSEStatus
+ Network.AWS.DynamoDB.Types: SSESEnabled :: SSEStatus
+ Network.AWS.DynamoDB.Types: SSESEnabling :: SSEStatus
+ Network.AWS.DynamoDB.Types: TSActive :: TableStatus
+ Network.AWS.DynamoDB.Types: TSCreating :: TableStatus
+ Network.AWS.DynamoDB.Types: TSDeleting :: TableStatus
+ Network.AWS.DynamoDB.Types: TSUpdating :: TableStatus
+ Network.AWS.DynamoDB.Types: _BackupInUseException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _BackupNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _ContinuousBackupsUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _GlobalTableAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _GlobalTableNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _IndexNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _InvalidRestoreTimeException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _PointInTimeRecoveryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _ReplicaAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _ReplicaNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _TableAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _TableInUseException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: _TableNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.DynamoDB.Types: backupDescription :: BackupDescription
+ Network.AWS.DynamoDB.Types: backupDetails :: Text -> Text -> BackupStatus -> UTCTime -> BackupDetails
+ Network.AWS.DynamoDB.Types: backupSummary :: BackupSummary
+ Network.AWS.DynamoDB.Types: bdBackupARN :: Lens' BackupDetails Text
+ Network.AWS.DynamoDB.Types: bdBackupCreationDateTime :: Lens' BackupDetails UTCTime
+ Network.AWS.DynamoDB.Types: bdBackupDetails :: Lens' BackupDescription (Maybe BackupDetails)
+ Network.AWS.DynamoDB.Types: bdBackupName :: Lens' BackupDetails Text
+ Network.AWS.DynamoDB.Types: bdBackupSizeBytes :: Lens' BackupDetails (Maybe Natural)
+ Network.AWS.DynamoDB.Types: bdBackupStatus :: Lens' BackupDetails BackupStatus
+ Network.AWS.DynamoDB.Types: bdSourceTableDetails :: Lens' BackupDescription (Maybe SourceTableDetails)
+ Network.AWS.DynamoDB.Types: bdSourceTableFeatureDetails :: Lens' BackupDescription (Maybe SourceTableFeatureDetails)
+ Network.AWS.DynamoDB.Types: bsBackupARN :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB.Types: bsBackupCreationDateTime :: Lens' BackupSummary (Maybe UTCTime)
+ Network.AWS.DynamoDB.Types: bsBackupName :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB.Types: bsBackupSizeBytes :: Lens' BackupSummary (Maybe Natural)
+ Network.AWS.DynamoDB.Types: bsBackupStatus :: Lens' BackupSummary (Maybe BackupStatus)
+ Network.AWS.DynamoDB.Types: bsTableARN :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB.Types: bsTableId :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB.Types: bsTableName :: Lens' BackupSummary (Maybe Text)
+ Network.AWS.DynamoDB.Types: cbdContinuousBackupsStatus :: Lens' ContinuousBackupsDescription ContinuousBackupsStatus
+ Network.AWS.DynamoDB.Types: cbdPointInTimeRecoveryDescription :: Lens' ContinuousBackupsDescription (Maybe PointInTimeRecoveryDescription)
+ Network.AWS.DynamoDB.Types: continuousBackupsDescription :: ContinuousBackupsStatus -> ContinuousBackupsDescription
+ Network.AWS.DynamoDB.Types: craRegionName :: Lens' CreateReplicaAction Text
+ Network.AWS.DynamoDB.Types: createReplicaAction :: Text -> CreateReplicaAction
+ Network.AWS.DynamoDB.Types: data BackupDescription
+ Network.AWS.DynamoDB.Types: data BackupDetails
+ Network.AWS.DynamoDB.Types: data BackupStatus
+ Network.AWS.DynamoDB.Types: data BackupSummary
+ Network.AWS.DynamoDB.Types: data ContinuousBackupsDescription
+ Network.AWS.DynamoDB.Types: data ContinuousBackupsStatus
+ Network.AWS.DynamoDB.Types: data CreateReplicaAction
+ Network.AWS.DynamoDB.Types: data DeleteReplicaAction
+ Network.AWS.DynamoDB.Types: data GlobalSecondaryIndexInfo
+ Network.AWS.DynamoDB.Types: data GlobalTable
+ Network.AWS.DynamoDB.Types: data GlobalTableDescription
+ Network.AWS.DynamoDB.Types: data GlobalTableGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB.Types: data GlobalTableStatus
+ Network.AWS.DynamoDB.Types: data LocalSecondaryIndexInfo
+ Network.AWS.DynamoDB.Types: data PointInTimeRecoveryDescription
+ Network.AWS.DynamoDB.Types: data PointInTimeRecoverySpecification
+ Network.AWS.DynamoDB.Types: data PointInTimeRecoveryStatus
+ Network.AWS.DynamoDB.Types: data Replica
+ Network.AWS.DynamoDB.Types: data ReplicaDescription
+ Network.AWS.DynamoDB.Types: data ReplicaGlobalSecondaryIndexSettingsDescription
+ Network.AWS.DynamoDB.Types: data ReplicaGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB.Types: data ReplicaSettingsDescription
+ Network.AWS.DynamoDB.Types: data ReplicaSettingsUpdate
+ Network.AWS.DynamoDB.Types: data ReplicaStatus
+ Network.AWS.DynamoDB.Types: data ReplicaUpdate
+ Network.AWS.DynamoDB.Types: data RestoreSummary
+ Network.AWS.DynamoDB.Types: data SSEDescription
+ Network.AWS.DynamoDB.Types: data SSESpecification
+ Network.AWS.DynamoDB.Types: data SSEStatus
+ Network.AWS.DynamoDB.Types: data SourceTableDetails
+ Network.AWS.DynamoDB.Types: data SourceTableFeatureDetails
+ Network.AWS.DynamoDB.Types: deleteReplicaAction :: Text -> DeleteReplicaAction
+ Network.AWS.DynamoDB.Types: draRegionName :: Lens' DeleteReplicaAction Text
+ Network.AWS.DynamoDB.Types: globalSecondaryIndexInfo :: GlobalSecondaryIndexInfo
+ Network.AWS.DynamoDB.Types: globalTable :: GlobalTable
+ Network.AWS.DynamoDB.Types: globalTableDescription :: GlobalTableDescription
+ Network.AWS.DynamoDB.Types: globalTableGlobalSecondaryIndexSettingsUpdate :: Text -> GlobalTableGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB.Types: gsiiIndexName :: Lens' GlobalSecondaryIndexInfo (Maybe Text)
+ Network.AWS.DynamoDB.Types: gsiiKeySchema :: Lens' GlobalSecondaryIndexInfo (Maybe (NonEmpty KeySchemaElement))
+ Network.AWS.DynamoDB.Types: gsiiProjection :: Lens' GlobalSecondaryIndexInfo (Maybe Projection)
+ Network.AWS.DynamoDB.Types: gsiiProvisionedThroughput :: Lens' GlobalSecondaryIndexInfo (Maybe ProvisionedThroughput)
+ Network.AWS.DynamoDB.Types: gtGlobalTableName :: Lens' GlobalTable (Maybe Text)
+ Network.AWS.DynamoDB.Types: gtReplicationGroup :: Lens' GlobalTable [Replica]
+ Network.AWS.DynamoDB.Types: gtdCreationDateTime :: Lens' GlobalTableDescription (Maybe UTCTime)
+ Network.AWS.DynamoDB.Types: gtdGlobalTableARN :: Lens' GlobalTableDescription (Maybe Text)
+ Network.AWS.DynamoDB.Types: gtdGlobalTableName :: Lens' GlobalTableDescription (Maybe Text)
+ Network.AWS.DynamoDB.Types: gtdGlobalTableStatus :: Lens' GlobalTableDescription (Maybe GlobalTableStatus)
+ Network.AWS.DynamoDB.Types: gtdReplicationGroup :: Lens' GlobalTableDescription [ReplicaDescription]
+ Network.AWS.DynamoDB.Types: gtgsisuIndexName :: Lens' GlobalTableGlobalSecondaryIndexSettingsUpdate Text
+ Network.AWS.DynamoDB.Types: gtgsisuProvisionedWriteCapacityUnits :: Lens' GlobalTableGlobalSecondaryIndexSettingsUpdate (Maybe Natural)
+ Network.AWS.DynamoDB.Types: localSecondaryIndexInfo :: LocalSecondaryIndexInfo
+ Network.AWS.DynamoDB.Types: lsiiIndexName :: Lens' LocalSecondaryIndexInfo (Maybe Text)
+ Network.AWS.DynamoDB.Types: lsiiKeySchema :: Lens' LocalSecondaryIndexInfo (Maybe (NonEmpty KeySchemaElement))
+ Network.AWS.DynamoDB.Types: lsiiProjection :: Lens' LocalSecondaryIndexInfo (Maybe Projection)
+ Network.AWS.DynamoDB.Types: pitrdEarliestRestorableDateTime :: Lens' PointInTimeRecoveryDescription (Maybe UTCTime)
+ Network.AWS.DynamoDB.Types: pitrdLatestRestorableDateTime :: Lens' PointInTimeRecoveryDescription (Maybe UTCTime)
+ Network.AWS.DynamoDB.Types: pitrdPointInTimeRecoveryStatus :: Lens' PointInTimeRecoveryDescription (Maybe PointInTimeRecoveryStatus)
+ Network.AWS.DynamoDB.Types: pitrsPointInTimeRecoveryEnabled :: Lens' PointInTimeRecoverySpecification Bool
+ Network.AWS.DynamoDB.Types: pointInTimeRecoveryDescription :: PointInTimeRecoveryDescription
+ Network.AWS.DynamoDB.Types: pointInTimeRecoverySpecification :: Bool -> PointInTimeRecoverySpecification
+ Network.AWS.DynamoDB.Types: rRegionName :: Lens' Replica (Maybe Text)
+ Network.AWS.DynamoDB.Types: rdRegionName :: Lens' ReplicaDescription (Maybe Text)
+ Network.AWS.DynamoDB.Types: replica :: Replica
+ Network.AWS.DynamoDB.Types: replicaDescription :: ReplicaDescription
+ Network.AWS.DynamoDB.Types: replicaGlobalSecondaryIndexSettingsDescription :: Text -> ReplicaGlobalSecondaryIndexSettingsDescription
+ Network.AWS.DynamoDB.Types: replicaGlobalSecondaryIndexSettingsUpdate :: Text -> ReplicaGlobalSecondaryIndexSettingsUpdate
+ Network.AWS.DynamoDB.Types: replicaSettingsDescription :: Text -> ReplicaSettingsDescription
+ Network.AWS.DynamoDB.Types: replicaSettingsUpdate :: Text -> ReplicaSettingsUpdate
+ Network.AWS.DynamoDB.Types: replicaUpdate :: ReplicaUpdate
+ Network.AWS.DynamoDB.Types: restoreSummary :: UTCTime -> Bool -> RestoreSummary
+ Network.AWS.DynamoDB.Types: rgsisdIndexName :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription Text
+ Network.AWS.DynamoDB.Types: rgsisdIndexStatus :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe IndexStatus)
+ Network.AWS.DynamoDB.Types: rgsisdProvisionedReadCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB.Types: rgsisdProvisionedWriteCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB.Types: rgsisuIndexName :: Lens' ReplicaGlobalSecondaryIndexSettingsUpdate Text
+ Network.AWS.DynamoDB.Types: rgsisuProvisionedReadCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsUpdate (Maybe Natural)
+ Network.AWS.DynamoDB.Types: rsRestoreDateTime :: Lens' RestoreSummary UTCTime
+ Network.AWS.DynamoDB.Types: rsRestoreInProgress :: Lens' RestoreSummary Bool
+ Network.AWS.DynamoDB.Types: rsSourceBackupARN :: Lens' RestoreSummary (Maybe Text)
+ Network.AWS.DynamoDB.Types: rsSourceTableARN :: Lens' RestoreSummary (Maybe Text)
+ Network.AWS.DynamoDB.Types: rsdRegionName :: Lens' ReplicaSettingsDescription Text
+ Network.AWS.DynamoDB.Types: rsdReplicaGlobalSecondaryIndexSettings :: Lens' ReplicaSettingsDescription [ReplicaGlobalSecondaryIndexSettingsDescription]
+ Network.AWS.DynamoDB.Types: rsdReplicaProvisionedReadCapacityUnits :: Lens' ReplicaSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB.Types: rsdReplicaProvisionedWriteCapacityUnits :: Lens' ReplicaSettingsDescription (Maybe Natural)
+ Network.AWS.DynamoDB.Types: rsdReplicaStatus :: Lens' ReplicaSettingsDescription (Maybe ReplicaStatus)
+ Network.AWS.DynamoDB.Types: rsuRegionName :: Lens' ReplicaSettingsUpdate Text
+ Network.AWS.DynamoDB.Types: rsuReplicaGlobalSecondaryIndexSettingsUpdate :: Lens' ReplicaSettingsUpdate (Maybe (NonEmpty ReplicaGlobalSecondaryIndexSettingsUpdate))
+ Network.AWS.DynamoDB.Types: rsuReplicaProvisionedReadCapacityUnits :: Lens' ReplicaSettingsUpdate (Maybe Natural)
+ Network.AWS.DynamoDB.Types: ruCreate :: Lens' ReplicaUpdate (Maybe CreateReplicaAction)
+ Network.AWS.DynamoDB.Types: ruDelete :: Lens' ReplicaUpdate (Maybe DeleteReplicaAction)
+ Network.AWS.DynamoDB.Types: sSEDescription :: SSEDescription
+ Network.AWS.DynamoDB.Types: sSESpecification :: Bool -> SSESpecification
+ Network.AWS.DynamoDB.Types: sourceTableDetails :: Text -> Text -> NonEmpty KeySchemaElement -> UTCTime -> ProvisionedThroughput -> SourceTableDetails
+ Network.AWS.DynamoDB.Types: sourceTableFeatureDetails :: SourceTableFeatureDetails
+ Network.AWS.DynamoDB.Types: ssedStatus :: Lens' SSEDescription (Maybe SSEStatus)
+ Network.AWS.DynamoDB.Types: ssesEnabled :: Lens' SSESpecification Bool
+ Network.AWS.DynamoDB.Types: stdItemCount :: Lens' SourceTableDetails (Maybe Natural)
+ Network.AWS.DynamoDB.Types: stdKeySchema :: Lens' SourceTableDetails (NonEmpty KeySchemaElement)
+ Network.AWS.DynamoDB.Types: stdProvisionedThroughput :: Lens' SourceTableDetails ProvisionedThroughput
+ Network.AWS.DynamoDB.Types: stdTableARN :: Lens' SourceTableDetails (Maybe Text)
+ Network.AWS.DynamoDB.Types: stdTableCreationDateTime :: Lens' SourceTableDetails UTCTime
+ Network.AWS.DynamoDB.Types: stdTableId :: Lens' SourceTableDetails Text
+ Network.AWS.DynamoDB.Types: stdTableName :: Lens' SourceTableDetails Text
+ Network.AWS.DynamoDB.Types: stdTableSizeBytes :: Lens' SourceTableDetails (Maybe Integer)
+ Network.AWS.DynamoDB.Types: stfdGlobalSecondaryIndexes :: Lens' SourceTableFeatureDetails [GlobalSecondaryIndexInfo]
+ Network.AWS.DynamoDB.Types: stfdLocalSecondaryIndexes :: Lens' SourceTableFeatureDetails [LocalSecondaryIndexInfo]
+ Network.AWS.DynamoDB.Types: stfdSSEDescription :: Lens' SourceTableFeatureDetails (Maybe SSEDescription)
+ Network.AWS.DynamoDB.Types: stfdStreamDescription :: Lens' SourceTableFeatureDetails (Maybe StreamSpecification)
+ Network.AWS.DynamoDB.Types: stfdTimeToLiveDescription :: Lens' SourceTableFeatureDetails (Maybe TimeToLiveDescription)
+ Network.AWS.DynamoDB.Types: tdRestoreSummary :: Lens' TableDescription (Maybe RestoreSummary)
+ Network.AWS.DynamoDB.Types: tdSSEDescription :: Lens' TableDescription (Maybe SSEDescription)
+ Network.AWS.DynamoDB.Types: tdTableId :: Lens' TableDescription (Maybe Text)
+ Network.AWS.DynamoDB.UpdateContinuousBackups: data UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: data UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Data.Data.Data Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Data.Data.Data Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Classes.Eq Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Classes.Eq Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Generics.Generic Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Generics.Generic Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Read.Read Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Read.Read Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Show.Show Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance GHC.Show.Show Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.UpdateContinuousBackups.UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: ucbPointInTimeRecoverySpecification :: Lens' UpdateContinuousBackups PointInTimeRecoverySpecification
+ Network.AWS.DynamoDB.UpdateContinuousBackups: ucbTableName :: Lens' UpdateContinuousBackups Text
+ Network.AWS.DynamoDB.UpdateContinuousBackups: ucbrsContinuousBackupsDescription :: Lens' UpdateContinuousBackupsResponse (Maybe ContinuousBackupsDescription)
+ Network.AWS.DynamoDB.UpdateContinuousBackups: ucbrsResponseStatus :: Lens' UpdateContinuousBackupsResponse Int
+ Network.AWS.DynamoDB.UpdateContinuousBackups: updateContinuousBackups :: Text -> PointInTimeRecoverySpecification -> UpdateContinuousBackups
+ Network.AWS.DynamoDB.UpdateContinuousBackups: updateContinuousBackupsResponse :: Int -> UpdateContinuousBackupsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: data UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: data UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Data.Data.Data Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Data.Data.Data Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Classes.Eq Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Classes.Eq Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Generics.Generic Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Generics.Generic Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Read.Read Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Read.Read Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Show.Show Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance GHC.Show.Show Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.UpdateGlobalTable.UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: ugtGlobalTableName :: Lens' UpdateGlobalTable Text
+ Network.AWS.DynamoDB.UpdateGlobalTable: ugtReplicaUpdates :: Lens' UpdateGlobalTable [ReplicaUpdate]
+ Network.AWS.DynamoDB.UpdateGlobalTable: ugtrsGlobalTableDescription :: Lens' UpdateGlobalTableResponse (Maybe GlobalTableDescription)
+ Network.AWS.DynamoDB.UpdateGlobalTable: ugtrsResponseStatus :: Lens' UpdateGlobalTableResponse Int
+ Network.AWS.DynamoDB.UpdateGlobalTable: updateGlobalTable :: Text -> UpdateGlobalTable
+ Network.AWS.DynamoDB.UpdateGlobalTable: updateGlobalTableResponse :: Int -> UpdateGlobalTableResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: data UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: data UpdateGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Control.DeepSeq.NFData Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Data.Data.Data Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Data.Data.Data Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Data.Hashable.Class.Hashable Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Classes.Eq Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Classes.Eq Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Generics.Generic Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Generics.Generic Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Read.Read Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Read.Read Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Show.Show Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance GHC.Show.Show Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettingsResponse
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Network.AWS.Data.Path.ToPath Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Network.AWS.Data.Query.ToQuery Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: instance Network.AWS.Types.AWSRequest Network.AWS.DynamoDB.UpdateGlobalTableSettings.UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate :: Lens' UpdateGlobalTableSettings (Maybe (NonEmpty GlobalTableGlobalSecondaryIndexSettingsUpdate))
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: ugtsGlobalTableName :: Lens' UpdateGlobalTableSettings Text
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: ugtsGlobalTableProvisionedWriteCapacityUnits :: Lens' UpdateGlobalTableSettings (Maybe Natural)
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: ugtsReplicaSettingsUpdate :: Lens' UpdateGlobalTableSettings (Maybe (NonEmpty ReplicaSettingsUpdate))
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: ugtsrsGlobalTableName :: Lens' UpdateGlobalTableSettingsResponse (Maybe Text)
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: ugtsrsReplicaSettings :: Lens' UpdateGlobalTableSettingsResponse [ReplicaSettingsDescription]
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: ugtsrsResponseStatus :: Lens' UpdateGlobalTableSettingsResponse Int
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: updateGlobalTableSettings :: Text -> UpdateGlobalTableSettings
+ Network.AWS.DynamoDB.UpdateGlobalTableSettings: updateGlobalTableSettingsResponse :: Int -> UpdateGlobalTableSettingsResponse
- Network.AWS.DynamoDB: Creating :: TableStatus
+ Network.AWS.DynamoDB: Creating :: BackupStatus
- Network.AWS.DynamoDB: KeysOnly :: ProjectionType
+ Network.AWS.DynamoDB: KeysOnly :: StreamViewType
- Network.AWS.DynamoDB.Types: Creating :: TableStatus
+ Network.AWS.DynamoDB.Types: Creating :: BackupStatus
- Network.AWS.DynamoDB.Types: KeysOnly :: ProjectionType
+ Network.AWS.DynamoDB.Types: KeysOnly :: StreamViewType

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.5.0`+`1.6.0`   ## Description
amazonka-dynamodb.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-dynamodb-version:               1.5.0+version:               1.6.0 synopsis:              Amazon DynamoDB SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2017 Brendan Hay+copyright:             Copyright (c) 2013-2018 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -47,21 +47,35 @@           Network.AWS.DynamoDB         , Network.AWS.DynamoDB.BatchGetItem         , Network.AWS.DynamoDB.BatchWriteItem+        , Network.AWS.DynamoDB.CreateBackup+        , Network.AWS.DynamoDB.CreateGlobalTable         , Network.AWS.DynamoDB.CreateTable+        , Network.AWS.DynamoDB.DeleteBackup         , Network.AWS.DynamoDB.DeleteItem         , Network.AWS.DynamoDB.DeleteTable+        , Network.AWS.DynamoDB.DescribeBackup+        , Network.AWS.DynamoDB.DescribeContinuousBackups+        , Network.AWS.DynamoDB.DescribeGlobalTable+        , Network.AWS.DynamoDB.DescribeGlobalTableSettings         , Network.AWS.DynamoDB.DescribeLimits         , Network.AWS.DynamoDB.DescribeTable         , Network.AWS.DynamoDB.DescribeTimeToLive         , Network.AWS.DynamoDB.GetItem+        , Network.AWS.DynamoDB.ListBackups+        , Network.AWS.DynamoDB.ListGlobalTables         , Network.AWS.DynamoDB.ListTables         , Network.AWS.DynamoDB.ListTagsOfResource         , Network.AWS.DynamoDB.PutItem         , Network.AWS.DynamoDB.Query+        , Network.AWS.DynamoDB.RestoreTableFromBackup+        , Network.AWS.DynamoDB.RestoreTableToPointInTime         , Network.AWS.DynamoDB.Scan         , Network.AWS.DynamoDB.TagResource         , Network.AWS.DynamoDB.Types         , Network.AWS.DynamoDB.UntagResource+        , Network.AWS.DynamoDB.UpdateContinuousBackups+        , Network.AWS.DynamoDB.UpdateGlobalTable+        , Network.AWS.DynamoDB.UpdateGlobalTableSettings         , Network.AWS.DynamoDB.UpdateItem         , Network.AWS.DynamoDB.UpdateTable         , Network.AWS.DynamoDB.UpdateTimeToLive@@ -72,7 +86,7 @@         , Network.AWS.DynamoDB.Types.Sum      build-depends:-          amazonka-core == 1.5.0.*+          amazonka-core == 1.6.0.*         , base          >= 4.7     && < 5  test-suite amazonka-dynamodb-test@@ -92,8 +106,8 @@         , Test.AWS.DynamoDB.Internal      build-depends:-          amazonka-core == 1.5.0.*-        , amazonka-test == 1.5.0.*+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*         , amazonka-dynamodb         , base         , bytestring
+ fixture/CreateBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateBackupResponse.proto view
+ fixture/CreateGlobalTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateGlobalTableResponse.proto view
+ fixture/DeleteBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteBackupResponse.proto view
+ fixture/DescribeBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeBackupResponse.proto view
+ fixture/DescribeContinuousBackups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeContinuousBackupsResponse.proto view
+ fixture/DescribeGlobalTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeGlobalTableResponse.proto view
+ fixture/DescribeGlobalTableSettings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeGlobalTableSettingsResponse.proto view
+ fixture/ListBackups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListBackupsResponse.proto view
+ fixture/ListGlobalTables.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListGlobalTablesResponse.proto view
+ fixture/RestoreTableFromBackup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/RestoreTableFromBackupResponse.proto view
+ fixture/RestoreTableToPointInTime.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/RestoreTableToPointInTimeResponse.proto view
+ fixture/UpdateContinuousBackups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateContinuousBackupsResponse.proto view
+ fixture/UpdateGlobalTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateGlobalTableResponse.proto view
+ fixture/UpdateGlobalTableSettings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/dynamodb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  dynamodb.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateGlobalTableSettingsResponse.proto view
gen/Network/AWS/DynamoDB.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Network.AWS.DynamoDB--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,21 +27,60 @@     -- * Errors     -- $errors +    -- ** BackupNotFoundException+    , _BackupNotFoundException++    -- ** TableInUseException+    , _TableInUseException++    -- ** ContinuousBackupsUnavailableException+    , _ContinuousBackupsUnavailableException+     -- ** ProvisionedThroughputExceededException     , _ProvisionedThroughputExceededException +    -- ** GlobalTableNotFoundException+    , _GlobalTableNotFoundException+     -- ** ConditionalCheckFailedException     , _ConditionalCheckFailedException +    -- ** GlobalTableAlreadyExistsException+    , _GlobalTableAlreadyExistsException++    -- ** ReplicaNotFoundException+    , _ReplicaNotFoundException++    -- ** TableAlreadyExistsException+    , _TableAlreadyExistsException+     -- ** ItemCollectionSizeLimitExceededException     , _ItemCollectionSizeLimitExceededException      -- ** InternalServerError     , _InternalServerError +    -- ** TableNotFoundException+    , _TableNotFoundException++    -- ** IndexNotFoundException+    , _IndexNotFoundException++    -- ** BackupInUseException+    , _BackupInUseException++    -- ** PointInTimeRecoveryUnavailableException+    , _PointInTimeRecoveryUnavailableException++    -- ** InvalidRestoreTimeException+    , _InvalidRestoreTimeException+     -- ** ResourceNotFoundException     , _ResourceNotFoundException +    -- ** ReplicaAlreadyExistsException+    , _ReplicaAlreadyExistsException+     -- ** LimitExceededException     , _LimitExceededException @@ -69,6 +108,12 @@     -- ** UpdateItem     , module Network.AWS.DynamoDB.UpdateItem +    -- ** ListGlobalTables+    , module Network.AWS.DynamoDB.ListGlobalTables++    -- ** UpdateGlobalTable+    , module Network.AWS.DynamoDB.UpdateGlobalTable+     -- ** DeleteTable     , module Network.AWS.DynamoDB.DeleteTable @@ -78,9 +123,24 @@     -- ** BatchGetItem     , module Network.AWS.DynamoDB.BatchGetItem +    -- ** ListBackups (Paginated)+    , module Network.AWS.DynamoDB.ListBackups++    -- ** DeleteBackup+    , module Network.AWS.DynamoDB.DeleteBackup++    -- ** CreateBackup+    , module Network.AWS.DynamoDB.CreateBackup++    -- ** DescribeGlobalTableSettings+    , module Network.AWS.DynamoDB.DescribeGlobalTableSettings+     -- ** ListTagsOfResource     , module Network.AWS.DynamoDB.ListTagsOfResource +    -- ** DescribeGlobalTable+    , module Network.AWS.DynamoDB.DescribeGlobalTable+     -- ** DescribeTable     , module Network.AWS.DynamoDB.DescribeTable @@ -90,6 +150,12 @@     -- ** GetItem     , module Network.AWS.DynamoDB.GetItem +    -- ** DescribeBackup+    , module Network.AWS.DynamoDB.DescribeBackup++    -- ** UpdateGlobalTableSettings+    , module Network.AWS.DynamoDB.UpdateGlobalTableSettings+     -- ** BatchWriteItem     , module Network.AWS.DynamoDB.BatchWriteItem @@ -108,35 +174,65 @@     -- ** DescribeTimeToLive     , module Network.AWS.DynamoDB.DescribeTimeToLive +    -- ** DescribeContinuousBackups+    , module Network.AWS.DynamoDB.DescribeContinuousBackups+     -- ** TagResource     , module Network.AWS.DynamoDB.TagResource      -- ** UntagResource     , module Network.AWS.DynamoDB.UntagResource +    -- ** RestoreTableToPointInTime+    , module Network.AWS.DynamoDB.RestoreTableToPointInTime++    -- ** RestoreTableFromBackup+    , module Network.AWS.DynamoDB.RestoreTableFromBackup+     -- ** UpdateTimeToLive     , module Network.AWS.DynamoDB.UpdateTimeToLive +    -- ** CreateGlobalTable+    , module Network.AWS.DynamoDB.CreateGlobalTable++    -- ** UpdateContinuousBackups+    , module Network.AWS.DynamoDB.UpdateContinuousBackups+     -- * Types      -- ** AttributeAction     , AttributeAction (..) +    -- ** BackupStatus+    , BackupStatus (..)+     -- ** ComparisonOperator     , ComparisonOperator (..)      -- ** ConditionalOperator     , ConditionalOperator (..) +    -- ** ContinuousBackupsStatus+    , ContinuousBackupsStatus (..)++    -- ** GlobalTableStatus+    , GlobalTableStatus (..)+     -- ** IndexStatus     , IndexStatus (..)      -- ** KeyType     , KeyType (..) +    -- ** PointInTimeRecoveryStatus+    , PointInTimeRecoveryStatus (..)+     -- ** ProjectionType     , ProjectionType (..) +    -- ** ReplicaStatus+    , ReplicaStatus (..)+     -- ** ReturnConsumedCapacity     , ReturnConsumedCapacity (..) @@ -146,6 +242,9 @@     -- ** ReturnValue     , ReturnValue (..) +    -- ** SSEStatus+    , SSEStatus (..)+     -- ** ScalarAttributeType     , ScalarAttributeType (..) @@ -187,6 +286,34 @@     , avuValue     , avuAction +    -- ** BackupDescription+    , BackupDescription+    , backupDescription+    , bdBackupDetails+    , bdSourceTableDetails+    , bdSourceTableFeatureDetails++    -- ** BackupDetails+    , BackupDetails+    , backupDetails+    , bdBackupSizeBytes+    , bdBackupARN+    , bdBackupName+    , bdBackupStatus+    , bdBackupCreationDateTime++    -- ** BackupSummary+    , BackupSummary+    , backupSummary+    , bsTableARN+    , bsBackupName+    , bsBackupStatus+    , bsBackupSizeBytes+    , bsBackupARN+    , bsTableId+    , bsBackupCreationDateTime+    , bsTableName+     -- ** Capacity     , Capacity     , capacity@@ -207,6 +334,12 @@     , ccTable     , ccTableName +    -- ** ContinuousBackupsDescription+    , ContinuousBackupsDescription+    , continuousBackupsDescription+    , cbdPointInTimeRecoveryDescription+    , cbdContinuousBackupsStatus+     -- ** CreateGlobalSecondaryIndexAction     , CreateGlobalSecondaryIndexAction     , createGlobalSecondaryIndexAction@@ -215,11 +348,21 @@     , cgsiaProjection     , cgsiaProvisionedThroughput +    -- ** CreateReplicaAction+    , CreateReplicaAction+    , createReplicaAction+    , craRegionName+     -- ** DeleteGlobalSecondaryIndexAction     , DeleteGlobalSecondaryIndexAction     , deleteGlobalSecondaryIndexAction     , dgsiaIndexName +    -- ** DeleteReplicaAction+    , DeleteReplicaAction+    , deleteReplicaAction+    , draRegionName+     -- ** DeleteRequest     , DeleteRequest     , deleteRequest@@ -254,6 +397,14 @@     , gsidItemCount     , gsidIndexName +    -- ** GlobalSecondaryIndexInfo+    , GlobalSecondaryIndexInfo+    , globalSecondaryIndexInfo+    , gsiiProvisionedThroughput+    , gsiiKeySchema+    , gsiiProjection+    , gsiiIndexName+     -- ** GlobalSecondaryIndexUpdate     , GlobalSecondaryIndexUpdate     , globalSecondaryIndexUpdate@@ -261,6 +412,27 @@     , gsiuDelete     , gsiuUpdate +    -- ** GlobalTable+    , GlobalTable+    , globalTable+    , gtGlobalTableName+    , gtReplicationGroup++    -- ** GlobalTableDescription+    , GlobalTableDescription+    , globalTableDescription+    , gtdGlobalTableStatus+    , gtdGlobalTableName+    , gtdGlobalTableARN+    , gtdCreationDateTime+    , gtdReplicationGroup++    -- ** GlobalTableGlobalSecondaryIndexSettingsUpdate+    , GlobalTableGlobalSecondaryIndexSettingsUpdate+    , globalTableGlobalSecondaryIndexSettingsUpdate+    , gtgsisuProvisionedWriteCapacityUnits+    , gtgsisuIndexName+     -- ** ItemCollectionMetrics     , ItemCollectionMetrics     , itemCollectionMetrics@@ -299,6 +471,25 @@     , lsidItemCount     , lsidIndexName +    -- ** LocalSecondaryIndexInfo+    , LocalSecondaryIndexInfo+    , localSecondaryIndexInfo+    , lsiiKeySchema+    , lsiiProjection+    , lsiiIndexName++    -- ** PointInTimeRecoveryDescription+    , PointInTimeRecoveryDescription+    , pointInTimeRecoveryDescription+    , pitrdPointInTimeRecoveryStatus+    , pitrdEarliestRestorableDateTime+    , pitrdLatestRestorableDateTime++    -- ** PointInTimeRecoverySpecification+    , PointInTimeRecoverySpecification+    , pointInTimeRecoverySpecification+    , pitrsPointInTimeRecoveryEnabled+     -- ** Projection     , Projection     , projection@@ -325,6 +516,91 @@     , putRequest     , prItem +    -- ** Replica+    , Replica+    , replica+    , rRegionName++    -- ** ReplicaDescription+    , ReplicaDescription+    , replicaDescription+    , rdRegionName++    -- ** ReplicaGlobalSecondaryIndexSettingsDescription+    , ReplicaGlobalSecondaryIndexSettingsDescription+    , replicaGlobalSecondaryIndexSettingsDescription+    , rgsisdIndexStatus+    , rgsisdProvisionedReadCapacityUnits+    , rgsisdProvisionedWriteCapacityUnits+    , rgsisdIndexName++    -- ** ReplicaGlobalSecondaryIndexSettingsUpdate+    , ReplicaGlobalSecondaryIndexSettingsUpdate+    , replicaGlobalSecondaryIndexSettingsUpdate+    , rgsisuProvisionedReadCapacityUnits+    , rgsisuIndexName++    -- ** ReplicaSettingsDescription+    , ReplicaSettingsDescription+    , replicaSettingsDescription+    , rsdReplicaStatus+    , rsdReplicaProvisionedReadCapacityUnits+    , rsdReplicaProvisionedWriteCapacityUnits+    , rsdReplicaGlobalSecondaryIndexSettings+    , rsdRegionName++    -- ** ReplicaSettingsUpdate+    , ReplicaSettingsUpdate+    , replicaSettingsUpdate+    , rsuReplicaProvisionedReadCapacityUnits+    , rsuReplicaGlobalSecondaryIndexSettingsUpdate+    , rsuRegionName++    -- ** ReplicaUpdate+    , ReplicaUpdate+    , replicaUpdate+    , ruCreate+    , ruDelete++    -- ** RestoreSummary+    , RestoreSummary+    , restoreSummary+    , rsSourceTableARN+    , rsSourceBackupARN+    , rsRestoreDateTime+    , rsRestoreInProgress++    -- ** SSEDescription+    , SSEDescription+    , sSEDescription+    , ssedStatus++    -- ** SSESpecification+    , SSESpecification+    , sSESpecification+    , ssesEnabled++    -- ** SourceTableDetails+    , SourceTableDetails+    , sourceTableDetails+    , stdTableSizeBytes+    , stdTableARN+    , stdItemCount+    , stdTableName+    , stdTableId+    , stdKeySchema+    , stdTableCreationDateTime+    , stdProvisionedThroughput++    -- ** SourceTableFeatureDetails+    , SourceTableFeatureDetails+    , sourceTableFeatureDetails+    , stfdStreamDescription+    , stfdGlobalSecondaryIndexes+    , stfdLocalSecondaryIndexes+    , stfdSSEDescription+    , stfdTimeToLiveDescription+     -- ** StreamSpecification     , StreamSpecification     , streamSpecification@@ -334,6 +610,7 @@     -- ** TableDescription     , TableDescription     , tableDescription+    , tdRestoreSummary     , tdTableSizeBytes     , tdAttributeDefinitions     , tdLatestStreamARN@@ -345,6 +622,8 @@     , tdLatestStreamLabel     , tdLocalSecondaryIndexes     , tdCreationDateTime+    , tdSSEDescription+    , tdTableId     , tdItemCount     , tdTableName     , tdStreamSpecification@@ -382,21 +661,35 @@  import Network.AWS.DynamoDB.BatchGetItem import Network.AWS.DynamoDB.BatchWriteItem+import Network.AWS.DynamoDB.CreateBackup+import Network.AWS.DynamoDB.CreateGlobalTable import Network.AWS.DynamoDB.CreateTable+import Network.AWS.DynamoDB.DeleteBackup import Network.AWS.DynamoDB.DeleteItem import Network.AWS.DynamoDB.DeleteTable+import Network.AWS.DynamoDB.DescribeBackup+import Network.AWS.DynamoDB.DescribeContinuousBackups+import Network.AWS.DynamoDB.DescribeGlobalTable+import Network.AWS.DynamoDB.DescribeGlobalTableSettings import Network.AWS.DynamoDB.DescribeLimits import Network.AWS.DynamoDB.DescribeTable import Network.AWS.DynamoDB.DescribeTimeToLive import Network.AWS.DynamoDB.GetItem+import Network.AWS.DynamoDB.ListBackups+import Network.AWS.DynamoDB.ListGlobalTables import Network.AWS.DynamoDB.ListTables import Network.AWS.DynamoDB.ListTagsOfResource import Network.AWS.DynamoDB.PutItem import Network.AWS.DynamoDB.Query+import Network.AWS.DynamoDB.RestoreTableFromBackup+import Network.AWS.DynamoDB.RestoreTableToPointInTime import Network.AWS.DynamoDB.Scan import Network.AWS.DynamoDB.TagResource import Network.AWS.DynamoDB.Types import Network.AWS.DynamoDB.UntagResource+import Network.AWS.DynamoDB.UpdateContinuousBackups+import Network.AWS.DynamoDB.UpdateGlobalTable+import Network.AWS.DynamoDB.UpdateGlobalTableSettings import Network.AWS.DynamoDB.UpdateItem import Network.AWS.DynamoDB.UpdateTable import Network.AWS.DynamoDB.UpdateTimeToLive
gen/Network/AWS/DynamoDB/BatchGetItem.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.BatchGetItem--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -89,16 +89,16 @@     :: BatchGetItem batchGetItem =   BatchGetItem'-  {_bgiReturnConsumedCapacity = Nothing, _bgiRequestItems = mempty}+    {_bgiReturnConsumedCapacity = Nothing, _bgiRequestItems = mempty}   -- | Undocumented member. bgiReturnConsumedCapacity :: Lens' BatchGetItem (Maybe ReturnConsumedCapacity)-bgiReturnConsumedCapacity = lens _bgiReturnConsumedCapacity (\ s a -> s{_bgiReturnConsumedCapacity = a});+bgiReturnConsumedCapacity = lens _bgiReturnConsumedCapacity (\ s a -> s{_bgiReturnConsumedCapacity = a})  -- | A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per @BatchGetItem@ request. Each element in the map of items to retrieve consists of the following:     * @ConsistentRead@ - If @true@ , a strongly consistent read is used; if @false@ (the default), an eventually consistent read is used.     * @ExpressionAttributeNames@ - One or more substitution tokens for attribute names in the @ProjectionExpression@ parameter. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .     * @Keys@ - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide /all/ of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide /both/ the partition key value and the sort key value.     * @ProjectionExpression@ - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .     * @AttributesToGet@ - This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html AttributesToGet> in the /Amazon DynamoDB Developer Guide/ . bgiRequestItems :: Lens' BatchGetItem (HashMap Text KeysAndAttributes)-bgiRequestItems = lens _bgiRequestItems (\ s a -> s{_bgiRequestItems = a}) . _Map;+bgiRequestItems = lens _bgiRequestItems (\ s a -> s{_bgiRequestItems = a}) . _Map  instance AWSRequest BatchGetItem where         type Rs BatchGetItem = BatchGetItemResponse@@ -168,27 +168,27 @@     -> BatchGetItemResponse batchGetItemResponse pResponseStatus_ =   BatchGetItemResponse'-  { _bgirsUnprocessedKeys = Nothing-  , _bgirsResponses = Nothing-  , _bgirsConsumedCapacity = Nothing-  , _bgirsResponseStatus = pResponseStatus_-  }+    { _bgirsUnprocessedKeys = Nothing+    , _bgirsResponses = Nothing+    , _bgirsConsumedCapacity = Nothing+    , _bgirsResponseStatus = pResponseStatus_+    }   -- | A map of tables and their respective keys that were not processed with the current response. The @UnprocessedKeys@ value is in the same form as @RequestItems@ , so the value can be provided directly to a subsequent @BatchGetItem@ operation. For more information, see @RequestItems@ in the Request Parameters section. Each element consists of:     * @Keys@ - An array of primary key attribute values that define specific items in the table.     * @ProjectionExpression@ - One or more attributes to be retrieved from the table or index. By default, all attributes are returned. If a requested attribute is not found, it does not appear in the result.     * @ConsistentRead@ - The consistency of a read operation. If set to @true@ , then a strongly consistent read is used; otherwise, an eventually consistent read is used. If there are no unprocessed keys remaining, the response contains an empty @UnprocessedKeys@ map. bgirsUnprocessedKeys :: Lens' BatchGetItemResponse (HashMap Text KeysAndAttributes)-bgirsUnprocessedKeys = lens _bgirsUnprocessedKeys (\ s a -> s{_bgirsUnprocessedKeys = a}) . _Default . _Map;+bgirsUnprocessedKeys = lens _bgirsUnprocessedKeys (\ s a -> s{_bgirsUnprocessedKeys = a}) . _Default . _Map  -- | A map of table name to a list of items. Each object in @Responses@ consists of a table name, along with a map of attribute data consisting of the data type and attribute value. bgirsResponses :: Lens' BatchGetItemResponse (HashMap Text [HashMap Text AttributeValue])-bgirsResponses = lens _bgirsResponses (\ s a -> s{_bgirsResponses = a}) . _Default . _Map;+bgirsResponses = lens _bgirsResponses (\ s a -> s{_bgirsResponses = a}) . _Default . _Map  -- | The read capacity units consumed by the entire @BatchGetItem@ operation. Each element consists of:     * @TableName@ - The table that consumed the provisioned throughput.     * @CapacityUnits@ - The total number of capacity units consumed. bgirsConsumedCapacity :: Lens' BatchGetItemResponse [ConsumedCapacity]-bgirsConsumedCapacity = lens _bgirsConsumedCapacity (\ s a -> s{_bgirsConsumedCapacity = a}) . _Default . _Coerce;+bgirsConsumedCapacity = lens _bgirsConsumedCapacity (\ s a -> s{_bgirsConsumedCapacity = a}) . _Default . _Coerce  -- | -- | The response status code. bgirsResponseStatus :: Lens' BatchGetItemResponse Int-bgirsResponseStatus = lens _bgirsResponseStatus (\ s a -> s{_bgirsResponseStatus = a});+bgirsResponseStatus = lens _bgirsResponseStatus (\ s a -> s{_bgirsResponseStatus = a})  instance NFData BatchGetItemResponse where
gen/Network/AWS/DynamoDB/BatchWriteItem.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.BatchWriteItem--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -43,6 +43,8 @@ -- --     * You try to perform multiple operations on the same item in the same @BatchWriteItem@ request. For example, you cannot put and delete the same item in the same @BatchWriteItem@ request. --+--     * Your request contains at least two items with identical hash and range keys (which essentially is two put operations).+-- --     * There are more than 25 requests in the batch. -- --     * Any individual item in a batch exceeds 400 KB.@@ -103,23 +105,23 @@     :: BatchWriteItem batchWriteItem =   BatchWriteItem'-  { _bwiReturnConsumedCapacity = Nothing-  , _bwiReturnItemCollectionMetrics = Nothing-  , _bwiRequestItems = mempty-  }+    { _bwiReturnConsumedCapacity = Nothing+    , _bwiReturnItemCollectionMetrics = Nothing+    , _bwiRequestItems = mempty+    }   -- | Undocumented member. bwiReturnConsumedCapacity :: Lens' BatchWriteItem (Maybe ReturnConsumedCapacity)-bwiReturnConsumedCapacity = lens _bwiReturnConsumedCapacity (\ s a -> s{_bwiReturnConsumedCapacity = a});+bwiReturnConsumedCapacity = lens _bwiReturnConsumedCapacity (\ s a -> s{_bwiReturnConsumedCapacity = a})  -- | Determines whether item collection metrics are returned. If set to @SIZE@ , the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to @NONE@ (the default), no statistics are returned. bwiReturnItemCollectionMetrics :: Lens' BatchWriteItem (Maybe ReturnItemCollectionMetrics)-bwiReturnItemCollectionMetrics = lens _bwiReturnItemCollectionMetrics (\ s a -> s{_bwiReturnItemCollectionMetrics = a});+bwiReturnItemCollectionMetrics = lens _bwiReturnItemCollectionMetrics (\ s a -> s{_bwiReturnItemCollectionMetrics = a})  -- | A map of one or more table names and, for each table, a list of operations to be performed (@DeleteRequest@ or @PutRequest@ ). Each element in the map consists of the following:     * @DeleteRequest@ - Perform a @DeleteItem@ operation on the specified item. The item to be deleted is identified by a @Key@ subelement:     * @Key@ - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide /all/ of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for /both/ the partition key and the sort key.     * @PutRequest@ - Perform a @PutItem@ operation on the specified item. The item to be put is identified by an @Item@ subelement:     * @Item@ - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a @ValidationException@ exception. If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition. bwiRequestItems :: Lens' BatchWriteItem (HashMap Text (NonEmpty WriteRequest))-bwiRequestItems = lens _bwiRequestItems (\ s a -> s{_bwiRequestItems = a}) . _Map;+bwiRequestItems = lens _bwiRequestItems (\ s a -> s{_bwiRequestItems = a}) . _Map  instance AWSRequest BatchWriteItem where         type Rs BatchWriteItem = BatchWriteItemResponse@@ -179,7 +181,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'bwirsItemCollectionMetrics' - A list of tables that were processed by @BatchWriteItem@ and, for each table, information about any item collections that were affected by individual @DeleteItem@ or @PutItem@ operations. Each entry consists of the following subelements:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item.     * @SizeEstimateRange@ - An estimate of item collection size, expressed in GB. This is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on the table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- * 'bwirsItemCollectionMetrics' - A list of tables that were processed by @BatchWriteItem@ and, for each table, information about any item collections that were affected by individual @DeleteItem@ or @PutItem@ operations. Each entry consists of the following subelements:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item.     * @SizeEstimateRangeGB@ - An estimate of item collection size, expressed in GB. This is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on the table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. -- -- * 'bwirsConsumedCapacity' - The capacity units consumed by the entire @BatchWriteItem@ operation. Each element consists of:     * @TableName@ - The table that consumed the provisioned throughput.     * @CapacityUnits@ - The total number of capacity units consumed. --@@ -191,27 +193,27 @@     -> BatchWriteItemResponse batchWriteItemResponse pResponseStatus_ =   BatchWriteItemResponse'-  { _bwirsItemCollectionMetrics = Nothing-  , _bwirsConsumedCapacity = Nothing-  , _bwirsUnprocessedItems = Nothing-  , _bwirsResponseStatus = pResponseStatus_-  }+    { _bwirsItemCollectionMetrics = Nothing+    , _bwirsConsumedCapacity = Nothing+    , _bwirsUnprocessedItems = Nothing+    , _bwirsResponseStatus = pResponseStatus_+    }  --- | A list of tables that were processed by @BatchWriteItem@ and, for each table, information about any item collections that were affected by individual @DeleteItem@ or @PutItem@ operations. Each entry consists of the following subelements:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item.     * @SizeEstimateRange@ - An estimate of item collection size, expressed in GB. This is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on the table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- | A list of tables that were processed by @BatchWriteItem@ and, for each table, information about any item collections that were affected by individual @DeleteItem@ or @PutItem@ operations. Each entry consists of the following subelements:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item.     * @SizeEstimateRangeGB@ - An estimate of item collection size, expressed in GB. This is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on the table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. bwirsItemCollectionMetrics :: Lens' BatchWriteItemResponse (HashMap Text [ItemCollectionMetrics])-bwirsItemCollectionMetrics = lens _bwirsItemCollectionMetrics (\ s a -> s{_bwirsItemCollectionMetrics = a}) . _Default . _Map;+bwirsItemCollectionMetrics = lens _bwirsItemCollectionMetrics (\ s a -> s{_bwirsItemCollectionMetrics = a}) . _Default . _Map  -- | The capacity units consumed by the entire @BatchWriteItem@ operation. Each element consists of:     * @TableName@ - The table that consumed the provisioned throughput.     * @CapacityUnits@ - The total number of capacity units consumed. bwirsConsumedCapacity :: Lens' BatchWriteItemResponse [ConsumedCapacity]-bwirsConsumedCapacity = lens _bwirsConsumedCapacity (\ s a -> s{_bwirsConsumedCapacity = a}) . _Default . _Coerce;+bwirsConsumedCapacity = lens _bwirsConsumedCapacity (\ s a -> s{_bwirsConsumedCapacity = a}) . _Default . _Coerce  -- | A map of tables and requests against those tables that were not processed. The @UnprocessedItems@ value is in the same form as @RequestItems@ , so you can provide this value directly to a subsequent @BatchGetItem@ operation. For more information, see @RequestItems@ in the Request Parameters section. Each @UnprocessedItems@ entry consists of a table name and, for that table, a list of operations to perform (@DeleteRequest@ or @PutRequest@ ).     * @DeleteRequest@ - Perform a @DeleteItem@ operation on the specified item. The item to be deleted is identified by a @Key@ subelement:     * @Key@ - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.     * @PutRequest@ - Perform a @PutItem@ operation on the specified item. The item to be put is identified by an @Item@ subelement:     * @Item@ - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a @ValidationException@ exception. If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition. If there are no unprocessed items remaining, the response contains an empty @UnprocessedItems@ map. bwirsUnprocessedItems :: Lens' BatchWriteItemResponse (HashMap Text (NonEmpty WriteRequest))-bwirsUnprocessedItems = lens _bwirsUnprocessedItems (\ s a -> s{_bwirsUnprocessedItems = a}) . _Default . _Map;+bwirsUnprocessedItems = lens _bwirsUnprocessedItems (\ s a -> s{_bwirsUnprocessedItems = a}) . _Default . _Map  -- | -- | The response status code. bwirsResponseStatus :: Lens' BatchWriteItemResponse Int-bwirsResponseStatus = lens _bwirsResponseStatus (\ s a -> s{_bwirsResponseStatus = a});+bwirsResponseStatus = lens _bwirsResponseStatus (\ s a -> s{_bwirsResponseStatus = a})  instance NFData BatchWriteItemResponse where
+ gen/Network/AWS/DynamoDB/CreateBackup.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.CreateBackup+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a backup for an existing table.+--+--+-- Each time you create an On-Demand Backup, the entire table data is backed up. There is no limit to the number of on-demand backups that can be taken.+--+-- When you create an On-Demand Backup, a time marker of the request is cataloged, and the backup is created asynchronously, by applying all changes until the time of the request to the last full table snapshot. Backup requests are processed instantaneously and become available for restore within minutes.+--+-- You can call @CreateBackup@ at a maximum rate of 50 times per second.+--+-- All backups in DynamoDB work without consuming any provisioned throughput on the table.+--+-- If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to contain all data committed to the table up to 14:24:00, and data committed after 14:26:00 will not be. The backup may or may not contain data modifications made between 14:24:00 and 14:26:00. On-Demand Backup does not support causal consistency.+--+-- Along with data, the following are also included on the backups:+--+--     * Global secondary indexes (GSIs)+--+--     * Local secondary indexes (LSIs)+--+--     * Streams+--+--     * Provisioned read and write capacity+--+--+--+module Network.AWS.DynamoDB.CreateBackup+    (+    -- * Creating a Request+      createBackup+    , CreateBackup+    -- * Request Lenses+    , cbTableName+    , cbBackupName++    -- * Destructuring the Response+    , createBackupResponse+    , CreateBackupResponse+    -- * Response Lenses+    , cbrsBackupDetails+    , cbrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createBackup' smart constructor.+data CreateBackup = CreateBackup'+  { _cbTableName  :: !Text+  , _cbBackupName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateBackup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbTableName' - The name of the table.+--+-- * 'cbBackupName' - Specified name for the backup.+createBackup+    :: Text -- ^ 'cbTableName'+    -> Text -- ^ 'cbBackupName'+    -> CreateBackup+createBackup pTableName_ pBackupName_ =+  CreateBackup' {_cbTableName = pTableName_, _cbBackupName = pBackupName_}+++-- | The name of the table.+cbTableName :: Lens' CreateBackup Text+cbTableName = lens _cbTableName (\ s a -> s{_cbTableName = a})++-- | Specified name for the backup.+cbBackupName :: Lens' CreateBackup Text+cbBackupName = lens _cbBackupName (\ s a -> s{_cbBackupName = a})++instance AWSRequest CreateBackup where+        type Rs CreateBackup = CreateBackupResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 CreateBackupResponse' <$>+                   (x .?> "BackupDetails") <*> (pure (fromEnum s)))++instance Hashable CreateBackup where++instance NFData CreateBackup where++instance ToHeaders CreateBackup where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.CreateBackup" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON CreateBackup where+        toJSON CreateBackup'{..}+          = object+              (catMaybes+                 [Just ("TableName" .= _cbTableName),+                  Just ("BackupName" .= _cbBackupName)])++instance ToPath CreateBackup where+        toPath = const "/"++instance ToQuery CreateBackup where+        toQuery = const mempty++-- | /See:/ 'createBackupResponse' smart constructor.+data CreateBackupResponse = CreateBackupResponse'+  { _cbrsBackupDetails  :: !(Maybe BackupDetails)+  , _cbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateBackupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbrsBackupDetails' - Contains the details of the backup created for the table.+--+-- * 'cbrsResponseStatus' - -- | The response status code.+createBackupResponse+    :: Int -- ^ 'cbrsResponseStatus'+    -> CreateBackupResponse+createBackupResponse pResponseStatus_ =+  CreateBackupResponse'+    {_cbrsBackupDetails = Nothing, _cbrsResponseStatus = pResponseStatus_}+++-- | Contains the details of the backup created for the table.+cbrsBackupDetails :: Lens' CreateBackupResponse (Maybe BackupDetails)+cbrsBackupDetails = lens _cbrsBackupDetails (\ s a -> s{_cbrsBackupDetails = a})++-- | -- | The response status code.+cbrsResponseStatus :: Lens' CreateBackupResponse Int+cbrsResponseStatus = lens _cbrsResponseStatus (\ s a -> s{_cbrsResponseStatus = a})++instance NFData CreateBackupResponse where
+ gen/Network/AWS/DynamoDB/CreateGlobalTable.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.CreateGlobalTable+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided regions.+--+--+-- Tables can only be added as the replicas of a global table group under the following conditions:+--+--     * The tables must have the same name.+--+--     * The tables must contain no items.+--+--     * The tables must have the same hash key and sort key (if present).+--+--     * The tables must have DynamoDB Streams enabled (NEW_AND_OLD_IMAGES).+--+--     * The tables must have same provisioned and maximum write capacity units.+--+--+--+-- If global secondary indexes are specified, then the following conditions must also be met:+--+--     * The global secondary indexes must have the same name.+--+--     * The global secondary indexes must have the same hash key and sort key (if present).+--+--     * The global secondary indexes must have the same provisioned and maximum write capacity units.+--+--+--+module Network.AWS.DynamoDB.CreateGlobalTable+    (+    -- * Creating a Request+      createGlobalTable+    , CreateGlobalTable+    -- * Request Lenses+    , cgtGlobalTableName+    , cgtReplicationGroup++    -- * Destructuring the Response+    , createGlobalTableResponse+    , CreateGlobalTableResponse+    -- * Response Lenses+    , cgtrsGlobalTableDescription+    , cgtrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createGlobalTable' smart constructor.+data CreateGlobalTable = CreateGlobalTable'+  { _cgtGlobalTableName  :: !Text+  , _cgtReplicationGroup :: ![Replica]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGlobalTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgtGlobalTableName' - The global table name.+--+-- * 'cgtReplicationGroup' - The regions where the global table needs to be created.+createGlobalTable+    :: Text -- ^ 'cgtGlobalTableName'+    -> CreateGlobalTable+createGlobalTable pGlobalTableName_ =+  CreateGlobalTable'+    {_cgtGlobalTableName = pGlobalTableName_, _cgtReplicationGroup = mempty}+++-- | The global table name.+cgtGlobalTableName :: Lens' CreateGlobalTable Text+cgtGlobalTableName = lens _cgtGlobalTableName (\ s a -> s{_cgtGlobalTableName = a})++-- | The regions where the global table needs to be created.+cgtReplicationGroup :: Lens' CreateGlobalTable [Replica]+cgtReplicationGroup = lens _cgtReplicationGroup (\ s a -> s{_cgtReplicationGroup = a}) . _Coerce++instance AWSRequest CreateGlobalTable where+        type Rs CreateGlobalTable = CreateGlobalTableResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 CreateGlobalTableResponse' <$>+                   (x .?> "GlobalTableDescription") <*>+                     (pure (fromEnum s)))++instance Hashable CreateGlobalTable where++instance NFData CreateGlobalTable where++instance ToHeaders CreateGlobalTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.CreateGlobalTable" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON CreateGlobalTable where+        toJSON CreateGlobalTable'{..}+          = object+              (catMaybes+                 [Just ("GlobalTableName" .= _cgtGlobalTableName),+                  Just ("ReplicationGroup" .= _cgtReplicationGroup)])++instance ToPath CreateGlobalTable where+        toPath = const "/"++instance ToQuery CreateGlobalTable where+        toQuery = const mempty++-- | /See:/ 'createGlobalTableResponse' smart constructor.+data CreateGlobalTableResponse = CreateGlobalTableResponse'+  { _cgtrsGlobalTableDescription :: !(Maybe GlobalTableDescription)+  , _cgtrsResponseStatus         :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGlobalTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgtrsGlobalTableDescription' - Contains the details of the global table.+--+-- * 'cgtrsResponseStatus' - -- | The response status code.+createGlobalTableResponse+    :: Int -- ^ 'cgtrsResponseStatus'+    -> CreateGlobalTableResponse+createGlobalTableResponse pResponseStatus_ =+  CreateGlobalTableResponse'+    { _cgtrsGlobalTableDescription = Nothing+    , _cgtrsResponseStatus = pResponseStatus_+    }+++-- | Contains the details of the global table.+cgtrsGlobalTableDescription :: Lens' CreateGlobalTableResponse (Maybe GlobalTableDescription)+cgtrsGlobalTableDescription = lens _cgtrsGlobalTableDescription (\ s a -> s{_cgtrsGlobalTableDescription = a})++-- | -- | The response status code.+cgtrsResponseStatus :: Lens' CreateGlobalTableResponse Int+cgtrsResponseStatus = lens _cgtrsResponseStatus (\ s a -> s{_cgtrsResponseStatus = a})++instance NFData CreateGlobalTableResponse where
gen/Network/AWS/DynamoDB/CreateTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.CreateTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -33,6 +33,7 @@       createTable     , CreateTable     -- * Request Lenses+    , ctSSESpecification     , ctGlobalSecondaryIndexes     , ctLocalSecondaryIndexes     , ctStreamSpecification@@ -62,7 +63,8 @@ -- -- /See:/ 'createTable' smart constructor. data CreateTable = CreateTable'-  { _ctGlobalSecondaryIndexes :: !(Maybe [GlobalSecondaryIndex])+  { _ctSSESpecification       :: !(Maybe SSESpecification)+  , _ctGlobalSecondaryIndexes :: !(Maybe [GlobalSecondaryIndex])   , _ctLocalSecondaryIndexes  :: !(Maybe [LocalSecondaryIndex])   , _ctStreamSpecification    :: !(Maybe StreamSpecification)   , _ctAttributeDefinitions   :: ![AttributeDefinition]@@ -76,6 +78,8 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'ctSSESpecification' - Represents the settings used to enable server-side encryption.+-- -- * 'ctGlobalSecondaryIndexes' - One or more global secondary indexes (the maximum is five) to be created on the table. Each global secondary index in the array includes the following:     * @IndexName@ - The name of the global secondary index. Must be unique only for this table.     * @KeySchema@ - Specifies the key schema for the global secondary index.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @ProvisionedThroughput@ - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units. -- -- * 'ctLocalSecondaryIndexes' - One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained. Each local secondary index in the array includes the following:     * @IndexName@ - The name of the local secondary index. Must be unique only for this table.     * @KeySchema@ - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.@@ -96,43 +100,48 @@     -> CreateTable createTable pTableName_ pKeySchema_ pProvisionedThroughput_ =   CreateTable'-  { _ctGlobalSecondaryIndexes = Nothing-  , _ctLocalSecondaryIndexes = Nothing-  , _ctStreamSpecification = Nothing-  , _ctAttributeDefinitions = mempty-  , _ctTableName = pTableName_-  , _ctKeySchema = _List1 # pKeySchema_-  , _ctProvisionedThroughput = pProvisionedThroughput_-  }+    { _ctSSESpecification = Nothing+    , _ctGlobalSecondaryIndexes = Nothing+    , _ctLocalSecondaryIndexes = Nothing+    , _ctStreamSpecification = Nothing+    , _ctAttributeDefinitions = mempty+    , _ctTableName = pTableName_+    , _ctKeySchema = _List1 # pKeySchema_+    , _ctProvisionedThroughput = pProvisionedThroughput_+    }  +-- | Represents the settings used to enable server-side encryption.+ctSSESpecification :: Lens' CreateTable (Maybe SSESpecification)+ctSSESpecification = lens _ctSSESpecification (\ s a -> s{_ctSSESpecification = a})+ -- | One or more global secondary indexes (the maximum is five) to be created on the table. Each global secondary index in the array includes the following:     * @IndexName@ - The name of the global secondary index. Must be unique only for this table.     * @KeySchema@ - Specifies the key schema for the global secondary index.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @ProvisionedThroughput@ - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units. ctGlobalSecondaryIndexes :: Lens' CreateTable [GlobalSecondaryIndex]-ctGlobalSecondaryIndexes = lens _ctGlobalSecondaryIndexes (\ s a -> s{_ctGlobalSecondaryIndexes = a}) . _Default . _Coerce;+ctGlobalSecondaryIndexes = lens _ctGlobalSecondaryIndexes (\ s a -> s{_ctGlobalSecondaryIndexes = a}) . _Default . _Coerce  -- | One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained. Each local secondary index in the array includes the following:     * @IndexName@ - The name of the local secondary index. Must be unique only for this table.     * @KeySchema@ - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. ctLocalSecondaryIndexes :: Lens' CreateTable [LocalSecondaryIndex]-ctLocalSecondaryIndexes = lens _ctLocalSecondaryIndexes (\ s a -> s{_ctLocalSecondaryIndexes = a}) . _Default . _Coerce;+ctLocalSecondaryIndexes = lens _ctLocalSecondaryIndexes (\ s a -> s{_ctLocalSecondaryIndexes = a}) . _Default . _Coerce  -- | The settings for DynamoDB Streams on the table. These settings consist of:     * @StreamEnabled@ - Indicates whether Streams is to be enabled (true) or disabled (false).     * @StreamViewType@ - When an item in the table is modified, @StreamViewType@ determines what information is written to the table's stream. Valid values for @StreamViewType@ are:     * @KEYS_ONLY@ - Only the key attributes of the modified item are written to the stream.     * @NEW_IMAGE@ - The entire item, as it appears after it was modified, is written to the stream.     * @OLD_IMAGE@ - The entire item, as it appeared before it was modified, is written to the stream.     * @NEW_AND_OLD_IMAGES@ - Both the new and the old item images of the item are written to the stream. ctStreamSpecification :: Lens' CreateTable (Maybe StreamSpecification)-ctStreamSpecification = lens _ctStreamSpecification (\ s a -> s{_ctStreamSpecification = a});+ctStreamSpecification = lens _ctStreamSpecification (\ s a -> s{_ctStreamSpecification = a})  -- | An array of attributes that describe the key schema for the table and indexes. ctAttributeDefinitions :: Lens' CreateTable [AttributeDefinition]-ctAttributeDefinitions = lens _ctAttributeDefinitions (\ s a -> s{_ctAttributeDefinitions = a}) . _Coerce;+ctAttributeDefinitions = lens _ctAttributeDefinitions (\ s a -> s{_ctAttributeDefinitions = a}) . _Coerce  -- | The name of the table to create. ctTableName :: Lens' CreateTable Text-ctTableName = lens _ctTableName (\ s a -> s{_ctTableName = a});+ctTableName = lens _ctTableName (\ s a -> s{_ctTableName = a})  -- | Specifies the attributes that make up the primary key for a table or an index. The attributes in @KeySchema@ must also be defined in the @AttributeDefinitions@ array. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html Data Model> in the /Amazon DynamoDB Developer Guide/ . Each @KeySchemaElement@ in the array is composed of:     * @AttributeName@ - The name of this key attribute.     * @KeyType@ - The role that the key attribute will assume:     * @HASH@ - partition key     * @RANGE@ - sort key For a simple primary key (partition key), you must provide exactly one element with a @KeyType@ of @HASH@ . For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a @KeyType@ of @HASH@ , and the second element must have a @KeyType@ of @RANGE@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key Specifying the Primary Key> in the /Amazon DynamoDB Developer Guide/ . ctKeySchema :: Lens' CreateTable (NonEmpty KeySchemaElement)-ctKeySchema = lens _ctKeySchema (\ s a -> s{_ctKeySchema = a}) . _List1;+ctKeySchema = lens _ctKeySchema (\ s a -> s{_ctKeySchema = a}) . _List1  -- | Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the @UpdateTable@ operation. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ . ctProvisionedThroughput :: Lens' CreateTable ProvisionedThroughput-ctProvisionedThroughput = lens _ctProvisionedThroughput (\ s a -> s{_ctProvisionedThroughput = a});+ctProvisionedThroughput = lens _ctProvisionedThroughput (\ s a -> s{_ctProvisionedThroughput = a})  instance AWSRequest CreateTable where         type Rs CreateTable = CreateTableResponse@@ -160,7 +169,8 @@         toJSON CreateTable'{..}           = object               (catMaybes-                 [("GlobalSecondaryIndexes" .=) <$>+                 [("SSESpecification" .=) <$> _ctSSESpecification,+                  ("GlobalSecondaryIndexes" .=) <$>                     _ctGlobalSecondaryIndexes,                   ("LocalSecondaryIndexes" .=) <$>                     _ctLocalSecondaryIndexes,@@ -203,15 +213,15 @@     -> CreateTableResponse createTableResponse pResponseStatus_ =   CreateTableResponse'-  {_ctrsTableDescription = Nothing, _ctrsResponseStatus = pResponseStatus_}+    {_ctrsTableDescription = Nothing, _ctrsResponseStatus = pResponseStatus_}   -- | Represents the properties of the table. ctrsTableDescription :: Lens' CreateTableResponse (Maybe TableDescription)-ctrsTableDescription = lens _ctrsTableDescription (\ s a -> s{_ctrsTableDescription = a});+ctrsTableDescription = lens _ctrsTableDescription (\ s a -> s{_ctrsTableDescription = a})  -- | -- | The response status code. ctrsResponseStatus :: Lens' CreateTableResponse Int-ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a});+ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a})  instance NFData CreateTableResponse where
+ gen/Network/AWS/DynamoDB/DeleteBackup.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.DeleteBackup+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing backup of a table.+--+--+-- You can call @DeleteBackup@ at a maximum rate of 10 times per second.+--+module Network.AWS.DynamoDB.DeleteBackup+    (+    -- * Creating a Request+      deleteBackup+    , DeleteBackup+    -- * Request Lenses+    , dbBackupARN++    -- * Destructuring the Response+    , deleteBackupResponse+    , DeleteBackupResponse+    -- * Response Lenses+    , dbrsBackupDescription+    , dbrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteBackup' smart constructor.+newtype DeleteBackup = DeleteBackup'+  { _dbBackupARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteBackup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbBackupARN' - The ARN associated with the backup.+deleteBackup+    :: Text -- ^ 'dbBackupARN'+    -> DeleteBackup+deleteBackup pBackupARN_ = DeleteBackup' {_dbBackupARN = pBackupARN_}+++-- | The ARN associated with the backup.+dbBackupARN :: Lens' DeleteBackup Text+dbBackupARN = lens _dbBackupARN (\ s a -> s{_dbBackupARN = a})++instance AWSRequest DeleteBackup where+        type Rs DeleteBackup = DeleteBackupResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 DeleteBackupResponse' <$>+                   (x .?> "BackupDescription") <*> (pure (fromEnum s)))++instance Hashable DeleteBackup where++instance NFData DeleteBackup where++instance ToHeaders DeleteBackup where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.DeleteBackup" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON DeleteBackup where+        toJSON DeleteBackup'{..}+          = object+              (catMaybes [Just ("BackupArn" .= _dbBackupARN)])++instance ToPath DeleteBackup where+        toPath = const "/"++instance ToQuery DeleteBackup where+        toQuery = const mempty++-- | /See:/ 'deleteBackupResponse' smart constructor.+data DeleteBackupResponse = DeleteBackupResponse'+  { _dbrsBackupDescription :: !(Maybe BackupDescription)+  , _dbrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteBackupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbrsBackupDescription' - Contains the description of the backup created for the table.+--+-- * 'dbrsResponseStatus' - -- | The response status code.+deleteBackupResponse+    :: Int -- ^ 'dbrsResponseStatus'+    -> DeleteBackupResponse+deleteBackupResponse pResponseStatus_ =+  DeleteBackupResponse'+    {_dbrsBackupDescription = Nothing, _dbrsResponseStatus = pResponseStatus_}+++-- | Contains the description of the backup created for the table.+dbrsBackupDescription :: Lens' DeleteBackupResponse (Maybe BackupDescription)+dbrsBackupDescription = lens _dbrsBackupDescription (\ s a -> s{_dbrsBackupDescription = a})++-- | -- | The response status code.+dbrsResponseStatus :: Lens' DeleteBackupResponse Int+dbrsResponseStatus = lens _dbrsResponseStatus (\ s a -> s{_dbrsResponseStatus = a})++instance NFData DeleteBackupResponse where
gen/Network/AWS/DynamoDB/DeleteItem.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.DeleteItem--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -108,58 +108,58 @@     -> DeleteItem deleteItem pTableName_ =   DeleteItem'-  { _diExpressionAttributeNames = Nothing-  , _diReturnValues = Nothing-  , _diExpressionAttributeValues = Nothing-  , _diReturnConsumedCapacity = Nothing-  , _diReturnItemCollectionMetrics = Nothing-  , _diConditionExpression = Nothing-  , _diConditionalOperator = Nothing-  , _diExpected = Nothing-  , _diTableName = pTableName_-  , _diKey = mempty-  }+    { _diExpressionAttributeNames = Nothing+    , _diReturnValues = Nothing+    , _diExpressionAttributeValues = Nothing+    , _diReturnConsumedCapacity = Nothing+    , _diReturnItemCollectionMetrics = Nothing+    , _diConditionExpression = Nothing+    , _diConditionalOperator = Nothing+    , _diExpected = Nothing+    , _diTableName = pTableName_+    , _diKey = mempty+    }   -- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . diExpressionAttributeNames :: Lens' DeleteItem (HashMap Text Text)-diExpressionAttributeNames = lens _diExpressionAttributeNames (\ s a -> s{_diExpressionAttributeNames = a}) . _Default . _Map;+diExpressionAttributeNames = lens _diExpressionAttributeNames (\ s a -> s{_diExpressionAttributeNames = a}) . _Default . _Map  -- | Use @ReturnValues@ if you want to get the item attributes as they appeared before they were deleted. For @DeleteItem@ , the valid values are:     * @NONE@ - If @ReturnValues@ is not specified, or if its value is @NONE@ , then nothing is returned. (This setting is the default for @ReturnValues@ .)     * @ALL_OLD@ - The content of the old item is returned. diReturnValues :: Lens' DeleteItem (Maybe ReturnValue)-diReturnValues = lens _diReturnValues (\ s a -> s{_diReturnValues = a});+diReturnValues = lens _diReturnValues (\ s a -> s{_diReturnValues = a})  -- | One or more values that can be substituted in an expression. Use the __:__ (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the /ProductStatus/ attribute was one of the following:  @Available | Backordered | Discontinued@  You would first need to specify @ExpressionAttributeValues@ as follows: @{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }@  You could then use these values in an expression, such as this: @ProductStatus IN (:avail, :back, :disc)@  For more information on expression attribute values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . diExpressionAttributeValues :: Lens' DeleteItem (HashMap Text AttributeValue)-diExpressionAttributeValues = lens _diExpressionAttributeValues (\ s a -> s{_diExpressionAttributeValues = a}) . _Default . _Map;+diExpressionAttributeValues = lens _diExpressionAttributeValues (\ s a -> s{_diExpressionAttributeValues = a}) . _Default . _Map  -- | Undocumented member. diReturnConsumedCapacity :: Lens' DeleteItem (Maybe ReturnConsumedCapacity)-diReturnConsumedCapacity = lens _diReturnConsumedCapacity (\ s a -> s{_diReturnConsumedCapacity = a});+diReturnConsumedCapacity = lens _diReturnConsumedCapacity (\ s a -> s{_diReturnConsumedCapacity = a})  -- | Determines whether item collection metrics are returned. If set to @SIZE@ , the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to @NONE@ (the default), no statistics are returned. diReturnItemCollectionMetrics :: Lens' DeleteItem (Maybe ReturnItemCollectionMetrics)-diReturnItemCollectionMetrics = lens _diReturnItemCollectionMetrics (\ s a -> s{_diReturnItemCollectionMetrics = a});+diReturnItemCollectionMetrics = lens _diReturnItemCollectionMetrics (\ s a -> s{_diReturnItemCollectionMetrics = a})  -- | A condition that must be satisfied in order for a conditional @DeleteItem@ to succeed. An expression can contain any of the following:     * Functions: @attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size@  These function names are case-sensitive.     * Comparison operators: @= | <> | < | > | <= | >= | BETWEEN | IN @      * Logical operators: @AND | OR | NOT@  For more information on condition expressions, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . diConditionExpression :: Lens' DeleteItem (Maybe Text)-diConditionExpression = lens _diConditionExpression (\ s a -> s{_diConditionExpression = a});+diConditionExpression = lens _diConditionExpression (\ s a -> s{_diConditionExpression = a})  -- | This is a legacy parameter. Use @ConditionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html ConditionalOperator> in the /Amazon DynamoDB Developer Guide/ . diConditionalOperator :: Lens' DeleteItem (Maybe ConditionalOperator)-diConditionalOperator = lens _diConditionalOperator (\ s a -> s{_diConditionalOperator = a});+diConditionalOperator = lens _diConditionalOperator (\ s a -> s{_diConditionalOperator = a})  -- | This is a legacy parameter. Use @ConditionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html Expected> in the /Amazon DynamoDB Developer Guide/ . diExpected :: Lens' DeleteItem (HashMap Text ExpectedAttributeValue)-diExpected = lens _diExpected (\ s a -> s{_diExpected = a}) . _Default . _Map;+diExpected = lens _diExpected (\ s a -> s{_diExpected = a}) . _Default . _Map  -- | The name of the table from which to delete the item. diTableName :: Lens' DeleteItem Text-diTableName = lens _diTableName (\ s a -> s{_diTableName = a});+diTableName = lens _diTableName (\ s a -> s{_diTableName = a})  -- | A map of attribute names to @AttributeValue@ objects, representing the primary key of the item to delete. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key. diKey :: Lens' DeleteItem (HashMap Text AttributeValue)-diKey = lens _diKey (\ s a -> s{_diKey = a}) . _Map;+diKey = lens _diKey (\ s a -> s{_diKey = a}) . _Map  instance AWSRequest DeleteItem where         type Rs DeleteItem = DeleteItemResponse@@ -230,7 +230,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dirsItemCollectionMetrics' - Information about item collections, if any, that were affected by the @DeleteItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRange@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- * 'dirsItemCollectionMetrics' - Information about item collections, if any, that were affected by the @DeleteItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRangeGB@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. -- -- * 'dirsConsumedCapacity' - The capacity units consumed by the @DeleteItem@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . --@@ -242,27 +242,27 @@     -> DeleteItemResponse deleteItemResponse pResponseStatus_ =   DeleteItemResponse'-  { _dirsItemCollectionMetrics = Nothing-  , _dirsConsumedCapacity = Nothing-  , _dirsAttributes = Nothing-  , _dirsResponseStatus = pResponseStatus_-  }+    { _dirsItemCollectionMetrics = Nothing+    , _dirsConsumedCapacity = Nothing+    , _dirsAttributes = Nothing+    , _dirsResponseStatus = pResponseStatus_+    }  --- | Information about item collections, if any, that were affected by the @DeleteItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRange@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- | Information about item collections, if any, that were affected by the @DeleteItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRangeGB@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. dirsItemCollectionMetrics :: Lens' DeleteItemResponse (Maybe ItemCollectionMetrics)-dirsItemCollectionMetrics = lens _dirsItemCollectionMetrics (\ s a -> s{_dirsItemCollectionMetrics = a});+dirsItemCollectionMetrics = lens _dirsItemCollectionMetrics (\ s a -> s{_dirsItemCollectionMetrics = a})  -- | The capacity units consumed by the @DeleteItem@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . dirsConsumedCapacity :: Lens' DeleteItemResponse (Maybe ConsumedCapacity)-dirsConsumedCapacity = lens _dirsConsumedCapacity (\ s a -> s{_dirsConsumedCapacity = a});+dirsConsumedCapacity = lens _dirsConsumedCapacity (\ s a -> s{_dirsConsumedCapacity = a})  -- | A map of attribute names to @AttributeValue@ objects, representing the item as it appeared before the @DeleteItem@ operation. This map appears in the response only if @ReturnValues@ was specified as @ALL_OLD@ in the request. dirsAttributes :: Lens' DeleteItemResponse (HashMap Text AttributeValue)-dirsAttributes = lens _dirsAttributes (\ s a -> s{_dirsAttributes = a}) . _Default . _Map;+dirsAttributes = lens _dirsAttributes (\ s a -> s{_dirsAttributes = a}) . _Default . _Map  -- | -- | The response status code. dirsResponseStatus :: Lens' DeleteItemResponse Int-dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a});+dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a})  instance NFData DeleteItemResponse where
gen/Network/AWS/DynamoDB/DeleteTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.DeleteTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,7 +73,7 @@  -- | The name of the table to delete. dtTableName :: Lens' DeleteTable Text-dtTableName = lens _dtTableName (\ s a -> s{_dtTableName = a});+dtTableName = lens _dtTableName (\ s a -> s{_dtTableName = a})  instance AWSRequest DeleteTable where         type Rs DeleteTable = DeleteTableResponse@@ -131,15 +131,15 @@     -> DeleteTableResponse deleteTableResponse pResponseStatus_ =   DeleteTableResponse'-  {_dtrsTableDescription = Nothing, _dtrsResponseStatus = pResponseStatus_}+    {_dtrsTableDescription = Nothing, _dtrsResponseStatus = pResponseStatus_}   -- | Represents the properties of a table. dtrsTableDescription :: Lens' DeleteTableResponse (Maybe TableDescription)-dtrsTableDescription = lens _dtrsTableDescription (\ s a -> s{_dtrsTableDescription = a});+dtrsTableDescription = lens _dtrsTableDescription (\ s a -> s{_dtrsTableDescription = a})  -- | -- | The response status code. dtrsResponseStatus :: Lens' DeleteTableResponse Int-dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a});+dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a})  instance NFData DeleteTableResponse where
+ gen/Network/AWS/DynamoDB/DescribeBackup.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.DescribeBackup+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an existing backup of a table.+--+--+-- You can call @DescribeBackup@ at a maximum rate of 10 times per second.+--+module Network.AWS.DynamoDB.DescribeBackup+    (+    -- * Creating a Request+      describeBackup+    , DescribeBackup+    -- * Request Lenses+    , dBackupARN++    -- * Destructuring the Response+    , describeBackupResponse+    , DescribeBackupResponse+    -- * Response Lenses+    , desrsBackupDescription+    , desrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeBackup' smart constructor.+newtype DescribeBackup = DescribeBackup'+  { _dBackupARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeBackup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dBackupARN' - The ARN associated with the backup.+describeBackup+    :: Text -- ^ 'dBackupARN'+    -> DescribeBackup+describeBackup pBackupARN_ = DescribeBackup' {_dBackupARN = pBackupARN_}+++-- | The ARN associated with the backup.+dBackupARN :: Lens' DescribeBackup Text+dBackupARN = lens _dBackupARN (\ s a -> s{_dBackupARN = a})++instance AWSRequest DescribeBackup where+        type Rs DescribeBackup = DescribeBackupResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 DescribeBackupResponse' <$>+                   (x .?> "BackupDescription") <*> (pure (fromEnum s)))++instance Hashable DescribeBackup where++instance NFData DescribeBackup where++instance ToHeaders DescribeBackup where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.DescribeBackup" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON DescribeBackup where+        toJSON DescribeBackup'{..}+          = object+              (catMaybes [Just ("BackupArn" .= _dBackupARN)])++instance ToPath DescribeBackup where+        toPath = const "/"++instance ToQuery DescribeBackup where+        toQuery = const mempty++-- | /See:/ 'describeBackupResponse' smart constructor.+data DescribeBackupResponse = DescribeBackupResponse'+  { _desrsBackupDescription :: !(Maybe BackupDescription)+  , _desrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeBackupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'desrsBackupDescription' - Contains the description of the backup created for the table.+--+-- * 'desrsResponseStatus' - -- | The response status code.+describeBackupResponse+    :: Int -- ^ 'desrsResponseStatus'+    -> DescribeBackupResponse+describeBackupResponse pResponseStatus_ =+  DescribeBackupResponse'+    {_desrsBackupDescription = Nothing, _desrsResponseStatus = pResponseStatus_}+++-- | Contains the description of the backup created for the table.+desrsBackupDescription :: Lens' DescribeBackupResponse (Maybe BackupDescription)+desrsBackupDescription = lens _desrsBackupDescription (\ s a -> s{_desrsBackupDescription = a})++-- | -- | The response status code.+desrsResponseStatus :: Lens' DescribeBackupResponse Int+desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a})++instance NFData DescribeBackupResponse where
+ gen/Network/AWS/DynamoDB/DescribeContinuousBackups.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.DescribeContinuousBackups+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks the status of continuous backups and point in time recovery on the specified table. Continuous backups are @ENABLED@ on all tables at table creation. If point in time recovery is enabled, @PointInTimeRecoveryStatus@ will be set to ENABLED.+--+--+-- Once continuous backups and point in time recovery are enabled, you can restore to any point in time within @EarliestRestorableDateTime@ and @LatestRestorableDateTime@ .+--+-- @LatestRestorableDateTime@ is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days.+--+-- You can call @DescribeContinuousBackups@ at a maximum rate of 10 times per second.+--+module Network.AWS.DynamoDB.DescribeContinuousBackups+    (+    -- * Creating a Request+      describeContinuousBackups+    , DescribeContinuousBackups+    -- * Request Lenses+    , dcbTableName++    -- * Destructuring the Response+    , describeContinuousBackupsResponse+    , DescribeContinuousBackupsResponse+    -- * Response Lenses+    , dcbrsContinuousBackupsDescription+    , dcbrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeContinuousBackups' smart constructor.+newtype DescribeContinuousBackups = DescribeContinuousBackups'+  { _dcbTableName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeContinuousBackups' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcbTableName' - Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.+describeContinuousBackups+    :: Text -- ^ 'dcbTableName'+    -> DescribeContinuousBackups+describeContinuousBackups pTableName_ =+  DescribeContinuousBackups' {_dcbTableName = pTableName_}+++-- | Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.+dcbTableName :: Lens' DescribeContinuousBackups Text+dcbTableName = lens _dcbTableName (\ s a -> s{_dcbTableName = a})++instance AWSRequest DescribeContinuousBackups where+        type Rs DescribeContinuousBackups =+             DescribeContinuousBackupsResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 DescribeContinuousBackupsResponse' <$>+                   (x .?> "ContinuousBackupsDescription") <*>+                     (pure (fromEnum s)))++instance Hashable DescribeContinuousBackups where++instance NFData DescribeContinuousBackups where++instance ToHeaders DescribeContinuousBackups where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.DescribeContinuousBackups" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON DescribeContinuousBackups where+        toJSON DescribeContinuousBackups'{..}+          = object+              (catMaybes [Just ("TableName" .= _dcbTableName)])++instance ToPath DescribeContinuousBackups where+        toPath = const "/"++instance ToQuery DescribeContinuousBackups where+        toQuery = const mempty++-- | /See:/ 'describeContinuousBackupsResponse' smart constructor.+data DescribeContinuousBackupsResponse = DescribeContinuousBackupsResponse'+  { _dcbrsContinuousBackupsDescription :: !(Maybe ContinuousBackupsDescription)+  , _dcbrsResponseStatus               :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeContinuousBackupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcbrsContinuousBackupsDescription' - @ContinuousBackupsDescription@ can be one of the following : ENABLED, DISABLED.+--+-- * 'dcbrsResponseStatus' - -- | The response status code.+describeContinuousBackupsResponse+    :: Int -- ^ 'dcbrsResponseStatus'+    -> DescribeContinuousBackupsResponse+describeContinuousBackupsResponse pResponseStatus_ =+  DescribeContinuousBackupsResponse'+    { _dcbrsContinuousBackupsDescription = Nothing+    , _dcbrsResponseStatus = pResponseStatus_+    }+++-- | @ContinuousBackupsDescription@ can be one of the following : ENABLED, DISABLED.+dcbrsContinuousBackupsDescription :: Lens' DescribeContinuousBackupsResponse (Maybe ContinuousBackupsDescription)+dcbrsContinuousBackupsDescription = lens _dcbrsContinuousBackupsDescription (\ s a -> s{_dcbrsContinuousBackupsDescription = a})++-- | -- | The response status code.+dcbrsResponseStatus :: Lens' DescribeContinuousBackupsResponse Int+dcbrsResponseStatus = lens _dcbrsResponseStatus (\ s a -> s{_dcbrsResponseStatus = a})++instance NFData DescribeContinuousBackupsResponse+         where
+ gen/Network/AWS/DynamoDB/DescribeGlobalTable.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.DescribeGlobalTable+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the specified global table.+--+--+module Network.AWS.DynamoDB.DescribeGlobalTable+    (+    -- * Creating a Request+      describeGlobalTable+    , DescribeGlobalTable+    -- * Request Lenses+    , dgtGlobalTableName++    -- * Destructuring the Response+    , describeGlobalTableResponse+    , DescribeGlobalTableResponse+    -- * Response Lenses+    , dgtrsGlobalTableDescription+    , dgtrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeGlobalTable' smart constructor.+newtype DescribeGlobalTable = DescribeGlobalTable'+  { _dgtGlobalTableName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeGlobalTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgtGlobalTableName' - The name of the global table.+describeGlobalTable+    :: Text -- ^ 'dgtGlobalTableName'+    -> DescribeGlobalTable+describeGlobalTable pGlobalTableName_ =+  DescribeGlobalTable' {_dgtGlobalTableName = pGlobalTableName_}+++-- | The name of the global table.+dgtGlobalTableName :: Lens' DescribeGlobalTable Text+dgtGlobalTableName = lens _dgtGlobalTableName (\ s a -> s{_dgtGlobalTableName = a})++instance AWSRequest DescribeGlobalTable where+        type Rs DescribeGlobalTable =+             DescribeGlobalTableResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 DescribeGlobalTableResponse' <$>+                   (x .?> "GlobalTableDescription") <*>+                     (pure (fromEnum s)))++instance Hashable DescribeGlobalTable where++instance NFData DescribeGlobalTable where++instance ToHeaders DescribeGlobalTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.DescribeGlobalTable" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON DescribeGlobalTable where+        toJSON DescribeGlobalTable'{..}+          = object+              (catMaybes+                 [Just ("GlobalTableName" .= _dgtGlobalTableName)])++instance ToPath DescribeGlobalTable where+        toPath = const "/"++instance ToQuery DescribeGlobalTable where+        toQuery = const mempty++-- | /See:/ 'describeGlobalTableResponse' smart constructor.+data DescribeGlobalTableResponse = DescribeGlobalTableResponse'+  { _dgtrsGlobalTableDescription :: !(Maybe GlobalTableDescription)+  , _dgtrsResponseStatus         :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeGlobalTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgtrsGlobalTableDescription' - Contains the details of the global table.+--+-- * 'dgtrsResponseStatus' - -- | The response status code.+describeGlobalTableResponse+    :: Int -- ^ 'dgtrsResponseStatus'+    -> DescribeGlobalTableResponse+describeGlobalTableResponse pResponseStatus_ =+  DescribeGlobalTableResponse'+    { _dgtrsGlobalTableDescription = Nothing+    , _dgtrsResponseStatus = pResponseStatus_+    }+++-- | Contains the details of the global table.+dgtrsGlobalTableDescription :: Lens' DescribeGlobalTableResponse (Maybe GlobalTableDescription)+dgtrsGlobalTableDescription = lens _dgtrsGlobalTableDescription (\ s a -> s{_dgtrsGlobalTableDescription = a})++-- | -- | The response status code.+dgtrsResponseStatus :: Lens' DescribeGlobalTableResponse Int+dgtrsResponseStatus = lens _dgtrsResponseStatus (\ s a -> s{_dgtrsResponseStatus = a})++instance NFData DescribeGlobalTableResponse where
+ gen/Network/AWS/DynamoDB/DescribeGlobalTableSettings.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.DescribeGlobalTableSettings+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes region specific settings for a global table.+--+--+module Network.AWS.DynamoDB.DescribeGlobalTableSettings+    (+    -- * Creating a Request+      describeGlobalTableSettings+    , DescribeGlobalTableSettings+    -- * Request Lenses+    , dgtsGlobalTableName++    -- * Destructuring the Response+    , describeGlobalTableSettingsResponse+    , DescribeGlobalTableSettingsResponse+    -- * Response Lenses+    , dgtsrsReplicaSettings+    , dgtsrsGlobalTableName+    , dgtsrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeGlobalTableSettings' smart constructor.+newtype DescribeGlobalTableSettings = DescribeGlobalTableSettings'+  { _dgtsGlobalTableName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeGlobalTableSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgtsGlobalTableName' - The name of the global table to describe.+describeGlobalTableSettings+    :: Text -- ^ 'dgtsGlobalTableName'+    -> DescribeGlobalTableSettings+describeGlobalTableSettings pGlobalTableName_ =+  DescribeGlobalTableSettings' {_dgtsGlobalTableName = pGlobalTableName_}+++-- | The name of the global table to describe.+dgtsGlobalTableName :: Lens' DescribeGlobalTableSettings Text+dgtsGlobalTableName = lens _dgtsGlobalTableName (\ s a -> s{_dgtsGlobalTableName = a})++instance AWSRequest DescribeGlobalTableSettings where+        type Rs DescribeGlobalTableSettings =+             DescribeGlobalTableSettingsResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 DescribeGlobalTableSettingsResponse' <$>+                   (x .?> "ReplicaSettings" .!@ mempty) <*>+                     (x .?> "GlobalTableName")+                     <*> (pure (fromEnum s)))++instance Hashable DescribeGlobalTableSettings where++instance NFData DescribeGlobalTableSettings where++instance ToHeaders DescribeGlobalTableSettings where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.DescribeGlobalTableSettings" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON DescribeGlobalTableSettings where+        toJSON DescribeGlobalTableSettings'{..}+          = object+              (catMaybes+                 [Just ("GlobalTableName" .= _dgtsGlobalTableName)])++instance ToPath DescribeGlobalTableSettings where+        toPath = const "/"++instance ToQuery DescribeGlobalTableSettings where+        toQuery = const mempty++-- | /See:/ 'describeGlobalTableSettingsResponse' smart constructor.+data DescribeGlobalTableSettingsResponse = DescribeGlobalTableSettingsResponse'+  { _dgtsrsReplicaSettings :: !(Maybe [ReplicaSettingsDescription])+  , _dgtsrsGlobalTableName :: !(Maybe Text)+  , _dgtsrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeGlobalTableSettingsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgtsrsReplicaSettings' - The region specific settings for the global table.+--+-- * 'dgtsrsGlobalTableName' - The name of the global table.+--+-- * 'dgtsrsResponseStatus' - -- | The response status code.+describeGlobalTableSettingsResponse+    :: Int -- ^ 'dgtsrsResponseStatus'+    -> DescribeGlobalTableSettingsResponse+describeGlobalTableSettingsResponse pResponseStatus_ =+  DescribeGlobalTableSettingsResponse'+    { _dgtsrsReplicaSettings = Nothing+    , _dgtsrsGlobalTableName = Nothing+    , _dgtsrsResponseStatus = pResponseStatus_+    }+++-- | The region specific settings for the global table.+dgtsrsReplicaSettings :: Lens' DescribeGlobalTableSettingsResponse [ReplicaSettingsDescription]+dgtsrsReplicaSettings = lens _dgtsrsReplicaSettings (\ s a -> s{_dgtsrsReplicaSettings = a}) . _Default . _Coerce++-- | The name of the global table.+dgtsrsGlobalTableName :: Lens' DescribeGlobalTableSettingsResponse (Maybe Text)+dgtsrsGlobalTableName = lens _dgtsrsGlobalTableName (\ s a -> s{_dgtsrsGlobalTableName = a})++-- | -- | The response status code.+dgtsrsResponseStatus :: Lens' DescribeGlobalTableSettingsResponse Int+dgtsrsResponseStatus = lens _dgtsrsResponseStatus (\ s a -> s{_dgtsrsResponseStatus = a})++instance NFData DescribeGlobalTableSettingsResponse+         where
gen/Network/AWS/DynamoDB/DescribeLimits.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.DescribeLimits--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -163,32 +163,32 @@     -> DescribeLimitsResponse describeLimitsResponse pResponseStatus_ =   DescribeLimitsResponse'-  { _dlrsTableMaxWriteCapacityUnits = Nothing-  , _dlrsTableMaxReadCapacityUnits = Nothing-  , _dlrsAccountMaxWriteCapacityUnits = Nothing-  , _dlrsAccountMaxReadCapacityUnits = Nothing-  , _dlrsResponseStatus = pResponseStatus_-  }+    { _dlrsTableMaxWriteCapacityUnits = Nothing+    , _dlrsTableMaxReadCapacityUnits = Nothing+    , _dlrsAccountMaxWriteCapacityUnits = Nothing+    , _dlrsAccountMaxReadCapacityUnits = Nothing+    , _dlrsResponseStatus = pResponseStatus_+    }   -- | The maximum write capacity units that your account allows you to provision for a new table that you are creating in this region, including the write capacity units provisioned for its global secondary indexes (GSIs). dlrsTableMaxWriteCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)-dlrsTableMaxWriteCapacityUnits = lens _dlrsTableMaxWriteCapacityUnits (\ s a -> s{_dlrsTableMaxWriteCapacityUnits = a}) . mapping _Nat;+dlrsTableMaxWriteCapacityUnits = lens _dlrsTableMaxWriteCapacityUnits (\ s a -> s{_dlrsTableMaxWriteCapacityUnits = a}) . mapping _Nat  -- | The maximum read capacity units that your account allows you to provision for a new table that you are creating in this region, including the read capacity units provisioned for its global secondary indexes (GSIs). dlrsTableMaxReadCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)-dlrsTableMaxReadCapacityUnits = lens _dlrsTableMaxReadCapacityUnits (\ s a -> s{_dlrsTableMaxReadCapacityUnits = a}) . mapping _Nat;+dlrsTableMaxReadCapacityUnits = lens _dlrsTableMaxReadCapacityUnits (\ s a -> s{_dlrsTableMaxReadCapacityUnits = a}) . mapping _Nat  -- | The maximum total write capacity units that your account allows you to provision across all of your tables in this region. dlrsAccountMaxWriteCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)-dlrsAccountMaxWriteCapacityUnits = lens _dlrsAccountMaxWriteCapacityUnits (\ s a -> s{_dlrsAccountMaxWriteCapacityUnits = a}) . mapping _Nat;+dlrsAccountMaxWriteCapacityUnits = lens _dlrsAccountMaxWriteCapacityUnits (\ s a -> s{_dlrsAccountMaxWriteCapacityUnits = a}) . mapping _Nat  -- | The maximum total read capacity units that your account allows you to provision across all of your tables in this region. dlrsAccountMaxReadCapacityUnits :: Lens' DescribeLimitsResponse (Maybe Natural)-dlrsAccountMaxReadCapacityUnits = lens _dlrsAccountMaxReadCapacityUnits (\ s a -> s{_dlrsAccountMaxReadCapacityUnits = a}) . mapping _Nat;+dlrsAccountMaxReadCapacityUnits = lens _dlrsAccountMaxReadCapacityUnits (\ s a -> s{_dlrsAccountMaxReadCapacityUnits = a}) . mapping _Nat  -- | -- | The response status code. dlrsResponseStatus :: Lens' DescribeLimitsResponse Int-dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a});+dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a})  instance NFData DescribeLimitsResponse where
gen/Network/AWS/DynamoDB/DescribeTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.DescribeTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,7 +67,7 @@  -- | The name of the table to describe. dTableName :: Lens' DescribeTable Text-dTableName = lens _dTableName (\ s a -> s{_dTableName = a});+dTableName = lens _dTableName (\ s a -> s{_dTableName = a})  instance AWSRequest DescribeTable where         type Rs DescribeTable = DescribeTableResponse@@ -125,15 +125,15 @@     -> DescribeTableResponse describeTableResponse pResponseStatus_ =   DescribeTableResponse'-  {_drsTable = Nothing, _drsResponseStatus = pResponseStatus_}+    {_drsTable = Nothing, _drsResponseStatus = pResponseStatus_}   -- | The properties of the table. drsTable :: Lens' DescribeTableResponse (Maybe TableDescription)-drsTable = lens _drsTable (\ s a -> s{_drsTable = a});+drsTable = lens _drsTable (\ s a -> s{_drsTable = a})  -- | -- | The response status code. drsResponseStatus :: Lens' DescribeTableResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})  instance NFData DescribeTableResponse where
gen/Network/AWS/DynamoDB/DescribeTimeToLive.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.DescribeTimeToLive--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | The name of the table to be described. dttlTableName :: Lens' DescribeTimeToLive Text-dttlTableName = lens _dttlTableName (\ s a -> s{_dttlTableName = a});+dttlTableName = lens _dttlTableName (\ s a -> s{_dttlTableName = a})  instance AWSRequest DescribeTimeToLive where         type Rs DescribeTimeToLive =@@ -121,17 +121,17 @@     -> DescribeTimeToLiveResponse describeTimeToLiveResponse pResponseStatus_ =   DescribeTimeToLiveResponse'-  { _dttlrsTimeToLiveDescription = Nothing-  , _dttlrsResponseStatus = pResponseStatus_-  }+    { _dttlrsTimeToLiveDescription = Nothing+    , _dttlrsResponseStatus = pResponseStatus_+    }   -- | dttlrsTimeToLiveDescription :: Lens' DescribeTimeToLiveResponse (Maybe TimeToLiveDescription)-dttlrsTimeToLiveDescription = lens _dttlrsTimeToLiveDescription (\ s a -> s{_dttlrsTimeToLiveDescription = a});+dttlrsTimeToLiveDescription = lens _dttlrsTimeToLiveDescription (\ s a -> s{_dttlrsTimeToLiveDescription = a})  -- | -- | The response status code. dttlrsResponseStatus :: Lens' DescribeTimeToLiveResponse Int-dttlrsResponseStatus = lens _dttlrsResponseStatus (\ s a -> s{_dttlrsResponseStatus = a});+dttlrsResponseStatus = lens _dttlrsResponseStatus (\ s a -> s{_dttlrsResponseStatus = a})  instance NFData DescribeTimeToLiveResponse where
gen/Network/AWS/DynamoDB/GetItem.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.GetItem--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -91,43 +91,43 @@     -> GetItem getItem pTableName_ =   GetItem'-  { _giProjectionExpression = Nothing-  , _giAttributesToGet = Nothing-  , _giExpressionAttributeNames = Nothing-  , _giConsistentRead = Nothing-  , _giReturnConsumedCapacity = Nothing-  , _giTableName = pTableName_-  , _giKey = mempty-  }+    { _giProjectionExpression = Nothing+    , _giAttributesToGet = Nothing+    , _giExpressionAttributeNames = Nothing+    , _giConsistentRead = Nothing+    , _giReturnConsumedCapacity = Nothing+    , _giTableName = pTableName_+    , _giKey = mempty+    }   -- | A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . giProjectionExpression :: Lens' GetItem (Maybe Text)-giProjectionExpression = lens _giProjectionExpression (\ s a -> s{_giProjectionExpression = a});+giProjectionExpression = lens _giProjectionExpression (\ s a -> s{_giProjectionExpression = a})  -- | This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html AttributesToGet> in the /Amazon DynamoDB Developer Guide/ . giAttributesToGet :: Lens' GetItem (Maybe (NonEmpty Text))-giAttributesToGet = lens _giAttributesToGet (\ s a -> s{_giAttributesToGet = a}) . mapping _List1;+giAttributesToGet = lens _giAttributesToGet (\ s a -> s{_giAttributesToGet = a}) . mapping _List1  -- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . giExpressionAttributeNames :: Lens' GetItem (HashMap Text Text)-giExpressionAttributeNames = lens _giExpressionAttributeNames (\ s a -> s{_giExpressionAttributeNames = a}) . _Default . _Map;+giExpressionAttributeNames = lens _giExpressionAttributeNames (\ s a -> s{_giExpressionAttributeNames = a}) . _Default . _Map  -- | Determines the read consistency model: If set to @true@ , then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads. giConsistentRead :: Lens' GetItem (Maybe Bool)-giConsistentRead = lens _giConsistentRead (\ s a -> s{_giConsistentRead = a});+giConsistentRead = lens _giConsistentRead (\ s a -> s{_giConsistentRead = a})  -- | Undocumented member. giReturnConsumedCapacity :: Lens' GetItem (Maybe ReturnConsumedCapacity)-giReturnConsumedCapacity = lens _giReturnConsumedCapacity (\ s a -> s{_giReturnConsumedCapacity = a});+giReturnConsumedCapacity = lens _giReturnConsumedCapacity (\ s a -> s{_giReturnConsumedCapacity = a})  -- | The name of the table containing the requested item. giTableName :: Lens' GetItem Text-giTableName = lens _giTableName (\ s a -> s{_giTableName = a});+giTableName = lens _giTableName (\ s a -> s{_giTableName = a})  -- | A map of attribute names to @AttributeValue@ objects, representing the primary key of the item to retrieve. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key. giKey :: Lens' GetItem (HashMap Text AttributeValue)-giKey = lens _giKey (\ s a -> s{_giKey = a}) . _Map;+giKey = lens _giKey (\ s a -> s{_giKey = a}) . _Map  instance AWSRequest GetItem where         type Rs GetItem = GetItemResponse@@ -200,22 +200,22 @@     -> GetItemResponse getItemResponse pResponseStatus_ =   GetItemResponse'-  { _girsConsumedCapacity = Nothing-  , _girsItem = Nothing-  , _girsResponseStatus = pResponseStatus_-  }+    { _girsConsumedCapacity = Nothing+    , _girsItem = Nothing+    , _girsResponseStatus = pResponseStatus_+    }   -- | The capacity units consumed by the @GetItem@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . girsConsumedCapacity :: Lens' GetItemResponse (Maybe ConsumedCapacity)-girsConsumedCapacity = lens _girsConsumedCapacity (\ s a -> s{_girsConsumedCapacity = a});+girsConsumedCapacity = lens _girsConsumedCapacity (\ s a -> s{_girsConsumedCapacity = a})  -- | A map of attribute names to @AttributeValue@ objects, as specified by @ProjectionExpression@ . girsItem :: Lens' GetItemResponse (HashMap Text AttributeValue)-girsItem = lens _girsItem (\ s a -> s{_girsItem = a}) . _Default . _Map;+girsItem = lens _girsItem (\ s a -> s{_girsItem = a}) . _Default . _Map  -- | -- | The response status code. girsResponseStatus :: Lens' GetItemResponse Int-girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a});+girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a})  instance NFData GetItemResponse where
+ gen/Network/AWS/DynamoDB/ListBackups.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.ListBackups+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List backups associated with an AWS account. To list backups for a given table, specify @TableName@ . @ListBackups@ returns a paginated list of results with at most 1MB worth of items in a page. You can also specify a limit for the maximum number of entries to be returned in a page.+--+--+-- In the request, start time is inclusive but end time is exclusive. Note that these limits are for the time at which the original backup was requested.+--+-- You can call @ListBackups@ a maximum of 5 times per second.+--+--+-- This operation returns paginated results.+module Network.AWS.DynamoDB.ListBackups+    (+    -- * Creating a Request+      listBackups+    , ListBackups+    -- * Request Lenses+    , lbTimeRangeUpperBound+    , lbTimeRangeLowerBound+    , lbLimit+    , lbExclusiveStartBackupARN+    , lbTableName++    -- * Destructuring the Response+    , listBackupsResponse+    , ListBackupsResponse+    -- * Response Lenses+    , lbrsBackupSummaries+    , lbrsLastEvaluatedBackupARN+    , lbrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listBackups' smart constructor.+data ListBackups = ListBackups'+  { _lbTimeRangeUpperBound     :: !(Maybe POSIX)+  , _lbTimeRangeLowerBound     :: !(Maybe POSIX)+  , _lbLimit                   :: !(Maybe Nat)+  , _lbExclusiveStartBackupARN :: !(Maybe Text)+  , _lbTableName               :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListBackups' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbTimeRangeUpperBound' - Only backups created before this time are listed. @TimeRangeUpperBound@ is exclusive.+--+-- * 'lbTimeRangeLowerBound' - Only backups created after this time are listed. @TimeRangeLowerBound@ is inclusive.+--+-- * 'lbLimit' - Maximum number of backups to return at once.+--+-- * 'lbExclusiveStartBackupARN' - @LastEvaluatedBackupARN@ returned by the previous ListBackups call.+--+-- * 'lbTableName' - The backups from the table specified by TableName are listed.+listBackups+    :: ListBackups+listBackups =+  ListBackups'+    { _lbTimeRangeUpperBound = Nothing+    , _lbTimeRangeLowerBound = Nothing+    , _lbLimit = Nothing+    , _lbExclusiveStartBackupARN = Nothing+    , _lbTableName = Nothing+    }+++-- | Only backups created before this time are listed. @TimeRangeUpperBound@ is exclusive.+lbTimeRangeUpperBound :: Lens' ListBackups (Maybe UTCTime)+lbTimeRangeUpperBound = lens _lbTimeRangeUpperBound (\ s a -> s{_lbTimeRangeUpperBound = a}) . mapping _Time++-- | Only backups created after this time are listed. @TimeRangeLowerBound@ is inclusive.+lbTimeRangeLowerBound :: Lens' ListBackups (Maybe UTCTime)+lbTimeRangeLowerBound = lens _lbTimeRangeLowerBound (\ s a -> s{_lbTimeRangeLowerBound = a}) . mapping _Time++-- | Maximum number of backups to return at once.+lbLimit :: Lens' ListBackups (Maybe Natural)+lbLimit = lens _lbLimit (\ s a -> s{_lbLimit = a}) . mapping _Nat++-- | @LastEvaluatedBackupARN@ returned by the previous ListBackups call.+lbExclusiveStartBackupARN :: Lens' ListBackups (Maybe Text)+lbExclusiveStartBackupARN = lens _lbExclusiveStartBackupARN (\ s a -> s{_lbExclusiveStartBackupARN = a})++-- | The backups from the table specified by TableName are listed.+lbTableName :: Lens' ListBackups (Maybe Text)+lbTableName = lens _lbTableName (\ s a -> s{_lbTableName = a})++instance AWSPager ListBackups where+        page rq rs+          | stop (rs ^. lbrsLastEvaluatedBackupARN) = Nothing+          | stop (rs ^. lbrsBackupSummaries) = Nothing+          | otherwise =+            Just $ rq &+              lbExclusiveStartBackupARN .~+                rs ^. lbrsLastEvaluatedBackupARN++instance AWSRequest ListBackups where+        type Rs ListBackups = ListBackupsResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 ListBackupsResponse' <$>+                   (x .?> "BackupSummaries" .!@ mempty) <*>+                     (x .?> "LastEvaluatedBackupArn")+                     <*> (pure (fromEnum s)))++instance Hashable ListBackups where++instance NFData ListBackups where++instance ToHeaders ListBackups where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.ListBackups" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON ListBackups where+        toJSON ListBackups'{..}+          = object+              (catMaybes+                 [("TimeRangeUpperBound" .=) <$>+                    _lbTimeRangeUpperBound,+                  ("TimeRangeLowerBound" .=) <$>+                    _lbTimeRangeLowerBound,+                  ("Limit" .=) <$> _lbLimit,+                  ("ExclusiveStartBackupArn" .=) <$>+                    _lbExclusiveStartBackupARN,+                  ("TableName" .=) <$> _lbTableName])++instance ToPath ListBackups where+        toPath = const "/"++instance ToQuery ListBackups where+        toQuery = const mempty++-- | /See:/ 'listBackupsResponse' smart constructor.+data ListBackupsResponse = ListBackupsResponse'+  { _lbrsBackupSummaries        :: !(Maybe [BackupSummary])+  , _lbrsLastEvaluatedBackupARN :: !(Maybe Text)+  , _lbrsResponseStatus         :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListBackupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbrsBackupSummaries' - List of @BackupSummary@ objects.+--+-- * 'lbrsLastEvaluatedBackupARN' - Last evaluated BackupARN.+--+-- * 'lbrsResponseStatus' - -- | The response status code.+listBackupsResponse+    :: Int -- ^ 'lbrsResponseStatus'+    -> ListBackupsResponse+listBackupsResponse pResponseStatus_ =+  ListBackupsResponse'+    { _lbrsBackupSummaries = Nothing+    , _lbrsLastEvaluatedBackupARN = Nothing+    , _lbrsResponseStatus = pResponseStatus_+    }+++-- | List of @BackupSummary@ objects.+lbrsBackupSummaries :: Lens' ListBackupsResponse [BackupSummary]+lbrsBackupSummaries = lens _lbrsBackupSummaries (\ s a -> s{_lbrsBackupSummaries = a}) . _Default . _Coerce++-- | Last evaluated BackupARN.+lbrsLastEvaluatedBackupARN :: Lens' ListBackupsResponse (Maybe Text)+lbrsLastEvaluatedBackupARN = lens _lbrsLastEvaluatedBackupARN (\ s a -> s{_lbrsLastEvaluatedBackupARN = a})++-- | -- | The response status code.+lbrsResponseStatus :: Lens' ListBackupsResponse Int+lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a})++instance NFData ListBackupsResponse where
+ gen/Network/AWS/DynamoDB/ListGlobalTables.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.ListGlobalTables+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all global tables that have a replica in the specified region.+--+--+module Network.AWS.DynamoDB.ListGlobalTables+    (+    -- * Creating a Request+      listGlobalTables+    , ListGlobalTables+    -- * Request Lenses+    , lgtRegionName+    , lgtExclusiveStartGlobalTableName+    , lgtLimit++    -- * Destructuring the Response+    , listGlobalTablesResponse+    , ListGlobalTablesResponse+    -- * Response Lenses+    , lgtrsLastEvaluatedGlobalTableName+    , lgtrsGlobalTables+    , lgtrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listGlobalTables' smart constructor.+data ListGlobalTables = ListGlobalTables'+  { _lgtRegionName                    :: !(Maybe Text)+  , _lgtExclusiveStartGlobalTableName :: !(Maybe Text)+  , _lgtLimit                         :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGlobalTables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgtRegionName' - Lists the global tables in a specific region.+--+-- * 'lgtExclusiveStartGlobalTableName' - The first global table name that this operation will evaluate.+--+-- * 'lgtLimit' - The maximum number of table names to return.+listGlobalTables+    :: ListGlobalTables+listGlobalTables =+  ListGlobalTables'+    { _lgtRegionName = Nothing+    , _lgtExclusiveStartGlobalTableName = Nothing+    , _lgtLimit = Nothing+    }+++-- | Lists the global tables in a specific region.+lgtRegionName :: Lens' ListGlobalTables (Maybe Text)+lgtRegionName = lens _lgtRegionName (\ s a -> s{_lgtRegionName = a})++-- | The first global table name that this operation will evaluate.+lgtExclusiveStartGlobalTableName :: Lens' ListGlobalTables (Maybe Text)+lgtExclusiveStartGlobalTableName = lens _lgtExclusiveStartGlobalTableName (\ s a -> s{_lgtExclusiveStartGlobalTableName = a})++-- | The maximum number of table names to return.+lgtLimit :: Lens' ListGlobalTables (Maybe Natural)+lgtLimit = lens _lgtLimit (\ s a -> s{_lgtLimit = a}) . mapping _Nat++instance AWSRequest ListGlobalTables where+        type Rs ListGlobalTables = ListGlobalTablesResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 ListGlobalTablesResponse' <$>+                   (x .?> "LastEvaluatedGlobalTableName") <*>+                     (x .?> "GlobalTables" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListGlobalTables where++instance NFData ListGlobalTables where++instance ToHeaders ListGlobalTables where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.ListGlobalTables" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON ListGlobalTables where+        toJSON ListGlobalTables'{..}+          = object+              (catMaybes+                 [("RegionName" .=) <$> _lgtRegionName,+                  ("ExclusiveStartGlobalTableName" .=) <$>+                    _lgtExclusiveStartGlobalTableName,+                  ("Limit" .=) <$> _lgtLimit])++instance ToPath ListGlobalTables where+        toPath = const "/"++instance ToQuery ListGlobalTables where+        toQuery = const mempty++-- | /See:/ 'listGlobalTablesResponse' smart constructor.+data ListGlobalTablesResponse = ListGlobalTablesResponse'+  { _lgtrsLastEvaluatedGlobalTableName :: !(Maybe Text)+  , _lgtrsGlobalTables                 :: !(Maybe [GlobalTable])+  , _lgtrsResponseStatus               :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGlobalTablesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgtrsLastEvaluatedGlobalTableName' - Last evaluated global table name.+--+-- * 'lgtrsGlobalTables' - List of global table names.+--+-- * 'lgtrsResponseStatus' - -- | The response status code.+listGlobalTablesResponse+    :: Int -- ^ 'lgtrsResponseStatus'+    -> ListGlobalTablesResponse+listGlobalTablesResponse pResponseStatus_ =+  ListGlobalTablesResponse'+    { _lgtrsLastEvaluatedGlobalTableName = Nothing+    , _lgtrsGlobalTables = Nothing+    , _lgtrsResponseStatus = pResponseStatus_+    }+++-- | Last evaluated global table name.+lgtrsLastEvaluatedGlobalTableName :: Lens' ListGlobalTablesResponse (Maybe Text)+lgtrsLastEvaluatedGlobalTableName = lens _lgtrsLastEvaluatedGlobalTableName (\ s a -> s{_lgtrsLastEvaluatedGlobalTableName = a})++-- | List of global table names.+lgtrsGlobalTables :: Lens' ListGlobalTablesResponse [GlobalTable]+lgtrsGlobalTables = lens _lgtrsGlobalTables (\ s a -> s{_lgtrsGlobalTables = a}) . _Default . _Coerce++-- | -- | The response status code.+lgtrsResponseStatus :: Lens' ListGlobalTablesResponse Int+lgtrsResponseStatus = lens _lgtrsResponseStatus (\ s a -> s{_lgtrsResponseStatus = a})++instance NFData ListGlobalTablesResponse where
gen/Network/AWS/DynamoDB/ListTables.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.ListTables--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -75,11 +75,11 @@  -- | The first table name that this operation will evaluate. Use the value that was returned for @LastEvaluatedTableName@ in a previous operation, so that you can obtain the next page of results. ltExclusiveStartTableName :: Lens' ListTables (Maybe Text)-ltExclusiveStartTableName = lens _ltExclusiveStartTableName (\ s a -> s{_ltExclusiveStartTableName = a});+ltExclusiveStartTableName = lens _ltExclusiveStartTableName (\ s a -> s{_ltExclusiveStartTableName = a})  -- | A maximum number of table names to return. If this parameter is not specified, the limit is 100. ltLimit :: Lens' ListTables (Maybe Natural)-ltLimit = lens _ltLimit (\ s a -> s{_ltLimit = a}) . mapping _Nat;+ltLimit = lens _ltLimit (\ s a -> s{_ltLimit = a}) . mapping _Nat  instance AWSPager ListTables where         page rq rs@@ -154,22 +154,22 @@     -> ListTablesResponse listTablesResponse pResponseStatus_ =   ListTablesResponse'-  { _ltrsLastEvaluatedTableName = Nothing-  , _ltrsTableNames = Nothing-  , _ltrsResponseStatus = pResponseStatus_-  }+    { _ltrsLastEvaluatedTableName = Nothing+    , _ltrsTableNames = Nothing+    , _ltrsResponseStatus = pResponseStatus_+    }   -- | The name of the last table in the current page of results. Use this value as the @ExclusiveStartTableName@ in a new request to obtain the next page of results, until all the table names are returned. If you do not receive a @LastEvaluatedTableName@ value in the response, this means that there are no more table names to be retrieved. ltrsLastEvaluatedTableName :: Lens' ListTablesResponse (Maybe Text)-ltrsLastEvaluatedTableName = lens _ltrsLastEvaluatedTableName (\ s a -> s{_ltrsLastEvaluatedTableName = a});+ltrsLastEvaluatedTableName = lens _ltrsLastEvaluatedTableName (\ s a -> s{_ltrsLastEvaluatedTableName = a})  -- | The names of the tables associated with the current account at the current endpoint. The maximum size of this array is 100. If @LastEvaluatedTableName@ also appears in the output, you can use this value as the @ExclusiveStartTableName@ parameter in a subsequent @ListTables@ request and obtain the next page of results. ltrsTableNames :: Lens' ListTablesResponse [Text]-ltrsTableNames = lens _ltrsTableNames (\ s a -> s{_ltrsTableNames = a}) . _Default . _Coerce;+ltrsTableNames = lens _ltrsTableNames (\ s a -> s{_ltrsTableNames = a}) . _Default . _Coerce  -- | -- | The response status code. ltrsResponseStatus :: Lens' ListTablesResponse Int-ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a});+ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a})  instance NFData ListTablesResponse where
gen/Network/AWS/DynamoDB/ListTagsOfResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.ListTagsOfResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,16 +67,16 @@     -> ListTagsOfResource listTagsOfResource pResourceARN_ =   ListTagsOfResource'-  {_ltorNextToken = Nothing, _ltorResourceARN = pResourceARN_}+    {_ltorNextToken = Nothing, _ltorResourceARN = pResourceARN_}   -- | An optional string that, if supplied, must be copied from the output of a previous call to ListTagOfResource. When provided in this manner, this API fetches the next page of results. ltorNextToken :: Lens' ListTagsOfResource (Maybe Text)-ltorNextToken = lens _ltorNextToken (\ s a -> s{_ltorNextToken = a});+ltorNextToken = lens _ltorNextToken (\ s a -> s{_ltorNextToken = a})  -- | The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN). ltorResourceARN :: Lens' ListTagsOfResource Text-ltorResourceARN = lens _ltorResourceARN (\ s a -> s{_ltorResourceARN = a});+ltorResourceARN = lens _ltorResourceARN (\ s a -> s{_ltorResourceARN = a})  instance AWSRequest ListTagsOfResource where         type Rs ListTagsOfResource =@@ -138,22 +138,22 @@     -> ListTagsOfResourceResponse listTagsOfResourceResponse pResponseStatus_ =   ListTagsOfResourceResponse'-  { _ltorrsNextToken = Nothing-  , _ltorrsTags = Nothing-  , _ltorrsResponseStatus = pResponseStatus_-  }+    { _ltorrsNextToken = Nothing+    , _ltorrsTags = Nothing+    , _ltorrsResponseStatus = pResponseStatus_+    }   -- | If this value is returned, there are additional results to be displayed. To retrieve them, call ListTagsOfResource again, with NextToken set to this value. ltorrsNextToken :: Lens' ListTagsOfResourceResponse (Maybe Text)-ltorrsNextToken = lens _ltorrsNextToken (\ s a -> s{_ltorrsNextToken = a});+ltorrsNextToken = lens _ltorrsNextToken (\ s a -> s{_ltorrsNextToken = a})  -- | The tags currently associated with the Amazon DynamoDB resource. ltorrsTags :: Lens' ListTagsOfResourceResponse [Tag]-ltorrsTags = lens _ltorrsTags (\ s a -> s{_ltorrsTags = a}) . _Default . _Coerce;+ltorrsTags = lens _ltorrsTags (\ s a -> s{_ltorrsTags = a}) . _Default . _Coerce  -- | -- | The response status code. ltorrsResponseStatus :: Lens' ListTagsOfResourceResponse Int-ltorrsResponseStatus = lens _ltorrsResponseStatus (\ s a -> s{_ltorrsResponseStatus = a});+ltorrsResponseStatus = lens _ltorrsResponseStatus (\ s a -> s{_ltorrsResponseStatus = a})  instance NFData ListTagsOfResourceResponse where
gen/Network/AWS/DynamoDB/PutItem.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.PutItem--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -130,58 +130,58 @@     -> PutItem putItem pTableName_ =   PutItem'-  { _piExpressionAttributeNames = Nothing-  , _piReturnValues = Nothing-  , _piExpressionAttributeValues = Nothing-  , _piReturnConsumedCapacity = Nothing-  , _piReturnItemCollectionMetrics = Nothing-  , _piConditionExpression = Nothing-  , _piConditionalOperator = Nothing-  , _piExpected = Nothing-  , _piTableName = pTableName_-  , _piItem = mempty-  }+    { _piExpressionAttributeNames = Nothing+    , _piReturnValues = Nothing+    , _piExpressionAttributeValues = Nothing+    , _piReturnConsumedCapacity = Nothing+    , _piReturnItemCollectionMetrics = Nothing+    , _piConditionExpression = Nothing+    , _piConditionalOperator = Nothing+    , _piExpected = Nothing+    , _piTableName = pTableName_+    , _piItem = mempty+    }   -- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . piExpressionAttributeNames :: Lens' PutItem (HashMap Text Text)-piExpressionAttributeNames = lens _piExpressionAttributeNames (\ s a -> s{_piExpressionAttributeNames = a}) . _Default . _Map;+piExpressionAttributeNames = lens _piExpressionAttributeNames (\ s a -> s{_piExpressionAttributeNames = a}) . _Default . _Map  -- | Use @ReturnValues@ if you want to get the item attributes as they appeared before they were updated with the @PutItem@ request. For @PutItem@ , the valid values are:     * @NONE@ - If @ReturnValues@ is not specified, or if its value is @NONE@ , then nothing is returned. (This setting is the default for @ReturnValues@ .)     * @ALL_OLD@ - If @PutItem@ overwrote an attribute name-value pair, then the content of the old item is returned. piReturnValues :: Lens' PutItem (Maybe ReturnValue)-piReturnValues = lens _piReturnValues (\ s a -> s{_piReturnValues = a});+piReturnValues = lens _piReturnValues (\ s a -> s{_piReturnValues = a})  -- | One or more values that can be substituted in an expression. Use the __:__ (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the /ProductStatus/ attribute was one of the following:  @Available | Backordered | Discontinued@  You would first need to specify @ExpressionAttributeValues@ as follows: @{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }@  You could then use these values in an expression, such as this: @ProductStatus IN (:avail, :back, :disc)@  For more information on expression attribute values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . piExpressionAttributeValues :: Lens' PutItem (HashMap Text AttributeValue)-piExpressionAttributeValues = lens _piExpressionAttributeValues (\ s a -> s{_piExpressionAttributeValues = a}) . _Default . _Map;+piExpressionAttributeValues = lens _piExpressionAttributeValues (\ s a -> s{_piExpressionAttributeValues = a}) . _Default . _Map  -- | Undocumented member. piReturnConsumedCapacity :: Lens' PutItem (Maybe ReturnConsumedCapacity)-piReturnConsumedCapacity = lens _piReturnConsumedCapacity (\ s a -> s{_piReturnConsumedCapacity = a});+piReturnConsumedCapacity = lens _piReturnConsumedCapacity (\ s a -> s{_piReturnConsumedCapacity = a})  -- | Determines whether item collection metrics are returned. If set to @SIZE@ , the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to @NONE@ (the default), no statistics are returned. piReturnItemCollectionMetrics :: Lens' PutItem (Maybe ReturnItemCollectionMetrics)-piReturnItemCollectionMetrics = lens _piReturnItemCollectionMetrics (\ s a -> s{_piReturnItemCollectionMetrics = a});+piReturnItemCollectionMetrics = lens _piReturnItemCollectionMetrics (\ s a -> s{_piReturnItemCollectionMetrics = a})  -- | A condition that must be satisfied in order for a conditional @PutItem@ operation to succeed. An expression can contain any of the following:     * Functions: @attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size@  These function names are case-sensitive.     * Comparison operators: @= | <> | < | > | <= | >= | BETWEEN | IN @      * Logical operators: @AND | OR | NOT@  For more information on condition expressions, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . piConditionExpression :: Lens' PutItem (Maybe Text)-piConditionExpression = lens _piConditionExpression (\ s a -> s{_piConditionExpression = a});+piConditionExpression = lens _piConditionExpression (\ s a -> s{_piConditionExpression = a})  -- | This is a legacy parameter. Use @ConditionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html ConditionalOperator> in the /Amazon DynamoDB Developer Guide/ . piConditionalOperator :: Lens' PutItem (Maybe ConditionalOperator)-piConditionalOperator = lens _piConditionalOperator (\ s a -> s{_piConditionalOperator = a});+piConditionalOperator = lens _piConditionalOperator (\ s a -> s{_piConditionalOperator = a})  -- | This is a legacy parameter. Use @ConditionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html Expected> in the /Amazon DynamoDB Developer Guide/ . piExpected :: Lens' PutItem (HashMap Text ExpectedAttributeValue)-piExpected = lens _piExpected (\ s a -> s{_piExpected = a}) . _Default . _Map;+piExpected = lens _piExpected (\ s a -> s{_piExpected = a}) . _Default . _Map  -- | The name of the table to contain the item. piTableName :: Lens' PutItem Text-piTableName = lens _piTableName (\ s a -> s{_piTableName = a});+piTableName = lens _piTableName (\ s a -> s{_piTableName = a})  -- | A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item. You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key. If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition. For more information about primary keys, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey Primary Key> in the /Amazon DynamoDB Developer Guide/ . Each element in the @Item@ map is an @AttributeValue@ object. piItem :: Lens' PutItem (HashMap Text AttributeValue)-piItem = lens _piItem (\ s a -> s{_piItem = a}) . _Map;+piItem = lens _piItem (\ s a -> s{_piItem = a}) . _Map  instance AWSRequest PutItem where         type Rs PutItem = PutItemResponse@@ -252,7 +252,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'pirsItemCollectionMetrics' - Information about item collections, if any, that were affected by the @PutItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRange@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- * 'pirsItemCollectionMetrics' - Information about item collections, if any, that were affected by the @PutItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRangeGB@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. -- -- * 'pirsConsumedCapacity' - The capacity units consumed by the @PutItem@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . --@@ -264,27 +264,27 @@     -> PutItemResponse putItemResponse pResponseStatus_ =   PutItemResponse'-  { _pirsItemCollectionMetrics = Nothing-  , _pirsConsumedCapacity = Nothing-  , _pirsAttributes = Nothing-  , _pirsResponseStatus = pResponseStatus_-  }+    { _pirsItemCollectionMetrics = Nothing+    , _pirsConsumedCapacity = Nothing+    , _pirsAttributes = Nothing+    , _pirsResponseStatus = pResponseStatus_+    }  --- | Information about item collections, if any, that were affected by the @PutItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRange@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- | Information about item collections, if any, that were affected by the @PutItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRangeGB@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. pirsItemCollectionMetrics :: Lens' PutItemResponse (Maybe ItemCollectionMetrics)-pirsItemCollectionMetrics = lens _pirsItemCollectionMetrics (\ s a -> s{_pirsItemCollectionMetrics = a});+pirsItemCollectionMetrics = lens _pirsItemCollectionMetrics (\ s a -> s{_pirsItemCollectionMetrics = a})  -- | The capacity units consumed by the @PutItem@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . pirsConsumedCapacity :: Lens' PutItemResponse (Maybe ConsumedCapacity)-pirsConsumedCapacity = lens _pirsConsumedCapacity (\ s a -> s{_pirsConsumedCapacity = a});+pirsConsumedCapacity = lens _pirsConsumedCapacity (\ s a -> s{_pirsConsumedCapacity = a})  -- | The attribute values as they appeared before the @PutItem@ operation, but only if @ReturnValues@ is specified as @ALL_OLD@ in the request. Each element consists of an attribute name and an attribute value. pirsAttributes :: Lens' PutItemResponse (HashMap Text AttributeValue)-pirsAttributes = lens _pirsAttributes (\ s a -> s{_pirsAttributes = a}) . _Default . _Map;+pirsAttributes = lens _pirsAttributes (\ s a -> s{_pirsAttributes = a}) . _Default . _Map  -- | -- | The response status code. pirsResponseStatus :: Lens' PutItemResponse Int-pirsResponseStatus = lens _pirsResponseStatus (\ s a -> s{_pirsResponseStatus = a});+pirsResponseStatus = lens _pirsResponseStatus (\ s a -> s{_pirsResponseStatus = a})  instance NFData PutItemResponse where
gen/Network/AWS/DynamoDB/Query.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.Query--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -127,13 +127,13 @@ -- -- * 'qReturnConsumedCapacity' - Undocumented member. ----- * 'qScanIndexForward' - Specifies the order for index traversal: If @true@ (default), the traversal is performed in ascending order; if @false@ , the traversal is performed in descending order.  Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of ASCII character code values. For type Binary, DynamoDB treats each byte of the binary data as unsigned. If @ScanIndexForward@ is @true@ , DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If @ScanIndexForward@ is @false@ , DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.+-- * 'qScanIndexForward' - Specifies the order for index traversal: If @true@ (default), the traversal is performed in ascending order; if @false@ , the traversal is performed in descending order.  Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned. If @ScanIndexForward@ is @true@ , DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If @ScanIndexForward@ is @false@ , DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client. -- -- * 'qLimit' - The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in @LastEvaluatedKey@ to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in @LastEvaluatedKey@ to apply in a subsequent operation to continue the operation. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html Query and Scan> in the /Amazon DynamoDB Developer Guide/ . -- -- * 'qSelect' - The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.     * @ALL_ATTRIBUTES@ - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index DynamoDB will fetch the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.     * @ALL_PROJECTED_ATTRIBUTES@ - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying @ALL_ATTRIBUTES@ .     * @COUNT@ - Returns the number of matching items, rather than the matching items themselves.     * @SPECIFIC_ATTRIBUTES@ - Returns only the attributes listed in @AttributesToGet@ . This return value is equivalent to specifying @AttributesToGet@ without specifying any value for @Select@ . If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB will fetch each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency. If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table. If neither @Select@ nor @AttributesToGet@ are specified, DynamoDB defaults to @ALL_ATTRIBUTES@ when accessing a table, and @ALL_PROJECTED_ATTRIBUTES@ when accessing an index. You cannot use both @Select@ and @AttributesToGet@ together in a single request, unless the value for @Select@ is @SPECIFIC_ATTRIBUTES@ . (This usage is equivalent to specifying @AttributesToGet@ without any value for @Select@ .) ----- * 'qKeyConditionExpression' - The condition that specifies the key value(s) for items to be retrieved by the @Query@ action. The condition must perform an equality test on a single partition key value. The condition can also perform one of several comparison tests on a single sort key value. @Query@ can use @KeyConditionExpression@ to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values. The partition key equality test is required, and must be specified in the following format: @partitionKeyName@ /=/ @:partitionkeyval@  If you also want to provide a condition for the sort key, it must be combined using @AND@ with the condition for the sort key. Following is an example, using the __=__ comparison operator for the sort key: @partitionKeyName@ @=@ @:partitionkeyval@ @AND@ @sortKeyName@ @=@ @:sortkeyval@  Valid comparisons for the sort key condition are as follows:     * @sortKeyName@ @=@ @:sortkeyval@ - true if the sort key value is equal to @:sortkeyval@ .     * @sortKeyName@ @<@ @:sortkeyval@ - true if the sort key value is less than @:sortkeyval@ .     * @sortKeyName@ @<=@ @:sortkeyval@ - true if the sort key value is less than or equal to @:sortkeyval@ .     * @sortKeyName@ @>@ @:sortkeyval@ - true if the sort key value is greater than @:sortkeyval@ .     * @sortKeyName@ @>= @ @:sortkeyval@ - true if the sort key value is greater than or equal to @:sortkeyval@ .     * @sortKeyName@ @BETWEEN@ @:sortkeyval1@ @AND@ @:sortkeyval2@ - true if the sort key value is greater than or equal to @:sortkeyval1@ , and less than or equal to @:sortkeyval2@ .     * @begins_with (@ @sortKeyName@ , @:sortkeyval@ @)@ - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name @begins_with@ is case-sensitive. Use the @ExpressionAttributeValues@ parameter to replace tokens such as @:partitionval@ and @:sortval@ with actual values at runtime. You can optionally use the @ExpressionAttributeNames@ parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following @KeyConditionExpression@ parameter causes an error because /Size/ is a reserved word:     * @Size = :myval@  To work around this, define a placeholder (such a @#S@ ) to represent the attribute name /Size/ . @KeyConditionExpression@ then is as follows:     * @#S = :myval@  For a list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ . For more information on @ExpressionAttributeNames@ and @ExpressionAttributeValues@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html Using Placeholders for Attribute Names and Values> in the /Amazon DynamoDB Developer Guide/ .+-- * 'qKeyConditionExpression' - The condition that specifies the key value(s) for items to be retrieved by the @Query@ action. The condition must perform an equality test on a single partition key value. The condition can optionally perform one of several comparison tests on a single sort key value. This allows @Query@ to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values. The partition key equality test is required, and must be specified in the following format: @partitionKeyName@ /=/ @:partitionkeyval@  If you also want to provide a condition for the sort key, it must be combined using @AND@ with the condition for the sort key. Following is an example, using the __=__ comparison operator for the sort key: @partitionKeyName@ @=@ @:partitionkeyval@ @AND@ @sortKeyName@ @=@ @:sortkeyval@  Valid comparisons for the sort key condition are as follows:     * @sortKeyName@ @=@ @:sortkeyval@ - true if the sort key value is equal to @:sortkeyval@ .     * @sortKeyName@ @<@ @:sortkeyval@ - true if the sort key value is less than @:sortkeyval@ .     * @sortKeyName@ @<=@ @:sortkeyval@ - true if the sort key value is less than or equal to @:sortkeyval@ .     * @sortKeyName@ @>@ @:sortkeyval@ - true if the sort key value is greater than @:sortkeyval@ .     * @sortKeyName@ @>= @ @:sortkeyval@ - true if the sort key value is greater than or equal to @:sortkeyval@ .     * @sortKeyName@ @BETWEEN@ @:sortkeyval1@ @AND@ @:sortkeyval2@ - true if the sort key value is greater than or equal to @:sortkeyval1@ , and less than or equal to @:sortkeyval2@ .     * @begins_with (@ @sortKeyName@ , @:sortkeyval@ @)@ - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name @begins_with@ is case-sensitive. Use the @ExpressionAttributeValues@ parameter to replace tokens such as @:partitionval@ and @:sortval@ with actual values at runtime. You can optionally use the @ExpressionAttributeNames@ parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following @KeyConditionExpression@ parameter causes an error because /Size/ is a reserved word:     * @Size = :myval@  To work around this, define a placeholder (such a @#S@ ) to represent the attribute name /Size/ . @KeyConditionExpression@ then is as follows:     * @#S = :myval@  For a list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ . For more information on @ExpressionAttributeNames@ and @ExpressionAttributeValues@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html Using Placeholders for Attribute Names and Values> in the /Amazon DynamoDB Developer Guide/ . -- -- * 'qConditionalOperator' - This is a legacy parameter. Use @FilterExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html ConditionalOperator> in the /Amazon DynamoDB Developer Guide/ . --@@ -147,93 +147,93 @@     -> Query query pTableName_ =   Query'-  { _qKeyConditions = Nothing-  , _qProjectionExpression = Nothing-  , _qAttributesToGet = Nothing-  , _qExpressionAttributeNames = Nothing-  , _qFilterExpression = Nothing-  , _qQueryFilter = Nothing-  , _qConsistentRead = Nothing-  , _qExpressionAttributeValues = Nothing-  , _qReturnConsumedCapacity = Nothing-  , _qScanIndexForward = Nothing-  , _qLimit = Nothing-  , _qSelect = Nothing-  , _qKeyConditionExpression = Nothing-  , _qConditionalOperator = Nothing-  , _qExclusiveStartKey = Nothing-  , _qIndexName = Nothing-  , _qTableName = pTableName_-  }+    { _qKeyConditions = Nothing+    , _qProjectionExpression = Nothing+    , _qAttributesToGet = Nothing+    , _qExpressionAttributeNames = Nothing+    , _qFilterExpression = Nothing+    , _qQueryFilter = Nothing+    , _qConsistentRead = Nothing+    , _qExpressionAttributeValues = Nothing+    , _qReturnConsumedCapacity = Nothing+    , _qScanIndexForward = Nothing+    , _qLimit = Nothing+    , _qSelect = Nothing+    , _qKeyConditionExpression = Nothing+    , _qConditionalOperator = Nothing+    , _qExclusiveStartKey = Nothing+    , _qIndexName = Nothing+    , _qTableName = pTableName_+    }   -- | This is a legacy parameter. Use @KeyConditionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html KeyConditions> in the /Amazon DynamoDB Developer Guide/ . qKeyConditions :: Lens' Query (HashMap Text Condition)-qKeyConditions = lens _qKeyConditions (\ s a -> s{_qKeyConditions = a}) . _Default . _Map;+qKeyConditions = lens _qKeyConditions (\ s a -> s{_qKeyConditions = a}) . _Default . _Map  -- | A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . qProjectionExpression :: Lens' Query (Maybe Text)-qProjectionExpression = lens _qProjectionExpression (\ s a -> s{_qProjectionExpression = a});+qProjectionExpression = lens _qProjectionExpression (\ s a -> s{_qProjectionExpression = a})  -- | This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html AttributesToGet> in the /Amazon DynamoDB Developer Guide/ . qAttributesToGet :: Lens' Query (Maybe (NonEmpty Text))-qAttributesToGet = lens _qAttributesToGet (\ s a -> s{_qAttributesToGet = a}) . mapping _List1;+qAttributesToGet = lens _qAttributesToGet (\ s a -> s{_qAttributesToGet = a}) . mapping _List1  -- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . qExpressionAttributeNames :: Lens' Query (HashMap Text Text)-qExpressionAttributeNames = lens _qExpressionAttributeNames (\ s a -> s{_qExpressionAttributeNames = a}) . _Default . _Map;+qExpressionAttributeNames = lens _qExpressionAttributeNames (\ s a -> s{_qExpressionAttributeNames = a}) . _Default . _Map  -- | A string that contains conditions that DynamoDB applies after the @Query@ operation, but before the data is returned to you. Items that do not satisfy the @FilterExpression@ criteria are not returned. A @FilterExpression@ does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults Filter Expressions> in the /Amazon DynamoDB Developer Guide/ . qFilterExpression :: Lens' Query (Maybe Text)-qFilterExpression = lens _qFilterExpression (\ s a -> s{_qFilterExpression = a});+qFilterExpression = lens _qFilterExpression (\ s a -> s{_qFilterExpression = a})  -- | This is a legacy parameter. Use @FilterExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html QueryFilter> in the /Amazon DynamoDB Developer Guide/ . qQueryFilter :: Lens' Query (HashMap Text Condition)-qQueryFilter = lens _qQueryFilter (\ s a -> s{_qQueryFilter = a}) . _Default . _Map;+qQueryFilter = lens _qQueryFilter (\ s a -> s{_qQueryFilter = a}) . _Default . _Map  -- | Determines the read consistency model: If set to @true@ , then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads. Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with @ConsistentRead@ set to @true@ , you will receive a @ValidationException@ . qConsistentRead :: Lens' Query (Maybe Bool)-qConsistentRead = lens _qConsistentRead (\ s a -> s{_qConsistentRead = a});+qConsistentRead = lens _qConsistentRead (\ s a -> s{_qConsistentRead = a})  -- | One or more values that can be substituted in an expression. Use the __:__ (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the /ProductStatus/ attribute was one of the following:  @Available | Backordered | Discontinued@  You would first need to specify @ExpressionAttributeValues@ as follows: @{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }@  You could then use these values in an expression, such as this: @ProductStatus IN (:avail, :back, :disc)@  For more information on expression attribute values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . qExpressionAttributeValues :: Lens' Query (HashMap Text AttributeValue)-qExpressionAttributeValues = lens _qExpressionAttributeValues (\ s a -> s{_qExpressionAttributeValues = a}) . _Default . _Map;+qExpressionAttributeValues = lens _qExpressionAttributeValues (\ s a -> s{_qExpressionAttributeValues = a}) . _Default . _Map  -- | Undocumented member. qReturnConsumedCapacity :: Lens' Query (Maybe ReturnConsumedCapacity)-qReturnConsumedCapacity = lens _qReturnConsumedCapacity (\ s a -> s{_qReturnConsumedCapacity = a});+qReturnConsumedCapacity = lens _qReturnConsumedCapacity (\ s a -> s{_qReturnConsumedCapacity = a}) --- | Specifies the order for index traversal: If @true@ (default), the traversal is performed in ascending order; if @false@ , the traversal is performed in descending order.  Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of ASCII character code values. For type Binary, DynamoDB treats each byte of the binary data as unsigned. If @ScanIndexForward@ is @true@ , DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If @ScanIndexForward@ is @false@ , DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.+-- | Specifies the order for index traversal: If @true@ (default), the traversal is performed in ascending order; if @false@ , the traversal is performed in descending order.  Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned. If @ScanIndexForward@ is @true@ , DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If @ScanIndexForward@ is @false@ , DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client. qScanIndexForward :: Lens' Query (Maybe Bool)-qScanIndexForward = lens _qScanIndexForward (\ s a -> s{_qScanIndexForward = a});+qScanIndexForward = lens _qScanIndexForward (\ s a -> s{_qScanIndexForward = a})  -- | The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in @LastEvaluatedKey@ to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in @LastEvaluatedKey@ to apply in a subsequent operation to continue the operation. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html Query and Scan> in the /Amazon DynamoDB Developer Guide/ . qLimit :: Lens' Query (Maybe Natural)-qLimit = lens _qLimit (\ s a -> s{_qLimit = a}) . mapping _Nat;+qLimit = lens _qLimit (\ s a -> s{_qLimit = a}) . mapping _Nat  -- | The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.     * @ALL_ATTRIBUTES@ - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index DynamoDB will fetch the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.     * @ALL_PROJECTED_ATTRIBUTES@ - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying @ALL_ATTRIBUTES@ .     * @COUNT@ - Returns the number of matching items, rather than the matching items themselves.     * @SPECIFIC_ATTRIBUTES@ - Returns only the attributes listed in @AttributesToGet@ . This return value is equivalent to specifying @AttributesToGet@ without specifying any value for @Select@ . If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB will fetch each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency. If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table. If neither @Select@ nor @AttributesToGet@ are specified, DynamoDB defaults to @ALL_ATTRIBUTES@ when accessing a table, and @ALL_PROJECTED_ATTRIBUTES@ when accessing an index. You cannot use both @Select@ and @AttributesToGet@ together in a single request, unless the value for @Select@ is @SPECIFIC_ATTRIBUTES@ . (This usage is equivalent to specifying @AttributesToGet@ without any value for @Select@ .) qSelect :: Lens' Query (Maybe Select)-qSelect = lens _qSelect (\ s a -> s{_qSelect = a});+qSelect = lens _qSelect (\ s a -> s{_qSelect = a}) --- | The condition that specifies the key value(s) for items to be retrieved by the @Query@ action. The condition must perform an equality test on a single partition key value. The condition can also perform one of several comparison tests on a single sort key value. @Query@ can use @KeyConditionExpression@ to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values. The partition key equality test is required, and must be specified in the following format: @partitionKeyName@ /=/ @:partitionkeyval@  If you also want to provide a condition for the sort key, it must be combined using @AND@ with the condition for the sort key. Following is an example, using the __=__ comparison operator for the sort key: @partitionKeyName@ @=@ @:partitionkeyval@ @AND@ @sortKeyName@ @=@ @:sortkeyval@  Valid comparisons for the sort key condition are as follows:     * @sortKeyName@ @=@ @:sortkeyval@ - true if the sort key value is equal to @:sortkeyval@ .     * @sortKeyName@ @<@ @:sortkeyval@ - true if the sort key value is less than @:sortkeyval@ .     * @sortKeyName@ @<=@ @:sortkeyval@ - true if the sort key value is less than or equal to @:sortkeyval@ .     * @sortKeyName@ @>@ @:sortkeyval@ - true if the sort key value is greater than @:sortkeyval@ .     * @sortKeyName@ @>= @ @:sortkeyval@ - true if the sort key value is greater than or equal to @:sortkeyval@ .     * @sortKeyName@ @BETWEEN@ @:sortkeyval1@ @AND@ @:sortkeyval2@ - true if the sort key value is greater than or equal to @:sortkeyval1@ , and less than or equal to @:sortkeyval2@ .     * @begins_with (@ @sortKeyName@ , @:sortkeyval@ @)@ - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name @begins_with@ is case-sensitive. Use the @ExpressionAttributeValues@ parameter to replace tokens such as @:partitionval@ and @:sortval@ with actual values at runtime. You can optionally use the @ExpressionAttributeNames@ parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following @KeyConditionExpression@ parameter causes an error because /Size/ is a reserved word:     * @Size = :myval@  To work around this, define a placeholder (such a @#S@ ) to represent the attribute name /Size/ . @KeyConditionExpression@ then is as follows:     * @#S = :myval@  For a list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ . For more information on @ExpressionAttributeNames@ and @ExpressionAttributeValues@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html Using Placeholders for Attribute Names and Values> in the /Amazon DynamoDB Developer Guide/ .+-- | The condition that specifies the key value(s) for items to be retrieved by the @Query@ action. The condition must perform an equality test on a single partition key value. The condition can optionally perform one of several comparison tests on a single sort key value. This allows @Query@ to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values. The partition key equality test is required, and must be specified in the following format: @partitionKeyName@ /=/ @:partitionkeyval@  If you also want to provide a condition for the sort key, it must be combined using @AND@ with the condition for the sort key. Following is an example, using the __=__ comparison operator for the sort key: @partitionKeyName@ @=@ @:partitionkeyval@ @AND@ @sortKeyName@ @=@ @:sortkeyval@  Valid comparisons for the sort key condition are as follows:     * @sortKeyName@ @=@ @:sortkeyval@ - true if the sort key value is equal to @:sortkeyval@ .     * @sortKeyName@ @<@ @:sortkeyval@ - true if the sort key value is less than @:sortkeyval@ .     * @sortKeyName@ @<=@ @:sortkeyval@ - true if the sort key value is less than or equal to @:sortkeyval@ .     * @sortKeyName@ @>@ @:sortkeyval@ - true if the sort key value is greater than @:sortkeyval@ .     * @sortKeyName@ @>= @ @:sortkeyval@ - true if the sort key value is greater than or equal to @:sortkeyval@ .     * @sortKeyName@ @BETWEEN@ @:sortkeyval1@ @AND@ @:sortkeyval2@ - true if the sort key value is greater than or equal to @:sortkeyval1@ , and less than or equal to @:sortkeyval2@ .     * @begins_with (@ @sortKeyName@ , @:sortkeyval@ @)@ - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name @begins_with@ is case-sensitive. Use the @ExpressionAttributeValues@ parameter to replace tokens such as @:partitionval@ and @:sortval@ with actual values at runtime. You can optionally use the @ExpressionAttributeNames@ parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following @KeyConditionExpression@ parameter causes an error because /Size/ is a reserved word:     * @Size = :myval@  To work around this, define a placeholder (such a @#S@ ) to represent the attribute name /Size/ . @KeyConditionExpression@ then is as follows:     * @#S = :myval@  For a list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ . For more information on @ExpressionAttributeNames@ and @ExpressionAttributeValues@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html Using Placeholders for Attribute Names and Values> in the /Amazon DynamoDB Developer Guide/ . qKeyConditionExpression :: Lens' Query (Maybe Text)-qKeyConditionExpression = lens _qKeyConditionExpression (\ s a -> s{_qKeyConditionExpression = a});+qKeyConditionExpression = lens _qKeyConditionExpression (\ s a -> s{_qKeyConditionExpression = a})  -- | This is a legacy parameter. Use @FilterExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html ConditionalOperator> in the /Amazon DynamoDB Developer Guide/ . qConditionalOperator :: Lens' Query (Maybe ConditionalOperator)-qConditionalOperator = lens _qConditionalOperator (\ s a -> s{_qConditionalOperator = a});+qConditionalOperator = lens _qConditionalOperator (\ s a -> s{_qConditionalOperator = a})  -- | The primary key of the first item that this operation will evaluate. Use the value that was returned for @LastEvaluatedKey@ in the previous operation. The data type for @ExclusiveStartKey@ must be String, Number or Binary. No set data types are allowed. qExclusiveStartKey :: Lens' Query (HashMap Text AttributeValue)-qExclusiveStartKey = lens _qExclusiveStartKey (\ s a -> s{_qExclusiveStartKey = a}) . _Default . _Map;+qExclusiveStartKey = lens _qExclusiveStartKey (\ s a -> s{_qExclusiveStartKey = a}) . _Default . _Map  -- | The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the @IndexName@ parameter, you must also provide @TableName.@ qIndexName :: Lens' Query (Maybe Text)-qIndexName = lens _qIndexName (\ s a -> s{_qIndexName = a});+qIndexName = lens _qIndexName (\ s a -> s{_qIndexName = a})  -- | The name of the table containing the requested items. qTableName :: Lens' Query Text-qTableName = lens _qTableName (\ s a -> s{_qTableName = a});+qTableName = lens _qTableName (\ s a -> s{_qTableName = a})  instance AWSPager Query where         page rq rs@@ -336,37 +336,37 @@     -> QueryResponse queryResponse pResponseStatus_ =   QueryResponse'-  { _qrsLastEvaluatedKey = Nothing-  , _qrsCount = Nothing-  , _qrsScannedCount = Nothing-  , _qrsItems = Nothing-  , _qrsConsumedCapacity = Nothing-  , _qrsResponseStatus = pResponseStatus_-  }+    { _qrsLastEvaluatedKey = Nothing+    , _qrsCount = Nothing+    , _qrsScannedCount = Nothing+    , _qrsItems = Nothing+    , _qrsConsumedCapacity = Nothing+    , _qrsResponseStatus = pResponseStatus_+    }   -- | The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request. If @LastEvaluatedKey@ is empty, then the "last page" of results has been processed and there is no more data to be retrieved. If @LastEvaluatedKey@ is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when @LastEvaluatedKey@ is empty. qrsLastEvaluatedKey :: Lens' QueryResponse (HashMap Text AttributeValue)-qrsLastEvaluatedKey = lens _qrsLastEvaluatedKey (\ s a -> s{_qrsLastEvaluatedKey = a}) . _Default . _Map;+qrsLastEvaluatedKey = lens _qrsLastEvaluatedKey (\ s a -> s{_qrsLastEvaluatedKey = a}) . _Default . _Map  -- | The number of items in the response. If you used a @QueryFilter@ in the request, then @Count@ is the number of items returned after the filter was applied, and @ScannedCount@ is the number of matching items before the filter was applied. If you did not use a filter in the request, then @Count@ and @ScannedCount@ are the same. qrsCount :: Lens' QueryResponse (Maybe Int)-qrsCount = lens _qrsCount (\ s a -> s{_qrsCount = a});+qrsCount = lens _qrsCount (\ s a -> s{_qrsCount = a})  -- | The number of items evaluated, before any @QueryFilter@ is applied. A high @ScannedCount@ value with few, or no, @Count@ results indicates an inefficient @Query@ operation. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count Count and ScannedCount> in the /Amazon DynamoDB Developer Guide/ . If you did not use a filter in the request, then @ScannedCount@ is the same as @Count@ . qrsScannedCount :: Lens' QueryResponse (Maybe Int)-qrsScannedCount = lens _qrsScannedCount (\ s a -> s{_qrsScannedCount = a});+qrsScannedCount = lens _qrsScannedCount (\ s a -> s{_qrsScannedCount = a})  -- | An array of item attributes that match the query criteria. Each element in this array consists of an attribute name and the value for that attribute. qrsItems :: Lens' QueryResponse [HashMap Text AttributeValue]-qrsItems = lens _qrsItems (\ s a -> s{_qrsItems = a}) . _Default . _Coerce;+qrsItems = lens _qrsItems (\ s a -> s{_qrsItems = a}) . _Default . _Coerce  -- | The capacity units consumed by the @Query@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . qrsConsumedCapacity :: Lens' QueryResponse (Maybe ConsumedCapacity)-qrsConsumedCapacity = lens _qrsConsumedCapacity (\ s a -> s{_qrsConsumedCapacity = a});+qrsConsumedCapacity = lens _qrsConsumedCapacity (\ s a -> s{_qrsConsumedCapacity = a})  -- | -- | The response status code. qrsResponseStatus :: Lens' QueryResponse Int-qrsResponseStatus = lens _qrsResponseStatus (\ s a -> s{_qrsResponseStatus = a});+qrsResponseStatus = lens _qrsResponseStatus (\ s a -> s{_qrsResponseStatus = a})  instance NFData QueryResponse where
+ gen/Network/AWS/DynamoDB/RestoreTableFromBackup.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.RestoreTableFromBackup+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new table from an existing backup. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.+--+--+-- You can call @RestoreTableFromBackup@ at a maximum rate of 10 times per second.+--+-- You must manually set up the following on the restored table:+--+--     * Auto scaling policies+--+--     * IAM policies+--+--     * Cloudwatch metrics and alarms+--+--     * Tags+--+--     * Stream settings+--+--     * Time to Live (TTL) settings+--+--+--+module Network.AWS.DynamoDB.RestoreTableFromBackup+    (+    -- * Creating a Request+      restoreTableFromBackup+    , RestoreTableFromBackup+    -- * Request Lenses+    , rtfbTargetTableName+    , rtfbBackupARN++    -- * Destructuring the Response+    , restoreTableFromBackupResponse+    , RestoreTableFromBackupResponse+    -- * Response Lenses+    , rtfbrsTableDescription+    , rtfbrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'restoreTableFromBackup' smart constructor.+data RestoreTableFromBackup = RestoreTableFromBackup'+  { _rtfbTargetTableName :: !Text+  , _rtfbBackupARN       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RestoreTableFromBackup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtfbTargetTableName' - The name of the new table to which the backup must be restored.+--+-- * 'rtfbBackupARN' - The ARN associated with the backup.+restoreTableFromBackup+    :: Text -- ^ 'rtfbTargetTableName'+    -> Text -- ^ 'rtfbBackupARN'+    -> RestoreTableFromBackup+restoreTableFromBackup pTargetTableName_ pBackupARN_ =+  RestoreTableFromBackup'+    {_rtfbTargetTableName = pTargetTableName_, _rtfbBackupARN = pBackupARN_}+++-- | The name of the new table to which the backup must be restored.+rtfbTargetTableName :: Lens' RestoreTableFromBackup Text+rtfbTargetTableName = lens _rtfbTargetTableName (\ s a -> s{_rtfbTargetTableName = a})++-- | The ARN associated with the backup.+rtfbBackupARN :: Lens' RestoreTableFromBackup Text+rtfbBackupARN = lens _rtfbBackupARN (\ s a -> s{_rtfbBackupARN = a})++instance AWSRequest RestoreTableFromBackup where+        type Rs RestoreTableFromBackup =+             RestoreTableFromBackupResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 RestoreTableFromBackupResponse' <$>+                   (x .?> "TableDescription") <*> (pure (fromEnum s)))++instance Hashable RestoreTableFromBackup where++instance NFData RestoreTableFromBackup where++instance ToHeaders RestoreTableFromBackup where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.RestoreTableFromBackup" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON RestoreTableFromBackup where+        toJSON RestoreTableFromBackup'{..}+          = object+              (catMaybes+                 [Just ("TargetTableName" .= _rtfbTargetTableName),+                  Just ("BackupArn" .= _rtfbBackupARN)])++instance ToPath RestoreTableFromBackup where+        toPath = const "/"++instance ToQuery RestoreTableFromBackup where+        toQuery = const mempty++-- | /See:/ 'restoreTableFromBackupResponse' smart constructor.+data RestoreTableFromBackupResponse = RestoreTableFromBackupResponse'+  { _rtfbrsTableDescription :: !(Maybe TableDescription)+  , _rtfbrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RestoreTableFromBackupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtfbrsTableDescription' - The description of the table created from an existing backup.+--+-- * 'rtfbrsResponseStatus' - -- | The response status code.+restoreTableFromBackupResponse+    :: Int -- ^ 'rtfbrsResponseStatus'+    -> RestoreTableFromBackupResponse+restoreTableFromBackupResponse pResponseStatus_ =+  RestoreTableFromBackupResponse'+    { _rtfbrsTableDescription = Nothing+    , _rtfbrsResponseStatus = pResponseStatus_+    }+++-- | The description of the table created from an existing backup.+rtfbrsTableDescription :: Lens' RestoreTableFromBackupResponse (Maybe TableDescription)+rtfbrsTableDescription = lens _rtfbrsTableDescription (\ s a -> s{_rtfbrsTableDescription = a})++-- | -- | The response status code.+rtfbrsResponseStatus :: Lens' RestoreTableFromBackupResponse Int+rtfbrsResponseStatus = lens _rtfbrsResponseStatus (\ s a -> s{_rtfbrsResponseStatus = a})++instance NFData RestoreTableFromBackupResponse where
+ gen/Network/AWS/DynamoDB/RestoreTableToPointInTime.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.RestoreTableToPointInTime+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Restores the specified table to the specified point in time within @EarliestRestorableDateTime@ and @LatestRestorableDateTime@ . You can restore your table to any point in time during the last 35 days. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.+--+--+-- When you restore using point in time recovery, DynamoDB restores your table data to the state based on the selected date and time (day:hour:minute:second) to a new table.+--+-- Along with data, the following are also included on the new restored table using point in time recovery:+--+--     * Global secondary indexes (GSIs)+--+--     * Local secondary indexes (LSIs)+--+--     * Provisioned read and write capacity+--+--     * Encryption settings+--+-- /Important:/ All these settings come from the current settings of the source table at the time of restore.+--+--+--+-- You must manually set up the following on the restored table:+--+--     * Auto scaling policies+--+--     * IAM policies+--+--     * Cloudwatch metrics and alarms+--+--     * Tags+--+--     * Stream settings+--+--     * Time to Live (TTL) settings+--+--     * Point in time recovery settings+--+--+--+module Network.AWS.DynamoDB.RestoreTableToPointInTime+    (+    -- * Creating a Request+      restoreTableToPointInTime+    , RestoreTableToPointInTime+    -- * Request Lenses+    , rttpitUseLatestRestorableTime+    , rttpitRestoreDateTime+    , rttpitSourceTableName+    , rttpitTargetTableName++    -- * Destructuring the Response+    , restoreTableToPointInTimeResponse+    , RestoreTableToPointInTimeResponse+    -- * Response Lenses+    , rttpitrsTableDescription+    , rttpitrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'restoreTableToPointInTime' smart constructor.+data RestoreTableToPointInTime = RestoreTableToPointInTime'+  { _rttpitUseLatestRestorableTime :: !(Maybe Bool)+  , _rttpitRestoreDateTime         :: !(Maybe POSIX)+  , _rttpitSourceTableName         :: !Text+  , _rttpitTargetTableName         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RestoreTableToPointInTime' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rttpitUseLatestRestorableTime' - Restore the table to the latest possible time. @LatestRestorableDateTime@ is typically 5 minutes before the current time.+--+-- * 'rttpitRestoreDateTime' - Time in the past to restore the table to.+--+-- * 'rttpitSourceTableName' - Name of the source table that is being restored.+--+-- * 'rttpitTargetTableName' - The name of the new table to which it must be restored to.+restoreTableToPointInTime+    :: Text -- ^ 'rttpitSourceTableName'+    -> Text -- ^ 'rttpitTargetTableName'+    -> RestoreTableToPointInTime+restoreTableToPointInTime pSourceTableName_ pTargetTableName_ =+  RestoreTableToPointInTime'+    { _rttpitUseLatestRestorableTime = Nothing+    , _rttpitRestoreDateTime = Nothing+    , _rttpitSourceTableName = pSourceTableName_+    , _rttpitTargetTableName = pTargetTableName_+    }+++-- | Restore the table to the latest possible time. @LatestRestorableDateTime@ is typically 5 minutes before the current time.+rttpitUseLatestRestorableTime :: Lens' RestoreTableToPointInTime (Maybe Bool)+rttpitUseLatestRestorableTime = lens _rttpitUseLatestRestorableTime (\ s a -> s{_rttpitUseLatestRestorableTime = a})++-- | Time in the past to restore the table to.+rttpitRestoreDateTime :: Lens' RestoreTableToPointInTime (Maybe UTCTime)+rttpitRestoreDateTime = lens _rttpitRestoreDateTime (\ s a -> s{_rttpitRestoreDateTime = a}) . mapping _Time++-- | Name of the source table that is being restored.+rttpitSourceTableName :: Lens' RestoreTableToPointInTime Text+rttpitSourceTableName = lens _rttpitSourceTableName (\ s a -> s{_rttpitSourceTableName = a})++-- | The name of the new table to which it must be restored to.+rttpitTargetTableName :: Lens' RestoreTableToPointInTime Text+rttpitTargetTableName = lens _rttpitTargetTableName (\ s a -> s{_rttpitTargetTableName = a})++instance AWSRequest RestoreTableToPointInTime where+        type Rs RestoreTableToPointInTime =+             RestoreTableToPointInTimeResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 RestoreTableToPointInTimeResponse' <$>+                   (x .?> "TableDescription") <*> (pure (fromEnum s)))++instance Hashable RestoreTableToPointInTime where++instance NFData RestoreTableToPointInTime where++instance ToHeaders RestoreTableToPointInTime where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.RestoreTableToPointInTime" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON RestoreTableToPointInTime where+        toJSON RestoreTableToPointInTime'{..}+          = object+              (catMaybes+                 [("UseLatestRestorableTime" .=) <$>+                    _rttpitUseLatestRestorableTime,+                  ("RestoreDateTime" .=) <$> _rttpitRestoreDateTime,+                  Just ("SourceTableName" .= _rttpitSourceTableName),+                  Just ("TargetTableName" .= _rttpitTargetTableName)])++instance ToPath RestoreTableToPointInTime where+        toPath = const "/"++instance ToQuery RestoreTableToPointInTime where+        toQuery = const mempty++-- | /See:/ 'restoreTableToPointInTimeResponse' smart constructor.+data RestoreTableToPointInTimeResponse = RestoreTableToPointInTimeResponse'+  { _rttpitrsTableDescription :: !(Maybe TableDescription)+  , _rttpitrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RestoreTableToPointInTimeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rttpitrsTableDescription' - Represents the properties of a table.+--+-- * 'rttpitrsResponseStatus' - -- | The response status code.+restoreTableToPointInTimeResponse+    :: Int -- ^ 'rttpitrsResponseStatus'+    -> RestoreTableToPointInTimeResponse+restoreTableToPointInTimeResponse pResponseStatus_ =+  RestoreTableToPointInTimeResponse'+    { _rttpitrsTableDescription = Nothing+    , _rttpitrsResponseStatus = pResponseStatus_+    }+++-- | Represents the properties of a table.+rttpitrsTableDescription :: Lens' RestoreTableToPointInTimeResponse (Maybe TableDescription)+rttpitrsTableDescription = lens _rttpitrsTableDescription (\ s a -> s{_rttpitrsTableDescription = a})++-- | -- | The response status code.+rttpitrsResponseStatus :: Lens' RestoreTableToPointInTimeResponse Int+rttpitrsResponseStatus = lens _rttpitrsResponseStatus (\ s a -> s{_rttpitrsResponseStatus = a})++instance NFData RestoreTableToPointInTimeResponse+         where
gen/Network/AWS/DynamoDB/Scan.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.Scan--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -139,88 +139,88 @@     -> Scan scan pTableName_ =   Scan'-  { _sProjectionExpression = Nothing-  , _sScanFilter = Nothing-  , _sAttributesToGet = Nothing-  , _sTotalSegments = Nothing-  , _sExpressionAttributeNames = Nothing-  , _sFilterExpression = Nothing-  , _sConsistentRead = Nothing-  , _sExpressionAttributeValues = Nothing-  , _sReturnConsumedCapacity = Nothing-  , _sLimit = Nothing-  , _sSelect = Nothing-  , _sSegment = Nothing-  , _sConditionalOperator = Nothing-  , _sExclusiveStartKey = Nothing-  , _sIndexName = Nothing-  , _sTableName = pTableName_-  }+    { _sProjectionExpression = Nothing+    , _sScanFilter = Nothing+    , _sAttributesToGet = Nothing+    , _sTotalSegments = Nothing+    , _sExpressionAttributeNames = Nothing+    , _sFilterExpression = Nothing+    , _sConsistentRead = Nothing+    , _sExpressionAttributeValues = Nothing+    , _sReturnConsumedCapacity = Nothing+    , _sLimit = Nothing+    , _sSelect = Nothing+    , _sSegment = Nothing+    , _sConditionalOperator = Nothing+    , _sExclusiveStartKey = Nothing+    , _sIndexName = Nothing+    , _sTableName = pTableName_+    }   -- | A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . sProjectionExpression :: Lens' Scan (Maybe Text)-sProjectionExpression = lens _sProjectionExpression (\ s a -> s{_sProjectionExpression = a});+sProjectionExpression = lens _sProjectionExpression (\ s a -> s{_sProjectionExpression = a})  -- | This is a legacy parameter. Use @FilterExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html ScanFilter> in the /Amazon DynamoDB Developer Guide/ . sScanFilter :: Lens' Scan (HashMap Text Condition)-sScanFilter = lens _sScanFilter (\ s a -> s{_sScanFilter = a}) . _Default . _Map;+sScanFilter = lens _sScanFilter (\ s a -> s{_sScanFilter = a}) . _Default . _Map  -- | This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html AttributesToGet> in the /Amazon DynamoDB Developer Guide/ . sAttributesToGet :: Lens' Scan (Maybe (NonEmpty Text))-sAttributesToGet = lens _sAttributesToGet (\ s a -> s{_sAttributesToGet = a}) . mapping _List1;+sAttributesToGet = lens _sAttributesToGet (\ s a -> s{_sAttributesToGet = a}) . mapping _List1  -- | For a parallel @Scan@ request, @TotalSegments@ represents the total number of segments into which the @Scan@ operation will be divided. The value of @TotalSegments@ corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a @TotalSegments@ value of 4. The value for @TotalSegments@ must be greater than or equal to 1, and less than or equal to 1000000. If you specify a @TotalSegments@ value of 1, the @Scan@ operation will be sequential rather than parallel. If you specify @TotalSegments@ , you must also specify @Segment@ . sTotalSegments :: Lens' Scan (Maybe Natural)-sTotalSegments = lens _sTotalSegments (\ s a -> s{_sTotalSegments = a}) . mapping _Nat;+sTotalSegments = lens _sTotalSegments (\ s a -> s{_sTotalSegments = a}) . mapping _Nat  -- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . sExpressionAttributeNames :: Lens' Scan (HashMap Text Text)-sExpressionAttributeNames = lens _sExpressionAttributeNames (\ s a -> s{_sExpressionAttributeNames = a}) . _Default . _Map;+sExpressionAttributeNames = lens _sExpressionAttributeNames (\ s a -> s{_sExpressionAttributeNames = a}) . _Default . _Map  -- | A string that contains conditions that DynamoDB applies after the @Scan@ operation, but before the data is returned to you. Items that do not satisfy the @FilterExpression@ criteria are not returned. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults Filter Expressions> in the /Amazon DynamoDB Developer Guide/ . sFilterExpression :: Lens' Scan (Maybe Text)-sFilterExpression = lens _sFilterExpression (\ s a -> s{_sFilterExpression = a});+sFilterExpression = lens _sFilterExpression (\ s a -> s{_sFilterExpression = a})  -- | A Boolean value that determines the read consistency model during the scan:     * If @ConsistentRead@ is @false@ , then the data returned from @Scan@ might not contain the results from other recently completed write operations (PutItem, UpdateItem or DeleteItem).     * If @ConsistentRead@ is @true@ , then all of the write operations that completed before the @Scan@ began are guaranteed to be contained in the @Scan@ response. The default setting for @ConsistentRead@ is @false@ . The @ConsistentRead@ parameter is not supported on global secondary indexes. If you scan a global secondary index with @ConsistentRead@ set to true, you will receive a @ValidationException@ . sConsistentRead :: Lens' Scan (Maybe Bool)-sConsistentRead = lens _sConsistentRead (\ s a -> s{_sConsistentRead = a});+sConsistentRead = lens _sConsistentRead (\ s a -> s{_sConsistentRead = a})  -- | One or more values that can be substituted in an expression. Use the __:__ (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the /ProductStatus/ attribute was one of the following:  @Available | Backordered | Discontinued@  You would first need to specify @ExpressionAttributeValues@ as follows: @{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }@  You could then use these values in an expression, such as this: @ProductStatus IN (:avail, :back, :disc)@  For more information on expression attribute values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . sExpressionAttributeValues :: Lens' Scan (HashMap Text AttributeValue)-sExpressionAttributeValues = lens _sExpressionAttributeValues (\ s a -> s{_sExpressionAttributeValues = a}) . _Default . _Map;+sExpressionAttributeValues = lens _sExpressionAttributeValues (\ s a -> s{_sExpressionAttributeValues = a}) . _Default . _Map  -- | Undocumented member. sReturnConsumedCapacity :: Lens' Scan (Maybe ReturnConsumedCapacity)-sReturnConsumedCapacity = lens _sReturnConsumedCapacity (\ s a -> s{_sReturnConsumedCapacity = a});+sReturnConsumedCapacity = lens _sReturnConsumedCapacity (\ s a -> s{_sReturnConsumedCapacity = a})  -- | The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in @LastEvaluatedKey@ to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in @LastEvaluatedKey@ to apply in a subsequent operation to continue the operation. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html Query and Scan> in the /Amazon DynamoDB Developer Guide/ . sLimit :: Lens' Scan (Maybe Natural)-sLimit = lens _sLimit (\ s a -> s{_sLimit = a}) . mapping _Nat;+sLimit = lens _sLimit (\ s a -> s{_sLimit = a}) . mapping _Nat  -- | The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.     * @ALL_ATTRIBUTES@ - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index DynamoDB will fetch the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.     * @ALL_PROJECTED_ATTRIBUTES@ - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying @ALL_ATTRIBUTES@ .     * @COUNT@ - Returns the number of matching items, rather than the matching items themselves.     * @SPECIFIC_ATTRIBUTES@ - Returns only the attributes listed in @AttributesToGet@ . This return value is equivalent to specifying @AttributesToGet@ without specifying any value for @Select@ . If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB will fetch each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency. If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table. If neither @Select@ nor @AttributesToGet@ are specified, DynamoDB defaults to @ALL_ATTRIBUTES@ when accessing a table, and @ALL_PROJECTED_ATTRIBUTES@ when accessing an index. You cannot use both @Select@ and @AttributesToGet@ together in a single request, unless the value for @Select@ is @SPECIFIC_ATTRIBUTES@ . (This usage is equivalent to specifying @AttributesToGet@ without any value for @Select@ .) sSelect :: Lens' Scan (Maybe Select)-sSelect = lens _sSelect (\ s a -> s{_sSelect = a});+sSelect = lens _sSelect (\ s a -> s{_sSelect = a})  -- | For a parallel @Scan@ request, @Segment@ identifies an individual segment to be scanned by an application worker. Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a @Segment@ value of 0, the second thread specifies 1, and so on. The value of @LastEvaluatedKey@ returned from a parallel @Scan@ request must be used as @ExclusiveStartKey@ with the same segment ID in a subsequent @Scan@ operation. The value for @Segment@ must be greater than or equal to 0, and less than the value provided for @TotalSegments@ . If you provide @Segment@ , you must also provide @TotalSegments@ . sSegment :: Lens' Scan (Maybe Natural)-sSegment = lens _sSegment (\ s a -> s{_sSegment = a}) . mapping _Nat;+sSegment = lens _sSegment (\ s a -> s{_sSegment = a}) . mapping _Nat  -- | This is a legacy parameter. Use @FilterExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html ConditionalOperator> in the /Amazon DynamoDB Developer Guide/ . sConditionalOperator :: Lens' Scan (Maybe ConditionalOperator)-sConditionalOperator = lens _sConditionalOperator (\ s a -> s{_sConditionalOperator = a});+sConditionalOperator = lens _sConditionalOperator (\ s a -> s{_sConditionalOperator = a})  -- | The primary key of the first item that this operation will evaluate. Use the value that was returned for @LastEvaluatedKey@ in the previous operation. The data type for @ExclusiveStartKey@ must be String, Number or Binary. No set data types are allowed. In a parallel scan, a @Scan@ request that includes @ExclusiveStartKey@ must specify the same segment whose previous @Scan@ returned the corresponding value of @LastEvaluatedKey@ . sExclusiveStartKey :: Lens' Scan (HashMap Text AttributeValue)-sExclusiveStartKey = lens _sExclusiveStartKey (\ s a -> s{_sExclusiveStartKey = a}) . _Default . _Map;+sExclusiveStartKey = lens _sExclusiveStartKey (\ s a -> s{_sExclusiveStartKey = a}) . _Default . _Map  -- | The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the @IndexName@ parameter, you must also provide @TableName@ . sIndexName :: Lens' Scan (Maybe Text)-sIndexName = lens _sIndexName (\ s a -> s{_sIndexName = a});+sIndexName = lens _sIndexName (\ s a -> s{_sIndexName = a})  -- | The name of the table containing the requested items; or, if you provide @IndexName@ , the name of the table to which that index belongs. sTableName :: Lens' Scan Text-sTableName = lens _sTableName (\ s a -> s{_sTableName = a});+sTableName = lens _sTableName (\ s a -> s{_sTableName = a})  instance AWSPager Scan where         page rq rs@@ -321,37 +321,37 @@     -> ScanResponse scanResponse pResponseStatus_ =   ScanResponse'-  { _srsLastEvaluatedKey = Nothing-  , _srsCount = Nothing-  , _srsScannedCount = Nothing-  , _srsItems = Nothing-  , _srsConsumedCapacity = Nothing-  , _srsResponseStatus = pResponseStatus_-  }+    { _srsLastEvaluatedKey = Nothing+    , _srsCount = Nothing+    , _srsScannedCount = Nothing+    , _srsItems = Nothing+    , _srsConsumedCapacity = Nothing+    , _srsResponseStatus = pResponseStatus_+    }   -- | The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request. If @LastEvaluatedKey@ is empty, then the "last page" of results has been processed and there is no more data to be retrieved. If @LastEvaluatedKey@ is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when @LastEvaluatedKey@ is empty. srsLastEvaluatedKey :: Lens' ScanResponse (HashMap Text AttributeValue)-srsLastEvaluatedKey = lens _srsLastEvaluatedKey (\ s a -> s{_srsLastEvaluatedKey = a}) . _Default . _Map;+srsLastEvaluatedKey = lens _srsLastEvaluatedKey (\ s a -> s{_srsLastEvaluatedKey = a}) . _Default . _Map  -- | The number of items in the response. If you set @ScanFilter@ in the request, then @Count@ is the number of items returned after the filter was applied, and @ScannedCount@ is the number of matching items before the filter was applied. If you did not use a filter in the request, then @Count@ is the same as @ScannedCount@ . srsCount :: Lens' ScanResponse (Maybe Int)-srsCount = lens _srsCount (\ s a -> s{_srsCount = a});+srsCount = lens _srsCount (\ s a -> s{_srsCount = a})  -- | The number of items evaluated, before any @ScanFilter@ is applied. A high @ScannedCount@ value with few, or no, @Count@ results indicates an inefficient @Scan@ operation. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count Count and ScannedCount> in the /Amazon DynamoDB Developer Guide/ . If you did not use a filter in the request, then @ScannedCount@ is the same as @Count@ . srsScannedCount :: Lens' ScanResponse (Maybe Int)-srsScannedCount = lens _srsScannedCount (\ s a -> s{_srsScannedCount = a});+srsScannedCount = lens _srsScannedCount (\ s a -> s{_srsScannedCount = a})  -- | An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute. srsItems :: Lens' ScanResponse [HashMap Text AttributeValue]-srsItems = lens _srsItems (\ s a -> s{_srsItems = a}) . _Default . _Coerce;+srsItems = lens _srsItems (\ s a -> s{_srsItems = a}) . _Default . _Coerce  -- | The capacity units consumed by the @Scan@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . srsConsumedCapacity :: Lens' ScanResponse (Maybe ConsumedCapacity)-srsConsumedCapacity = lens _srsConsumedCapacity (\ s a -> s{_srsConsumedCapacity = a});+srsConsumedCapacity = lens _srsConsumedCapacity (\ s a -> s{_srsConsumedCapacity = a})  -- | -- | The response status code. srsResponseStatus :: Lens' ScanResponse Int-srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a})  instance NFData ScanResponse where
gen/Network/AWS/DynamoDB/TagResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.TagResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN). trResourceARN :: Lens' TagResource Text-trResourceARN = lens _trResourceARN (\ s a -> s{_trResourceARN = a});+trResourceARN = lens _trResourceARN (\ s a -> s{_trResourceARN = a})  -- | The tags to be assigned to the Amazon DynamoDB resource. trTags :: Lens' TagResource [Tag]-trTags = lens _trTags (\ s a -> s{_trTags = a}) . _Coerce;+trTags = lens _trTags (\ s a -> s{_trTags = a}) . _Coerce  instance AWSRequest TagResource where         type Rs TagResource = TagResourceResponse
gen/Network/AWS/DynamoDB/Types.hs view
@@ -4,7 +4,7 @@  -- | -- Module      : Network.AWS.DynamoDB.Types--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -16,32 +16,60 @@       dynamoDB      -- * Errors+    , _BackupNotFoundException+    , _TableInUseException+    , _ContinuousBackupsUnavailableException     , _ProvisionedThroughputExceededException+    , _GlobalTableNotFoundException     , _ConditionalCheckFailedException+    , _GlobalTableAlreadyExistsException+    , _ReplicaNotFoundException+    , _TableAlreadyExistsException     , _ItemCollectionSizeLimitExceededException     , _InternalServerError+    , _TableNotFoundException+    , _IndexNotFoundException+    , _BackupInUseException+    , _PointInTimeRecoveryUnavailableException+    , _InvalidRestoreTimeException     , _ResourceNotFoundException+    , _ReplicaAlreadyExistsException     , _LimitExceededException     , _ResourceInUseException      -- * AttributeAction     , AttributeAction (..) +    -- * BackupStatus+    , BackupStatus (..)+     -- * ComparisonOperator     , ComparisonOperator (..)      -- * ConditionalOperator     , ConditionalOperator (..) +    -- * ContinuousBackupsStatus+    , ContinuousBackupsStatus (..)++    -- * GlobalTableStatus+    , GlobalTableStatus (..)+     -- * IndexStatus     , IndexStatus (..)      -- * KeyType     , KeyType (..) +    -- * PointInTimeRecoveryStatus+    , PointInTimeRecoveryStatus (..)+     -- * ProjectionType     , ProjectionType (..) +    -- * ReplicaStatus+    , ReplicaStatus (..)+     -- * ReturnConsumedCapacity     , ReturnConsumedCapacity (..) @@ -51,6 +79,9 @@     -- * ReturnValue     , ReturnValue (..) +    -- * SSEStatus+    , SSEStatus (..)+     -- * ScalarAttributeType     , ScalarAttributeType (..) @@ -92,6 +123,34 @@     , avuValue     , avuAction +    -- * BackupDescription+    , BackupDescription+    , backupDescription+    , bdBackupDetails+    , bdSourceTableDetails+    , bdSourceTableFeatureDetails++    -- * BackupDetails+    , BackupDetails+    , backupDetails+    , bdBackupSizeBytes+    , bdBackupARN+    , bdBackupName+    , bdBackupStatus+    , bdBackupCreationDateTime++    -- * BackupSummary+    , BackupSummary+    , backupSummary+    , bsTableARN+    , bsBackupName+    , bsBackupStatus+    , bsBackupSizeBytes+    , bsBackupARN+    , bsTableId+    , bsBackupCreationDateTime+    , bsTableName+     -- * Capacity     , Capacity     , capacity@@ -112,6 +171,12 @@     , ccTable     , ccTableName +    -- * ContinuousBackupsDescription+    , ContinuousBackupsDescription+    , continuousBackupsDescription+    , cbdPointInTimeRecoveryDescription+    , cbdContinuousBackupsStatus+     -- * CreateGlobalSecondaryIndexAction     , CreateGlobalSecondaryIndexAction     , createGlobalSecondaryIndexAction@@ -120,11 +185,21 @@     , cgsiaProjection     , cgsiaProvisionedThroughput +    -- * CreateReplicaAction+    , CreateReplicaAction+    , createReplicaAction+    , craRegionName+     -- * DeleteGlobalSecondaryIndexAction     , DeleteGlobalSecondaryIndexAction     , deleteGlobalSecondaryIndexAction     , dgsiaIndexName +    -- * DeleteReplicaAction+    , DeleteReplicaAction+    , deleteReplicaAction+    , draRegionName+     -- * DeleteRequest     , DeleteRequest     , deleteRequest@@ -159,6 +234,14 @@     , gsidItemCount     , gsidIndexName +    -- * GlobalSecondaryIndexInfo+    , GlobalSecondaryIndexInfo+    , globalSecondaryIndexInfo+    , gsiiProvisionedThroughput+    , gsiiKeySchema+    , gsiiProjection+    , gsiiIndexName+     -- * GlobalSecondaryIndexUpdate     , GlobalSecondaryIndexUpdate     , globalSecondaryIndexUpdate@@ -166,6 +249,27 @@     , gsiuDelete     , gsiuUpdate +    -- * GlobalTable+    , GlobalTable+    , globalTable+    , gtGlobalTableName+    , gtReplicationGroup++    -- * GlobalTableDescription+    , GlobalTableDescription+    , globalTableDescription+    , gtdGlobalTableStatus+    , gtdGlobalTableName+    , gtdGlobalTableARN+    , gtdCreationDateTime+    , gtdReplicationGroup++    -- * GlobalTableGlobalSecondaryIndexSettingsUpdate+    , GlobalTableGlobalSecondaryIndexSettingsUpdate+    , globalTableGlobalSecondaryIndexSettingsUpdate+    , gtgsisuProvisionedWriteCapacityUnits+    , gtgsisuIndexName+     -- * ItemCollectionMetrics     , ItemCollectionMetrics     , itemCollectionMetrics@@ -204,6 +308,25 @@     , lsidItemCount     , lsidIndexName +    -- * LocalSecondaryIndexInfo+    , LocalSecondaryIndexInfo+    , localSecondaryIndexInfo+    , lsiiKeySchema+    , lsiiProjection+    , lsiiIndexName++    -- * PointInTimeRecoveryDescription+    , PointInTimeRecoveryDescription+    , pointInTimeRecoveryDescription+    , pitrdPointInTimeRecoveryStatus+    , pitrdEarliestRestorableDateTime+    , pitrdLatestRestorableDateTime++    -- * PointInTimeRecoverySpecification+    , PointInTimeRecoverySpecification+    , pointInTimeRecoverySpecification+    , pitrsPointInTimeRecoveryEnabled+     -- * Projection     , Projection     , projection@@ -230,6 +353,91 @@     , putRequest     , prItem +    -- * Replica+    , Replica+    , replica+    , rRegionName++    -- * ReplicaDescription+    , ReplicaDescription+    , replicaDescription+    , rdRegionName++    -- * ReplicaGlobalSecondaryIndexSettingsDescription+    , ReplicaGlobalSecondaryIndexSettingsDescription+    , replicaGlobalSecondaryIndexSettingsDescription+    , rgsisdIndexStatus+    , rgsisdProvisionedReadCapacityUnits+    , rgsisdProvisionedWriteCapacityUnits+    , rgsisdIndexName++    -- * ReplicaGlobalSecondaryIndexSettingsUpdate+    , ReplicaGlobalSecondaryIndexSettingsUpdate+    , replicaGlobalSecondaryIndexSettingsUpdate+    , rgsisuProvisionedReadCapacityUnits+    , rgsisuIndexName++    -- * ReplicaSettingsDescription+    , ReplicaSettingsDescription+    , replicaSettingsDescription+    , rsdReplicaStatus+    , rsdReplicaProvisionedReadCapacityUnits+    , rsdReplicaProvisionedWriteCapacityUnits+    , rsdReplicaGlobalSecondaryIndexSettings+    , rsdRegionName++    -- * ReplicaSettingsUpdate+    , ReplicaSettingsUpdate+    , replicaSettingsUpdate+    , rsuReplicaProvisionedReadCapacityUnits+    , rsuReplicaGlobalSecondaryIndexSettingsUpdate+    , rsuRegionName++    -- * ReplicaUpdate+    , ReplicaUpdate+    , replicaUpdate+    , ruCreate+    , ruDelete++    -- * RestoreSummary+    , RestoreSummary+    , restoreSummary+    , rsSourceTableARN+    , rsSourceBackupARN+    , rsRestoreDateTime+    , rsRestoreInProgress++    -- * SSEDescription+    , SSEDescription+    , sSEDescription+    , ssedStatus++    -- * SSESpecification+    , SSESpecification+    , sSESpecification+    , ssesEnabled++    -- * SourceTableDetails+    , SourceTableDetails+    , sourceTableDetails+    , stdTableSizeBytes+    , stdTableARN+    , stdItemCount+    , stdTableName+    , stdTableId+    , stdKeySchema+    , stdTableCreationDateTime+    , stdProvisionedThroughput++    -- * SourceTableFeatureDetails+    , SourceTableFeatureDetails+    , sourceTableFeatureDetails+    , stfdStreamDescription+    , stfdGlobalSecondaryIndexes+    , stfdLocalSecondaryIndexes+    , stfdSSEDescription+    , stfdTimeToLiveDescription+     -- * StreamSpecification     , StreamSpecification     , streamSpecification@@ -239,6 +447,7 @@     -- * TableDescription     , TableDescription     , tableDescription+    , tdRestoreSummary     , tdTableSizeBytes     , tdAttributeDefinitions     , tdLatestStreamARN@@ -250,6 +459,8 @@     , tdLatestStreamLabel     , tdLocalSecondaryIndexes     , tdCreationDateTime+    , tdSSEDescription+    , tdTableId     , tdItemCount     , tdTableName     , tdStreamSpecification@@ -295,24 +506,24 @@ dynamoDB :: Service dynamoDB =   Service-  { _svcAbbrev = "DynamoDB"-  , _svcSigner = v4-  , _svcPrefix = "dynamodb"-  , _svcVersion = "2012-08-10"-  , _svcEndpoint = defaultEndpoint dynamoDB-  , _svcTimeout = Just 70-  , _svcCheck = statusSuccess-  , _svcError = parseJSONError "DynamoDB"-  , _svcRetry = retry-  }+    { _svcAbbrev = "DynamoDB"+    , _svcSigner = v4+    , _svcPrefix = "dynamodb"+    , _svcVersion = "2012-08-10"+    , _svcEndpoint = defaultEndpoint dynamoDB+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "DynamoDB"+    , _svcRetry = retry+    }   where     retry =       Exponential-      { _retryBase = 5.0e-2-      , _retryGrowth = 2-      , _retryAttempts = 5-      , _retryCheck = check-      }+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }     check e       | has (hasCode "ThrottledException" . hasStatus 400) e =         Just "throttled_exception"@@ -323,6 +534,8 @@       | has (hasCode "ProvisionedThroughputExceededException" . hasStatus 400) e =         Just "throughput_exceeded"       | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"       | has (hasStatus 502) e = Just "bad_gateway"       | has (hasStatus 503) e = Just "service_unavailable"       | has (hasStatus 500) e = Just "general_server_error"@@ -330,6 +543,28 @@       | otherwise = Nothing  +-- | Backup not found for the given BackupARN.+--+--+_BackupNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_BackupNotFoundException = _MatchServiceError dynamoDB "BackupNotFoundException"+++-- | A target table with the specified name is either being created or deleted.+--+--+_TableInUseException :: AsError a => Getting (First ServiceError) a ServiceError+_TableInUseException = _MatchServiceError dynamoDB "TableInUseException"+++-- | Backups have not yet been enabled for this table.+--+--+_ContinuousBackupsUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError+_ContinuousBackupsUnavailableException =+  _MatchServiceError dynamoDB "ContinuousBackupsUnavailableException"++ -- | Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff Error Retries and Exponential Backoff> in the /Amazon DynamoDB Developer Guide/ . -- --@@ -338,6 +573,14 @@   _MatchServiceError dynamoDB "ProvisionedThroughputExceededException"  +-- | The specified global table does not exist.+--+--+_GlobalTableNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_GlobalTableNotFoundException =+  _MatchServiceError dynamoDB "GlobalTableNotFoundException"++ -- | A condition specified in the operation could not be evaluated. -- --@@ -346,6 +589,30 @@   _MatchServiceError dynamoDB "ConditionalCheckFailedException"  +-- | The specified global table already exists.+--+--+_GlobalTableAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_GlobalTableAlreadyExistsException =+  _MatchServiceError dynamoDB "GlobalTableAlreadyExistsException"+++-- | The specified replica is no longer part of the global table.+--+--+_ReplicaNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ReplicaNotFoundException =+  _MatchServiceError dynamoDB "ReplicaNotFoundException"+++-- | A target table with the specified name already exists.+--+--+_TableAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_TableAlreadyExistsException =+  _MatchServiceError dynamoDB "TableAlreadyExistsException"++ -- | An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes. -- --@@ -361,6 +628,43 @@ _InternalServerError = _MatchServiceError dynamoDB "InternalServerError"  +-- | A source table with the name @TableName@ does not currently exist within the subscriber's account.+--+--+_TableNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_TableNotFoundException = _MatchServiceError dynamoDB "TableNotFoundException"+++-- | The operation tried to access a nonexistent index.+--+--+_IndexNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_IndexNotFoundException = _MatchServiceError dynamoDB "IndexNotFoundException"+++-- | There is another ongoing conflicting backup control plane operation on the table. The backups is either being created, deleted or restored to a table.+--+--+_BackupInUseException :: AsError a => Getting (First ServiceError) a ServiceError+_BackupInUseException = _MatchServiceError dynamoDB "BackupInUseException"+++-- | Point in time recovery has not yet been enabled for this source table.+--+--+_PointInTimeRecoveryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError+_PointInTimeRecoveryUnavailableException =+  _MatchServiceError dynamoDB "PointInTimeRecoveryUnavailableException"+++-- | An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime and LatestRestorableDateTime.+--+--+_InvalidRestoreTimeException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidRestoreTimeException =+  _MatchServiceError dynamoDB "InvalidRestoreTimeException"++ -- | The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be @ACTIVE@ . -- --@@ -369,10 +673,20 @@   _MatchServiceError dynamoDB "ResourceNotFoundException"  --- | The number of concurrent table requests (cumulative number of tables in the @CREATING@ , @DELETING@ or @UPDATING@ state) exceeds the maximum allowed of 10.+-- | The specified replica is already part of the global table. -- ----- Also, for tables with secondary indexes, only one of those tables can be in the @CREATING@ state at any point in time. Do not attempt to create more than one such table simultaneously.+_ReplicaAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_ReplicaAlreadyExistsException =+  _MatchServiceError dynamoDB "ReplicaAlreadyExistsException"+++-- | Up to 50 @CreateBackup@ operations are allowed per second, per account. There is no limit to the number of daily on-demand backups that can be taken.+--+--+-- Up to 10 simultaneous table operations are allowed per account. These operations include @CreateTable@ , @UpdateTable@ , @DeleteTable@ ,@UpdateTimeToLive@ , @RestoreTableFromBackup@ , and @RestoreTableToPointInTime@ .+--+-- For tables with secondary indexes, only one of those tables can be in the @CREATING@ state at any point in time. Do not attempt to create more than one such table simultaneously. -- -- The total limit of tables in the @ACTIVE@ state is 250. --
gen/Network/AWS/DynamoDB/Types/Product.hs view
@@ -9,1862 +9,3338 @@  -- | -- Module      : Network.AWS.DynamoDB.Types.Product--- Copyright   : (c) 2013-2017 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.DynamoDB.Types.Product where--import Network.AWS.DynamoDB.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Represents an attribute for describing the key schema for the table and indexes.------------ /See:/ 'attributeDefinition' smart constructor.-data AttributeDefinition = AttributeDefinition'-  { _adAttributeName :: !Text-  , _adAttributeType :: !ScalarAttributeType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AttributeDefinition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'adAttributeName' - A name for the attribute.------ * 'adAttributeType' - The data type for the attribute, where:     * @S@ - the attribute is of type String     * @N@ - the attribute is of type Number     * @B@ - the attribute is of type Binary-attributeDefinition-    :: Text -- ^ 'adAttributeName'-    -> ScalarAttributeType -- ^ 'adAttributeType'-    -> AttributeDefinition-attributeDefinition pAttributeName_ pAttributeType_ =-  AttributeDefinition'-  {_adAttributeName = pAttributeName_, _adAttributeType = pAttributeType_}----- | A name for the attribute.-adAttributeName :: Lens' AttributeDefinition Text-adAttributeName = lens _adAttributeName (\ s a -> s{_adAttributeName = a});---- | The data type for the attribute, where:     * @S@ - the attribute is of type String     * @N@ - the attribute is of type Number     * @B@ - the attribute is of type Binary-adAttributeType :: Lens' AttributeDefinition ScalarAttributeType-adAttributeType = lens _adAttributeType (\ s a -> s{_adAttributeType = a});--instance FromJSON AttributeDefinition where-        parseJSON-          = withObject "AttributeDefinition"-              (\ x ->-                 AttributeDefinition' <$>-                   (x .: "AttributeName") <*> (x .: "AttributeType"))--instance Hashable AttributeDefinition where--instance NFData AttributeDefinition where--instance ToJSON AttributeDefinition where-        toJSON AttributeDefinition'{..}-          = object-              (catMaybes-                 [Just ("AttributeName" .= _adAttributeName),-                  Just ("AttributeType" .= _adAttributeType)])---- | Represents the data for an attribute.--------- Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.------ For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .--------- /See:/ 'attributeValue' smart constructor.-data AttributeValue = AttributeValue'-  { _avL    :: !(Maybe [AttributeValue])-  , _avNS   :: !(Maybe [Text])-  , _avM    :: !(Maybe (Map Text AttributeValue))-  , _avNULL :: !(Maybe Bool)-  , _avN    :: !(Maybe Text)-  , _avBS   :: !(Maybe [Base64])-  , _avB    :: !(Maybe Base64)-  , _avSS   :: !(Maybe [Text])-  , _avS    :: !(Maybe Text)-  , _avBOOL :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AttributeValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'avL' - An attribute of type List. For example: @"L": ["Cookies", "Coffee", 3.14159]@------ * 'avNS' - An attribute of type Number Set. For example: @"NS": ["42.2", "-19", "7.5", "3.14"]@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.------ * 'avM' - An attribute of type Map. For example: @"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}@------ * 'avNULL' - An attribute of type Null. For example: @"NULL": true@------ * 'avN' - An attribute of type Number. For example: @"N": "123.45"@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.------ * 'avBS' - An attribute of type Binary Set. For example: @"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]@------ * 'avB' - An attribute of type Binary. For example: @"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"@ -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.------ * 'avSS' - An attribute of type String Set. For example: @"SS": ["Giraffe", "Hippo" ,"Zebra"]@------ * 'avS' - An attribute of type String. For example: @"S": "Hello"@------ * 'avBOOL' - An attribute of type Boolean. For example: @"BOOL": true@-attributeValue-    :: AttributeValue-attributeValue =-  AttributeValue'-  { _avL = Nothing-  , _avNS = Nothing-  , _avM = Nothing-  , _avNULL = Nothing-  , _avN = Nothing-  , _avBS = Nothing-  , _avB = Nothing-  , _avSS = Nothing-  , _avS = Nothing-  , _avBOOL = Nothing-  }----- | An attribute of type List. For example: @"L": ["Cookies", "Coffee", 3.14159]@-avL :: Lens' AttributeValue [AttributeValue]-avL = lens _avL (\ s a -> s{_avL = a}) . _Default . _Coerce;---- | An attribute of type Number Set. For example: @"NS": ["42.2", "-19", "7.5", "3.14"]@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.-avNS :: Lens' AttributeValue [Text]-avNS = lens _avNS (\ s a -> s{_avNS = a}) . _Default . _Coerce;---- | An attribute of type Map. For example: @"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}@-avM :: Lens' AttributeValue (HashMap Text AttributeValue)-avM = lens _avM (\ s a -> s{_avM = a}) . _Default . _Map;---- | An attribute of type Null. For example: @"NULL": true@-avNULL :: Lens' AttributeValue (Maybe Bool)-avNULL = lens _avNULL (\ s a -> s{_avNULL = a});---- | An attribute of type Number. For example: @"N": "123.45"@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.-avN :: Lens' AttributeValue (Maybe Text)-avN = lens _avN (\ s a -> s{_avN = a});---- | An attribute of type Binary Set. For example: @"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]@-avBS :: Lens' AttributeValue [ByteString]-avBS = lens _avBS (\ s a -> s{_avBS = a}) . _Default . _Coerce;---- | An attribute of type Binary. For example: @"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"@ -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-avB :: Lens' AttributeValue (Maybe ByteString)-avB = lens _avB (\ s a -> s{_avB = a}) . mapping _Base64;---- | An attribute of type String Set. For example: @"SS": ["Giraffe", "Hippo" ,"Zebra"]@-avSS :: Lens' AttributeValue [Text]-avSS = lens _avSS (\ s a -> s{_avSS = a}) . _Default . _Coerce;---- | An attribute of type String. For example: @"S": "Hello"@-avS :: Lens' AttributeValue (Maybe Text)-avS = lens _avS (\ s a -> s{_avS = a});---- | An attribute of type Boolean. For example: @"BOOL": true@-avBOOL :: Lens' AttributeValue (Maybe Bool)-avBOOL = lens _avBOOL (\ s a -> s{_avBOOL = a});--instance FromJSON AttributeValue where-        parseJSON-          = withObject "AttributeValue"-              (\ x ->-                 AttributeValue' <$>-                   (x .:? "L" .!= mempty) <*> (x .:? "NS" .!= mempty)-                     <*> (x .:? "M" .!= mempty)-                     <*> (x .:? "NULL")-                     <*> (x .:? "N")-                     <*> (x .:? "BS" .!= mempty)-                     <*> (x .:? "B")-                     <*> (x .:? "SS" .!= mempty)-                     <*> (x .:? "S")-                     <*> (x .:? "BOOL"))--instance Hashable AttributeValue where--instance NFData AttributeValue where--instance ToJSON AttributeValue where-        toJSON AttributeValue'{..}-          = object-              (catMaybes-                 [("L" .=) <$> _avL, ("NS" .=) <$> _avNS,-                  ("M" .=) <$> _avM, ("NULL" .=) <$> _avNULL,-                  ("N" .=) <$> _avN, ("BS" .=) <$> _avBS,-                  ("B" .=) <$> _avB, ("SS" .=) <$> _avSS,-                  ("S" .=) <$> _avS, ("BOOL" .=) <$> _avBOOL])---- | For the @UpdateItem@ operation, represents the attributes to be modified, the action to perform on each, and the new value for each.--------- Attribute values cannot be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests with empty values will be rejected with a @ValidationException@ exception.--------- /See:/ 'attributeValueUpdate' smart constructor.-data AttributeValueUpdate = AttributeValueUpdate'-  { _avuValue  :: !(Maybe AttributeValue)-  , _avuAction :: !(Maybe AttributeAction)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AttributeValueUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'avuValue' - Represents the data for an attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data TYpes> in the /Amazon DynamoDB Developer Guide/ .------ * 'avuAction' - Specifies how to perform the update. Valid values are @PUT@ (default), @DELETE@ , and @ADD@ . The behavior depends on whether the specified primary key already exists in the table. __If an item with the specified /Key/ is found in the table:__      * @PUT@ - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.      * @DELETE@ - If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type. If a /set/ of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set @[a,b,c]@ and the @DELETE@ action specified @[a,c]@ , then the final attribute value would be @[b]@ . Specifying an empty set is an error.     * @ADD@ - If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of @ADD@ depends on the data type of the attribute:     * If the existing attribute is a number, and if @Value@ is also a number, then the @Value@ is mathematically added to the existing attribute. If @Value@ is a negative number, then it is subtracted from the existing attribute.     * If the existing data type is a set, and if the @Value@ is also a set, then the @Value@ is added to the existing set. (This is a /set/ operation, not mathematical addition.) For example, if the attribute value was the set @[1,2]@ , and the @ADD@ action specified @[3]@ , then the final attribute value would be @[1,2,3]@ . An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.  Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the @Value@ must also be a set of strings. The same holds true for number sets and binary sets. This action is only valid for an existing attribute whose data type is number or is a set. Do not use @ADD@ for any other data types. __If no item with the specified /Key/ is found:__      * @PUT@ - DynamoDB creates a new item with the specified primary key, and then adds the attribute.      * @DELETE@ - Nothing happens; there is no attribute to delete.     * @ADD@ - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.-attributeValueUpdate-    :: AttributeValueUpdate-attributeValueUpdate =-  AttributeValueUpdate' {_avuValue = Nothing, _avuAction = Nothing}----- | Represents the data for an attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data TYpes> in the /Amazon DynamoDB Developer Guide/ .-avuValue :: Lens' AttributeValueUpdate (Maybe AttributeValue)-avuValue = lens _avuValue (\ s a -> s{_avuValue = a});---- | Specifies how to perform the update. Valid values are @PUT@ (default), @DELETE@ , and @ADD@ . The behavior depends on whether the specified primary key already exists in the table. __If an item with the specified /Key/ is found in the table:__      * @PUT@ - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.      * @DELETE@ - If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type. If a /set/ of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set @[a,b,c]@ and the @DELETE@ action specified @[a,c]@ , then the final attribute value would be @[b]@ . Specifying an empty set is an error.     * @ADD@ - If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of @ADD@ depends on the data type of the attribute:     * If the existing attribute is a number, and if @Value@ is also a number, then the @Value@ is mathematically added to the existing attribute. If @Value@ is a negative number, then it is subtracted from the existing attribute.     * If the existing data type is a set, and if the @Value@ is also a set, then the @Value@ is added to the existing set. (This is a /set/ operation, not mathematical addition.) For example, if the attribute value was the set @[1,2]@ , and the @ADD@ action specified @[3]@ , then the final attribute value would be @[1,2,3]@ . An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.  Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the @Value@ must also be a set of strings. The same holds true for number sets and binary sets. This action is only valid for an existing attribute whose data type is number or is a set. Do not use @ADD@ for any other data types. __If no item with the specified /Key/ is found:__      * @PUT@ - DynamoDB creates a new item with the specified primary key, and then adds the attribute.      * @DELETE@ - Nothing happens; there is no attribute to delete.     * @ADD@ - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.-avuAction :: Lens' AttributeValueUpdate (Maybe AttributeAction)-avuAction = lens _avuAction (\ s a -> s{_avuAction = a});--instance Hashable AttributeValueUpdate where--instance NFData AttributeValueUpdate where--instance ToJSON AttributeValueUpdate where-        toJSON AttributeValueUpdate'{..}-          = object-              (catMaybes-                 [("Value" .=) <$> _avuValue,-                  ("Action" .=) <$> _avuAction])---- | Represents the amount of provisioned throughput capacity consumed on a table or an index.------------ /See:/ 'capacity' smart constructor.-newtype Capacity = Capacity'-  { _cCapacityUnits :: Maybe Double-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Capacity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cCapacityUnits' - The total number of capacity units consumed on a table or an index.-capacity-    :: Capacity-capacity = Capacity' {_cCapacityUnits = Nothing}----- | The total number of capacity units consumed on a table or an index.-cCapacityUnits :: Lens' Capacity (Maybe Double)-cCapacityUnits = lens _cCapacityUnits (\ s a -> s{_cCapacityUnits = a});--instance FromJSON Capacity where-        parseJSON-          = withObject "Capacity"-              (\ x -> Capacity' <$> (x .:? "CapacityUnits"))--instance Hashable Capacity where--instance NFData Capacity where---- | Represents the selection criteria for a @Query@ or @Scan@ operation:---------     * For a @Query@ operation, @Condition@ is used for specifying the @KeyConditions@ to use when querying a table or an index. For @KeyConditions@ , only the following comparison operators are supported:------ @EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN@------ @Condition@ is also used in a @QueryFilter@ , which evaluates the query results and returns only the desired values.------     * For a @Scan@ operation, @Condition@ is used in a @ScanFilter@ , which evaluates the scan results and returns only the desired values.--------------- /See:/ 'condition' smart constructor.-data Condition = Condition'-  { _cAttributeValueList :: !(Maybe [AttributeValue])-  , _cComparisonOperator :: !ComparisonOperator-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Condition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cAttributeValueList' - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.------ * 'cComparisonOperator' - A comparator for evaluating attributes. For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@  For usage examples of @AttributeValueList@ and @ComparisonOperator@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .-condition-    :: ComparisonOperator -- ^ 'cComparisonOperator'-    -> Condition-condition pComparisonOperator_ =-  Condition'-  {_cAttributeValueList = Nothing, _cComparisonOperator = pComparisonOperator_}----- | One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.-cAttributeValueList :: Lens' Condition [AttributeValue]-cAttributeValueList = lens _cAttributeValueList (\ s a -> s{_cAttributeValueList = a}) . _Default . _Coerce;---- | A comparator for evaluating attributes. For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@  For usage examples of @AttributeValueList@ and @ComparisonOperator@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .-cComparisonOperator :: Lens' Condition ComparisonOperator-cComparisonOperator = lens _cComparisonOperator (\ s a -> s{_cComparisonOperator = a});--instance Hashable Condition where--instance NFData Condition where--instance ToJSON Condition where-        toJSON Condition'{..}-          = object-              (catMaybes-                 [("AttributeValueList" .=) <$> _cAttributeValueList,-                  Just ("ComparisonOperator" .= _cComparisonOperator)])---- | The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the request asked for it. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ .------------ /See:/ 'consumedCapacity' smart constructor.-data ConsumedCapacity = ConsumedCapacity'-  { _ccGlobalSecondaryIndexes :: !(Maybe (Map Text Capacity))-  , _ccCapacityUnits          :: !(Maybe Double)-  , _ccLocalSecondaryIndexes  :: !(Maybe (Map Text Capacity))-  , _ccTable                  :: !(Maybe Capacity)-  , _ccTableName              :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ConsumedCapacity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ccGlobalSecondaryIndexes' - The amount of throughput consumed on each global index affected by the operation.------ * 'ccCapacityUnits' - The total number of capacity units consumed by the operation.------ * 'ccLocalSecondaryIndexes' - The amount of throughput consumed on each local index affected by the operation.------ * 'ccTable' - The amount of throughput consumed on the table affected by the operation.------ * 'ccTableName' - The name of the table that was affected by the operation.-consumedCapacity-    :: ConsumedCapacity-consumedCapacity =-  ConsumedCapacity'-  { _ccGlobalSecondaryIndexes = Nothing-  , _ccCapacityUnits = Nothing-  , _ccLocalSecondaryIndexes = Nothing-  , _ccTable = Nothing-  , _ccTableName = Nothing-  }----- | The amount of throughput consumed on each global index affected by the operation.-ccGlobalSecondaryIndexes :: Lens' ConsumedCapacity (HashMap Text Capacity)-ccGlobalSecondaryIndexes = lens _ccGlobalSecondaryIndexes (\ s a -> s{_ccGlobalSecondaryIndexes = a}) . _Default . _Map;---- | The total number of capacity units consumed by the operation.-ccCapacityUnits :: Lens' ConsumedCapacity (Maybe Double)-ccCapacityUnits = lens _ccCapacityUnits (\ s a -> s{_ccCapacityUnits = a});---- | The amount of throughput consumed on each local index affected by the operation.-ccLocalSecondaryIndexes :: Lens' ConsumedCapacity (HashMap Text Capacity)-ccLocalSecondaryIndexes = lens _ccLocalSecondaryIndexes (\ s a -> s{_ccLocalSecondaryIndexes = a}) . _Default . _Map;---- | The amount of throughput consumed on the table affected by the operation.-ccTable :: Lens' ConsumedCapacity (Maybe Capacity)-ccTable = lens _ccTable (\ s a -> s{_ccTable = a});---- | The name of the table that was affected by the operation.-ccTableName :: Lens' ConsumedCapacity (Maybe Text)-ccTableName = lens _ccTableName (\ s a -> s{_ccTableName = a});--instance FromJSON ConsumedCapacity where-        parseJSON-          = withObject "ConsumedCapacity"-              (\ x ->-                 ConsumedCapacity' <$>-                   (x .:? "GlobalSecondaryIndexes" .!= mempty) <*>-                     (x .:? "CapacityUnits")-                     <*> (x .:? "LocalSecondaryIndexes" .!= mempty)-                     <*> (x .:? "Table")-                     <*> (x .:? "TableName"))--instance Hashable ConsumedCapacity where--instance NFData ConsumedCapacity where---- | Represents a new global secondary index to be added to an existing table.------------ /See:/ 'createGlobalSecondaryIndexAction' smart constructor.-data CreateGlobalSecondaryIndexAction = CreateGlobalSecondaryIndexAction'-  { _cgsiaIndexName             :: !Text-  , _cgsiaKeySchema             :: !(List1 KeySchemaElement)-  , _cgsiaProjection            :: !Projection-  , _cgsiaProvisionedThroughput :: !ProvisionedThroughput-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateGlobalSecondaryIndexAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgsiaIndexName' - The name of the global secondary index to be created.------ * 'cgsiaKeySchema' - The key schema for the global secondary index.------ * 'cgsiaProjection' - Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.------ * 'cgsiaProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-createGlobalSecondaryIndexAction-    :: Text -- ^ 'cgsiaIndexName'-    -> NonEmpty KeySchemaElement -- ^ 'cgsiaKeySchema'-    -> Projection -- ^ 'cgsiaProjection'-    -> ProvisionedThroughput -- ^ 'cgsiaProvisionedThroughput'-    -> CreateGlobalSecondaryIndexAction-createGlobalSecondaryIndexAction pIndexName_ pKeySchema_ pProjection_ pProvisionedThroughput_ =-  CreateGlobalSecondaryIndexAction'-  { _cgsiaIndexName = pIndexName_-  , _cgsiaKeySchema = _List1 # pKeySchema_-  , _cgsiaProjection = pProjection_-  , _cgsiaProvisionedThroughput = pProvisionedThroughput_-  }----- | The name of the global secondary index to be created.-cgsiaIndexName :: Lens' CreateGlobalSecondaryIndexAction Text-cgsiaIndexName = lens _cgsiaIndexName (\ s a -> s{_cgsiaIndexName = a});---- | The key schema for the global secondary index.-cgsiaKeySchema :: Lens' CreateGlobalSecondaryIndexAction (NonEmpty KeySchemaElement)-cgsiaKeySchema = lens _cgsiaKeySchema (\ s a -> s{_cgsiaKeySchema = a}) . _List1;---- | Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.-cgsiaProjection :: Lens' CreateGlobalSecondaryIndexAction Projection-cgsiaProjection = lens _cgsiaProjection (\ s a -> s{_cgsiaProjection = a});---- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-cgsiaProvisionedThroughput :: Lens' CreateGlobalSecondaryIndexAction ProvisionedThroughput-cgsiaProvisionedThroughput = lens _cgsiaProvisionedThroughput (\ s a -> s{_cgsiaProvisionedThroughput = a});--instance Hashable CreateGlobalSecondaryIndexAction-         where--instance NFData CreateGlobalSecondaryIndexAction-         where--instance ToJSON CreateGlobalSecondaryIndexAction-         where-        toJSON CreateGlobalSecondaryIndexAction'{..}-          = object-              (catMaybes-                 [Just ("IndexName" .= _cgsiaIndexName),-                  Just ("KeySchema" .= _cgsiaKeySchema),-                  Just ("Projection" .= _cgsiaProjection),-                  Just-                    ("ProvisionedThroughput" .=-                       _cgsiaProvisionedThroughput)])---- | Represents a global secondary index to be deleted from an existing table.------------ /See:/ 'deleteGlobalSecondaryIndexAction' smart constructor.-newtype DeleteGlobalSecondaryIndexAction = DeleteGlobalSecondaryIndexAction'-  { _dgsiaIndexName :: Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteGlobalSecondaryIndexAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dgsiaIndexName' - The name of the global secondary index to be deleted.-deleteGlobalSecondaryIndexAction-    :: Text -- ^ 'dgsiaIndexName'-    -> DeleteGlobalSecondaryIndexAction-deleteGlobalSecondaryIndexAction pIndexName_ =-  DeleteGlobalSecondaryIndexAction' {_dgsiaIndexName = pIndexName_}----- | The name of the global secondary index to be deleted.-dgsiaIndexName :: Lens' DeleteGlobalSecondaryIndexAction Text-dgsiaIndexName = lens _dgsiaIndexName (\ s a -> s{_dgsiaIndexName = a});--instance Hashable DeleteGlobalSecondaryIndexAction-         where--instance NFData DeleteGlobalSecondaryIndexAction-         where--instance ToJSON DeleteGlobalSecondaryIndexAction-         where-        toJSON DeleteGlobalSecondaryIndexAction'{..}-          = object-              (catMaybes [Just ("IndexName" .= _dgsiaIndexName)])---- | Represents a request to perform a @DeleteItem@ operation on an item.------------ /See:/ 'deleteRequest' smart constructor.-newtype DeleteRequest = DeleteRequest'-  { _drKey :: Map Text AttributeValue-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drKey' - A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.-deleteRequest-    :: DeleteRequest-deleteRequest = DeleteRequest' {_drKey = mempty}----- | A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.-drKey :: Lens' DeleteRequest (HashMap Text AttributeValue)-drKey = lens _drKey (\ s a -> s{_drKey = a}) . _Map;--instance FromJSON DeleteRequest where-        parseJSON-          = withObject "DeleteRequest"-              (\ x -> DeleteRequest' <$> (x .:? "Key" .!= mempty))--instance Hashable DeleteRequest where--instance NFData DeleteRequest where--instance ToJSON DeleteRequest where-        toJSON DeleteRequest'{..}-          = object (catMaybes [Just ("Key" .= _drKey)])---- | Represents a condition to be compared with an attribute value. This condition can be used with @DeleteItem@ , @PutItem@ or @UpdateItem@ operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use @ExpectedAttributeValue@ in one of two different ways:---------     * Use @AttributeValueList@ to specify one or more values to compare against an attribute. Use @ComparisonOperator@ to specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.------     * Use @Value@ to specify a value that DynamoDB will compare against an attribute. If the values match, then @ExpectedAttributeValue@ evaluates to true and the conditional operation succeeds. Optionally, you can also set @Exists@ to false, indicating that you /do not/ expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.------------ @Value@ and @Exists@ are incompatible with @AttributeValueList@ and @ComparisonOperator@ . Note that if you use both sets of parameters at once, DynamoDB will return a @ValidationException@ exception.--------- /See:/ 'expectedAttributeValue' smart constructor.-data ExpectedAttributeValue = ExpectedAttributeValue'-  { _eavAttributeValueList :: !(Maybe [AttributeValue])-  , _eavExists             :: !(Maybe Bool)-  , _eavValue              :: !(Maybe AttributeValue)-  , _eavComparisonOperator :: !(Maybe ComparisonOperator)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ExpectedAttributeValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eavAttributeValueList' - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values. For information on specifying data types in JSON, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html JSON Data Format> in the /Amazon DynamoDB Developer Guide/ .------ * 'eavExists' - Causes DynamoDB to evaluate the value before attempting a conditional operation:     * If @Exists@ is @true@ , DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a @ConditionalCheckFailedException@ .     * If @Exists@ is @false@ , DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a @ConditionalCheckFailedException@ . The default setting for @Exists@ is @true@ . If you supply a @Value@ all by itself, DynamoDB assumes the attribute exists: You don't have to set @Exists@ to @true@ , because it is implied. DynamoDB returns a @ValidationException@ if:     * @Exists@ is @true@ but there is no @Value@ to check. (You expect a value to exist, but don't specify what that value is.)     * @Exists@ is @false@ but you also provide a @Value@ . (You cannot expect an attribute to have a value, while also expecting it not to exist.)------ * 'eavValue' - Represents the data for the expected attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .------ * 'eavComparisonOperator' - A comparator for evaluating attributes in the @AttributeValueList@ . For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@-expectedAttributeValue-    :: ExpectedAttributeValue-expectedAttributeValue =-  ExpectedAttributeValue'-  { _eavAttributeValueList = Nothing-  , _eavExists = Nothing-  , _eavValue = Nothing-  , _eavComparisonOperator = Nothing-  }----- | One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values. For information on specifying data types in JSON, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html JSON Data Format> in the /Amazon DynamoDB Developer Guide/ .-eavAttributeValueList :: Lens' ExpectedAttributeValue [AttributeValue]-eavAttributeValueList = lens _eavAttributeValueList (\ s a -> s{_eavAttributeValueList = a}) . _Default . _Coerce;---- | Causes DynamoDB to evaluate the value before attempting a conditional operation:     * If @Exists@ is @true@ , DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a @ConditionalCheckFailedException@ .     * If @Exists@ is @false@ , DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a @ConditionalCheckFailedException@ . The default setting for @Exists@ is @true@ . If you supply a @Value@ all by itself, DynamoDB assumes the attribute exists: You don't have to set @Exists@ to @true@ , because it is implied. DynamoDB returns a @ValidationException@ if:     * @Exists@ is @true@ but there is no @Value@ to check. (You expect a value to exist, but don't specify what that value is.)     * @Exists@ is @false@ but you also provide a @Value@ . (You cannot expect an attribute to have a value, while also expecting it not to exist.)-eavExists :: Lens' ExpectedAttributeValue (Maybe Bool)-eavExists = lens _eavExists (\ s a -> s{_eavExists = a});---- | Represents the data for the expected attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .-eavValue :: Lens' ExpectedAttributeValue (Maybe AttributeValue)-eavValue = lens _eavValue (\ s a -> s{_eavValue = a});---- | A comparator for evaluating attributes in the @AttributeValueList@ . For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@-eavComparisonOperator :: Lens' ExpectedAttributeValue (Maybe ComparisonOperator)-eavComparisonOperator = lens _eavComparisonOperator (\ s a -> s{_eavComparisonOperator = a});--instance Hashable ExpectedAttributeValue where--instance NFData ExpectedAttributeValue where--instance ToJSON ExpectedAttributeValue where-        toJSON ExpectedAttributeValue'{..}-          = object-              (catMaybes-                 [("AttributeValueList" .=) <$>-                    _eavAttributeValueList,-                  ("Exists" .=) <$> _eavExists,-                  ("Value" .=) <$> _eavValue,-                  ("ComparisonOperator" .=) <$>-                    _eavComparisonOperator])---- | Represents the properties of a global secondary index.------------ /See:/ 'globalSecondaryIndex' smart constructor.-data GlobalSecondaryIndex = GlobalSecondaryIndex'-  { _gsiIndexName             :: !Text-  , _gsiKeySchema             :: !(List1 KeySchemaElement)-  , _gsiProjection            :: !Projection-  , _gsiProvisionedThroughput :: !ProvisionedThroughput-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GlobalSecondaryIndex' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsiIndexName' - The name of the global secondary index. The name must be unique among all other indexes on this table.------ * 'gsiKeySchema' - The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key------ * 'gsiProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.------ * 'gsiProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-globalSecondaryIndex-    :: Text -- ^ 'gsiIndexName'-    -> NonEmpty KeySchemaElement -- ^ 'gsiKeySchema'-    -> Projection -- ^ 'gsiProjection'-    -> ProvisionedThroughput -- ^ 'gsiProvisionedThroughput'-    -> GlobalSecondaryIndex-globalSecondaryIndex pIndexName_ pKeySchema_ pProjection_ pProvisionedThroughput_ =-  GlobalSecondaryIndex'-  { _gsiIndexName = pIndexName_-  , _gsiKeySchema = _List1 # pKeySchema_-  , _gsiProjection = pProjection_-  , _gsiProvisionedThroughput = pProvisionedThroughput_-  }----- | The name of the global secondary index. The name must be unique among all other indexes on this table.-gsiIndexName :: Lens' GlobalSecondaryIndex Text-gsiIndexName = lens _gsiIndexName (\ s a -> s{_gsiIndexName = a});---- | The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key-gsiKeySchema :: Lens' GlobalSecondaryIndex (NonEmpty KeySchemaElement)-gsiKeySchema = lens _gsiKeySchema (\ s a -> s{_gsiKeySchema = a}) . _List1;---- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.-gsiProjection :: Lens' GlobalSecondaryIndex Projection-gsiProjection = lens _gsiProjection (\ s a -> s{_gsiProjection = a});---- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-gsiProvisionedThroughput :: Lens' GlobalSecondaryIndex ProvisionedThroughput-gsiProvisionedThroughput = lens _gsiProvisionedThroughput (\ s a -> s{_gsiProvisionedThroughput = a});--instance Hashable GlobalSecondaryIndex where--instance NFData GlobalSecondaryIndex where--instance ToJSON GlobalSecondaryIndex where-        toJSON GlobalSecondaryIndex'{..}-          = object-              (catMaybes-                 [Just ("IndexName" .= _gsiIndexName),-                  Just ("KeySchema" .= _gsiKeySchema),-                  Just ("Projection" .= _gsiProjection),-                  Just-                    ("ProvisionedThroughput" .=-                       _gsiProvisionedThroughput)])---- | Represents the properties of a global secondary index.------------ /See:/ 'globalSecondaryIndexDescription' smart constructor.-data GlobalSecondaryIndexDescription = GlobalSecondaryIndexDescription'-  { _gsidBackfilling           :: !(Maybe Bool)-  , _gsidIndexSizeBytes        :: !(Maybe Integer)-  , _gsidIndexStatus           :: !(Maybe IndexStatus)-  , _gsidProvisionedThroughput :: !(Maybe ProvisionedThroughputDescription)-  , _gsidIndexARN              :: !(Maybe Text)-  , _gsidKeySchema             :: !(Maybe (List1 KeySchemaElement))-  , _gsidProjection            :: !(Maybe Projection)-  , _gsidItemCount             :: !(Maybe Integer)-  , _gsidIndexName             :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GlobalSecondaryIndexDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsidBackfilling' - Indicates whether the index is currently backfilling. /Backfilling/ is the process of reading items from the table and determining whether they can be added to the index. (Not all items will qualify: For example, a partition key cannot have any duplicate values.) If an item can be added to the index, DynamoDB will do so. After all items have been processed, the backfilling operation is complete and @Backfilling@ is false.------ * 'gsidIndexSizeBytes' - The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.------ * 'gsidIndexStatus' - The current state of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.------ * 'gsidProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .------ * 'gsidIndexARN' - The Amazon Resource Name (ARN) that uniquely identifies the index.------ * 'gsidKeySchema' - The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key------ * 'gsidProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.------ * 'gsidItemCount' - The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.------ * 'gsidIndexName' - The name of the global secondary index.-globalSecondaryIndexDescription-    :: GlobalSecondaryIndexDescription-globalSecondaryIndexDescription =-  GlobalSecondaryIndexDescription'-  { _gsidBackfilling = Nothing-  , _gsidIndexSizeBytes = Nothing-  , _gsidIndexStatus = Nothing-  , _gsidProvisionedThroughput = Nothing-  , _gsidIndexARN = Nothing-  , _gsidKeySchema = Nothing-  , _gsidProjection = Nothing-  , _gsidItemCount = Nothing-  , _gsidIndexName = Nothing-  }----- | Indicates whether the index is currently backfilling. /Backfilling/ is the process of reading items from the table and determining whether they can be added to the index. (Not all items will qualify: For example, a partition key cannot have any duplicate values.) If an item can be added to the index, DynamoDB will do so. After all items have been processed, the backfilling operation is complete and @Backfilling@ is false.-gsidBackfilling :: Lens' GlobalSecondaryIndexDescription (Maybe Bool)-gsidBackfilling = lens _gsidBackfilling (\ s a -> s{_gsidBackfilling = a});---- | The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.-gsidIndexSizeBytes :: Lens' GlobalSecondaryIndexDescription (Maybe Integer)-gsidIndexSizeBytes = lens _gsidIndexSizeBytes (\ s a -> s{_gsidIndexSizeBytes = a});---- | The current state of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.-gsidIndexStatus :: Lens' GlobalSecondaryIndexDescription (Maybe IndexStatus)-gsidIndexStatus = lens _gsidIndexStatus (\ s a -> s{_gsidIndexStatus = a});---- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-gsidProvisionedThroughput :: Lens' GlobalSecondaryIndexDescription (Maybe ProvisionedThroughputDescription)-gsidProvisionedThroughput = lens _gsidProvisionedThroughput (\ s a -> s{_gsidProvisionedThroughput = a});---- | The Amazon Resource Name (ARN) that uniquely identifies the index.-gsidIndexARN :: Lens' GlobalSecondaryIndexDescription (Maybe Text)-gsidIndexARN = lens _gsidIndexARN (\ s a -> s{_gsidIndexARN = a});---- | The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key-gsidKeySchema :: Lens' GlobalSecondaryIndexDescription (Maybe (NonEmpty KeySchemaElement))-gsidKeySchema = lens _gsidKeySchema (\ s a -> s{_gsidKeySchema = a}) . mapping _List1;---- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.-gsidProjection :: Lens' GlobalSecondaryIndexDescription (Maybe Projection)-gsidProjection = lens _gsidProjection (\ s a -> s{_gsidProjection = a});---- | The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.-gsidItemCount :: Lens' GlobalSecondaryIndexDescription (Maybe Integer)-gsidItemCount = lens _gsidItemCount (\ s a -> s{_gsidItemCount = a});---- | The name of the global secondary index.-gsidIndexName :: Lens' GlobalSecondaryIndexDescription (Maybe Text)-gsidIndexName = lens _gsidIndexName (\ s a -> s{_gsidIndexName = a});--instance FromJSON GlobalSecondaryIndexDescription-         where-        parseJSON-          = withObject "GlobalSecondaryIndexDescription"-              (\ x ->-                 GlobalSecondaryIndexDescription' <$>-                   (x .:? "Backfilling") <*> (x .:? "IndexSizeBytes")-                     <*> (x .:? "IndexStatus")-                     <*> (x .:? "ProvisionedThroughput")-                     <*> (x .:? "IndexArn")-                     <*> (x .:? "KeySchema")-                     <*> (x .:? "Projection")-                     <*> (x .:? "ItemCount")-                     <*> (x .:? "IndexName"))--instance Hashable GlobalSecondaryIndexDescription-         where--instance NFData GlobalSecondaryIndexDescription where---- | Represents one of the following:---------     * A new global secondary index to be added to an existing table.------     * New provisioned throughput parameters for an existing global secondary index.------     * An existing global secondary index to be removed from an existing table.--------------- /See:/ 'globalSecondaryIndexUpdate' smart constructor.-data GlobalSecondaryIndexUpdate = GlobalSecondaryIndexUpdate'-  { _gsiuCreate :: !(Maybe CreateGlobalSecondaryIndexAction)-  , _gsiuDelete :: !(Maybe DeleteGlobalSecondaryIndexAction)-  , _gsiuUpdate :: !(Maybe UpdateGlobalSecondaryIndexAction)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GlobalSecondaryIndexUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsiuCreate' - The parameters required for creating a global secondary index on an existing table:     * @IndexName @      * @KeySchema @      * @AttributeDefinitions @      * @Projection @      * @ProvisionedThroughput @------ * 'gsiuDelete' - The name of an existing global secondary index to be removed.------ * 'gsiuUpdate' - The name of an existing global secondary index, along with new provisioned throughput settings to be applied to that index.-globalSecondaryIndexUpdate-    :: GlobalSecondaryIndexUpdate-globalSecondaryIndexUpdate =-  GlobalSecondaryIndexUpdate'-  {_gsiuCreate = Nothing, _gsiuDelete = Nothing, _gsiuUpdate = Nothing}----- | The parameters required for creating a global secondary index on an existing table:     * @IndexName @      * @KeySchema @      * @AttributeDefinitions @      * @Projection @      * @ProvisionedThroughput @-gsiuCreate :: Lens' GlobalSecondaryIndexUpdate (Maybe CreateGlobalSecondaryIndexAction)-gsiuCreate = lens _gsiuCreate (\ s a -> s{_gsiuCreate = a});---- | The name of an existing global secondary index to be removed.-gsiuDelete :: Lens' GlobalSecondaryIndexUpdate (Maybe DeleteGlobalSecondaryIndexAction)-gsiuDelete = lens _gsiuDelete (\ s a -> s{_gsiuDelete = a});---- | The name of an existing global secondary index, along with new provisioned throughput settings to be applied to that index.-gsiuUpdate :: Lens' GlobalSecondaryIndexUpdate (Maybe UpdateGlobalSecondaryIndexAction)-gsiuUpdate = lens _gsiuUpdate (\ s a -> s{_gsiuUpdate = a});--instance Hashable GlobalSecondaryIndexUpdate where--instance NFData GlobalSecondaryIndexUpdate where--instance ToJSON GlobalSecondaryIndexUpdate where-        toJSON GlobalSecondaryIndexUpdate'{..}-          = object-              (catMaybes-                 [("Create" .=) <$> _gsiuCreate,-                  ("Delete" .=) <$> _gsiuDelete,-                  ("Update" .=) <$> _gsiuUpdate])---- | Information about item collections, if any, that were affected by the operation. @ItemCollectionMetrics@ is only returned if the request asked for it. If the table does not have any local secondary indexes, this information is not returned in the response.------------ /See:/ 'itemCollectionMetrics' smart constructor.-data ItemCollectionMetrics = ItemCollectionMetrics'-  { _icmItemCollectionKey   :: !(Maybe (Map Text AttributeValue))-  , _icmSizeEstimateRangeGB :: !(Maybe [Double])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ItemCollectionMetrics' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'icmItemCollectionKey' - The partition key value of the item collection. This value is the same as the partition key value of the item.------ * 'icmSizeEstimateRangeGB' - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.-itemCollectionMetrics-    :: ItemCollectionMetrics-itemCollectionMetrics =-  ItemCollectionMetrics'-  {_icmItemCollectionKey = Nothing, _icmSizeEstimateRangeGB = Nothing}----- | The partition key value of the item collection. This value is the same as the partition key value of the item.-icmItemCollectionKey :: Lens' ItemCollectionMetrics (HashMap Text AttributeValue)-icmItemCollectionKey = lens _icmItemCollectionKey (\ s a -> s{_icmItemCollectionKey = a}) . _Default . _Map;---- | An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.-icmSizeEstimateRangeGB :: Lens' ItemCollectionMetrics [Double]-icmSizeEstimateRangeGB = lens _icmSizeEstimateRangeGB (\ s a -> s{_icmSizeEstimateRangeGB = a}) . _Default . _Coerce;--instance FromJSON ItemCollectionMetrics where-        parseJSON-          = withObject "ItemCollectionMetrics"-              (\ x ->-                 ItemCollectionMetrics' <$>-                   (x .:? "ItemCollectionKey" .!= mempty) <*>-                     (x .:? "SizeEstimateRangeGB" .!= mempty))--instance Hashable ItemCollectionMetrics where--instance NFData ItemCollectionMetrics where---- | Represents /a single element/ of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.--------- A @KeySchemaElement@ represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one @KeySchemaElement@ (for the partition key). A composite primary key would require one @KeySchemaElement@ for the partition key, and another @KeySchemaElement@ for the sort key.------ A @KeySchemaElement@ must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.--------- /See:/ 'keySchemaElement' smart constructor.-data KeySchemaElement = KeySchemaElement'-  { _kseAttributeName :: !Text-  , _kseKeyType       :: !KeyType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'KeySchemaElement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'kseAttributeName' - The name of a key attribute.------ * 'kseKeyType' - The role that this key attribute will assume:     * @HASH@ - partition key     * @RANGE@ - sort key-keySchemaElement-    :: Text -- ^ 'kseAttributeName'-    -> KeyType -- ^ 'kseKeyType'-    -> KeySchemaElement-keySchemaElement pAttributeName_ pKeyType_ =-  KeySchemaElement'-  {_kseAttributeName = pAttributeName_, _kseKeyType = pKeyType_}----- | The name of a key attribute.-kseAttributeName :: Lens' KeySchemaElement Text-kseAttributeName = lens _kseAttributeName (\ s a -> s{_kseAttributeName = a});---- | The role that this key attribute will assume:     * @HASH@ - partition key     * @RANGE@ - sort key-kseKeyType :: Lens' KeySchemaElement KeyType-kseKeyType = lens _kseKeyType (\ s a -> s{_kseKeyType = a});--instance FromJSON KeySchemaElement where-        parseJSON-          = withObject "KeySchemaElement"-              (\ x ->-                 KeySchemaElement' <$>-                   (x .: "AttributeName") <*> (x .: "KeyType"))--instance Hashable KeySchemaElement where--instance NFData KeySchemaElement where--instance ToJSON KeySchemaElement where-        toJSON KeySchemaElement'{..}-          = object-              (catMaybes-                 [Just ("AttributeName" .= _kseAttributeName),-                  Just ("KeyType" .= _kseKeyType)])---- | Represents a set of primary keys and, for each key, the attributes to retrieve from the table.--------- For each primary key, you must provide /all/ of the key attributes. For example, with a simple primary key, you only need to provide the partition key. For a composite primary key, you must provide /both/ the partition key and the sort key.--------- /See:/ 'keysAndAttributes' smart constructor.-data KeysAndAttributes = KeysAndAttributes'-  { _kaaProjectionExpression     :: !(Maybe Text)-  , _kaaAttributesToGet          :: !(Maybe (List1 Text))-  , _kaaExpressionAttributeNames :: !(Maybe (Map Text Text))-  , _kaaConsistentRead           :: !(Maybe Bool)-  , _kaaKeys                     :: !(List1 (Map Text AttributeValue))-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'KeysAndAttributes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'kaaProjectionExpression' - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the @ProjectionExpression@ must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .------ * 'kaaAttributesToGet' - This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .------ * 'kaaExpressionAttributeNames' - One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .------ * 'kaaConsistentRead' - The consistency of a read operation. If set to @true@ , then a strongly consistent read is used; otherwise, an eventually consistent read is used.------ * 'kaaKeys' - The primary key attribute values that define the items and the attributes associated with the items.-keysAndAttributes-    :: NonEmpty (HashMap Text AttributeValue) -- ^ 'kaaKeys'-    -> KeysAndAttributes-keysAndAttributes pKeys_ =-  KeysAndAttributes'-  { _kaaProjectionExpression = Nothing-  , _kaaAttributesToGet = Nothing-  , _kaaExpressionAttributeNames = Nothing-  , _kaaConsistentRead = Nothing-  , _kaaKeys = _List1 # pKeys_-  }----- | A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the @ProjectionExpression@ must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .-kaaProjectionExpression :: Lens' KeysAndAttributes (Maybe Text)-kaaProjectionExpression = lens _kaaProjectionExpression (\ s a -> s{_kaaProjectionExpression = a});---- | This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .-kaaAttributesToGet :: Lens' KeysAndAttributes (Maybe (NonEmpty Text))-kaaAttributesToGet = lens _kaaAttributesToGet (\ s a -> s{_kaaAttributesToGet = a}) . mapping _List1;---- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .-kaaExpressionAttributeNames :: Lens' KeysAndAttributes (HashMap Text Text)-kaaExpressionAttributeNames = lens _kaaExpressionAttributeNames (\ s a -> s{_kaaExpressionAttributeNames = a}) . _Default . _Map;---- | The consistency of a read operation. If set to @true@ , then a strongly consistent read is used; otherwise, an eventually consistent read is used.-kaaConsistentRead :: Lens' KeysAndAttributes (Maybe Bool)-kaaConsistentRead = lens _kaaConsistentRead (\ s a -> s{_kaaConsistentRead = a});---- | The primary key attribute values that define the items and the attributes associated with the items.-kaaKeys :: Lens' KeysAndAttributes (NonEmpty (HashMap Text AttributeValue))-kaaKeys = lens _kaaKeys (\ s a -> s{_kaaKeys = a}) . _List1;--instance FromJSON KeysAndAttributes where-        parseJSON-          = withObject "KeysAndAttributes"-              (\ x ->-                 KeysAndAttributes' <$>-                   (x .:? "ProjectionExpression") <*>-                     (x .:? "AttributesToGet")-                     <*> (x .:? "ExpressionAttributeNames" .!= mempty)-                     <*> (x .:? "ConsistentRead")-                     <*> (x .: "Keys"))--instance Hashable KeysAndAttributes where--instance NFData KeysAndAttributes where--instance ToJSON KeysAndAttributes where-        toJSON KeysAndAttributes'{..}-          = object-              (catMaybes-                 [("ProjectionExpression" .=) <$>-                    _kaaProjectionExpression,-                  ("AttributesToGet" .=) <$> _kaaAttributesToGet,-                  ("ExpressionAttributeNames" .=) <$>-                    _kaaExpressionAttributeNames,-                  ("ConsistentRead" .=) <$> _kaaConsistentRead,-                  Just ("Keys" .= _kaaKeys)])---- | Represents the properties of a local secondary index.------------ /See:/ 'localSecondaryIndex' smart constructor.-data LocalSecondaryIndex = LocalSecondaryIndex'-  { _lsiIndexName  :: !Text-  , _lsiKeySchema  :: !(List1 KeySchemaElement)-  , _lsiProjection :: !Projection-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LocalSecondaryIndex' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lsiIndexName' - The name of the local secondary index. The name must be unique among all other indexes on this table.------ * 'lsiKeySchema' - The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key------ * 'lsiProjection' - Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.-localSecondaryIndex-    :: Text -- ^ 'lsiIndexName'-    -> NonEmpty KeySchemaElement -- ^ 'lsiKeySchema'-    -> Projection -- ^ 'lsiProjection'-    -> LocalSecondaryIndex-localSecondaryIndex pIndexName_ pKeySchema_ pProjection_ =-  LocalSecondaryIndex'-  { _lsiIndexName = pIndexName_-  , _lsiKeySchema = _List1 # pKeySchema_-  , _lsiProjection = pProjection_-  }----- | The name of the local secondary index. The name must be unique among all other indexes on this table.-lsiIndexName :: Lens' LocalSecondaryIndex Text-lsiIndexName = lens _lsiIndexName (\ s a -> s{_lsiIndexName = a});---- | The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key-lsiKeySchema :: Lens' LocalSecondaryIndex (NonEmpty KeySchemaElement)-lsiKeySchema = lens _lsiKeySchema (\ s a -> s{_lsiKeySchema = a}) . _List1;---- | Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.-lsiProjection :: Lens' LocalSecondaryIndex Projection-lsiProjection = lens _lsiProjection (\ s a -> s{_lsiProjection = a});--instance Hashable LocalSecondaryIndex where--instance NFData LocalSecondaryIndex where--instance ToJSON LocalSecondaryIndex where-        toJSON LocalSecondaryIndex'{..}-          = object-              (catMaybes-                 [Just ("IndexName" .= _lsiIndexName),-                  Just ("KeySchema" .= _lsiKeySchema),-                  Just ("Projection" .= _lsiProjection)])---- | Represents the properties of a local secondary index.------------ /See:/ 'localSecondaryIndexDescription' smart constructor.-data LocalSecondaryIndexDescription = LocalSecondaryIndexDescription'-  { _lsidIndexSizeBytes :: !(Maybe Integer)-  , _lsidIndexARN       :: !(Maybe Text)-  , _lsidKeySchema      :: !(Maybe (List1 KeySchemaElement))-  , _lsidProjection     :: !(Maybe Projection)-  , _lsidItemCount      :: !(Maybe Integer)-  , _lsidIndexName      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LocalSecondaryIndexDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lsidIndexSizeBytes' - The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.------ * 'lsidIndexARN' - The Amazon Resource Name (ARN) that uniquely identifies the index.------ * 'lsidKeySchema' - The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key------ * 'lsidProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.------ * 'lsidItemCount' - The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.------ * 'lsidIndexName' - Represents the name of the local secondary index.-localSecondaryIndexDescription-    :: LocalSecondaryIndexDescription-localSecondaryIndexDescription =-  LocalSecondaryIndexDescription'-  { _lsidIndexSizeBytes = Nothing-  , _lsidIndexARN = Nothing-  , _lsidKeySchema = Nothing-  , _lsidProjection = Nothing-  , _lsidItemCount = Nothing-  , _lsidIndexName = Nothing-  }----- | The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.-lsidIndexSizeBytes :: Lens' LocalSecondaryIndexDescription (Maybe Integer)-lsidIndexSizeBytes = lens _lsidIndexSizeBytes (\ s a -> s{_lsidIndexSizeBytes = a});---- | The Amazon Resource Name (ARN) that uniquely identifies the index.-lsidIndexARN :: Lens' LocalSecondaryIndexDescription (Maybe Text)-lsidIndexARN = lens _lsidIndexARN (\ s a -> s{_lsidIndexARN = a});---- | The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key-lsidKeySchema :: Lens' LocalSecondaryIndexDescription (Maybe (NonEmpty KeySchemaElement))-lsidKeySchema = lens _lsidKeySchema (\ s a -> s{_lsidKeySchema = a}) . mapping _List1;---- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.-lsidProjection :: Lens' LocalSecondaryIndexDescription (Maybe Projection)-lsidProjection = lens _lsidProjection (\ s a -> s{_lsidProjection = a});---- | The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.-lsidItemCount :: Lens' LocalSecondaryIndexDescription (Maybe Integer)-lsidItemCount = lens _lsidItemCount (\ s a -> s{_lsidItemCount = a});---- | Represents the name of the local secondary index.-lsidIndexName :: Lens' LocalSecondaryIndexDescription (Maybe Text)-lsidIndexName = lens _lsidIndexName (\ s a -> s{_lsidIndexName = a});--instance FromJSON LocalSecondaryIndexDescription-         where-        parseJSON-          = withObject "LocalSecondaryIndexDescription"-              (\ x ->-                 LocalSecondaryIndexDescription' <$>-                   (x .:? "IndexSizeBytes") <*> (x .:? "IndexArn") <*>-                     (x .:? "KeySchema")-                     <*> (x .:? "Projection")-                     <*> (x .:? "ItemCount")-                     <*> (x .:? "IndexName"))--instance Hashable LocalSecondaryIndexDescription-         where--instance NFData LocalSecondaryIndexDescription where---- | Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.------------ /See:/ 'projection' smart constructor.-data Projection = Projection'-  { _pProjectionType   :: !(Maybe ProjectionType)-  , _pNonKeyAttributes :: !(Maybe (List1 Text))-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Projection' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pProjectionType' - The set of attributes that are projected into the index:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.------ * 'pNonKeyAttributes' - Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of @NonKeyAttributes@ summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.-projection-    :: Projection-projection =-  Projection' {_pProjectionType = Nothing, _pNonKeyAttributes = Nothing}----- | The set of attributes that are projected into the index:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.-pProjectionType :: Lens' Projection (Maybe ProjectionType)-pProjectionType = lens _pProjectionType (\ s a -> s{_pProjectionType = a});---- | Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of @NonKeyAttributes@ summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.-pNonKeyAttributes :: Lens' Projection (Maybe (NonEmpty Text))-pNonKeyAttributes = lens _pNonKeyAttributes (\ s a -> s{_pNonKeyAttributes = a}) . mapping _List1;--instance FromJSON Projection where-        parseJSON-          = withObject "Projection"-              (\ x ->-                 Projection' <$>-                   (x .:? "ProjectionType") <*>-                     (x .:? "NonKeyAttributes"))--instance Hashable Projection where--instance NFData Projection where--instance ToJSON Projection where-        toJSON Projection'{..}-          = object-              (catMaybes-                 [("ProjectionType" .=) <$> _pProjectionType,-                  ("NonKeyAttributes" .=) <$> _pNonKeyAttributes])---- | Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the @UpdateTable@ operation.--------- For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .--------- /See:/ 'provisionedThroughput' smart constructor.-data ProvisionedThroughput = ProvisionedThroughput'-  { _ptReadCapacityUnits  :: !Nat-  , _ptWriteCapacityUnits :: !Nat-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ProvisionedThroughput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .------ * 'ptWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .-provisionedThroughput-    :: Natural -- ^ 'ptReadCapacityUnits'-    -> Natural -- ^ 'ptWriteCapacityUnits'-    -> ProvisionedThroughput-provisionedThroughput pReadCapacityUnits_ pWriteCapacityUnits_ =-  ProvisionedThroughput'-  { _ptReadCapacityUnits = _Nat # pReadCapacityUnits_-  , _ptWriteCapacityUnits = _Nat # pWriteCapacityUnits_-  }----- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .-ptReadCapacityUnits :: Lens' ProvisionedThroughput Natural-ptReadCapacityUnits = lens _ptReadCapacityUnits (\ s a -> s{_ptReadCapacityUnits = a}) . _Nat;---- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .-ptWriteCapacityUnits :: Lens' ProvisionedThroughput Natural-ptWriteCapacityUnits = lens _ptWriteCapacityUnits (\ s a -> s{_ptWriteCapacityUnits = a}) . _Nat;--instance Hashable ProvisionedThroughput where--instance NFData ProvisionedThroughput where--instance ToJSON ProvisionedThroughput where-        toJSON ProvisionedThroughput'{..}-          = object-              (catMaybes-                 [Just ("ReadCapacityUnits" .= _ptReadCapacityUnits),-                  Just-                    ("WriteCapacityUnits" .= _ptWriteCapacityUnits)])---- | Represents the provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.------------ /See:/ 'provisionedThroughputDescription' smart constructor.-data ProvisionedThroughputDescription = ProvisionedThroughputDescription'-  { _ptdReadCapacityUnits      :: !(Maybe Nat)-  , _ptdLastDecreaseDateTime   :: !(Maybe POSIX)-  , _ptdWriteCapacityUnits     :: !(Maybe Nat)-  , _ptdNumberOfDecreasesToday :: !(Maybe Nat)-  , _ptdLastIncreaseDateTime   :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ProvisionedThroughputDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptdReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . Eventually consistent reads require less effort than strongly consistent reads, so a setting of 50 @ReadCapacityUnits@ per second provides 100 eventually consistent @ReadCapacityUnits@ per second.------ * 'ptdLastDecreaseDateTime' - The date and time of the last provisioned throughput decrease for this table.------ * 'ptdWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ .------ * 'ptdNumberOfDecreasesToday' - The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .------ * 'ptdLastIncreaseDateTime' - The date and time of the last provisioned throughput increase for this table.-provisionedThroughputDescription-    :: ProvisionedThroughputDescription-provisionedThroughputDescription =-  ProvisionedThroughputDescription'-  { _ptdReadCapacityUnits = Nothing-  , _ptdLastDecreaseDateTime = Nothing-  , _ptdWriteCapacityUnits = Nothing-  , _ptdNumberOfDecreasesToday = Nothing-  , _ptdLastIncreaseDateTime = Nothing-  }----- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . Eventually consistent reads require less effort than strongly consistent reads, so a setting of 50 @ReadCapacityUnits@ per second provides 100 eventually consistent @ReadCapacityUnits@ per second.-ptdReadCapacityUnits :: Lens' ProvisionedThroughputDescription (Maybe Natural)-ptdReadCapacityUnits = lens _ptdReadCapacityUnits (\ s a -> s{_ptdReadCapacityUnits = a}) . mapping _Nat;---- | The date and time of the last provisioned throughput decrease for this table.-ptdLastDecreaseDateTime :: Lens' ProvisionedThroughputDescription (Maybe UTCTime)-ptdLastDecreaseDateTime = lens _ptdLastDecreaseDateTime (\ s a -> s{_ptdLastDecreaseDateTime = a}) . mapping _Time;---- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ .-ptdWriteCapacityUnits :: Lens' ProvisionedThroughputDescription (Maybe Natural)-ptdWriteCapacityUnits = lens _ptdWriteCapacityUnits (\ s a -> s{_ptdWriteCapacityUnits = a}) . mapping _Nat;---- | The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-ptdNumberOfDecreasesToday :: Lens' ProvisionedThroughputDescription (Maybe Natural)-ptdNumberOfDecreasesToday = lens _ptdNumberOfDecreasesToday (\ s a -> s{_ptdNumberOfDecreasesToday = a}) . mapping _Nat;---- | The date and time of the last provisioned throughput increase for this table.-ptdLastIncreaseDateTime :: Lens' ProvisionedThroughputDescription (Maybe UTCTime)-ptdLastIncreaseDateTime = lens _ptdLastIncreaseDateTime (\ s a -> s{_ptdLastIncreaseDateTime = a}) . mapping _Time;--instance FromJSON ProvisionedThroughputDescription-         where-        parseJSON-          = withObject "ProvisionedThroughputDescription"-              (\ x ->-                 ProvisionedThroughputDescription' <$>-                   (x .:? "ReadCapacityUnits") <*>-                     (x .:? "LastDecreaseDateTime")-                     <*> (x .:? "WriteCapacityUnits")-                     <*> (x .:? "NumberOfDecreasesToday")-                     <*> (x .:? "LastIncreaseDateTime"))--instance Hashable ProvisionedThroughputDescription-         where--instance NFData ProvisionedThroughputDescription-         where---- | Represents a request to perform a @PutItem@ operation on an item.------------ /See:/ 'putRequest' smart constructor.-newtype PutRequest = PutRequest'-  { _prItem :: Map Text AttributeValue-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prItem' - A map of attribute name to attribute values, representing the primary key of an item to be processed by @PutItem@ . All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item which are part of an index key schema for the table, their types must match the index key schema.-putRequest-    :: PutRequest-putRequest = PutRequest' {_prItem = mempty}----- | A map of attribute name to attribute values, representing the primary key of an item to be processed by @PutItem@ . All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item which are part of an index key schema for the table, their types must match the index key schema.-prItem :: Lens' PutRequest (HashMap Text AttributeValue)-prItem = lens _prItem (\ s a -> s{_prItem = a}) . _Map;--instance FromJSON PutRequest where-        parseJSON-          = withObject "PutRequest"-              (\ x -> PutRequest' <$> (x .:? "Item" .!= mempty))--instance Hashable PutRequest where--instance NFData PutRequest where--instance ToJSON PutRequest where-        toJSON PutRequest'{..}-          = object (catMaybes [Just ("Item" .= _prItem)])---- | Represents the DynamoDB Streams configuration for a table in DynamoDB.------------ /See:/ 'streamSpecification' smart constructor.-data StreamSpecification = StreamSpecification'-  { _ssStreamViewType :: !(Maybe StreamViewType)-  , _ssStreamEnabled  :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StreamSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssStreamViewType' - When an item in the table is modified, @StreamViewType@ determines what information is written to the stream for this table. Valid values for @StreamViewType@ are:     * @KEYS_ONLY@ - Only the key attributes of the modified item are written to the stream.     * @NEW_IMAGE@ - The entire item, as it appears after it was modified, is written to the stream.     * @OLD_IMAGE@ - The entire item, as it appeared before it was modified, is written to the stream.     * @NEW_AND_OLD_IMAGES@ - Both the new and the old item images of the item are written to the stream.------ * 'ssStreamEnabled' - Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.-streamSpecification-    :: StreamSpecification-streamSpecification =-  StreamSpecification' {_ssStreamViewType = Nothing, _ssStreamEnabled = Nothing}----- | When an item in the table is modified, @StreamViewType@ determines what information is written to the stream for this table. Valid values for @StreamViewType@ are:     * @KEYS_ONLY@ - Only the key attributes of the modified item are written to the stream.     * @NEW_IMAGE@ - The entire item, as it appears after it was modified, is written to the stream.     * @OLD_IMAGE@ - The entire item, as it appeared before it was modified, is written to the stream.     * @NEW_AND_OLD_IMAGES@ - Both the new and the old item images of the item are written to the stream.-ssStreamViewType :: Lens' StreamSpecification (Maybe StreamViewType)-ssStreamViewType = lens _ssStreamViewType (\ s a -> s{_ssStreamViewType = a});---- | Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.-ssStreamEnabled :: Lens' StreamSpecification (Maybe Bool)-ssStreamEnabled = lens _ssStreamEnabled (\ s a -> s{_ssStreamEnabled = a});--instance FromJSON StreamSpecification where-        parseJSON-          = withObject "StreamSpecification"-              (\ x ->-                 StreamSpecification' <$>-                   (x .:? "StreamViewType") <*> (x .:? "StreamEnabled"))--instance Hashable StreamSpecification where--instance NFData StreamSpecification where--instance ToJSON StreamSpecification where-        toJSON StreamSpecification'{..}-          = object-              (catMaybes-                 [("StreamViewType" .=) <$> _ssStreamViewType,-                  ("StreamEnabled" .=) <$> _ssStreamEnabled])---- | Represents the properties of a table.------------ /See:/ 'tableDescription' smart constructor.-data TableDescription = TableDescription'-  { _tdTableSizeBytes         :: !(Maybe Integer)-  , _tdAttributeDefinitions   :: !(Maybe [AttributeDefinition])-  , _tdLatestStreamARN        :: !(Maybe Text)-  , _tdProvisionedThroughput  :: !(Maybe ProvisionedThroughputDescription)-  , _tdTableStatus            :: !(Maybe TableStatus)-  , _tdTableARN               :: !(Maybe Text)-  , _tdKeySchema              :: !(Maybe (List1 KeySchemaElement))-  , _tdGlobalSecondaryIndexes :: !(Maybe [GlobalSecondaryIndexDescription])-  , _tdLatestStreamLabel      :: !(Maybe Text)-  , _tdLocalSecondaryIndexes  :: !(Maybe [LocalSecondaryIndexDescription])-  , _tdCreationDateTime       :: !(Maybe POSIX)-  , _tdItemCount              :: !(Maybe Integer)-  , _tdTableName              :: !(Maybe Text)-  , _tdStreamSpecification    :: !(Maybe StreamSpecification)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TableDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tdTableSizeBytes' - The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.------ * 'tdAttributeDefinitions' - An array of @AttributeDefinition@ objects. Each of these objects describes one attribute in the table and index key schema. Each @AttributeDefinition@ object in this array is composed of:     * @AttributeName@ - The name of the attribute.     * @AttributeType@ - The data type for the attribute.------ * 'tdLatestStreamARN' - The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.------ * 'tdProvisionedThroughput' - The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.------ * 'tdTableStatus' - The current state of the table:     * @CREATING@ - The table is being created.     * @UPDATING@ - The table is being updated.     * @DELETING@ - The table is being deleted.     * @ACTIVE@ - The table is ready for use.------ * 'tdTableARN' - The Amazon Resource Name (ARN) that uniquely identifies the table.------ * 'tdKeySchema' - The primary key structure for the table. Each @KeySchemaElement@ consists of:     * @AttributeName@ - The name of the attribute.     * @KeyType@ - The role of the attribute:     * @HASH@ - partition key     * @RANGE@ - sort key For more information about primary keys, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey Primary Key> in the /Amazon DynamoDB Developer Guide/ .------ * 'tdGlobalSecondaryIndexes' - The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:     * @Backfilling@ - If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table; it is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a @CreateTable@ operation.)     * @IndexName@ - The name of the global secondary index.     * @IndexSizeBytes@ - The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @IndexStatus@ - The current status of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.     * @ItemCount@ - The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @ProvisionedThroughput@ - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.  If the table is in the @DELETING@ state, no information about indexes will be returned.------ * 'tdLatestStreamLabel' - A timestamp, in ISO 8601 format, for this stream. Note that @LatestStreamLabel@ is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:     * the AWS customer ID.     * the table name.     * the @StreamLabel@ .------ * 'tdLocalSecondaryIndexes' - Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:     * @IndexName@ - The name of the local secondary index.     * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @IndexSizeBytes@ - Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.     * @ItemCount@ - Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value. If the table is in the @DELETING@ state, no information about indexes will be returned.------ * 'tdCreationDateTime' - The date and time when the table was created, in <http://www.epochconverter.com/ UNIX epoch time> format.------ * 'tdItemCount' - The number of items in the specified table. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.------ * 'tdTableName' - The name of the table.------ * 'tdStreamSpecification' - The current DynamoDB Streams configuration for the table.-tableDescription-    :: TableDescription-tableDescription =-  TableDescription'-  { _tdTableSizeBytes = Nothing-  , _tdAttributeDefinitions = Nothing-  , _tdLatestStreamARN = Nothing-  , _tdProvisionedThroughput = Nothing-  , _tdTableStatus = Nothing-  , _tdTableARN = Nothing-  , _tdKeySchema = Nothing-  , _tdGlobalSecondaryIndexes = Nothing-  , _tdLatestStreamLabel = Nothing-  , _tdLocalSecondaryIndexes = Nothing-  , _tdCreationDateTime = Nothing-  , _tdItemCount = Nothing-  , _tdTableName = Nothing-  , _tdStreamSpecification = Nothing-  }----- | The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.-tdTableSizeBytes :: Lens' TableDescription (Maybe Integer)-tdTableSizeBytes = lens _tdTableSizeBytes (\ s a -> s{_tdTableSizeBytes = a});---- | An array of @AttributeDefinition@ objects. Each of these objects describes one attribute in the table and index key schema. Each @AttributeDefinition@ object in this array is composed of:     * @AttributeName@ - The name of the attribute.     * @AttributeType@ - The data type for the attribute.-tdAttributeDefinitions :: Lens' TableDescription [AttributeDefinition]-tdAttributeDefinitions = lens _tdAttributeDefinitions (\ s a -> s{_tdAttributeDefinitions = a}) . _Default . _Coerce;---- | The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.-tdLatestStreamARN :: Lens' TableDescription (Maybe Text)-tdLatestStreamARN = lens _tdLatestStreamARN (\ s a -> s{_tdLatestStreamARN = a});---- | The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.-tdProvisionedThroughput :: Lens' TableDescription (Maybe ProvisionedThroughputDescription)-tdProvisionedThroughput = lens _tdProvisionedThroughput (\ s a -> s{_tdProvisionedThroughput = a});---- | The current state of the table:     * @CREATING@ - The table is being created.     * @UPDATING@ - The table is being updated.     * @DELETING@ - The table is being deleted.     * @ACTIVE@ - The table is ready for use.-tdTableStatus :: Lens' TableDescription (Maybe TableStatus)-tdTableStatus = lens _tdTableStatus (\ s a -> s{_tdTableStatus = a});---- | The Amazon Resource Name (ARN) that uniquely identifies the table.-tdTableARN :: Lens' TableDescription (Maybe Text)-tdTableARN = lens _tdTableARN (\ s a -> s{_tdTableARN = a});---- | The primary key structure for the table. Each @KeySchemaElement@ consists of:     * @AttributeName@ - The name of the attribute.     * @KeyType@ - The role of the attribute:     * @HASH@ - partition key     * @RANGE@ - sort key For more information about primary keys, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey Primary Key> in the /Amazon DynamoDB Developer Guide/ .-tdKeySchema :: Lens' TableDescription (Maybe (NonEmpty KeySchemaElement))-tdKeySchema = lens _tdKeySchema (\ s a -> s{_tdKeySchema = a}) . mapping _List1;---- | The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:     * @Backfilling@ - If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table; it is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a @CreateTable@ operation.)     * @IndexName@ - The name of the global secondary index.     * @IndexSizeBytes@ - The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @IndexStatus@ - The current status of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.     * @ItemCount@ - The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @ProvisionedThroughput@ - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.  If the table is in the @DELETING@ state, no information about indexes will be returned.-tdGlobalSecondaryIndexes :: Lens' TableDescription [GlobalSecondaryIndexDescription]-tdGlobalSecondaryIndexes = lens _tdGlobalSecondaryIndexes (\ s a -> s{_tdGlobalSecondaryIndexes = a}) . _Default . _Coerce;---- | A timestamp, in ISO 8601 format, for this stream. Note that @LatestStreamLabel@ is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:     * the AWS customer ID.     * the table name.     * the @StreamLabel@ .-tdLatestStreamLabel :: Lens' TableDescription (Maybe Text)-tdLatestStreamLabel = lens _tdLatestStreamLabel (\ s a -> s{_tdLatestStreamLabel = a});---- | Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:     * @IndexName@ - The name of the local secondary index.     * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @IndexSizeBytes@ - Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.     * @ItemCount@ - Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value. If the table is in the @DELETING@ state, no information about indexes will be returned.-tdLocalSecondaryIndexes :: Lens' TableDescription [LocalSecondaryIndexDescription]-tdLocalSecondaryIndexes = lens _tdLocalSecondaryIndexes (\ s a -> s{_tdLocalSecondaryIndexes = a}) . _Default . _Coerce;---- | The date and time when the table was created, in <http://www.epochconverter.com/ UNIX epoch time> format.-tdCreationDateTime :: Lens' TableDescription (Maybe UTCTime)-tdCreationDateTime = lens _tdCreationDateTime (\ s a -> s{_tdCreationDateTime = a}) . mapping _Time;---- | The number of items in the specified table. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.-tdItemCount :: Lens' TableDescription (Maybe Integer)-tdItemCount = lens _tdItemCount (\ s a -> s{_tdItemCount = a});---- | The name of the table.-tdTableName :: Lens' TableDescription (Maybe Text)-tdTableName = lens _tdTableName (\ s a -> s{_tdTableName = a});---- | The current DynamoDB Streams configuration for the table.-tdStreamSpecification :: Lens' TableDescription (Maybe StreamSpecification)-tdStreamSpecification = lens _tdStreamSpecification (\ s a -> s{_tdStreamSpecification = a});--instance FromJSON TableDescription where-        parseJSON-          = withObject "TableDescription"-              (\ x ->-                 TableDescription' <$>-                   (x .:? "TableSizeBytes") <*>-                     (x .:? "AttributeDefinitions" .!= mempty)-                     <*> (x .:? "LatestStreamArn")-                     <*> (x .:? "ProvisionedThroughput")-                     <*> (x .:? "TableStatus")-                     <*> (x .:? "TableArn")-                     <*> (x .:? "KeySchema")-                     <*> (x .:? "GlobalSecondaryIndexes" .!= mempty)-                     <*> (x .:? "LatestStreamLabel")-                     <*> (x .:? "LocalSecondaryIndexes" .!= mempty)-                     <*> (x .:? "CreationDateTime")-                     <*> (x .:? "ItemCount")-                     <*> (x .:? "TableName")-                     <*> (x .:? "StreamSpecification"))--instance Hashable TableDescription where--instance NFData TableDescription where---- | Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single DynamoDB table.--------- AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.------ For an overview on tagging DynamoDB resources, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html Tagging for DynamoDB> in the /Amazon DynamoDB Developer Guide/ .--------- /See:/ 'tag' smart constructor.-data Tag = Tag'-  { _tagKey   :: !Text-  , _tagValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Tag' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tagKey' - The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.------ * 'tagValue' - The value of the tag. Tag values are case-sensitive and can be null.-tag-    :: Text -- ^ 'tagKey'-    -> Text -- ^ 'tagValue'-    -> Tag-tag pKey_ pValue_ = Tag' {_tagKey = pKey_, _tagValue = pValue_}----- | The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.-tagKey :: Lens' Tag Text-tagKey = lens _tagKey (\ s a -> s{_tagKey = a});---- | The value of the tag. Tag values are case-sensitive and can be null.-tagValue :: Lens' Tag Text-tagValue = lens _tagValue (\ s a -> s{_tagValue = a});--instance FromJSON Tag where-        parseJSON-          = withObject "Tag"-              (\ x -> Tag' <$> (x .: "Key") <*> (x .: "Value"))--instance Hashable Tag where--instance NFData Tag where--instance ToJSON Tag where-        toJSON Tag'{..}-          = object-              (catMaybes-                 [Just ("Key" .= _tagKey),-                  Just ("Value" .= _tagValue)])---- | The description of the Time to Live (TTL) status on the specified table.------------ /See:/ 'timeToLiveDescription' smart constructor.-data TimeToLiveDescription = TimeToLiveDescription'-  { _ttldTimeToLiveStatus :: !(Maybe TimeToLiveStatus)-  , _ttldAttributeName    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TimeToLiveDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ttldTimeToLiveStatus' - The Time to Live status for the table.------ * 'ttldAttributeName' - The name of the Time to Live attribute for items in the table.-timeToLiveDescription-    :: TimeToLiveDescription-timeToLiveDescription =-  TimeToLiveDescription'-  {_ttldTimeToLiveStatus = Nothing, _ttldAttributeName = Nothing}----- | The Time to Live status for the table.-ttldTimeToLiveStatus :: Lens' TimeToLiveDescription (Maybe TimeToLiveStatus)-ttldTimeToLiveStatus = lens _ttldTimeToLiveStatus (\ s a -> s{_ttldTimeToLiveStatus = a});---- | The name of the Time to Live attribute for items in the table.-ttldAttributeName :: Lens' TimeToLiveDescription (Maybe Text)-ttldAttributeName = lens _ttldAttributeName (\ s a -> s{_ttldAttributeName = a});--instance FromJSON TimeToLiveDescription where-        parseJSON-          = withObject "TimeToLiveDescription"-              (\ x ->-                 TimeToLiveDescription' <$>-                   (x .:? "TimeToLiveStatus") <*>-                     (x .:? "AttributeName"))--instance Hashable TimeToLiveDescription where--instance NFData TimeToLiveDescription where---- | Represents the settings used to enable or disable Time to Live for the specified table.------------ /See:/ 'timeToLiveSpecification' smart constructor.-data TimeToLiveSpecification = TimeToLiveSpecification'-  { _ttlsEnabled       :: !Bool-  , _ttlsAttributeName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TimeToLiveSpecification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ttlsEnabled' - Indicates whether Time To Live is to be enabled (true) or disabled (false) on the table.------ * 'ttlsAttributeName' - The name of the Time to Live attribute used to store the expiration time for items in the table.-timeToLiveSpecification-    :: Bool -- ^ 'ttlsEnabled'-    -> Text -- ^ 'ttlsAttributeName'-    -> TimeToLiveSpecification-timeToLiveSpecification pEnabled_ pAttributeName_ =-  TimeToLiveSpecification'-  {_ttlsEnabled = pEnabled_, _ttlsAttributeName = pAttributeName_}----- | Indicates whether Time To Live is to be enabled (true) or disabled (false) on the table.-ttlsEnabled :: Lens' TimeToLiveSpecification Bool-ttlsEnabled = lens _ttlsEnabled (\ s a -> s{_ttlsEnabled = a});---- | The name of the Time to Live attribute used to store the expiration time for items in the table.-ttlsAttributeName :: Lens' TimeToLiveSpecification Text-ttlsAttributeName = lens _ttlsAttributeName (\ s a -> s{_ttlsAttributeName = a});--instance FromJSON TimeToLiveSpecification where-        parseJSON-          = withObject "TimeToLiveSpecification"-              (\ x ->-                 TimeToLiveSpecification' <$>-                   (x .: "Enabled") <*> (x .: "AttributeName"))--instance Hashable TimeToLiveSpecification where--instance NFData TimeToLiveSpecification where--instance ToJSON TimeToLiveSpecification where-        toJSON TimeToLiveSpecification'{..}-          = object-              (catMaybes-                 [Just ("Enabled" .= _ttlsEnabled),-                  Just ("AttributeName" .= _ttlsAttributeName)])---- | Represents the new provisioned throughput settings to be applied to a global secondary index.------------ /See:/ 'updateGlobalSecondaryIndexAction' smart constructor.-data UpdateGlobalSecondaryIndexAction = UpdateGlobalSecondaryIndexAction'-  { _ugsiaIndexName             :: !Text-  , _ugsiaProvisionedThroughput :: !ProvisionedThroughput-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateGlobalSecondaryIndexAction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ugsiaIndexName' - The name of the global secondary index to be updated.------ * 'ugsiaProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-updateGlobalSecondaryIndexAction-    :: Text -- ^ 'ugsiaIndexName'-    -> ProvisionedThroughput -- ^ 'ugsiaProvisionedThroughput'-    -> UpdateGlobalSecondaryIndexAction-updateGlobalSecondaryIndexAction pIndexName_ pProvisionedThroughput_ =-  UpdateGlobalSecondaryIndexAction'-  { _ugsiaIndexName = pIndexName_-  , _ugsiaProvisionedThroughput = pProvisionedThroughput_-  }----- | The name of the global secondary index to be updated.-ugsiaIndexName :: Lens' UpdateGlobalSecondaryIndexAction Text-ugsiaIndexName = lens _ugsiaIndexName (\ s a -> s{_ugsiaIndexName = a});---- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .-ugsiaProvisionedThroughput :: Lens' UpdateGlobalSecondaryIndexAction ProvisionedThroughput-ugsiaProvisionedThroughput = lens _ugsiaProvisionedThroughput (\ s a -> s{_ugsiaProvisionedThroughput = a});--instance Hashable UpdateGlobalSecondaryIndexAction-         where--instance NFData UpdateGlobalSecondaryIndexAction-         where--instance ToJSON UpdateGlobalSecondaryIndexAction-         where-        toJSON UpdateGlobalSecondaryIndexAction'{..}-          = object-              (catMaybes-                 [Just ("IndexName" .= _ugsiaIndexName),-                  Just-                    ("ProvisionedThroughput" .=-                       _ugsiaProvisionedThroughput)])---- | Represents an operation to perform - either @DeleteItem@ or @PutItem@ . You can only request one of these operations, not both, in a single @WriteRequest@ . If you do need to perform both of these operations, you will need to provide two separate @WriteRequest@ objects.------------ /See:/ 'writeRequest' smart constructor.-data WriteRequest = WriteRequest'-  { _wrDeleteRequest :: !(Maybe DeleteRequest)-  , _wrPutRequest    :: !(Maybe PutRequest)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WriteRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wrDeleteRequest' - A request to perform a @DeleteItem@ operation.------ * 'wrPutRequest' - A request to perform a @PutItem@ operation.-writeRequest-    :: WriteRequest-writeRequest =-  WriteRequest' {_wrDeleteRequest = Nothing, _wrPutRequest = Nothing}----- | A request to perform a @DeleteItem@ operation.-wrDeleteRequest :: Lens' WriteRequest (Maybe DeleteRequest)-wrDeleteRequest = lens _wrDeleteRequest (\ s a -> s{_wrDeleteRequest = a});---- | A request to perform a @PutItem@ operation.-wrPutRequest :: Lens' WriteRequest (Maybe PutRequest)-wrPutRequest = lens _wrPutRequest (\ s a -> s{_wrPutRequest = a});+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.DynamoDB.Types.Product where++import Network.AWS.DynamoDB.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Represents an attribute for describing the key schema for the table and indexes.+--+--+--+-- /See:/ 'attributeDefinition' smart constructor.+data AttributeDefinition = AttributeDefinition'+  { _adAttributeName :: !Text+  , _adAttributeType :: !ScalarAttributeType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttributeDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adAttributeName' - A name for the attribute.+--+-- * 'adAttributeType' - The data type for the attribute, where:     * @S@ - the attribute is of type String     * @N@ - the attribute is of type Number     * @B@ - the attribute is of type Binary+attributeDefinition+    :: Text -- ^ 'adAttributeName'+    -> ScalarAttributeType -- ^ 'adAttributeType'+    -> AttributeDefinition+attributeDefinition pAttributeName_ pAttributeType_ =+  AttributeDefinition'+    {_adAttributeName = pAttributeName_, _adAttributeType = pAttributeType_}+++-- | A name for the attribute.+adAttributeName :: Lens' AttributeDefinition Text+adAttributeName = lens _adAttributeName (\ s a -> s{_adAttributeName = a})++-- | The data type for the attribute, where:     * @S@ - the attribute is of type String     * @N@ - the attribute is of type Number     * @B@ - the attribute is of type Binary+adAttributeType :: Lens' AttributeDefinition ScalarAttributeType+adAttributeType = lens _adAttributeType (\ s a -> s{_adAttributeType = a})++instance FromJSON AttributeDefinition where+        parseJSON+          = withObject "AttributeDefinition"+              (\ x ->+                 AttributeDefinition' <$>+                   (x .: "AttributeName") <*> (x .: "AttributeType"))++instance Hashable AttributeDefinition where++instance NFData AttributeDefinition where++instance ToJSON AttributeDefinition where+        toJSON AttributeDefinition'{..}+          = object+              (catMaybes+                 [Just ("AttributeName" .= _adAttributeName),+                  Just ("AttributeType" .= _adAttributeType)])++-- | Represents the data for an attribute.+--+--+-- Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.+--+-- For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .+--+--+-- /See:/ 'attributeValue' smart constructor.+data AttributeValue = AttributeValue'+  { _avL    :: !(Maybe [AttributeValue])+  , _avNS   :: !(Maybe [Text])+  , _avM    :: !(Maybe (Map Text AttributeValue))+  , _avNULL :: !(Maybe Bool)+  , _avN    :: !(Maybe Text)+  , _avBS   :: !(Maybe [Base64])+  , _avB    :: !(Maybe Base64)+  , _avSS   :: !(Maybe [Text])+  , _avS    :: !(Maybe Text)+  , _avBOOL :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avL' - An attribute of type List. For example: @"L": ["Cookies", "Coffee", 3.14159]@+--+-- * 'avNS' - An attribute of type Number Set. For example: @"NS": ["42.2", "-19", "7.5", "3.14"]@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.+--+-- * 'avM' - An attribute of type Map. For example: @"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}@+--+-- * 'avNULL' - An attribute of type Null. For example: @"NULL": true@+--+-- * 'avN' - An attribute of type Number. For example: @"N": "123.45"@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.+--+-- * 'avBS' - An attribute of type Binary Set. For example: @"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]@+--+-- * 'avB' - An attribute of type Binary. For example: @"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"@ -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+--+-- * 'avSS' - An attribute of type String Set. For example: @"SS": ["Giraffe", "Hippo" ,"Zebra"]@+--+-- * 'avS' - An attribute of type String. For example: @"S": "Hello"@+--+-- * 'avBOOL' - An attribute of type Boolean. For example: @"BOOL": true@+attributeValue+    :: AttributeValue+attributeValue =+  AttributeValue'+    { _avL = Nothing+    , _avNS = Nothing+    , _avM = Nothing+    , _avNULL = Nothing+    , _avN = Nothing+    , _avBS = Nothing+    , _avB = Nothing+    , _avSS = Nothing+    , _avS = Nothing+    , _avBOOL = Nothing+    }+++-- | An attribute of type List. For example: @"L": ["Cookies", "Coffee", 3.14159]@+avL :: Lens' AttributeValue [AttributeValue]+avL = lens _avL (\ s a -> s{_avL = a}) . _Default . _Coerce++-- | An attribute of type Number Set. For example: @"NS": ["42.2", "-19", "7.5", "3.14"]@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.+avNS :: Lens' AttributeValue [Text]+avNS = lens _avNS (\ s a -> s{_avNS = a}) . _Default . _Coerce++-- | An attribute of type Map. For example: @"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}@+avM :: Lens' AttributeValue (HashMap Text AttributeValue)+avM = lens _avM (\ s a -> s{_avM = a}) . _Default . _Map++-- | An attribute of type Null. For example: @"NULL": true@+avNULL :: Lens' AttributeValue (Maybe Bool)+avNULL = lens _avNULL (\ s a -> s{_avNULL = a})++-- | An attribute of type Number. For example: @"N": "123.45"@  Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.+avN :: Lens' AttributeValue (Maybe Text)+avN = lens _avN (\ s a -> s{_avN = a})++-- | An attribute of type Binary Set. For example: @"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]@+avBS :: Lens' AttributeValue [ByteString]+avBS = lens _avBS (\ s a -> s{_avBS = a}) . _Default . _Coerce++-- | An attribute of type Binary. For example: @"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"@ -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+avB :: Lens' AttributeValue (Maybe ByteString)+avB = lens _avB (\ s a -> s{_avB = a}) . mapping _Base64++-- | An attribute of type String Set. For example: @"SS": ["Giraffe", "Hippo" ,"Zebra"]@+avSS :: Lens' AttributeValue [Text]+avSS = lens _avSS (\ s a -> s{_avSS = a}) . _Default . _Coerce++-- | An attribute of type String. For example: @"S": "Hello"@+avS :: Lens' AttributeValue (Maybe Text)+avS = lens _avS (\ s a -> s{_avS = a})++-- | An attribute of type Boolean. For example: @"BOOL": true@+avBOOL :: Lens' AttributeValue (Maybe Bool)+avBOOL = lens _avBOOL (\ s a -> s{_avBOOL = a})++instance FromJSON AttributeValue where+        parseJSON+          = withObject "AttributeValue"+              (\ x ->+                 AttributeValue' <$>+                   (x .:? "L" .!= mempty) <*> (x .:? "NS" .!= mempty)+                     <*> (x .:? "M" .!= mempty)+                     <*> (x .:? "NULL")+                     <*> (x .:? "N")+                     <*> (x .:? "BS" .!= mempty)+                     <*> (x .:? "B")+                     <*> (x .:? "SS" .!= mempty)+                     <*> (x .:? "S")+                     <*> (x .:? "BOOL"))++instance Hashable AttributeValue where++instance NFData AttributeValue where++instance ToJSON AttributeValue where+        toJSON AttributeValue'{..}+          = object+              (catMaybes+                 [("L" .=) <$> _avL, ("NS" .=) <$> _avNS,+                  ("M" .=) <$> _avM, ("NULL" .=) <$> _avNULL,+                  ("N" .=) <$> _avN, ("BS" .=) <$> _avBS,+                  ("B" .=) <$> _avB, ("SS" .=) <$> _avSS,+                  ("S" .=) <$> _avS, ("BOOL" .=) <$> _avBOOL])++-- | For the @UpdateItem@ operation, represents the attributes to be modified, the action to perform on each, and the new value for each.+--+--+-- Attribute values cannot be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests with empty values will be rejected with a @ValidationException@ exception.+--+--+-- /See:/ 'attributeValueUpdate' smart constructor.+data AttributeValueUpdate = AttributeValueUpdate'+  { _avuValue  :: !(Maybe AttributeValue)+  , _avuAction :: !(Maybe AttributeAction)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttributeValueUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avuValue' - Represents the data for an attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'avuAction' - Specifies how to perform the update. Valid values are @PUT@ (default), @DELETE@ , and @ADD@ . The behavior depends on whether the specified primary key already exists in the table. __If an item with the specified /Key/ is found in the table:__      * @PUT@ - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.      * @DELETE@ - If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type. If a /set/ of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set @[a,b,c]@ and the @DELETE@ action specified @[a,c]@ , then the final attribute value would be @[b]@ . Specifying an empty set is an error.     * @ADD@ - If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of @ADD@ depends on the data type of the attribute:     * If the existing attribute is a number, and if @Value@ is also a number, then the @Value@ is mathematically added to the existing attribute. If @Value@ is a negative number, then it is subtracted from the existing attribute.     * If the existing data type is a set, and if the @Value@ is also a set, then the @Value@ is added to the existing set. (This is a /set/ operation, not mathematical addition.) For example, if the attribute value was the set @[1,2]@ , and the @ADD@ action specified @[3]@ , then the final attribute value would be @[1,2,3]@ . An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.  Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the @Value@ must also be a set of strings. The same holds true for number sets and binary sets. This action is only valid for an existing attribute whose data type is number or is a set. Do not use @ADD@ for any other data types. __If no item with the specified /Key/ is found:__      * @PUT@ - DynamoDB creates a new item with the specified primary key, and then adds the attribute.      * @DELETE@ - Nothing happens; there is no attribute to delete.     * @ADD@ - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.+attributeValueUpdate+    :: AttributeValueUpdate+attributeValueUpdate =+  AttributeValueUpdate' {_avuValue = Nothing, _avuAction = Nothing}+++-- | Represents the data for an attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .+avuValue :: Lens' AttributeValueUpdate (Maybe AttributeValue)+avuValue = lens _avuValue (\ s a -> s{_avuValue = a})++-- | Specifies how to perform the update. Valid values are @PUT@ (default), @DELETE@ , and @ADD@ . The behavior depends on whether the specified primary key already exists in the table. __If an item with the specified /Key/ is found in the table:__      * @PUT@ - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.      * @DELETE@ - If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type. If a /set/ of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set @[a,b,c]@ and the @DELETE@ action specified @[a,c]@ , then the final attribute value would be @[b]@ . Specifying an empty set is an error.     * @ADD@ - If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of @ADD@ depends on the data type of the attribute:     * If the existing attribute is a number, and if @Value@ is also a number, then the @Value@ is mathematically added to the existing attribute. If @Value@ is a negative number, then it is subtracted from the existing attribute.     * If the existing data type is a set, and if the @Value@ is also a set, then the @Value@ is added to the existing set. (This is a /set/ operation, not mathematical addition.) For example, if the attribute value was the set @[1,2]@ , and the @ADD@ action specified @[3]@ , then the final attribute value would be @[1,2,3]@ . An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.  Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the @Value@ must also be a set of strings. The same holds true for number sets and binary sets. This action is only valid for an existing attribute whose data type is number or is a set. Do not use @ADD@ for any other data types. __If no item with the specified /Key/ is found:__      * @PUT@ - DynamoDB creates a new item with the specified primary key, and then adds the attribute.      * @DELETE@ - Nothing happens; there is no attribute to delete.     * @ADD@ - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.+avuAction :: Lens' AttributeValueUpdate (Maybe AttributeAction)+avuAction = lens _avuAction (\ s a -> s{_avuAction = a})++instance Hashable AttributeValueUpdate where++instance NFData AttributeValueUpdate where++instance ToJSON AttributeValueUpdate where+        toJSON AttributeValueUpdate'{..}+          = object+              (catMaybes+                 [("Value" .=) <$> _avuValue,+                  ("Action" .=) <$> _avuAction])++-- | Contains the description of the backup created for the table.+--+--+--+-- /See:/ 'backupDescription' smart constructor.+data BackupDescription = BackupDescription'+  { _bdBackupDetails             :: !(Maybe BackupDetails)+  , _bdSourceTableDetails        :: !(Maybe SourceTableDetails)+  , _bdSourceTableFeatureDetails :: !(Maybe SourceTableFeatureDetails)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BackupDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdBackupDetails' - Contains the details of the backup created for the table.+--+-- * 'bdSourceTableDetails' - Contains the details of the table when the backup was created.+--+-- * 'bdSourceTableFeatureDetails' - Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.+backupDescription+    :: BackupDescription+backupDescription =+  BackupDescription'+    { _bdBackupDetails = Nothing+    , _bdSourceTableDetails = Nothing+    , _bdSourceTableFeatureDetails = Nothing+    }+++-- | Contains the details of the backup created for the table.+bdBackupDetails :: Lens' BackupDescription (Maybe BackupDetails)+bdBackupDetails = lens _bdBackupDetails (\ s a -> s{_bdBackupDetails = a})++-- | Contains the details of the table when the backup was created.+bdSourceTableDetails :: Lens' BackupDescription (Maybe SourceTableDetails)+bdSourceTableDetails = lens _bdSourceTableDetails (\ s a -> s{_bdSourceTableDetails = a})++-- | Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.+bdSourceTableFeatureDetails :: Lens' BackupDescription (Maybe SourceTableFeatureDetails)+bdSourceTableFeatureDetails = lens _bdSourceTableFeatureDetails (\ s a -> s{_bdSourceTableFeatureDetails = a})++instance FromJSON BackupDescription where+        parseJSON+          = withObject "BackupDescription"+              (\ x ->+                 BackupDescription' <$>+                   (x .:? "BackupDetails") <*>+                     (x .:? "SourceTableDetails")+                     <*> (x .:? "SourceTableFeatureDetails"))++instance Hashable BackupDescription where++instance NFData BackupDescription where++-- | Contains the details of the backup created for the table.+--+--+--+-- /See:/ 'backupDetails' smart constructor.+data BackupDetails = BackupDetails'+  { _bdBackupSizeBytes        :: !(Maybe Nat)+  , _bdBackupARN              :: !Text+  , _bdBackupName             :: !Text+  , _bdBackupStatus           :: !BackupStatus+  , _bdBackupCreationDateTime :: !POSIX+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BackupDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdBackupSizeBytes' - Size of the backup in bytes.+--+-- * 'bdBackupARN' - ARN associated with the backup.+--+-- * 'bdBackupName' - Name of the requested backup.+--+-- * 'bdBackupStatus' - Backup can be in one of the following states: CREATING, ACTIVE, DELETED.+--+-- * 'bdBackupCreationDateTime' - Time at which the backup was created. This is the request time of the backup.+backupDetails+    :: Text -- ^ 'bdBackupARN'+    -> Text -- ^ 'bdBackupName'+    -> BackupStatus -- ^ 'bdBackupStatus'+    -> UTCTime -- ^ 'bdBackupCreationDateTime'+    -> BackupDetails+backupDetails pBackupARN_ pBackupName_ pBackupStatus_ pBackupCreationDateTime_ =+  BackupDetails'+    { _bdBackupSizeBytes = Nothing+    , _bdBackupARN = pBackupARN_+    , _bdBackupName = pBackupName_+    , _bdBackupStatus = pBackupStatus_+    , _bdBackupCreationDateTime = _Time # pBackupCreationDateTime_+    }+++-- | Size of the backup in bytes.+bdBackupSizeBytes :: Lens' BackupDetails (Maybe Natural)+bdBackupSizeBytes = lens _bdBackupSizeBytes (\ s a -> s{_bdBackupSizeBytes = a}) . mapping _Nat++-- | ARN associated with the backup.+bdBackupARN :: Lens' BackupDetails Text+bdBackupARN = lens _bdBackupARN (\ s a -> s{_bdBackupARN = a})++-- | Name of the requested backup.+bdBackupName :: Lens' BackupDetails Text+bdBackupName = lens _bdBackupName (\ s a -> s{_bdBackupName = a})++-- | Backup can be in one of the following states: CREATING, ACTIVE, DELETED.+bdBackupStatus :: Lens' BackupDetails BackupStatus+bdBackupStatus = lens _bdBackupStatus (\ s a -> s{_bdBackupStatus = a})++-- | Time at which the backup was created. This is the request time of the backup.+bdBackupCreationDateTime :: Lens' BackupDetails UTCTime+bdBackupCreationDateTime = lens _bdBackupCreationDateTime (\ s a -> s{_bdBackupCreationDateTime = a}) . _Time++instance FromJSON BackupDetails where+        parseJSON+          = withObject "BackupDetails"+              (\ x ->+                 BackupDetails' <$>+                   (x .:? "BackupSizeBytes") <*> (x .: "BackupArn") <*>+                     (x .: "BackupName")+                     <*> (x .: "BackupStatus")+                     <*> (x .: "BackupCreationDateTime"))++instance Hashable BackupDetails where++instance NFData BackupDetails where++-- | Contains details for the backup.+--+--+--+-- /See:/ 'backupSummary' smart constructor.+data BackupSummary = BackupSummary'+  { _bsTableARN               :: !(Maybe Text)+  , _bsBackupName             :: !(Maybe Text)+  , _bsBackupStatus           :: !(Maybe BackupStatus)+  , _bsBackupSizeBytes        :: !(Maybe Nat)+  , _bsBackupARN              :: !(Maybe Text)+  , _bsTableId                :: !(Maybe Text)+  , _bsBackupCreationDateTime :: !(Maybe POSIX)+  , _bsTableName              :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BackupSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsTableARN' - ARN associated with the table.+--+-- * 'bsBackupName' - Name of the specified backup.+--+-- * 'bsBackupStatus' - Backup can be in one of the following states: CREATING, ACTIVE, DELETED.+--+-- * 'bsBackupSizeBytes' - Size of the backup in bytes.+--+-- * 'bsBackupARN' - ARN associated with the backup.+--+-- * 'bsTableId' - Unique identifier for the table.+--+-- * 'bsBackupCreationDateTime' - Time at which the backup was created.+--+-- * 'bsTableName' - Name of the table.+backupSummary+    :: BackupSummary+backupSummary =+  BackupSummary'+    { _bsTableARN = Nothing+    , _bsBackupName = Nothing+    , _bsBackupStatus = Nothing+    , _bsBackupSizeBytes = Nothing+    , _bsBackupARN = Nothing+    , _bsTableId = Nothing+    , _bsBackupCreationDateTime = Nothing+    , _bsTableName = Nothing+    }+++-- | ARN associated with the table.+bsTableARN :: Lens' BackupSummary (Maybe Text)+bsTableARN = lens _bsTableARN (\ s a -> s{_bsTableARN = a})++-- | Name of the specified backup.+bsBackupName :: Lens' BackupSummary (Maybe Text)+bsBackupName = lens _bsBackupName (\ s a -> s{_bsBackupName = a})++-- | Backup can be in one of the following states: CREATING, ACTIVE, DELETED.+bsBackupStatus :: Lens' BackupSummary (Maybe BackupStatus)+bsBackupStatus = lens _bsBackupStatus (\ s a -> s{_bsBackupStatus = a})++-- | Size of the backup in bytes.+bsBackupSizeBytes :: Lens' BackupSummary (Maybe Natural)+bsBackupSizeBytes = lens _bsBackupSizeBytes (\ s a -> s{_bsBackupSizeBytes = a}) . mapping _Nat++-- | ARN associated with the backup.+bsBackupARN :: Lens' BackupSummary (Maybe Text)+bsBackupARN = lens _bsBackupARN (\ s a -> s{_bsBackupARN = a})++-- | Unique identifier for the table.+bsTableId :: Lens' BackupSummary (Maybe Text)+bsTableId = lens _bsTableId (\ s a -> s{_bsTableId = a})++-- | Time at which the backup was created.+bsBackupCreationDateTime :: Lens' BackupSummary (Maybe UTCTime)+bsBackupCreationDateTime = lens _bsBackupCreationDateTime (\ s a -> s{_bsBackupCreationDateTime = a}) . mapping _Time++-- | Name of the table.+bsTableName :: Lens' BackupSummary (Maybe Text)+bsTableName = lens _bsTableName (\ s a -> s{_bsTableName = a})++instance FromJSON BackupSummary where+        parseJSON+          = withObject "BackupSummary"+              (\ x ->+                 BackupSummary' <$>+                   (x .:? "TableArn") <*> (x .:? "BackupName") <*>+                     (x .:? "BackupStatus")+                     <*> (x .:? "BackupSizeBytes")+                     <*> (x .:? "BackupArn")+                     <*> (x .:? "TableId")+                     <*> (x .:? "BackupCreationDateTime")+                     <*> (x .:? "TableName"))++instance Hashable BackupSummary where++instance NFData BackupSummary where++-- | Represents the amount of provisioned throughput capacity consumed on a table or an index.+--+--+--+-- /See:/ 'capacity' smart constructor.+newtype Capacity = Capacity'+  { _cCapacityUnits :: Maybe Double+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Capacity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cCapacityUnits' - The total number of capacity units consumed on a table or an index.+capacity+    :: Capacity+capacity = Capacity' {_cCapacityUnits = Nothing}+++-- | The total number of capacity units consumed on a table or an index.+cCapacityUnits :: Lens' Capacity (Maybe Double)+cCapacityUnits = lens _cCapacityUnits (\ s a -> s{_cCapacityUnits = a})++instance FromJSON Capacity where+        parseJSON+          = withObject "Capacity"+              (\ x -> Capacity' <$> (x .:? "CapacityUnits"))++instance Hashable Capacity where++instance NFData Capacity where++-- | Represents the selection criteria for a @Query@ or @Scan@ operation:+--+--+--     * For a @Query@ operation, @Condition@ is used for specifying the @KeyConditions@ to use when querying a table or an index. For @KeyConditions@ , only the following comparison operators are supported:+--+-- @EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN@+--+-- @Condition@ is also used in a @QueryFilter@ , which evaluates the query results and returns only the desired values.+--+--     * For a @Scan@ operation, @Condition@ is used in a @ScanFilter@ , which evaluates the scan results and returns only the desired values.+--+--+--+--+-- /See:/ 'condition' smart constructor.+data Condition = Condition'+  { _cAttributeValueList :: !(Maybe [AttributeValue])+  , _cComparisonOperator :: !ComparisonOperator+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Condition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cAttributeValueList' - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.+--+-- * 'cComparisonOperator' - A comparator for evaluating attributes. For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@  For usage examples of @AttributeValueList@ and @ComparisonOperator@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .+condition+    :: ComparisonOperator -- ^ 'cComparisonOperator'+    -> Condition+condition pComparisonOperator_ =+  Condition'+    { _cAttributeValueList = Nothing+    , _cComparisonOperator = pComparisonOperator_+    }+++-- | One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.+cAttributeValueList :: Lens' Condition [AttributeValue]+cAttributeValueList = lens _cAttributeValueList (\ s a -> s{_cAttributeValueList = a}) . _Default . _Coerce++-- | A comparator for evaluating attributes. For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@  For usage examples of @AttributeValueList@ and @ComparisonOperator@ , see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .+cComparisonOperator :: Lens' Condition ComparisonOperator+cComparisonOperator = lens _cComparisonOperator (\ s a -> s{_cComparisonOperator = a})++instance Hashable Condition where++instance NFData Condition where++instance ToJSON Condition where+        toJSON Condition'{..}+          = object+              (catMaybes+                 [("AttributeValueList" .=) <$> _cAttributeValueList,+                  Just ("ComparisonOperator" .= _cComparisonOperator)])++-- | The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the request asked for it. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ .+--+--+--+-- /See:/ 'consumedCapacity' smart constructor.+data ConsumedCapacity = ConsumedCapacity'+  { _ccGlobalSecondaryIndexes :: !(Maybe (Map Text Capacity))+  , _ccCapacityUnits          :: !(Maybe Double)+  , _ccLocalSecondaryIndexes  :: !(Maybe (Map Text Capacity))+  , _ccTable                  :: !(Maybe Capacity)+  , _ccTableName              :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ConsumedCapacity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccGlobalSecondaryIndexes' - The amount of throughput consumed on each global index affected by the operation.+--+-- * 'ccCapacityUnits' - The total number of capacity units consumed by the operation.+--+-- * 'ccLocalSecondaryIndexes' - The amount of throughput consumed on each local index affected by the operation.+--+-- * 'ccTable' - The amount of throughput consumed on the table affected by the operation.+--+-- * 'ccTableName' - The name of the table that was affected by the operation.+consumedCapacity+    :: ConsumedCapacity+consumedCapacity =+  ConsumedCapacity'+    { _ccGlobalSecondaryIndexes = Nothing+    , _ccCapacityUnits = Nothing+    , _ccLocalSecondaryIndexes = Nothing+    , _ccTable = Nothing+    , _ccTableName = Nothing+    }+++-- | The amount of throughput consumed on each global index affected by the operation.+ccGlobalSecondaryIndexes :: Lens' ConsumedCapacity (HashMap Text Capacity)+ccGlobalSecondaryIndexes = lens _ccGlobalSecondaryIndexes (\ s a -> s{_ccGlobalSecondaryIndexes = a}) . _Default . _Map++-- | The total number of capacity units consumed by the operation.+ccCapacityUnits :: Lens' ConsumedCapacity (Maybe Double)+ccCapacityUnits = lens _ccCapacityUnits (\ s a -> s{_ccCapacityUnits = a})++-- | The amount of throughput consumed on each local index affected by the operation.+ccLocalSecondaryIndexes :: Lens' ConsumedCapacity (HashMap Text Capacity)+ccLocalSecondaryIndexes = lens _ccLocalSecondaryIndexes (\ s a -> s{_ccLocalSecondaryIndexes = a}) . _Default . _Map++-- | The amount of throughput consumed on the table affected by the operation.+ccTable :: Lens' ConsumedCapacity (Maybe Capacity)+ccTable = lens _ccTable (\ s a -> s{_ccTable = a})++-- | The name of the table that was affected by the operation.+ccTableName :: Lens' ConsumedCapacity (Maybe Text)+ccTableName = lens _ccTableName (\ s a -> s{_ccTableName = a})++instance FromJSON ConsumedCapacity where+        parseJSON+          = withObject "ConsumedCapacity"+              (\ x ->+                 ConsumedCapacity' <$>+                   (x .:? "GlobalSecondaryIndexes" .!= mempty) <*>+                     (x .:? "CapacityUnits")+                     <*> (x .:? "LocalSecondaryIndexes" .!= mempty)+                     <*> (x .:? "Table")+                     <*> (x .:? "TableName"))++instance Hashable ConsumedCapacity where++instance NFData ConsumedCapacity where++-- | Represents the continuous backups and point in time recovery settings on the table.+--+--+--+-- /See:/ 'continuousBackupsDescription' smart constructor.+data ContinuousBackupsDescription = ContinuousBackupsDescription'+  { _cbdPointInTimeRecoveryDescription :: !(Maybe PointInTimeRecoveryDescription)+  , _cbdContinuousBackupsStatus :: !ContinuousBackupsStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ContinuousBackupsDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbdPointInTimeRecoveryDescription' - The description of the point in time recovery settings applied to the table.+--+-- * 'cbdContinuousBackupsStatus' - @ContinuousBackupsStatus@ can be one of the following states : ENABLED, DISABLED+continuousBackupsDescription+    :: ContinuousBackupsStatus -- ^ 'cbdContinuousBackupsStatus'+    -> ContinuousBackupsDescription+continuousBackupsDescription pContinuousBackupsStatus_ =+  ContinuousBackupsDescription'+    { _cbdPointInTimeRecoveryDescription = Nothing+    , _cbdContinuousBackupsStatus = pContinuousBackupsStatus_+    }+++-- | The description of the point in time recovery settings applied to the table.+cbdPointInTimeRecoveryDescription :: Lens' ContinuousBackupsDescription (Maybe PointInTimeRecoveryDescription)+cbdPointInTimeRecoveryDescription = lens _cbdPointInTimeRecoveryDescription (\ s a -> s{_cbdPointInTimeRecoveryDescription = a})++-- | @ContinuousBackupsStatus@ can be one of the following states : ENABLED, DISABLED+cbdContinuousBackupsStatus :: Lens' ContinuousBackupsDescription ContinuousBackupsStatus+cbdContinuousBackupsStatus = lens _cbdContinuousBackupsStatus (\ s a -> s{_cbdContinuousBackupsStatus = a})++instance FromJSON ContinuousBackupsDescription where+        parseJSON+          = withObject "ContinuousBackupsDescription"+              (\ x ->+                 ContinuousBackupsDescription' <$>+                   (x .:? "PointInTimeRecoveryDescription") <*>+                     (x .: "ContinuousBackupsStatus"))++instance Hashable ContinuousBackupsDescription where++instance NFData ContinuousBackupsDescription where++-- | Represents a new global secondary index to be added to an existing table.+--+--+--+-- /See:/ 'createGlobalSecondaryIndexAction' smart constructor.+data CreateGlobalSecondaryIndexAction = CreateGlobalSecondaryIndexAction'+  { _cgsiaIndexName             :: !Text+  , _cgsiaKeySchema             :: !(List1 KeySchemaElement)+  , _cgsiaProjection            :: !Projection+  , _cgsiaProvisionedThroughput :: !ProvisionedThroughput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGlobalSecondaryIndexAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgsiaIndexName' - The name of the global secondary index to be created.+--+-- * 'cgsiaKeySchema' - The key schema for the global secondary index.+--+-- * 'cgsiaProjection' - Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+--+-- * 'cgsiaProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+createGlobalSecondaryIndexAction+    :: Text -- ^ 'cgsiaIndexName'+    -> NonEmpty KeySchemaElement -- ^ 'cgsiaKeySchema'+    -> Projection -- ^ 'cgsiaProjection'+    -> ProvisionedThroughput -- ^ 'cgsiaProvisionedThroughput'+    -> CreateGlobalSecondaryIndexAction+createGlobalSecondaryIndexAction pIndexName_ pKeySchema_ pProjection_ pProvisionedThroughput_ =+  CreateGlobalSecondaryIndexAction'+    { _cgsiaIndexName = pIndexName_+    , _cgsiaKeySchema = _List1 # pKeySchema_+    , _cgsiaProjection = pProjection_+    , _cgsiaProvisionedThroughput = pProvisionedThroughput_+    }+++-- | The name of the global secondary index to be created.+cgsiaIndexName :: Lens' CreateGlobalSecondaryIndexAction Text+cgsiaIndexName = lens _cgsiaIndexName (\ s a -> s{_cgsiaIndexName = a})++-- | The key schema for the global secondary index.+cgsiaKeySchema :: Lens' CreateGlobalSecondaryIndexAction (NonEmpty KeySchemaElement)+cgsiaKeySchema = lens _cgsiaKeySchema (\ s a -> s{_cgsiaKeySchema = a}) . _List1++-- | Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+cgsiaProjection :: Lens' CreateGlobalSecondaryIndexAction Projection+cgsiaProjection = lens _cgsiaProjection (\ s a -> s{_cgsiaProjection = a})++-- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+cgsiaProvisionedThroughput :: Lens' CreateGlobalSecondaryIndexAction ProvisionedThroughput+cgsiaProvisionedThroughput = lens _cgsiaProvisionedThroughput (\ s a -> s{_cgsiaProvisionedThroughput = a})++instance Hashable CreateGlobalSecondaryIndexAction+         where++instance NFData CreateGlobalSecondaryIndexAction+         where++instance ToJSON CreateGlobalSecondaryIndexAction+         where+        toJSON CreateGlobalSecondaryIndexAction'{..}+          = object+              (catMaybes+                 [Just ("IndexName" .= _cgsiaIndexName),+                  Just ("KeySchema" .= _cgsiaKeySchema),+                  Just ("Projection" .= _cgsiaProjection),+                  Just+                    ("ProvisionedThroughput" .=+                       _cgsiaProvisionedThroughput)])++-- | Represents a replica to be added.+--+--+--+-- /See:/ 'createReplicaAction' smart constructor.+newtype CreateReplicaAction = CreateReplicaAction'+  { _craRegionName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateReplicaAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'craRegionName' - The region of the replica to be added.+createReplicaAction+    :: Text -- ^ 'craRegionName'+    -> CreateReplicaAction+createReplicaAction pRegionName_ =+  CreateReplicaAction' {_craRegionName = pRegionName_}+++-- | The region of the replica to be added.+craRegionName :: Lens' CreateReplicaAction Text+craRegionName = lens _craRegionName (\ s a -> s{_craRegionName = a})++instance Hashable CreateReplicaAction where++instance NFData CreateReplicaAction where++instance ToJSON CreateReplicaAction where+        toJSON CreateReplicaAction'{..}+          = object+              (catMaybes [Just ("RegionName" .= _craRegionName)])++-- | Represents a global secondary index to be deleted from an existing table.+--+--+--+-- /See:/ 'deleteGlobalSecondaryIndexAction' smart constructor.+newtype DeleteGlobalSecondaryIndexAction = DeleteGlobalSecondaryIndexAction'+  { _dgsiaIndexName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteGlobalSecondaryIndexAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgsiaIndexName' - The name of the global secondary index to be deleted.+deleteGlobalSecondaryIndexAction+    :: Text -- ^ 'dgsiaIndexName'+    -> DeleteGlobalSecondaryIndexAction+deleteGlobalSecondaryIndexAction pIndexName_ =+  DeleteGlobalSecondaryIndexAction' {_dgsiaIndexName = pIndexName_}+++-- | The name of the global secondary index to be deleted.+dgsiaIndexName :: Lens' DeleteGlobalSecondaryIndexAction Text+dgsiaIndexName = lens _dgsiaIndexName (\ s a -> s{_dgsiaIndexName = a})++instance Hashable DeleteGlobalSecondaryIndexAction+         where++instance NFData DeleteGlobalSecondaryIndexAction+         where++instance ToJSON DeleteGlobalSecondaryIndexAction+         where+        toJSON DeleteGlobalSecondaryIndexAction'{..}+          = object+              (catMaybes [Just ("IndexName" .= _dgsiaIndexName)])++-- | Represents a replica to be removed.+--+--+--+-- /See:/ 'deleteReplicaAction' smart constructor.+newtype DeleteReplicaAction = DeleteReplicaAction'+  { _draRegionName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteReplicaAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'draRegionName' - The region of the replica to be removed.+deleteReplicaAction+    :: Text -- ^ 'draRegionName'+    -> DeleteReplicaAction+deleteReplicaAction pRegionName_ =+  DeleteReplicaAction' {_draRegionName = pRegionName_}+++-- | The region of the replica to be removed.+draRegionName :: Lens' DeleteReplicaAction Text+draRegionName = lens _draRegionName (\ s a -> s{_draRegionName = a})++instance Hashable DeleteReplicaAction where++instance NFData DeleteReplicaAction where++instance ToJSON DeleteReplicaAction where+        toJSON DeleteReplicaAction'{..}+          = object+              (catMaybes [Just ("RegionName" .= _draRegionName)])++-- | Represents a request to perform a @DeleteItem@ operation on an item.+--+--+--+-- /See:/ 'deleteRequest' smart constructor.+newtype DeleteRequest = DeleteRequest'+  { _drKey :: Map Text AttributeValue+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drKey' - A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.+deleteRequest+    :: DeleteRequest+deleteRequest = DeleteRequest' {_drKey = mempty}+++-- | A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.+drKey :: Lens' DeleteRequest (HashMap Text AttributeValue)+drKey = lens _drKey (\ s a -> s{_drKey = a}) . _Map++instance FromJSON DeleteRequest where+        parseJSON+          = withObject "DeleteRequest"+              (\ x -> DeleteRequest' <$> (x .:? "Key" .!= mempty))++instance Hashable DeleteRequest where++instance NFData DeleteRequest where++instance ToJSON DeleteRequest where+        toJSON DeleteRequest'{..}+          = object (catMaybes [Just ("Key" .= _drKey)])++-- | Represents a condition to be compared with an attribute value. This condition can be used with @DeleteItem@ , @PutItem@ or @UpdateItem@ operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use @ExpectedAttributeValue@ in one of two different ways:+--+--+--     * Use @AttributeValueList@ to specify one or more values to compare against an attribute. Use @ComparisonOperator@ to specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.+--+--     * Use @Value@ to specify a value that DynamoDB will compare against an attribute. If the values match, then @ExpectedAttributeValue@ evaluates to true and the conditional operation succeeds. Optionally, you can also set @Exists@ to false, indicating that you /do not/ expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.+--+--+--+-- @Value@ and @Exists@ are incompatible with @AttributeValueList@ and @ComparisonOperator@ . Note that if you use both sets of parameters at once, DynamoDB will return a @ValidationException@ exception.+--+--+-- /See:/ 'expectedAttributeValue' smart constructor.+data ExpectedAttributeValue = ExpectedAttributeValue'+  { _eavAttributeValueList :: !(Maybe [AttributeValue])+  , _eavExists             :: !(Maybe Bool)+  , _eavValue              :: !(Maybe AttributeValue)+  , _eavComparisonOperator :: !(Maybe ComparisonOperator)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExpectedAttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eavAttributeValueList' - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values. For information on specifying data types in JSON, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html JSON Data Format> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'eavExists' - Causes DynamoDB to evaluate the value before attempting a conditional operation:     * If @Exists@ is @true@ , DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a @ConditionalCheckFailedException@ .     * If @Exists@ is @false@ , DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a @ConditionalCheckFailedException@ . The default setting for @Exists@ is @true@ . If you supply a @Value@ all by itself, DynamoDB assumes the attribute exists: You don't have to set @Exists@ to @true@ , because it is implied. DynamoDB returns a @ValidationException@ if:     * @Exists@ is @true@ but there is no @Value@ to check. (You expect a value to exist, but don't specify what that value is.)     * @Exists@ is @false@ but you also provide a @Value@ . (You cannot expect an attribute to have a value, while also expecting it not to exist.)+--+-- * 'eavValue' - Represents the data for the expected attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'eavComparisonOperator' - A comparator for evaluating attributes in the @AttributeValueList@ . For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@+expectedAttributeValue+    :: ExpectedAttributeValue+expectedAttributeValue =+  ExpectedAttributeValue'+    { _eavAttributeValueList = Nothing+    , _eavExists = Nothing+    , _eavValue = Nothing+    , _eavComparisonOperator = Nothing+    }+++-- | One or more values to evaluate against the supplied attribute. The number of values in the list depends on the @ComparisonOperator@ being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, @a@ is greater than @A@ , and @a@ is greater than @B@ . For a list of code values, see <http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters> . For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values. For information on specifying data types in JSON, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html JSON Data Format> in the /Amazon DynamoDB Developer Guide/ .+eavAttributeValueList :: Lens' ExpectedAttributeValue [AttributeValue]+eavAttributeValueList = lens _eavAttributeValueList (\ s a -> s{_eavAttributeValueList = a}) . _Default . _Coerce++-- | Causes DynamoDB to evaluate the value before attempting a conditional operation:     * If @Exists@ is @true@ , DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a @ConditionalCheckFailedException@ .     * If @Exists@ is @false@ , DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a @ConditionalCheckFailedException@ . The default setting for @Exists@ is @true@ . If you supply a @Value@ all by itself, DynamoDB assumes the attribute exists: You don't have to set @Exists@ to @true@ , because it is implied. DynamoDB returns a @ValidationException@ if:     * @Exists@ is @true@ but there is no @Value@ to check. (You expect a value to exist, but don't specify what that value is.)     * @Exists@ is @false@ but you also provide a @Value@ . (You cannot expect an attribute to have a value, while also expecting it not to exist.)+eavExists :: Lens' ExpectedAttributeValue (Maybe Bool)+eavExists = lens _eavExists (\ s a -> s{_eavExists = a})++-- | Represents the data for the expected attribute. Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Data Types> in the /Amazon DynamoDB Developer Guide/ .+eavValue :: Lens' ExpectedAttributeValue (Maybe AttributeValue)+eavValue = lens _eavValue (\ s a -> s{_eavValue = a})++-- | A comparator for evaluating attributes in the @AttributeValueList@ . For example, equals, greater than, less than, etc. The following comparison operators are available: @EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN@  The following are descriptions of each comparison operator.     * @EQ@ : Equal. @EQ@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @NE@ : Not equal. @NE@ is supported for all data types, including lists and maps. @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an @AttributeValue@ of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not equal @{"NS":["6", "2", "1"]}@ .     * @LE@ : Less than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @LT@ : Less than.  @AttributeValueList@ can contain only one @AttributeValue@ of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GE@ : Greater than or equal.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @GT@ : Greater than.  @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not equal @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@ .     * @NOT_NULL@ : The attribute exists. @NOT_NULL@ is supported for all data types, including lists and maps.     * @NULL@ : The attribute does not exist. @NULL@ is supported for all data types, including lists and maps.     * @CONTAINS@ : Checks for a subsequence, or value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating "@a CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @NOT_CONTAINS@ : Checks for absence of a subsequence, or absence of a value in a set. @AttributeValueList@ can contain only one @AttributeValue@ element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set ("@SS@ ", "@NS@ ", or "@BS@ "), then the operator evaluates to true if it /does not/ find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating "@a NOT CONTAINS b@ ", "@a@ " can be a list; however, "@b@ " cannot be a set, a map, or a list.     * @BEGINS_WITH@ : Checks for a prefix.  @AttributeValueList@ can contain only one @AttributeValue@ of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).     * @IN@ : Checks for matching elements in a list. @AttributeValueList@ can contain one or more @AttributeValue@ elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.     * @BETWEEN@ : Greater than or equal to the first value, and less than or equal to the second value.  @AttributeValueList@ must contain two @AttributeValue@ elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an @AttributeValue@ element of a different type than the one provided in the request, the value does not match. For example, @{"S":"6"}@ does not compare to @{"N":"6"}@ . Also, @{"N":"6"}@ does not compare to @{"NS":["6", "2", "1"]}@+eavComparisonOperator :: Lens' ExpectedAttributeValue (Maybe ComparisonOperator)+eavComparisonOperator = lens _eavComparisonOperator (\ s a -> s{_eavComparisonOperator = a})++instance Hashable ExpectedAttributeValue where++instance NFData ExpectedAttributeValue where++instance ToJSON ExpectedAttributeValue where+        toJSON ExpectedAttributeValue'{..}+          = object+              (catMaybes+                 [("AttributeValueList" .=) <$>+                    _eavAttributeValueList,+                  ("Exists" .=) <$> _eavExists,+                  ("Value" .=) <$> _eavValue,+                  ("ComparisonOperator" .=) <$>+                    _eavComparisonOperator])++-- | Represents the properties of a global secondary index.+--+--+--+-- /See:/ 'globalSecondaryIndex' smart constructor.+data GlobalSecondaryIndex = GlobalSecondaryIndex'+  { _gsiIndexName             :: !Text+  , _gsiKeySchema             :: !(List1 KeySchemaElement)+  , _gsiProjection            :: !Projection+  , _gsiProvisionedThroughput :: !ProvisionedThroughput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlobalSecondaryIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsiIndexName' - The name of the global secondary index. The name must be unique among all other indexes on this table.+--+-- * 'gsiKeySchema' - The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+--+-- * 'gsiProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+--+-- * 'gsiProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+globalSecondaryIndex+    :: Text -- ^ 'gsiIndexName'+    -> NonEmpty KeySchemaElement -- ^ 'gsiKeySchema'+    -> Projection -- ^ 'gsiProjection'+    -> ProvisionedThroughput -- ^ 'gsiProvisionedThroughput'+    -> GlobalSecondaryIndex+globalSecondaryIndex pIndexName_ pKeySchema_ pProjection_ pProvisionedThroughput_ =+  GlobalSecondaryIndex'+    { _gsiIndexName = pIndexName_+    , _gsiKeySchema = _List1 # pKeySchema_+    , _gsiProjection = pProjection_+    , _gsiProvisionedThroughput = pProvisionedThroughput_+    }+++-- | The name of the global secondary index. The name must be unique among all other indexes on this table.+gsiIndexName :: Lens' GlobalSecondaryIndex Text+gsiIndexName = lens _gsiIndexName (\ s a -> s{_gsiIndexName = a})++-- | The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+gsiKeySchema :: Lens' GlobalSecondaryIndex (NonEmpty KeySchemaElement)+gsiKeySchema = lens _gsiKeySchema (\ s a -> s{_gsiKeySchema = a}) . _List1++-- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+gsiProjection :: Lens' GlobalSecondaryIndex Projection+gsiProjection = lens _gsiProjection (\ s a -> s{_gsiProjection = a})++-- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+gsiProvisionedThroughput :: Lens' GlobalSecondaryIndex ProvisionedThroughput+gsiProvisionedThroughput = lens _gsiProvisionedThroughput (\ s a -> s{_gsiProvisionedThroughput = a})++instance Hashable GlobalSecondaryIndex where++instance NFData GlobalSecondaryIndex where++instance ToJSON GlobalSecondaryIndex where+        toJSON GlobalSecondaryIndex'{..}+          = object+              (catMaybes+                 [Just ("IndexName" .= _gsiIndexName),+                  Just ("KeySchema" .= _gsiKeySchema),+                  Just ("Projection" .= _gsiProjection),+                  Just+                    ("ProvisionedThroughput" .=+                       _gsiProvisionedThroughput)])++-- | Represents the properties of a global secondary index.+--+--+--+-- /See:/ 'globalSecondaryIndexDescription' smart constructor.+data GlobalSecondaryIndexDescription = GlobalSecondaryIndexDescription'+  { _gsidBackfilling           :: !(Maybe Bool)+  , _gsidIndexSizeBytes        :: !(Maybe Integer)+  , _gsidIndexStatus           :: !(Maybe IndexStatus)+  , _gsidProvisionedThroughput :: !(Maybe ProvisionedThroughputDescription)+  , _gsidIndexARN              :: !(Maybe Text)+  , _gsidKeySchema             :: !(Maybe (List1 KeySchemaElement))+  , _gsidProjection            :: !(Maybe Projection)+  , _gsidItemCount             :: !(Maybe Integer)+  , _gsidIndexName             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlobalSecondaryIndexDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsidBackfilling' - Indicates whether the index is currently backfilling. /Backfilling/ is the process of reading items from the table and determining whether they can be added to the index. (Not all items will qualify: For example, a partition key cannot have any duplicate values.) If an item can be added to the index, DynamoDB will do so. After all items have been processed, the backfilling operation is complete and @Backfilling@ is false.+--+-- * 'gsidIndexSizeBytes' - The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+--+-- * 'gsidIndexStatus' - The current state of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.+--+-- * 'gsidProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'gsidIndexARN' - The Amazon Resource Name (ARN) that uniquely identifies the index.+--+-- * 'gsidKeySchema' - The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+--+-- * 'gsidProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+--+-- * 'gsidItemCount' - The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+--+-- * 'gsidIndexName' - The name of the global secondary index.+globalSecondaryIndexDescription+    :: GlobalSecondaryIndexDescription+globalSecondaryIndexDescription =+  GlobalSecondaryIndexDescription'+    { _gsidBackfilling = Nothing+    , _gsidIndexSizeBytes = Nothing+    , _gsidIndexStatus = Nothing+    , _gsidProvisionedThroughput = Nothing+    , _gsidIndexARN = Nothing+    , _gsidKeySchema = Nothing+    , _gsidProjection = Nothing+    , _gsidItemCount = Nothing+    , _gsidIndexName = Nothing+    }+++-- | Indicates whether the index is currently backfilling. /Backfilling/ is the process of reading items from the table and determining whether they can be added to the index. (Not all items will qualify: For example, a partition key cannot have any duplicate values.) If an item can be added to the index, DynamoDB will do so. After all items have been processed, the backfilling operation is complete and @Backfilling@ is false.+gsidBackfilling :: Lens' GlobalSecondaryIndexDescription (Maybe Bool)+gsidBackfilling = lens _gsidBackfilling (\ s a -> s{_gsidBackfilling = a})++-- | The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+gsidIndexSizeBytes :: Lens' GlobalSecondaryIndexDescription (Maybe Integer)+gsidIndexSizeBytes = lens _gsidIndexSizeBytes (\ s a -> s{_gsidIndexSizeBytes = a})++-- | The current state of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.+gsidIndexStatus :: Lens' GlobalSecondaryIndexDescription (Maybe IndexStatus)+gsidIndexStatus = lens _gsidIndexStatus (\ s a -> s{_gsidIndexStatus = a})++-- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+gsidProvisionedThroughput :: Lens' GlobalSecondaryIndexDescription (Maybe ProvisionedThroughputDescription)+gsidProvisionedThroughput = lens _gsidProvisionedThroughput (\ s a -> s{_gsidProvisionedThroughput = a})++-- | The Amazon Resource Name (ARN) that uniquely identifies the index.+gsidIndexARN :: Lens' GlobalSecondaryIndexDescription (Maybe Text)+gsidIndexARN = lens _gsidIndexARN (\ s a -> s{_gsidIndexARN = a})++-- | The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+gsidKeySchema :: Lens' GlobalSecondaryIndexDescription (Maybe (NonEmpty KeySchemaElement))+gsidKeySchema = lens _gsidKeySchema (\ s a -> s{_gsidKeySchema = a}) . mapping _List1++-- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+gsidProjection :: Lens' GlobalSecondaryIndexDescription (Maybe Projection)+gsidProjection = lens _gsidProjection (\ s a -> s{_gsidProjection = a})++-- | The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+gsidItemCount :: Lens' GlobalSecondaryIndexDescription (Maybe Integer)+gsidItemCount = lens _gsidItemCount (\ s a -> s{_gsidItemCount = a})++-- | The name of the global secondary index.+gsidIndexName :: Lens' GlobalSecondaryIndexDescription (Maybe Text)+gsidIndexName = lens _gsidIndexName (\ s a -> s{_gsidIndexName = a})++instance FromJSON GlobalSecondaryIndexDescription+         where+        parseJSON+          = withObject "GlobalSecondaryIndexDescription"+              (\ x ->+                 GlobalSecondaryIndexDescription' <$>+                   (x .:? "Backfilling") <*> (x .:? "IndexSizeBytes")+                     <*> (x .:? "IndexStatus")+                     <*> (x .:? "ProvisionedThroughput")+                     <*> (x .:? "IndexArn")+                     <*> (x .:? "KeySchema")+                     <*> (x .:? "Projection")+                     <*> (x .:? "ItemCount")+                     <*> (x .:? "IndexName"))++instance Hashable GlobalSecondaryIndexDescription+         where++instance NFData GlobalSecondaryIndexDescription where++-- | Represents the properties of a global secondary index for the table when the backup was created.+--+--+--+-- /See:/ 'globalSecondaryIndexInfo' smart constructor.+data GlobalSecondaryIndexInfo = GlobalSecondaryIndexInfo'+  { _gsiiProvisionedThroughput :: !(Maybe ProvisionedThroughput)+  , _gsiiKeySchema             :: !(Maybe (List1 KeySchemaElement))+  , _gsiiProjection            :: !(Maybe Projection)+  , _gsiiIndexName             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlobalSecondaryIndexInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsiiProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index.+--+-- * 'gsiiKeySchema' - The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+--+-- * 'gsiiProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+--+-- * 'gsiiIndexName' - The name of the global secondary index.+globalSecondaryIndexInfo+    :: GlobalSecondaryIndexInfo+globalSecondaryIndexInfo =+  GlobalSecondaryIndexInfo'+    { _gsiiProvisionedThroughput = Nothing+    , _gsiiKeySchema = Nothing+    , _gsiiProjection = Nothing+    , _gsiiIndexName = Nothing+    }+++-- | Represents the provisioned throughput settings for the specified global secondary index.+gsiiProvisionedThroughput :: Lens' GlobalSecondaryIndexInfo (Maybe ProvisionedThroughput)+gsiiProvisionedThroughput = lens _gsiiProvisionedThroughput (\ s a -> s{_gsiiProvisionedThroughput = a})++-- | The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+gsiiKeySchema :: Lens' GlobalSecondaryIndexInfo (Maybe (NonEmpty KeySchemaElement))+gsiiKeySchema = lens _gsiiKeySchema (\ s a -> s{_gsiiKeySchema = a}) . mapping _List1++-- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+gsiiProjection :: Lens' GlobalSecondaryIndexInfo (Maybe Projection)+gsiiProjection = lens _gsiiProjection (\ s a -> s{_gsiiProjection = a})++-- | The name of the global secondary index.+gsiiIndexName :: Lens' GlobalSecondaryIndexInfo (Maybe Text)+gsiiIndexName = lens _gsiiIndexName (\ s a -> s{_gsiiIndexName = a})++instance FromJSON GlobalSecondaryIndexInfo where+        parseJSON+          = withObject "GlobalSecondaryIndexInfo"+              (\ x ->+                 GlobalSecondaryIndexInfo' <$>+                   (x .:? "ProvisionedThroughput") <*>+                     (x .:? "KeySchema")+                     <*> (x .:? "Projection")+                     <*> (x .:? "IndexName"))++instance Hashable GlobalSecondaryIndexInfo where++instance NFData GlobalSecondaryIndexInfo where++-- | Represents one of the following:+--+--+--     * A new global secondary index to be added to an existing table.+--+--     * New provisioned throughput parameters for an existing global secondary index.+--+--     * An existing global secondary index to be removed from an existing table.+--+--+--+--+-- /See:/ 'globalSecondaryIndexUpdate' smart constructor.+data GlobalSecondaryIndexUpdate = GlobalSecondaryIndexUpdate'+  { _gsiuCreate :: !(Maybe CreateGlobalSecondaryIndexAction)+  , _gsiuDelete :: !(Maybe DeleteGlobalSecondaryIndexAction)+  , _gsiuUpdate :: !(Maybe UpdateGlobalSecondaryIndexAction)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlobalSecondaryIndexUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsiuCreate' - The parameters required for creating a global secondary index on an existing table:     * @IndexName @      * @KeySchema @      * @AttributeDefinitions @      * @Projection @      * @ProvisionedThroughput @+--+-- * 'gsiuDelete' - The name of an existing global secondary index to be removed.+--+-- * 'gsiuUpdate' - The name of an existing global secondary index, along with new provisioned throughput settings to be applied to that index.+globalSecondaryIndexUpdate+    :: GlobalSecondaryIndexUpdate+globalSecondaryIndexUpdate =+  GlobalSecondaryIndexUpdate'+    {_gsiuCreate = Nothing, _gsiuDelete = Nothing, _gsiuUpdate = Nothing}+++-- | The parameters required for creating a global secondary index on an existing table:     * @IndexName @      * @KeySchema @      * @AttributeDefinitions @      * @Projection @      * @ProvisionedThroughput @+gsiuCreate :: Lens' GlobalSecondaryIndexUpdate (Maybe CreateGlobalSecondaryIndexAction)+gsiuCreate = lens _gsiuCreate (\ s a -> s{_gsiuCreate = a})++-- | The name of an existing global secondary index to be removed.+gsiuDelete :: Lens' GlobalSecondaryIndexUpdate (Maybe DeleteGlobalSecondaryIndexAction)+gsiuDelete = lens _gsiuDelete (\ s a -> s{_gsiuDelete = a})++-- | The name of an existing global secondary index, along with new provisioned throughput settings to be applied to that index.+gsiuUpdate :: Lens' GlobalSecondaryIndexUpdate (Maybe UpdateGlobalSecondaryIndexAction)+gsiuUpdate = lens _gsiuUpdate (\ s a -> s{_gsiuUpdate = a})++instance Hashable GlobalSecondaryIndexUpdate where++instance NFData GlobalSecondaryIndexUpdate where++instance ToJSON GlobalSecondaryIndexUpdate where+        toJSON GlobalSecondaryIndexUpdate'{..}+          = object+              (catMaybes+                 [("Create" .=) <$> _gsiuCreate,+                  ("Delete" .=) <$> _gsiuDelete,+                  ("Update" .=) <$> _gsiuUpdate])++-- | Represents the properties of a global table.+--+--+--+-- /See:/ 'globalTable' smart constructor.+data GlobalTable = GlobalTable'+  { _gtGlobalTableName  :: !(Maybe Text)+  , _gtReplicationGroup :: !(Maybe [Replica])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlobalTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtGlobalTableName' - The global table name.+--+-- * 'gtReplicationGroup' - The regions where the global table has replicas.+globalTable+    :: GlobalTable+globalTable =+  GlobalTable' {_gtGlobalTableName = Nothing, _gtReplicationGroup = Nothing}+++-- | The global table name.+gtGlobalTableName :: Lens' GlobalTable (Maybe Text)+gtGlobalTableName = lens _gtGlobalTableName (\ s a -> s{_gtGlobalTableName = a})++-- | The regions where the global table has replicas.+gtReplicationGroup :: Lens' GlobalTable [Replica]+gtReplicationGroup = lens _gtReplicationGroup (\ s a -> s{_gtReplicationGroup = a}) . _Default . _Coerce++instance FromJSON GlobalTable where+        parseJSON+          = withObject "GlobalTable"+              (\ x ->+                 GlobalTable' <$>+                   (x .:? "GlobalTableName") <*>+                     (x .:? "ReplicationGroup" .!= mempty))++instance Hashable GlobalTable where++instance NFData GlobalTable where++-- | Contains details about the global table.+--+--+--+-- /See:/ 'globalTableDescription' smart constructor.+data GlobalTableDescription = GlobalTableDescription'+  { _gtdGlobalTableStatus :: !(Maybe GlobalTableStatus)+  , _gtdGlobalTableName   :: !(Maybe Text)+  , _gtdGlobalTableARN    :: !(Maybe Text)+  , _gtdCreationDateTime  :: !(Maybe POSIX)+  , _gtdReplicationGroup  :: !(Maybe [ReplicaDescription])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlobalTableDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtdGlobalTableStatus' - The current state of the global table:     * @CREATING@ - The global table is being created.     * @UPDATING@ - The global table is being updated.     * @DELETING@ - The global table is being deleted.     * @ACTIVE@ - The global table is ready for use.+--+-- * 'gtdGlobalTableName' - The global table name.+--+-- * 'gtdGlobalTableARN' - The unique identifier of the global table.+--+-- * 'gtdCreationDateTime' - The creation time of the global table.+--+-- * 'gtdReplicationGroup' - The regions where the global table has replicas.+globalTableDescription+    :: GlobalTableDescription+globalTableDescription =+  GlobalTableDescription'+    { _gtdGlobalTableStatus = Nothing+    , _gtdGlobalTableName = Nothing+    , _gtdGlobalTableARN = Nothing+    , _gtdCreationDateTime = Nothing+    , _gtdReplicationGroup = Nothing+    }+++-- | The current state of the global table:     * @CREATING@ - The global table is being created.     * @UPDATING@ - The global table is being updated.     * @DELETING@ - The global table is being deleted.     * @ACTIVE@ - The global table is ready for use.+gtdGlobalTableStatus :: Lens' GlobalTableDescription (Maybe GlobalTableStatus)+gtdGlobalTableStatus = lens _gtdGlobalTableStatus (\ s a -> s{_gtdGlobalTableStatus = a})++-- | The global table name.+gtdGlobalTableName :: Lens' GlobalTableDescription (Maybe Text)+gtdGlobalTableName = lens _gtdGlobalTableName (\ s a -> s{_gtdGlobalTableName = a})++-- | The unique identifier of the global table.+gtdGlobalTableARN :: Lens' GlobalTableDescription (Maybe Text)+gtdGlobalTableARN = lens _gtdGlobalTableARN (\ s a -> s{_gtdGlobalTableARN = a})++-- | The creation time of the global table.+gtdCreationDateTime :: Lens' GlobalTableDescription (Maybe UTCTime)+gtdCreationDateTime = lens _gtdCreationDateTime (\ s a -> s{_gtdCreationDateTime = a}) . mapping _Time++-- | The regions where the global table has replicas.+gtdReplicationGroup :: Lens' GlobalTableDescription [ReplicaDescription]+gtdReplicationGroup = lens _gtdReplicationGroup (\ s a -> s{_gtdReplicationGroup = a}) . _Default . _Coerce++instance FromJSON GlobalTableDescription where+        parseJSON+          = withObject "GlobalTableDescription"+              (\ x ->+                 GlobalTableDescription' <$>+                   (x .:? "GlobalTableStatus") <*>+                     (x .:? "GlobalTableName")+                     <*> (x .:? "GlobalTableArn")+                     <*> (x .:? "CreationDateTime")+                     <*> (x .:? "ReplicationGroup" .!= mempty))++instance Hashable GlobalTableDescription where++instance NFData GlobalTableDescription where++-- | Represents the settings of a global secondary index for a global table that will be modified.+--+--+--+-- /See:/ 'globalTableGlobalSecondaryIndexSettingsUpdate' smart constructor.+data GlobalTableGlobalSecondaryIndexSettingsUpdate = GlobalTableGlobalSecondaryIndexSettingsUpdate'+  { _gtgsisuProvisionedWriteCapacityUnits :: !(Maybe Nat)+  , _gtgsisuIndexName                     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GlobalTableGlobalSecondaryIndexSettingsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtgsisuProvisionedWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException.@+--+-- * 'gtgsisuIndexName' - The name of the global secondary index. The name must be unique among all other indexes on this table.+globalTableGlobalSecondaryIndexSettingsUpdate+    :: Text -- ^ 'gtgsisuIndexName'+    -> GlobalTableGlobalSecondaryIndexSettingsUpdate+globalTableGlobalSecondaryIndexSettingsUpdate pIndexName_ =+  GlobalTableGlobalSecondaryIndexSettingsUpdate'+    { _gtgsisuProvisionedWriteCapacityUnits = Nothing+    , _gtgsisuIndexName = pIndexName_+    }+++-- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException.@+gtgsisuProvisionedWriteCapacityUnits :: Lens' GlobalTableGlobalSecondaryIndexSettingsUpdate (Maybe Natural)+gtgsisuProvisionedWriteCapacityUnits = lens _gtgsisuProvisionedWriteCapacityUnits (\ s a -> s{_gtgsisuProvisionedWriteCapacityUnits = a}) . mapping _Nat++-- | The name of the global secondary index. The name must be unique among all other indexes on this table.+gtgsisuIndexName :: Lens' GlobalTableGlobalSecondaryIndexSettingsUpdate Text+gtgsisuIndexName = lens _gtgsisuIndexName (\ s a -> s{_gtgsisuIndexName = a})++instance Hashable+           GlobalTableGlobalSecondaryIndexSettingsUpdate+         where++instance NFData+           GlobalTableGlobalSecondaryIndexSettingsUpdate+         where++instance ToJSON+           GlobalTableGlobalSecondaryIndexSettingsUpdate+         where+        toJSON+          GlobalTableGlobalSecondaryIndexSettingsUpdate'{..}+          = object+              (catMaybes+                 [("ProvisionedWriteCapacityUnits" .=) <$>+                    _gtgsisuProvisionedWriteCapacityUnits,+                  Just ("IndexName" .= _gtgsisuIndexName)])++-- | Information about item collections, if any, that were affected by the operation. @ItemCollectionMetrics@ is only returned if the request asked for it. If the table does not have any local secondary indexes, this information is not returned in the response.+--+--+--+-- /See:/ 'itemCollectionMetrics' smart constructor.+data ItemCollectionMetrics = ItemCollectionMetrics'+  { _icmItemCollectionKey   :: !(Maybe (Map Text AttributeValue))+  , _icmSizeEstimateRangeGB :: !(Maybe [Double])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ItemCollectionMetrics' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icmItemCollectionKey' - The partition key value of the item collection. This value is the same as the partition key value of the item.+--+-- * 'icmSizeEstimateRangeGB' - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+itemCollectionMetrics+    :: ItemCollectionMetrics+itemCollectionMetrics =+  ItemCollectionMetrics'+    {_icmItemCollectionKey = Nothing, _icmSizeEstimateRangeGB = Nothing}+++-- | The partition key value of the item collection. This value is the same as the partition key value of the item.+icmItemCollectionKey :: Lens' ItemCollectionMetrics (HashMap Text AttributeValue)+icmItemCollectionKey = lens _icmItemCollectionKey (\ s a -> s{_icmItemCollectionKey = a}) . _Default . _Map++-- | An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+icmSizeEstimateRangeGB :: Lens' ItemCollectionMetrics [Double]+icmSizeEstimateRangeGB = lens _icmSizeEstimateRangeGB (\ s a -> s{_icmSizeEstimateRangeGB = a}) . _Default . _Coerce++instance FromJSON ItemCollectionMetrics where+        parseJSON+          = withObject "ItemCollectionMetrics"+              (\ x ->+                 ItemCollectionMetrics' <$>+                   (x .:? "ItemCollectionKey" .!= mempty) <*>+                     (x .:? "SizeEstimateRangeGB" .!= mempty))++instance Hashable ItemCollectionMetrics where++instance NFData ItemCollectionMetrics where++-- | Represents /a single element/ of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.+--+--+-- A @KeySchemaElement@ represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one @KeySchemaElement@ (for the partition key). A composite primary key would require one @KeySchemaElement@ for the partition key, and another @KeySchemaElement@ for the sort key.+--+-- A @KeySchemaElement@ must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.+--+--+-- /See:/ 'keySchemaElement' smart constructor.+data KeySchemaElement = KeySchemaElement'+  { _kseAttributeName :: !Text+  , _kseKeyType       :: !KeyType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KeySchemaElement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kseAttributeName' - The name of a key attribute.+--+-- * 'kseKeyType' - The role that this key attribute will assume:     * @HASH@ - partition key     * @RANGE@ - sort key+keySchemaElement+    :: Text -- ^ 'kseAttributeName'+    -> KeyType -- ^ 'kseKeyType'+    -> KeySchemaElement+keySchemaElement pAttributeName_ pKeyType_ =+  KeySchemaElement'+    {_kseAttributeName = pAttributeName_, _kseKeyType = pKeyType_}+++-- | The name of a key attribute.+kseAttributeName :: Lens' KeySchemaElement Text+kseAttributeName = lens _kseAttributeName (\ s a -> s{_kseAttributeName = a})++-- | The role that this key attribute will assume:     * @HASH@ - partition key     * @RANGE@ - sort key+kseKeyType :: Lens' KeySchemaElement KeyType+kseKeyType = lens _kseKeyType (\ s a -> s{_kseKeyType = a})++instance FromJSON KeySchemaElement where+        parseJSON+          = withObject "KeySchemaElement"+              (\ x ->+                 KeySchemaElement' <$>+                   (x .: "AttributeName") <*> (x .: "KeyType"))++instance Hashable KeySchemaElement where++instance NFData KeySchemaElement where++instance ToJSON KeySchemaElement where+        toJSON KeySchemaElement'{..}+          = object+              (catMaybes+                 [Just ("AttributeName" .= _kseAttributeName),+                  Just ("KeyType" .= _kseKeyType)])++-- | Represents a set of primary keys and, for each key, the attributes to retrieve from the table.+--+--+-- For each primary key, you must provide /all/ of the key attributes. For example, with a simple primary key, you only need to provide the partition key. For a composite primary key, you must provide /both/ the partition key and the sort key.+--+--+-- /See:/ 'keysAndAttributes' smart constructor.+data KeysAndAttributes = KeysAndAttributes'+  { _kaaProjectionExpression     :: !(Maybe Text)+  , _kaaAttributesToGet          :: !(Maybe (List1 Text))+  , _kaaExpressionAttributeNames :: !(Maybe (Map Text Text))+  , _kaaConsistentRead           :: !(Maybe Bool)+  , _kaaKeys                     :: !(List1 (Map Text AttributeValue))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KeysAndAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kaaProjectionExpression' - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the @ProjectionExpression@ must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'kaaAttributesToGet' - This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'kaaExpressionAttributeNames' - One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'kaaConsistentRead' - The consistency of a read operation. If set to @true@ , then a strongly consistent read is used; otherwise, an eventually consistent read is used.+--+-- * 'kaaKeys' - The primary key attribute values that define the items and the attributes associated with the items.+keysAndAttributes+    :: NonEmpty (HashMap Text AttributeValue) -- ^ 'kaaKeys'+    -> KeysAndAttributes+keysAndAttributes pKeys_ =+  KeysAndAttributes'+    { _kaaProjectionExpression = Nothing+    , _kaaAttributesToGet = Nothing+    , _kaaExpressionAttributeNames = Nothing+    , _kaaConsistentRead = Nothing+    , _kaaKeys = _List1 # pKeys_+    }+++-- | A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the @ProjectionExpression@ must be separated by commas. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .+kaaProjectionExpression :: Lens' KeysAndAttributes (Maybe Text)+kaaProjectionExpression = lens _kaaProjectionExpression (\ s a -> s{_kaaProjectionExpression = a})++-- | This is a legacy parameter. Use @ProjectionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html Legacy Conditional Parameters> in the /Amazon DynamoDB Developer Guide/ .+kaaAttributesToGet :: Lens' KeysAndAttributes (Maybe (NonEmpty Text))+kaaAttributesToGet = lens _kaaAttributesToGet (\ s a -> s{_kaaAttributesToGet = a}) . mapping _List1++-- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ .+kaaExpressionAttributeNames :: Lens' KeysAndAttributes (HashMap Text Text)+kaaExpressionAttributeNames = lens _kaaExpressionAttributeNames (\ s a -> s{_kaaExpressionAttributeNames = a}) . _Default . _Map++-- | The consistency of a read operation. If set to @true@ , then a strongly consistent read is used; otherwise, an eventually consistent read is used.+kaaConsistentRead :: Lens' KeysAndAttributes (Maybe Bool)+kaaConsistentRead = lens _kaaConsistentRead (\ s a -> s{_kaaConsistentRead = a})++-- | The primary key attribute values that define the items and the attributes associated with the items.+kaaKeys :: Lens' KeysAndAttributes (NonEmpty (HashMap Text AttributeValue))+kaaKeys = lens _kaaKeys (\ s a -> s{_kaaKeys = a}) . _List1++instance FromJSON KeysAndAttributes where+        parseJSON+          = withObject "KeysAndAttributes"+              (\ x ->+                 KeysAndAttributes' <$>+                   (x .:? "ProjectionExpression") <*>+                     (x .:? "AttributesToGet")+                     <*> (x .:? "ExpressionAttributeNames" .!= mempty)+                     <*> (x .:? "ConsistentRead")+                     <*> (x .: "Keys"))++instance Hashable KeysAndAttributes where++instance NFData KeysAndAttributes where++instance ToJSON KeysAndAttributes where+        toJSON KeysAndAttributes'{..}+          = object+              (catMaybes+                 [("ProjectionExpression" .=) <$>+                    _kaaProjectionExpression,+                  ("AttributesToGet" .=) <$> _kaaAttributesToGet,+                  ("ExpressionAttributeNames" .=) <$>+                    _kaaExpressionAttributeNames,+                  ("ConsistentRead" .=) <$> _kaaConsistentRead,+                  Just ("Keys" .= _kaaKeys)])++-- | Represents the properties of a local secondary index.+--+--+--+-- /See:/ 'localSecondaryIndex' smart constructor.+data LocalSecondaryIndex = LocalSecondaryIndex'+  { _lsiIndexName  :: !Text+  , _lsiKeySchema  :: !(List1 KeySchemaElement)+  , _lsiProjection :: !Projection+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LocalSecondaryIndex' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsiIndexName' - The name of the local secondary index. The name must be unique among all other indexes on this table.+--+-- * 'lsiKeySchema' - The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+--+-- * 'lsiProjection' - Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+localSecondaryIndex+    :: Text -- ^ 'lsiIndexName'+    -> NonEmpty KeySchemaElement -- ^ 'lsiKeySchema'+    -> Projection -- ^ 'lsiProjection'+    -> LocalSecondaryIndex+localSecondaryIndex pIndexName_ pKeySchema_ pProjection_ =+  LocalSecondaryIndex'+    { _lsiIndexName = pIndexName_+    , _lsiKeySchema = _List1 # pKeySchema_+    , _lsiProjection = pProjection_+    }+++-- | The name of the local secondary index. The name must be unique among all other indexes on this table.+lsiIndexName :: Lens' LocalSecondaryIndex Text+lsiIndexName = lens _lsiIndexName (\ s a -> s{_lsiIndexName = a})++-- | The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+lsiKeySchema :: Lens' LocalSecondaryIndex (NonEmpty KeySchemaElement)+lsiKeySchema = lens _lsiKeySchema (\ s a -> s{_lsiKeySchema = a}) . _List1++-- | Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+lsiProjection :: Lens' LocalSecondaryIndex Projection+lsiProjection = lens _lsiProjection (\ s a -> s{_lsiProjection = a})++instance Hashable LocalSecondaryIndex where++instance NFData LocalSecondaryIndex where++instance ToJSON LocalSecondaryIndex where+        toJSON LocalSecondaryIndex'{..}+          = object+              (catMaybes+                 [Just ("IndexName" .= _lsiIndexName),+                  Just ("KeySchema" .= _lsiKeySchema),+                  Just ("Projection" .= _lsiProjection)])++-- | Represents the properties of a local secondary index.+--+--+--+-- /See:/ 'localSecondaryIndexDescription' smart constructor.+data LocalSecondaryIndexDescription = LocalSecondaryIndexDescription'+  { _lsidIndexSizeBytes :: !(Maybe Integer)+  , _lsidIndexARN       :: !(Maybe Text)+  , _lsidKeySchema      :: !(Maybe (List1 KeySchemaElement))+  , _lsidProjection     :: !(Maybe Projection)+  , _lsidItemCount      :: !(Maybe Integer)+  , _lsidIndexName      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LocalSecondaryIndexDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsidIndexSizeBytes' - The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+--+-- * 'lsidIndexARN' - The Amazon Resource Name (ARN) that uniquely identifies the index.+--+-- * 'lsidKeySchema' - The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+--+-- * 'lsidProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+--+-- * 'lsidItemCount' - The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+--+-- * 'lsidIndexName' - Represents the name of the local secondary index.+localSecondaryIndexDescription+    :: LocalSecondaryIndexDescription+localSecondaryIndexDescription =+  LocalSecondaryIndexDescription'+    { _lsidIndexSizeBytes = Nothing+    , _lsidIndexARN = Nothing+    , _lsidKeySchema = Nothing+    , _lsidProjection = Nothing+    , _lsidItemCount = Nothing+    , _lsidIndexName = Nothing+    }+++-- | The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+lsidIndexSizeBytes :: Lens' LocalSecondaryIndexDescription (Maybe Integer)+lsidIndexSizeBytes = lens _lsidIndexSizeBytes (\ s a -> s{_lsidIndexSizeBytes = a})++-- | The Amazon Resource Name (ARN) that uniquely identifies the index.+lsidIndexARN :: Lens' LocalSecondaryIndexDescription (Maybe Text)+lsidIndexARN = lens _lsidIndexARN (\ s a -> s{_lsidIndexARN = a})++-- | The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+lsidKeySchema :: Lens' LocalSecondaryIndexDescription (Maybe (NonEmpty KeySchemaElement))+lsidKeySchema = lens _lsidKeySchema (\ s a -> s{_lsidKeySchema = a}) . mapping _List1++-- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+lsidProjection :: Lens' LocalSecondaryIndexDescription (Maybe Projection)+lsidProjection = lens _lsidProjection (\ s a -> s{_lsidProjection = a})++-- | The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+lsidItemCount :: Lens' LocalSecondaryIndexDescription (Maybe Integer)+lsidItemCount = lens _lsidItemCount (\ s a -> s{_lsidItemCount = a})++-- | Represents the name of the local secondary index.+lsidIndexName :: Lens' LocalSecondaryIndexDescription (Maybe Text)+lsidIndexName = lens _lsidIndexName (\ s a -> s{_lsidIndexName = a})++instance FromJSON LocalSecondaryIndexDescription+         where+        parseJSON+          = withObject "LocalSecondaryIndexDescription"+              (\ x ->+                 LocalSecondaryIndexDescription' <$>+                   (x .:? "IndexSizeBytes") <*> (x .:? "IndexArn") <*>+                     (x .:? "KeySchema")+                     <*> (x .:? "Projection")+                     <*> (x .:? "ItemCount")+                     <*> (x .:? "IndexName"))++instance Hashable LocalSecondaryIndexDescription+         where++instance NFData LocalSecondaryIndexDescription where++-- | Represents the properties of a local secondary index for the table when the backup was created.+--+--+--+-- /See:/ 'localSecondaryIndexInfo' smart constructor.+data LocalSecondaryIndexInfo = LocalSecondaryIndexInfo'+  { _lsiiKeySchema  :: !(Maybe (List1 KeySchemaElement))+  , _lsiiProjection :: !(Maybe Projection)+  , _lsiiIndexName  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LocalSecondaryIndexInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsiiKeySchema' - The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+--+-- * 'lsiiProjection' - Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+--+-- * 'lsiiIndexName' - Represents the name of the local secondary index.+localSecondaryIndexInfo+    :: LocalSecondaryIndexInfo+localSecondaryIndexInfo =+  LocalSecondaryIndexInfo'+    { _lsiiKeySchema = Nothing+    , _lsiiProjection = Nothing+    , _lsiiIndexName = Nothing+    }+++-- | The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:     * @HASH@ - partition key     * @RANGE@ - sort key+lsiiKeySchema :: Lens' LocalSecondaryIndexInfo (Maybe (NonEmpty KeySchemaElement))+lsiiKeySchema = lens _lsiiKeySchema (\ s a -> s{_lsiiKeySchema = a}) . mapping _List1++-- | Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+lsiiProjection :: Lens' LocalSecondaryIndexInfo (Maybe Projection)+lsiiProjection = lens _lsiiProjection (\ s a -> s{_lsiiProjection = a})++-- | Represents the name of the local secondary index.+lsiiIndexName :: Lens' LocalSecondaryIndexInfo (Maybe Text)+lsiiIndexName = lens _lsiiIndexName (\ s a -> s{_lsiiIndexName = a})++instance FromJSON LocalSecondaryIndexInfo where+        parseJSON+          = withObject "LocalSecondaryIndexInfo"+              (\ x ->+                 LocalSecondaryIndexInfo' <$>+                   (x .:? "KeySchema") <*> (x .:? "Projection") <*>+                     (x .:? "IndexName"))++instance Hashable LocalSecondaryIndexInfo where++instance NFData LocalSecondaryIndexInfo where++-- | The description of the point in time settings applied to the table.+--+--+--+-- /See:/ 'pointInTimeRecoveryDescription' smart constructor.+data PointInTimeRecoveryDescription = PointInTimeRecoveryDescription'+  { _pitrdPointInTimeRecoveryStatus  :: !(Maybe PointInTimeRecoveryStatus)+  , _pitrdEarliestRestorableDateTime :: !(Maybe POSIX)+  , _pitrdLatestRestorableDateTime   :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PointInTimeRecoveryDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitrdPointInTimeRecoveryStatus' - The current state of point in time recovery:     * @ENABLING@ - Point in time recovery is being enabled.     * @ENABLED@ - Point in time recovery is enabled.     * @DISABLED@ - Point in time recovery is disabled.+--+-- * 'pitrdEarliestRestorableDateTime' - Specifies the earliest point in time you can restore your table to. It You can restore your table to any point in time during the last 35 days.+--+-- * 'pitrdLatestRestorableDateTime' - @LatestRestorableDateTime@ is typically 5 minutes before the current time.+pointInTimeRecoveryDescription+    :: PointInTimeRecoveryDescription+pointInTimeRecoveryDescription =+  PointInTimeRecoveryDescription'+    { _pitrdPointInTimeRecoveryStatus = Nothing+    , _pitrdEarliestRestorableDateTime = Nothing+    , _pitrdLatestRestorableDateTime = Nothing+    }+++-- | The current state of point in time recovery:     * @ENABLING@ - Point in time recovery is being enabled.     * @ENABLED@ - Point in time recovery is enabled.     * @DISABLED@ - Point in time recovery is disabled.+pitrdPointInTimeRecoveryStatus :: Lens' PointInTimeRecoveryDescription (Maybe PointInTimeRecoveryStatus)+pitrdPointInTimeRecoveryStatus = lens _pitrdPointInTimeRecoveryStatus (\ s a -> s{_pitrdPointInTimeRecoveryStatus = a})++-- | Specifies the earliest point in time you can restore your table to. It You can restore your table to any point in time during the last 35 days.+pitrdEarliestRestorableDateTime :: Lens' PointInTimeRecoveryDescription (Maybe UTCTime)+pitrdEarliestRestorableDateTime = lens _pitrdEarliestRestorableDateTime (\ s a -> s{_pitrdEarliestRestorableDateTime = a}) . mapping _Time++-- | @LatestRestorableDateTime@ is typically 5 minutes before the current time.+pitrdLatestRestorableDateTime :: Lens' PointInTimeRecoveryDescription (Maybe UTCTime)+pitrdLatestRestorableDateTime = lens _pitrdLatestRestorableDateTime (\ s a -> s{_pitrdLatestRestorableDateTime = a}) . mapping _Time++instance FromJSON PointInTimeRecoveryDescription+         where+        parseJSON+          = withObject "PointInTimeRecoveryDescription"+              (\ x ->+                 PointInTimeRecoveryDescription' <$>+                   (x .:? "PointInTimeRecoveryStatus") <*>+                     (x .:? "EarliestRestorableDateTime")+                     <*> (x .:? "LatestRestorableDateTime"))++instance Hashable PointInTimeRecoveryDescription+         where++instance NFData PointInTimeRecoveryDescription where++-- | Represents the settings used to enable point in time recovery.+--+--+--+-- /See:/ 'pointInTimeRecoverySpecification' smart constructor.+newtype PointInTimeRecoverySpecification = PointInTimeRecoverySpecification'+  { _pitrsPointInTimeRecoveryEnabled :: Bool+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PointInTimeRecoverySpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pitrsPointInTimeRecoveryEnabled' - Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.+pointInTimeRecoverySpecification+    :: Bool -- ^ 'pitrsPointInTimeRecoveryEnabled'+    -> PointInTimeRecoverySpecification+pointInTimeRecoverySpecification pPointInTimeRecoveryEnabled_ =+  PointInTimeRecoverySpecification'+    {_pitrsPointInTimeRecoveryEnabled = pPointInTimeRecoveryEnabled_}+++-- | Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.+pitrsPointInTimeRecoveryEnabled :: Lens' PointInTimeRecoverySpecification Bool+pitrsPointInTimeRecoveryEnabled = lens _pitrsPointInTimeRecoveryEnabled (\ s a -> s{_pitrsPointInTimeRecoveryEnabled = a})++instance Hashable PointInTimeRecoverySpecification+         where++instance NFData PointInTimeRecoverySpecification+         where++instance ToJSON PointInTimeRecoverySpecification+         where+        toJSON PointInTimeRecoverySpecification'{..}+          = object+              (catMaybes+                 [Just+                    ("PointInTimeRecoveryEnabled" .=+                       _pitrsPointInTimeRecoveryEnabled)])++-- | Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.+--+--+--+-- /See:/ 'projection' smart constructor.+data Projection = Projection'+  { _pProjectionType   :: !(Maybe ProjectionType)+  , _pNonKeyAttributes :: !(Maybe (List1 Text))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Projection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pProjectionType' - The set of attributes that are projected into the index:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.+--+-- * 'pNonKeyAttributes' - Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of @NonKeyAttributes@ summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.+projection+    :: Projection+projection =+  Projection' {_pProjectionType = Nothing, _pNonKeyAttributes = Nothing}+++-- | The set of attributes that are projected into the index:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.+pProjectionType :: Lens' Projection (Maybe ProjectionType)+pProjectionType = lens _pProjectionType (\ s a -> s{_pProjectionType = a})++-- | Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of @NonKeyAttributes@ summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.+pNonKeyAttributes :: Lens' Projection (Maybe (NonEmpty Text))+pNonKeyAttributes = lens _pNonKeyAttributes (\ s a -> s{_pNonKeyAttributes = a}) . mapping _List1++instance FromJSON Projection where+        parseJSON+          = withObject "Projection"+              (\ x ->+                 Projection' <$>+                   (x .:? "ProjectionType") <*>+                     (x .:? "NonKeyAttributes"))++instance Hashable Projection where++instance NFData Projection where++instance ToJSON Projection where+        toJSON Projection'{..}+          = object+              (catMaybes+                 [("ProjectionType" .=) <$> _pProjectionType,+                  ("NonKeyAttributes" .=) <$> _pNonKeyAttributes])++-- | Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the @UpdateTable@ operation.+--+--+-- For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+--+--+-- /See:/ 'provisionedThroughput' smart constructor.+data ProvisionedThroughput = ProvisionedThroughput'+  { _ptReadCapacityUnits  :: !Nat+  , _ptWriteCapacityUnits :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProvisionedThroughput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'ptWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+provisionedThroughput+    :: Natural -- ^ 'ptReadCapacityUnits'+    -> Natural -- ^ 'ptWriteCapacityUnits'+    -> ProvisionedThroughput+provisionedThroughput pReadCapacityUnits_ pWriteCapacityUnits_ =+  ProvisionedThroughput'+    { _ptReadCapacityUnits = _Nat # pReadCapacityUnits_+    , _ptWriteCapacityUnits = _Nat # pWriteCapacityUnits_+    }+++-- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+ptReadCapacityUnits :: Lens' ProvisionedThroughput Natural+ptReadCapacityUnits = lens _ptReadCapacityUnits (\ s a -> s{_ptReadCapacityUnits = a}) . _Nat++-- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+ptWriteCapacityUnits :: Lens' ProvisionedThroughput Natural+ptWriteCapacityUnits = lens _ptWriteCapacityUnits (\ s a -> s{_ptWriteCapacityUnits = a}) . _Nat++instance FromJSON ProvisionedThroughput where+        parseJSON+          = withObject "ProvisionedThroughput"+              (\ x ->+                 ProvisionedThroughput' <$>+                   (x .: "ReadCapacityUnits") <*>+                     (x .: "WriteCapacityUnits"))++instance Hashable ProvisionedThroughput where++instance NFData ProvisionedThroughput where++instance ToJSON ProvisionedThroughput where+        toJSON ProvisionedThroughput'{..}+          = object+              (catMaybes+                 [Just ("ReadCapacityUnits" .= _ptReadCapacityUnits),+                  Just+                    ("WriteCapacityUnits" .= _ptWriteCapacityUnits)])++-- | Represents the provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.+--+--+--+-- /See:/ 'provisionedThroughputDescription' smart constructor.+data ProvisionedThroughputDescription = ProvisionedThroughputDescription'+  { _ptdReadCapacityUnits      :: !(Maybe Nat)+  , _ptdLastDecreaseDateTime   :: !(Maybe POSIX)+  , _ptdWriteCapacityUnits     :: !(Maybe Nat)+  , _ptdNumberOfDecreasesToday :: !(Maybe Nat)+  , _ptdLastIncreaseDateTime   :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProvisionedThroughputDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptdReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . Eventually consistent reads require less effort than strongly consistent reads, so a setting of 50 @ReadCapacityUnits@ per second provides 100 eventually consistent @ReadCapacityUnits@ per second.+--+-- * 'ptdLastDecreaseDateTime' - The date and time of the last provisioned throughput decrease for this table.+--+-- * 'ptdWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ .+--+-- * 'ptdNumberOfDecreasesToday' - The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'ptdLastIncreaseDateTime' - The date and time of the last provisioned throughput increase for this table.+provisionedThroughputDescription+    :: ProvisionedThroughputDescription+provisionedThroughputDescription =+  ProvisionedThroughputDescription'+    { _ptdReadCapacityUnits = Nothing+    , _ptdLastDecreaseDateTime = Nothing+    , _ptdWriteCapacityUnits = Nothing+    , _ptdNumberOfDecreasesToday = Nothing+    , _ptdLastIncreaseDateTime = Nothing+    }+++-- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . Eventually consistent reads require less effort than strongly consistent reads, so a setting of 50 @ReadCapacityUnits@ per second provides 100 eventually consistent @ReadCapacityUnits@ per second.+ptdReadCapacityUnits :: Lens' ProvisionedThroughputDescription (Maybe Natural)+ptdReadCapacityUnits = lens _ptdReadCapacityUnits (\ s a -> s{_ptdReadCapacityUnits = a}) . mapping _Nat++-- | The date and time of the last provisioned throughput decrease for this table.+ptdLastDecreaseDateTime :: Lens' ProvisionedThroughputDescription (Maybe UTCTime)+ptdLastDecreaseDateTime = lens _ptdLastDecreaseDateTime (\ s a -> s{_ptdLastDecreaseDateTime = a}) . mapping _Time++-- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ .+ptdWriteCapacityUnits :: Lens' ProvisionedThroughputDescription (Maybe Natural)+ptdWriteCapacityUnits = lens _ptdWriteCapacityUnits (\ s a -> s{_ptdWriteCapacityUnits = a}) . mapping _Nat++-- | The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+ptdNumberOfDecreasesToday :: Lens' ProvisionedThroughputDescription (Maybe Natural)+ptdNumberOfDecreasesToday = lens _ptdNumberOfDecreasesToday (\ s a -> s{_ptdNumberOfDecreasesToday = a}) . mapping _Nat++-- | The date and time of the last provisioned throughput increase for this table.+ptdLastIncreaseDateTime :: Lens' ProvisionedThroughputDescription (Maybe UTCTime)+ptdLastIncreaseDateTime = lens _ptdLastIncreaseDateTime (\ s a -> s{_ptdLastIncreaseDateTime = a}) . mapping _Time++instance FromJSON ProvisionedThroughputDescription+         where+        parseJSON+          = withObject "ProvisionedThroughputDescription"+              (\ x ->+                 ProvisionedThroughputDescription' <$>+                   (x .:? "ReadCapacityUnits") <*>+                     (x .:? "LastDecreaseDateTime")+                     <*> (x .:? "WriteCapacityUnits")+                     <*> (x .:? "NumberOfDecreasesToday")+                     <*> (x .:? "LastIncreaseDateTime"))++instance Hashable ProvisionedThroughputDescription+         where++instance NFData ProvisionedThroughputDescription+         where++-- | Represents a request to perform a @PutItem@ operation on an item.+--+--+--+-- /See:/ 'putRequest' smart constructor.+newtype PutRequest = PutRequest'+  { _prItem :: Map Text AttributeValue+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PutRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prItem' - A map of attribute name to attribute values, representing the primary key of an item to be processed by @PutItem@ . All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item which are part of an index key schema for the table, their types must match the index key schema.+putRequest+    :: PutRequest+putRequest = PutRequest' {_prItem = mempty}+++-- | A map of attribute name to attribute values, representing the primary key of an item to be processed by @PutItem@ . All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item which are part of an index key schema for the table, their types must match the index key schema.+prItem :: Lens' PutRequest (HashMap Text AttributeValue)+prItem = lens _prItem (\ s a -> s{_prItem = a}) . _Map++instance FromJSON PutRequest where+        parseJSON+          = withObject "PutRequest"+              (\ x -> PutRequest' <$> (x .:? "Item" .!= mempty))++instance Hashable PutRequest where++instance NFData PutRequest where++instance ToJSON PutRequest where+        toJSON PutRequest'{..}+          = object (catMaybes [Just ("Item" .= _prItem)])++-- | Represents the properties of a replica.+--+--+--+-- /See:/ 'replica' smart constructor.+newtype Replica = Replica'+  { _rRegionName :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Replica' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rRegionName' - The region where the replica needs to be created.+replica+    :: Replica+replica = Replica' {_rRegionName = Nothing}+++-- | The region where the replica needs to be created.+rRegionName :: Lens' Replica (Maybe Text)+rRegionName = lens _rRegionName (\ s a -> s{_rRegionName = a})++instance FromJSON Replica where+        parseJSON+          = withObject "Replica"+              (\ x -> Replica' <$> (x .:? "RegionName"))++instance Hashable Replica where++instance NFData Replica where++instance ToJSON Replica where+        toJSON Replica'{..}+          = object+              (catMaybes [("RegionName" .=) <$> _rRegionName])++-- | Contains the details of the replica.+--+--+--+-- /See:/ 'replicaDescription' smart constructor.+newtype ReplicaDescription = ReplicaDescription'+  { _rdRegionName :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplicaDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdRegionName' - The name of the region.+replicaDescription+    :: ReplicaDescription+replicaDescription = ReplicaDescription' {_rdRegionName = Nothing}+++-- | The name of the region.+rdRegionName :: Lens' ReplicaDescription (Maybe Text)+rdRegionName = lens _rdRegionName (\ s a -> s{_rdRegionName = a})++instance FromJSON ReplicaDescription where+        parseJSON+          = withObject "ReplicaDescription"+              (\ x -> ReplicaDescription' <$> (x .:? "RegionName"))++instance Hashable ReplicaDescription where++instance NFData ReplicaDescription where++-- | Represents the properties of a global secondary index.+--+--+--+-- /See:/ 'replicaGlobalSecondaryIndexSettingsDescription' smart constructor.+data ReplicaGlobalSecondaryIndexSettingsDescription = ReplicaGlobalSecondaryIndexSettingsDescription'+  { _rgsisdIndexStatus                   :: !(Maybe IndexStatus)+  , _rgsisdProvisionedReadCapacityUnits  :: !(Maybe Nat)+  , _rgsisdProvisionedWriteCapacityUnits :: !(Maybe Nat)+  , _rgsisdIndexName                     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplicaGlobalSecondaryIndexSettingsDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgsisdIndexStatus' - The current status of the global secondary index:     * @CREATING@ - The global secondary index is being created.     * @UPDATING@ - The global secondary index is being updated.     * @DELETING@ - The global secondary index is being deleted.     * @ACTIVE@ - The global secondary index is ready for use.+--+-- * 'rgsisdProvisionedReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ .+--+-- * 'rgsisdProvisionedWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ .+--+-- * 'rgsisdIndexName' - The name of the global secondary index. The name must be unique among all other indexes on this table.+replicaGlobalSecondaryIndexSettingsDescription+    :: Text -- ^ 'rgsisdIndexName'+    -> ReplicaGlobalSecondaryIndexSettingsDescription+replicaGlobalSecondaryIndexSettingsDescription pIndexName_ =+  ReplicaGlobalSecondaryIndexSettingsDescription'+    { _rgsisdIndexStatus = Nothing+    , _rgsisdProvisionedReadCapacityUnits = Nothing+    , _rgsisdProvisionedWriteCapacityUnits = Nothing+    , _rgsisdIndexName = pIndexName_+    }+++-- | The current status of the global secondary index:     * @CREATING@ - The global secondary index is being created.     * @UPDATING@ - The global secondary index is being updated.     * @DELETING@ - The global secondary index is being deleted.     * @ACTIVE@ - The global secondary index is ready for use.+rgsisdIndexStatus :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe IndexStatus)+rgsisdIndexStatus = lens _rgsisdIndexStatus (\ s a -> s{_rgsisdIndexStatus = a})++-- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ .+rgsisdProvisionedReadCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe Natural)+rgsisdProvisionedReadCapacityUnits = lens _rgsisdProvisionedReadCapacityUnits (\ s a -> s{_rgsisdProvisionedReadCapacityUnits = a}) . mapping _Nat++-- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ .+rgsisdProvisionedWriteCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription (Maybe Natural)+rgsisdProvisionedWriteCapacityUnits = lens _rgsisdProvisionedWriteCapacityUnits (\ s a -> s{_rgsisdProvisionedWriteCapacityUnits = a}) . mapping _Nat++-- | The name of the global secondary index. The name must be unique among all other indexes on this table.+rgsisdIndexName :: Lens' ReplicaGlobalSecondaryIndexSettingsDescription Text+rgsisdIndexName = lens _rgsisdIndexName (\ s a -> s{_rgsisdIndexName = a})++instance FromJSON+           ReplicaGlobalSecondaryIndexSettingsDescription+         where+        parseJSON+          = withObject+              "ReplicaGlobalSecondaryIndexSettingsDescription"+              (\ x ->+                 ReplicaGlobalSecondaryIndexSettingsDescription' <$>+                   (x .:? "IndexStatus") <*>+                     (x .:? "ProvisionedReadCapacityUnits")+                     <*> (x .:? "ProvisionedWriteCapacityUnits")+                     <*> (x .: "IndexName"))++instance Hashable+           ReplicaGlobalSecondaryIndexSettingsDescription+         where++instance NFData+           ReplicaGlobalSecondaryIndexSettingsDescription+         where++-- | Represents the settings of a global secondary index for a global table that will be modified.+--+--+--+-- /See:/ 'replicaGlobalSecondaryIndexSettingsUpdate' smart constructor.+data ReplicaGlobalSecondaryIndexSettingsUpdate = ReplicaGlobalSecondaryIndexSettingsUpdate'+  { _rgsisuProvisionedReadCapacityUnits :: !(Maybe Nat)+  , _rgsisuIndexName                    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplicaGlobalSecondaryIndexSettingsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgsisuProvisionedReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ .+--+-- * 'rgsisuIndexName' - The name of the global secondary index. The name must be unique among all other indexes on this table.+replicaGlobalSecondaryIndexSettingsUpdate+    :: Text -- ^ 'rgsisuIndexName'+    -> ReplicaGlobalSecondaryIndexSettingsUpdate+replicaGlobalSecondaryIndexSettingsUpdate pIndexName_ =+  ReplicaGlobalSecondaryIndexSettingsUpdate'+    { _rgsisuProvisionedReadCapacityUnits = Nothing+    , _rgsisuIndexName = pIndexName_+    }+++-- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ .+rgsisuProvisionedReadCapacityUnits :: Lens' ReplicaGlobalSecondaryIndexSettingsUpdate (Maybe Natural)+rgsisuProvisionedReadCapacityUnits = lens _rgsisuProvisionedReadCapacityUnits (\ s a -> s{_rgsisuProvisionedReadCapacityUnits = a}) . mapping _Nat++-- | The name of the global secondary index. The name must be unique among all other indexes on this table.+rgsisuIndexName :: Lens' ReplicaGlobalSecondaryIndexSettingsUpdate Text+rgsisuIndexName = lens _rgsisuIndexName (\ s a -> s{_rgsisuIndexName = a})++instance Hashable+           ReplicaGlobalSecondaryIndexSettingsUpdate+         where++instance NFData+           ReplicaGlobalSecondaryIndexSettingsUpdate+         where++instance ToJSON+           ReplicaGlobalSecondaryIndexSettingsUpdate+         where+        toJSON ReplicaGlobalSecondaryIndexSettingsUpdate'{..}+          = object+              (catMaybes+                 [("ProvisionedReadCapacityUnits" .=) <$>+                    _rgsisuProvisionedReadCapacityUnits,+                  Just ("IndexName" .= _rgsisuIndexName)])++-- | Represents the properties of a replica.+--+--+--+-- /See:/ 'replicaSettingsDescription' smart constructor.+data ReplicaSettingsDescription = ReplicaSettingsDescription'+  { _rsdReplicaStatus :: !(Maybe ReplicaStatus)+  , _rsdReplicaProvisionedReadCapacityUnits :: !(Maybe Nat)+  , _rsdReplicaProvisionedWriteCapacityUnits :: !(Maybe Nat)+  , _rsdReplicaGlobalSecondaryIndexSettings :: !(Maybe [ReplicaGlobalSecondaryIndexSettingsDescription])+  , _rsdRegionName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplicaSettingsDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsdReplicaStatus' - The current state of the region:     * @CREATING@ - The region is being created.     * @UPDATING@ - The region is being updated.     * @DELETING@ - The region is being deleted.     * @ACTIVE@ - The region is ready for use.+--+-- * 'rsdReplicaProvisionedReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'rsdReplicaProvisionedWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'rsdReplicaGlobalSecondaryIndexSettings' - Replica global secondary index settings for the global table.+--+-- * 'rsdRegionName' - The region name of the replica.+replicaSettingsDescription+    :: Text -- ^ 'rsdRegionName'+    -> ReplicaSettingsDescription+replicaSettingsDescription pRegionName_ =+  ReplicaSettingsDescription'+    { _rsdReplicaStatus = Nothing+    , _rsdReplicaProvisionedReadCapacityUnits = Nothing+    , _rsdReplicaProvisionedWriteCapacityUnits = Nothing+    , _rsdReplicaGlobalSecondaryIndexSettings = Nothing+    , _rsdRegionName = pRegionName_+    }+++-- | The current state of the region:     * @CREATING@ - The region is being created.     * @UPDATING@ - The region is being updated.     * @DELETING@ - The region is being deleted.     * @ACTIVE@ - The region is ready for use.+rsdReplicaStatus :: Lens' ReplicaSettingsDescription (Maybe ReplicaStatus)+rsdReplicaStatus = lens _rsdReplicaStatus (\ s a -> s{_rsdReplicaStatus = a})++-- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+rsdReplicaProvisionedReadCapacityUnits :: Lens' ReplicaSettingsDescription (Maybe Natural)+rsdReplicaProvisionedReadCapacityUnits = lens _rsdReplicaProvisionedReadCapacityUnits (\ s a -> s{_rsdReplicaProvisionedReadCapacityUnits = a}) . mapping _Nat++-- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+rsdReplicaProvisionedWriteCapacityUnits :: Lens' ReplicaSettingsDescription (Maybe Natural)+rsdReplicaProvisionedWriteCapacityUnits = lens _rsdReplicaProvisionedWriteCapacityUnits (\ s a -> s{_rsdReplicaProvisionedWriteCapacityUnits = a}) . mapping _Nat++-- | Replica global secondary index settings for the global table.+rsdReplicaGlobalSecondaryIndexSettings :: Lens' ReplicaSettingsDescription [ReplicaGlobalSecondaryIndexSettingsDescription]+rsdReplicaGlobalSecondaryIndexSettings = lens _rsdReplicaGlobalSecondaryIndexSettings (\ s a -> s{_rsdReplicaGlobalSecondaryIndexSettings = a}) . _Default . _Coerce++-- | The region name of the replica.+rsdRegionName :: Lens' ReplicaSettingsDescription Text+rsdRegionName = lens _rsdRegionName (\ s a -> s{_rsdRegionName = a})++instance FromJSON ReplicaSettingsDescription where+        parseJSON+          = withObject "ReplicaSettingsDescription"+              (\ x ->+                 ReplicaSettingsDescription' <$>+                   (x .:? "ReplicaStatus") <*>+                     (x .:? "ReplicaProvisionedReadCapacityUnits")+                     <*> (x .:? "ReplicaProvisionedWriteCapacityUnits")+                     <*>+                     (x .:? "ReplicaGlobalSecondaryIndexSettings" .!=+                        mempty)+                     <*> (x .: "RegionName"))++instance Hashable ReplicaSettingsDescription where++instance NFData ReplicaSettingsDescription where++-- | Represents the settings for a global table in a region that will be modified.+--+--+--+-- /See:/ 'replicaSettingsUpdate' smart constructor.+data ReplicaSettingsUpdate = ReplicaSettingsUpdate'+  { _rsuReplicaProvisionedReadCapacityUnits :: !(Maybe Nat)+  , _rsuReplicaGlobalSecondaryIndexSettingsUpdate :: !(Maybe (List1 ReplicaGlobalSecondaryIndexSettingsUpdate))+  , _rsuRegionName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplicaSettingsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsuReplicaProvisionedReadCapacityUnits' - The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'rsuReplicaGlobalSecondaryIndexSettingsUpdate' - Represents the settings of a global secondary index for a global table that will be modified.+--+-- * 'rsuRegionName' - The region of the replica to be added.+replicaSettingsUpdate+    :: Text -- ^ 'rsuRegionName'+    -> ReplicaSettingsUpdate+replicaSettingsUpdate pRegionName_ =+  ReplicaSettingsUpdate'+    { _rsuReplicaProvisionedReadCapacityUnits = Nothing+    , _rsuReplicaGlobalSecondaryIndexSettingsUpdate = Nothing+    , _rsuRegionName = pRegionName_+    }+++-- | The maximum number of strongly consistent reads consumed per second before DynamoDB returns a @ThrottlingException@ . For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput Specifying Read and Write Requirements> in the /Amazon DynamoDB Developer Guide/ .+rsuReplicaProvisionedReadCapacityUnits :: Lens' ReplicaSettingsUpdate (Maybe Natural)+rsuReplicaProvisionedReadCapacityUnits = lens _rsuReplicaProvisionedReadCapacityUnits (\ s a -> s{_rsuReplicaProvisionedReadCapacityUnits = a}) . mapping _Nat++-- | Represents the settings of a global secondary index for a global table that will be modified.+rsuReplicaGlobalSecondaryIndexSettingsUpdate :: Lens' ReplicaSettingsUpdate (Maybe (NonEmpty ReplicaGlobalSecondaryIndexSettingsUpdate))+rsuReplicaGlobalSecondaryIndexSettingsUpdate = lens _rsuReplicaGlobalSecondaryIndexSettingsUpdate (\ s a -> s{_rsuReplicaGlobalSecondaryIndexSettingsUpdate = a}) . mapping _List1++-- | The region of the replica to be added.+rsuRegionName :: Lens' ReplicaSettingsUpdate Text+rsuRegionName = lens _rsuRegionName (\ s a -> s{_rsuRegionName = a})++instance Hashable ReplicaSettingsUpdate where++instance NFData ReplicaSettingsUpdate where++instance ToJSON ReplicaSettingsUpdate where+        toJSON ReplicaSettingsUpdate'{..}+          = object+              (catMaybes+                 [("ReplicaProvisionedReadCapacityUnits" .=) <$>+                    _rsuReplicaProvisionedReadCapacityUnits,+                  ("ReplicaGlobalSecondaryIndexSettingsUpdate" .=) <$>+                    _rsuReplicaGlobalSecondaryIndexSettingsUpdate,+                  Just ("RegionName" .= _rsuRegionName)])++-- | Represents one of the following:+--+--+--     * A new replica to be added to an existing global table.+--+--     * New parameters for an existing replica.+--+--     * An existing replica to be removed from an existing global table.+--+--+--+--+-- /See:/ 'replicaUpdate' smart constructor.+data ReplicaUpdate = ReplicaUpdate'+  { _ruCreate :: !(Maybe CreateReplicaAction)+  , _ruDelete :: !(Maybe DeleteReplicaAction)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplicaUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruCreate' - The parameters required for creating a replica on an existing global table.+--+-- * 'ruDelete' - The name of the existing replica to be removed.+replicaUpdate+    :: ReplicaUpdate+replicaUpdate = ReplicaUpdate' {_ruCreate = Nothing, _ruDelete = Nothing}+++-- | The parameters required for creating a replica on an existing global table.+ruCreate :: Lens' ReplicaUpdate (Maybe CreateReplicaAction)+ruCreate = lens _ruCreate (\ s a -> s{_ruCreate = a})++-- | The name of the existing replica to be removed.+ruDelete :: Lens' ReplicaUpdate (Maybe DeleteReplicaAction)+ruDelete = lens _ruDelete (\ s a -> s{_ruDelete = a})++instance Hashable ReplicaUpdate where++instance NFData ReplicaUpdate where++instance ToJSON ReplicaUpdate where+        toJSON ReplicaUpdate'{..}+          = object+              (catMaybes+                 [("Create" .=) <$> _ruCreate,+                  ("Delete" .=) <$> _ruDelete])++-- | Contains details for the restore.+--+--+--+-- /See:/ 'restoreSummary' smart constructor.+data RestoreSummary = RestoreSummary'+  { _rsSourceTableARN    :: !(Maybe Text)+  , _rsSourceBackupARN   :: !(Maybe Text)+  , _rsRestoreDateTime   :: !POSIX+  , _rsRestoreInProgress :: !Bool+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RestoreSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsSourceTableARN' - ARN of the source table of the backup that is being restored.+--+-- * 'rsSourceBackupARN' - ARN of the backup from which the table was restored.+--+-- * 'rsRestoreDateTime' - Point in time or source backup time.+--+-- * 'rsRestoreInProgress' - Indicates if a restore is in progress or not.+restoreSummary+    :: UTCTime -- ^ 'rsRestoreDateTime'+    -> Bool -- ^ 'rsRestoreInProgress'+    -> RestoreSummary+restoreSummary pRestoreDateTime_ pRestoreInProgress_ =+  RestoreSummary'+    { _rsSourceTableARN = Nothing+    , _rsSourceBackupARN = Nothing+    , _rsRestoreDateTime = _Time # pRestoreDateTime_+    , _rsRestoreInProgress = pRestoreInProgress_+    }+++-- | ARN of the source table of the backup that is being restored.+rsSourceTableARN :: Lens' RestoreSummary (Maybe Text)+rsSourceTableARN = lens _rsSourceTableARN (\ s a -> s{_rsSourceTableARN = a})++-- | ARN of the backup from which the table was restored.+rsSourceBackupARN :: Lens' RestoreSummary (Maybe Text)+rsSourceBackupARN = lens _rsSourceBackupARN (\ s a -> s{_rsSourceBackupARN = a})++-- | Point in time or source backup time.+rsRestoreDateTime :: Lens' RestoreSummary UTCTime+rsRestoreDateTime = lens _rsRestoreDateTime (\ s a -> s{_rsRestoreDateTime = a}) . _Time++-- | Indicates if a restore is in progress or not.+rsRestoreInProgress :: Lens' RestoreSummary Bool+rsRestoreInProgress = lens _rsRestoreInProgress (\ s a -> s{_rsRestoreInProgress = a})++instance FromJSON RestoreSummary where+        parseJSON+          = withObject "RestoreSummary"+              (\ x ->+                 RestoreSummary' <$>+                   (x .:? "SourceTableArn") <*>+                     (x .:? "SourceBackupArn")+                     <*> (x .: "RestoreDateTime")+                     <*> (x .: "RestoreInProgress"))++instance Hashable RestoreSummary where++instance NFData RestoreSummary where++-- | The description of the server-side encryption status on the specified table.+--+--+--+-- /See:/ 'sSEDescription' smart constructor.+newtype SSEDescription = SSEDescription'+  { _ssedStatus :: Maybe SSEStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SSEDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssedStatus' - The current state of server-side encryption:     * @ENABLING@ - Server-side encryption is being enabled.     * @ENABLED@ - Server-side encryption is enabled.     * @DISABLING@ - Server-side encryption is being disabled.     * @DISABLED@ - Server-side encryption is disabled.+sSEDescription+    :: SSEDescription+sSEDescription = SSEDescription' {_ssedStatus = Nothing}+++-- | The current state of server-side encryption:     * @ENABLING@ - Server-side encryption is being enabled.     * @ENABLED@ - Server-side encryption is enabled.     * @DISABLING@ - Server-side encryption is being disabled.     * @DISABLED@ - Server-side encryption is disabled.+ssedStatus :: Lens' SSEDescription (Maybe SSEStatus)+ssedStatus = lens _ssedStatus (\ s a -> s{_ssedStatus = a})++instance FromJSON SSEDescription where+        parseJSON+          = withObject "SSEDescription"+              (\ x -> SSEDescription' <$> (x .:? "Status"))++instance Hashable SSEDescription where++instance NFData SSEDescription where++-- | Represents the settings used to enable server-side encryption.+--+--+--+-- /See:/ 'sSESpecification' smart constructor.+newtype SSESpecification = SSESpecification'+  { _ssesEnabled :: Bool+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SSESpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssesEnabled' - Indicates whether server-side encryption is enabled (true) or disabled (false) on the table.+sSESpecification+    :: Bool -- ^ 'ssesEnabled'+    -> SSESpecification+sSESpecification pEnabled_ = SSESpecification' {_ssesEnabled = pEnabled_}+++-- | Indicates whether server-side encryption is enabled (true) or disabled (false) on the table.+ssesEnabled :: Lens' SSESpecification Bool+ssesEnabled = lens _ssesEnabled (\ s a -> s{_ssesEnabled = a})++instance Hashable SSESpecification where++instance NFData SSESpecification where++instance ToJSON SSESpecification where+        toJSON SSESpecification'{..}+          = object+              (catMaybes [Just ("Enabled" .= _ssesEnabled)])++-- | Contains the details of the table when the backup was created.+--+--+--+-- /See:/ 'sourceTableDetails' smart constructor.+data SourceTableDetails = SourceTableDetails'+  { _stdTableSizeBytes        :: !(Maybe Integer)+  , _stdTableARN              :: !(Maybe Text)+  , _stdItemCount             :: !(Maybe Nat)+  , _stdTableName             :: !Text+  , _stdTableId               :: !Text+  , _stdKeySchema             :: !(List1 KeySchemaElement)+  , _stdTableCreationDateTime :: !POSIX+  , _stdProvisionedThroughput :: !ProvisionedThroughput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SourceTableDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stdTableSizeBytes' - Size of the table in bytes. Please note this is an approximate value.+--+-- * 'stdTableARN' - ARN of the table for which backup was created.+--+-- * 'stdItemCount' - Number of items in the table. Please note this is an approximate value.+--+-- * 'stdTableName' - The name of the table for which the backup was created.+--+-- * 'stdTableId' - Unique identifier for the table for which the backup was created.+--+-- * 'stdKeySchema' - Schema of the table.+--+-- * 'stdTableCreationDateTime' - Time when the source table was created.+--+-- * 'stdProvisionedThroughput' - Read IOPs and Write IOPS on the table when the backup was created.+sourceTableDetails+    :: Text -- ^ 'stdTableName'+    -> Text -- ^ 'stdTableId'+    -> NonEmpty KeySchemaElement -- ^ 'stdKeySchema'+    -> UTCTime -- ^ 'stdTableCreationDateTime'+    -> ProvisionedThroughput -- ^ 'stdProvisionedThroughput'+    -> SourceTableDetails+sourceTableDetails pTableName_ pTableId_ pKeySchema_ pTableCreationDateTime_ pProvisionedThroughput_ =+  SourceTableDetails'+    { _stdTableSizeBytes = Nothing+    , _stdTableARN = Nothing+    , _stdItemCount = Nothing+    , _stdTableName = pTableName_+    , _stdTableId = pTableId_+    , _stdKeySchema = _List1 # pKeySchema_+    , _stdTableCreationDateTime = _Time # pTableCreationDateTime_+    , _stdProvisionedThroughput = pProvisionedThroughput_+    }+++-- | Size of the table in bytes. Please note this is an approximate value.+stdTableSizeBytes :: Lens' SourceTableDetails (Maybe Integer)+stdTableSizeBytes = lens _stdTableSizeBytes (\ s a -> s{_stdTableSizeBytes = a})++-- | ARN of the table for which backup was created.+stdTableARN :: Lens' SourceTableDetails (Maybe Text)+stdTableARN = lens _stdTableARN (\ s a -> s{_stdTableARN = a})++-- | Number of items in the table. Please note this is an approximate value.+stdItemCount :: Lens' SourceTableDetails (Maybe Natural)+stdItemCount = lens _stdItemCount (\ s a -> s{_stdItemCount = a}) . mapping _Nat++-- | The name of the table for which the backup was created.+stdTableName :: Lens' SourceTableDetails Text+stdTableName = lens _stdTableName (\ s a -> s{_stdTableName = a})++-- | Unique identifier for the table for which the backup was created.+stdTableId :: Lens' SourceTableDetails Text+stdTableId = lens _stdTableId (\ s a -> s{_stdTableId = a})++-- | Schema of the table.+stdKeySchema :: Lens' SourceTableDetails (NonEmpty KeySchemaElement)+stdKeySchema = lens _stdKeySchema (\ s a -> s{_stdKeySchema = a}) . _List1++-- | Time when the source table was created.+stdTableCreationDateTime :: Lens' SourceTableDetails UTCTime+stdTableCreationDateTime = lens _stdTableCreationDateTime (\ s a -> s{_stdTableCreationDateTime = a}) . _Time++-- | Read IOPs and Write IOPS on the table when the backup was created.+stdProvisionedThroughput :: Lens' SourceTableDetails ProvisionedThroughput+stdProvisionedThroughput = lens _stdProvisionedThroughput (\ s a -> s{_stdProvisionedThroughput = a})++instance FromJSON SourceTableDetails where+        parseJSON+          = withObject "SourceTableDetails"+              (\ x ->+                 SourceTableDetails' <$>+                   (x .:? "TableSizeBytes") <*> (x .:? "TableArn") <*>+                     (x .:? "ItemCount")+                     <*> (x .: "TableName")+                     <*> (x .: "TableId")+                     <*> (x .: "KeySchema")+                     <*> (x .: "TableCreationDateTime")+                     <*> (x .: "ProvisionedThroughput"))++instance Hashable SourceTableDetails where++instance NFData SourceTableDetails where++-- | Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.+--+--+--+-- /See:/ 'sourceTableFeatureDetails' smart constructor.+data SourceTableFeatureDetails = SourceTableFeatureDetails'+  { _stfdStreamDescription      :: !(Maybe StreamSpecification)+  , _stfdGlobalSecondaryIndexes :: !(Maybe [GlobalSecondaryIndexInfo])+  , _stfdLocalSecondaryIndexes  :: !(Maybe [LocalSecondaryIndexInfo])+  , _stfdSSEDescription         :: !(Maybe SSEDescription)+  , _stfdTimeToLiveDescription  :: !(Maybe TimeToLiveDescription)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SourceTableFeatureDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stfdStreamDescription' - Stream settings on the table when the backup was created.+--+-- * 'stfdGlobalSecondaryIndexes' - Represents the GSI properties for the table when the backup was created. It includes the IndexName, KeySchema, Projection and ProvisionedThroughput for the GSIs on the table at the time of backup.+--+-- * 'stfdLocalSecondaryIndexes' - Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.+--+-- * 'stfdSSEDescription' - The description of the server-side encryption status on the table when the backup was created.+--+-- * 'stfdTimeToLiveDescription' - Time to Live settings on the table when the backup was created.+sourceTableFeatureDetails+    :: SourceTableFeatureDetails+sourceTableFeatureDetails =+  SourceTableFeatureDetails'+    { _stfdStreamDescription = Nothing+    , _stfdGlobalSecondaryIndexes = Nothing+    , _stfdLocalSecondaryIndexes = Nothing+    , _stfdSSEDescription = Nothing+    , _stfdTimeToLiveDescription = Nothing+    }+++-- | Stream settings on the table when the backup was created.+stfdStreamDescription :: Lens' SourceTableFeatureDetails (Maybe StreamSpecification)+stfdStreamDescription = lens _stfdStreamDescription (\ s a -> s{_stfdStreamDescription = a})++-- | Represents the GSI properties for the table when the backup was created. It includes the IndexName, KeySchema, Projection and ProvisionedThroughput for the GSIs on the table at the time of backup.+stfdGlobalSecondaryIndexes :: Lens' SourceTableFeatureDetails [GlobalSecondaryIndexInfo]+stfdGlobalSecondaryIndexes = lens _stfdGlobalSecondaryIndexes (\ s a -> s{_stfdGlobalSecondaryIndexes = a}) . _Default . _Coerce++-- | Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.+stfdLocalSecondaryIndexes :: Lens' SourceTableFeatureDetails [LocalSecondaryIndexInfo]+stfdLocalSecondaryIndexes = lens _stfdLocalSecondaryIndexes (\ s a -> s{_stfdLocalSecondaryIndexes = a}) . _Default . _Coerce++-- | The description of the server-side encryption status on the table when the backup was created.+stfdSSEDescription :: Lens' SourceTableFeatureDetails (Maybe SSEDescription)+stfdSSEDescription = lens _stfdSSEDescription (\ s a -> s{_stfdSSEDescription = a})++-- | Time to Live settings on the table when the backup was created.+stfdTimeToLiveDescription :: Lens' SourceTableFeatureDetails (Maybe TimeToLiveDescription)+stfdTimeToLiveDescription = lens _stfdTimeToLiveDescription (\ s a -> s{_stfdTimeToLiveDescription = a})++instance FromJSON SourceTableFeatureDetails where+        parseJSON+          = withObject "SourceTableFeatureDetails"+              (\ x ->+                 SourceTableFeatureDetails' <$>+                   (x .:? "StreamDescription") <*>+                     (x .:? "GlobalSecondaryIndexes" .!= mempty)+                     <*> (x .:? "LocalSecondaryIndexes" .!= mempty)+                     <*> (x .:? "SSEDescription")+                     <*> (x .:? "TimeToLiveDescription"))++instance Hashable SourceTableFeatureDetails where++instance NFData SourceTableFeatureDetails where++-- | Represents the DynamoDB Streams configuration for a table in DynamoDB.+--+--+--+-- /See:/ 'streamSpecification' smart constructor.+data StreamSpecification = StreamSpecification'+  { _ssStreamViewType :: !(Maybe StreamViewType)+  , _ssStreamEnabled  :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StreamSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssStreamViewType' - When an item in the table is modified, @StreamViewType@ determines what information is written to the stream for this table. Valid values for @StreamViewType@ are:     * @KEYS_ONLY@ - Only the key attributes of the modified item are written to the stream.     * @NEW_IMAGE@ - The entire item, as it appears after it was modified, is written to the stream.     * @OLD_IMAGE@ - The entire item, as it appeared before it was modified, is written to the stream.     * @NEW_AND_OLD_IMAGES@ - Both the new and the old item images of the item are written to the stream.+--+-- * 'ssStreamEnabled' - Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.+streamSpecification+    :: StreamSpecification+streamSpecification =+  StreamSpecification' {_ssStreamViewType = Nothing, _ssStreamEnabled = Nothing}+++-- | When an item in the table is modified, @StreamViewType@ determines what information is written to the stream for this table. Valid values for @StreamViewType@ are:     * @KEYS_ONLY@ - Only the key attributes of the modified item are written to the stream.     * @NEW_IMAGE@ - The entire item, as it appears after it was modified, is written to the stream.     * @OLD_IMAGE@ - The entire item, as it appeared before it was modified, is written to the stream.     * @NEW_AND_OLD_IMAGES@ - Both the new and the old item images of the item are written to the stream.+ssStreamViewType :: Lens' StreamSpecification (Maybe StreamViewType)+ssStreamViewType = lens _ssStreamViewType (\ s a -> s{_ssStreamViewType = a})++-- | Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.+ssStreamEnabled :: Lens' StreamSpecification (Maybe Bool)+ssStreamEnabled = lens _ssStreamEnabled (\ s a -> s{_ssStreamEnabled = a})++instance FromJSON StreamSpecification where+        parseJSON+          = withObject "StreamSpecification"+              (\ x ->+                 StreamSpecification' <$>+                   (x .:? "StreamViewType") <*> (x .:? "StreamEnabled"))++instance Hashable StreamSpecification where++instance NFData StreamSpecification where++instance ToJSON StreamSpecification where+        toJSON StreamSpecification'{..}+          = object+              (catMaybes+                 [("StreamViewType" .=) <$> _ssStreamViewType,+                  ("StreamEnabled" .=) <$> _ssStreamEnabled])++-- | Represents the properties of a table.+--+--+--+-- /See:/ 'tableDescription' smart constructor.+data TableDescription = TableDescription'+  { _tdRestoreSummary         :: !(Maybe RestoreSummary)+  , _tdTableSizeBytes         :: !(Maybe Integer)+  , _tdAttributeDefinitions   :: !(Maybe [AttributeDefinition])+  , _tdLatestStreamARN        :: !(Maybe Text)+  , _tdProvisionedThroughput  :: !(Maybe ProvisionedThroughputDescription)+  , _tdTableStatus            :: !(Maybe TableStatus)+  , _tdTableARN               :: !(Maybe Text)+  , _tdKeySchema              :: !(Maybe (List1 KeySchemaElement))+  , _tdGlobalSecondaryIndexes :: !(Maybe [GlobalSecondaryIndexDescription])+  , _tdLatestStreamLabel      :: !(Maybe Text)+  , _tdLocalSecondaryIndexes  :: !(Maybe [LocalSecondaryIndexDescription])+  , _tdCreationDateTime       :: !(Maybe POSIX)+  , _tdSSEDescription         :: !(Maybe SSEDescription)+  , _tdTableId                :: !(Maybe Text)+  , _tdItemCount              :: !(Maybe Integer)+  , _tdTableName              :: !(Maybe Text)+  , _tdStreamSpecification    :: !(Maybe StreamSpecification)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdRestoreSummary' - Contains details for the restore.+--+-- * 'tdTableSizeBytes' - The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+--+-- * 'tdAttributeDefinitions' - An array of @AttributeDefinition@ objects. Each of these objects describes one attribute in the table and index key schema. Each @AttributeDefinition@ object in this array is composed of:     * @AttributeName@ - The name of the attribute.     * @AttributeType@ - The data type for the attribute.+--+-- * 'tdLatestStreamARN' - The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.+--+-- * 'tdProvisionedThroughput' - The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.+--+-- * 'tdTableStatus' - The current state of the table:     * @CREATING@ - The table is being created.     * @UPDATING@ - The table is being updated.     * @DELETING@ - The table is being deleted.     * @ACTIVE@ - The table is ready for use.+--+-- * 'tdTableARN' - The Amazon Resource Name (ARN) that uniquely identifies the table.+--+-- * 'tdKeySchema' - The primary key structure for the table. Each @KeySchemaElement@ consists of:     * @AttributeName@ - The name of the attribute.     * @KeyType@ - The role of the attribute:     * @HASH@ - partition key     * @RANGE@ - sort key For more information about primary keys, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey Primary Key> in the /Amazon DynamoDB Developer Guide/ .+--+-- * 'tdGlobalSecondaryIndexes' - The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:     * @Backfilling@ - If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table; it is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a @CreateTable@ operation.)     * @IndexName@ - The name of the global secondary index.     * @IndexSizeBytes@ - The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @IndexStatus@ - The current status of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.     * @ItemCount@ - The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @ProvisionedThroughput@ - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.  If the table is in the @DELETING@ state, no information about indexes will be returned.+--+-- * 'tdLatestStreamLabel' - A timestamp, in ISO 8601 format, for this stream. Note that @LatestStreamLabel@ is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:     * the AWS customer ID.     * the table name.     * the @StreamLabel@ .+--+-- * 'tdLocalSecondaryIndexes' - Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:     * @IndexName@ - The name of the local secondary index.     * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @IndexSizeBytes@ - Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.     * @ItemCount@ - Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value. If the table is in the @DELETING@ state, no information about indexes will be returned.+--+-- * 'tdCreationDateTime' - The date and time when the table was created, in <http://www.epochconverter.com/ UNIX epoch time> format.+--+-- * 'tdSSEDescription' - The description of the server-side encryption status on the specified table.+--+-- * 'tdTableId' - Unique identifier for the table for which the backup was created.+--+-- * 'tdItemCount' - The number of items in the specified table. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+--+-- * 'tdTableName' - The name of the table.+--+-- * 'tdStreamSpecification' - The current DynamoDB Streams configuration for the table.+tableDescription+    :: TableDescription+tableDescription =+  TableDescription'+    { _tdRestoreSummary = Nothing+    , _tdTableSizeBytes = Nothing+    , _tdAttributeDefinitions = Nothing+    , _tdLatestStreamARN = Nothing+    , _tdProvisionedThroughput = Nothing+    , _tdTableStatus = Nothing+    , _tdTableARN = Nothing+    , _tdKeySchema = Nothing+    , _tdGlobalSecondaryIndexes = Nothing+    , _tdLatestStreamLabel = Nothing+    , _tdLocalSecondaryIndexes = Nothing+    , _tdCreationDateTime = Nothing+    , _tdSSEDescription = Nothing+    , _tdTableId = Nothing+    , _tdItemCount = Nothing+    , _tdTableName = Nothing+    , _tdStreamSpecification = Nothing+    }+++-- | Contains details for the restore.+tdRestoreSummary :: Lens' TableDescription (Maybe RestoreSummary)+tdRestoreSummary = lens _tdRestoreSummary (\ s a -> s{_tdRestoreSummary = a})++-- | The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+tdTableSizeBytes :: Lens' TableDescription (Maybe Integer)+tdTableSizeBytes = lens _tdTableSizeBytes (\ s a -> s{_tdTableSizeBytes = a})++-- | An array of @AttributeDefinition@ objects. Each of these objects describes one attribute in the table and index key schema. Each @AttributeDefinition@ object in this array is composed of:     * @AttributeName@ - The name of the attribute.     * @AttributeType@ - The data type for the attribute.+tdAttributeDefinitions :: Lens' TableDescription [AttributeDefinition]+tdAttributeDefinitions = lens _tdAttributeDefinitions (\ s a -> s{_tdAttributeDefinitions = a}) . _Default . _Coerce++-- | The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.+tdLatestStreamARN :: Lens' TableDescription (Maybe Text)+tdLatestStreamARN = lens _tdLatestStreamARN (\ s a -> s{_tdLatestStreamARN = a})++-- | The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.+tdProvisionedThroughput :: Lens' TableDescription (Maybe ProvisionedThroughputDescription)+tdProvisionedThroughput = lens _tdProvisionedThroughput (\ s a -> s{_tdProvisionedThroughput = a})++-- | The current state of the table:     * @CREATING@ - The table is being created.     * @UPDATING@ - The table is being updated.     * @DELETING@ - The table is being deleted.     * @ACTIVE@ - The table is ready for use.+tdTableStatus :: Lens' TableDescription (Maybe TableStatus)+tdTableStatus = lens _tdTableStatus (\ s a -> s{_tdTableStatus = a})++-- | The Amazon Resource Name (ARN) that uniquely identifies the table.+tdTableARN :: Lens' TableDescription (Maybe Text)+tdTableARN = lens _tdTableARN (\ s a -> s{_tdTableARN = a})++-- | The primary key structure for the table. Each @KeySchemaElement@ consists of:     * @AttributeName@ - The name of the attribute.     * @KeyType@ - The role of the attribute:     * @HASH@ - partition key     * @RANGE@ - sort key For more information about primary keys, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey Primary Key> in the /Amazon DynamoDB Developer Guide/ .+tdKeySchema :: Lens' TableDescription (Maybe (NonEmpty KeySchemaElement))+tdKeySchema = lens _tdKeySchema (\ s a -> s{_tdKeySchema = a}) . mapping _List1++-- | The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:     * @Backfilling@ - If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table; it is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a @CreateTable@ operation.)     * @IndexName@ - The name of the global secondary index.     * @IndexSizeBytes@ - The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @IndexStatus@ - The current status of the global secondary index:     * @CREATING@ - The index is being created.     * @UPDATING@ - The index is being updated.     * @DELETING@ - The index is being deleted.     * @ACTIVE@ - The index is ready for use.     * @ItemCount@ - The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.      * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @ProvisionedThroughput@ - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.  If the table is in the @DELETING@ state, no information about indexes will be returned.+tdGlobalSecondaryIndexes :: Lens' TableDescription [GlobalSecondaryIndexDescription]+tdGlobalSecondaryIndexes = lens _tdGlobalSecondaryIndexes (\ s a -> s{_tdGlobalSecondaryIndexes = a}) . _Default . _Coerce++-- | A timestamp, in ISO 8601 format, for this stream. Note that @LatestStreamLabel@ is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:     * the AWS customer ID.     * the table name.     * the @StreamLabel@ .+tdLatestStreamLabel :: Lens' TableDescription (Maybe Text)+tdLatestStreamLabel = lens _tdLatestStreamLabel (\ s a -> s{_tdLatestStreamLabel = a})++-- | Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:     * @IndexName@ - The name of the local secondary index.     * @KeySchema@ - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.     * @Projection@ - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:     * @ProjectionType@ - One of the following:     * @KEYS_ONLY@ - Only the index and primary keys are projected into the index.     * @INCLUDE@ - Only the specified table attributes are projected into the index. The list of projected attributes are in @NonKeyAttributes@ .     * @ALL@ - All of the table attributes are projected into the index.     * @NonKeyAttributes@ - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in @NonKeyAttributes@ , summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.     * @IndexSizeBytes@ - Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.     * @ItemCount@ - Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value. If the table is in the @DELETING@ state, no information about indexes will be returned.+tdLocalSecondaryIndexes :: Lens' TableDescription [LocalSecondaryIndexDescription]+tdLocalSecondaryIndexes = lens _tdLocalSecondaryIndexes (\ s a -> s{_tdLocalSecondaryIndexes = a}) . _Default . _Coerce++-- | The date and time when the table was created, in <http://www.epochconverter.com/ UNIX epoch time> format.+tdCreationDateTime :: Lens' TableDescription (Maybe UTCTime)+tdCreationDateTime = lens _tdCreationDateTime (\ s a -> s{_tdCreationDateTime = a}) . mapping _Time++-- | The description of the server-side encryption status on the specified table.+tdSSEDescription :: Lens' TableDescription (Maybe SSEDescription)+tdSSEDescription = lens _tdSSEDescription (\ s a -> s{_tdSSEDescription = a})++-- | Unique identifier for the table for which the backup was created.+tdTableId :: Lens' TableDescription (Maybe Text)+tdTableId = lens _tdTableId (\ s a -> s{_tdTableId = a})++-- | The number of items in the specified table. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.+tdItemCount :: Lens' TableDescription (Maybe Integer)+tdItemCount = lens _tdItemCount (\ s a -> s{_tdItemCount = a})++-- | The name of the table.+tdTableName :: Lens' TableDescription (Maybe Text)+tdTableName = lens _tdTableName (\ s a -> s{_tdTableName = a})++-- | The current DynamoDB Streams configuration for the table.+tdStreamSpecification :: Lens' TableDescription (Maybe StreamSpecification)+tdStreamSpecification = lens _tdStreamSpecification (\ s a -> s{_tdStreamSpecification = a})++instance FromJSON TableDescription where+        parseJSON+          = withObject "TableDescription"+              (\ x ->+                 TableDescription' <$>+                   (x .:? "RestoreSummary") <*> (x .:? "TableSizeBytes")+                     <*> (x .:? "AttributeDefinitions" .!= mempty)+                     <*> (x .:? "LatestStreamArn")+                     <*> (x .:? "ProvisionedThroughput")+                     <*> (x .:? "TableStatus")+                     <*> (x .:? "TableArn")+                     <*> (x .:? "KeySchema")+                     <*> (x .:? "GlobalSecondaryIndexes" .!= mempty)+                     <*> (x .:? "LatestStreamLabel")+                     <*> (x .:? "LocalSecondaryIndexes" .!= mempty)+                     <*> (x .:? "CreationDateTime")+                     <*> (x .:? "SSEDescription")+                     <*> (x .:? "TableId")+                     <*> (x .:? "ItemCount")+                     <*> (x .:? "TableName")+                     <*> (x .:? "StreamSpecification"))++instance Hashable TableDescription where++instance NFData TableDescription where++-- | Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single DynamoDB table.+--+--+-- AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.+--+-- For an overview on tagging DynamoDB resources, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html Tagging for DynamoDB> in the /Amazon DynamoDB Developer Guide/ .+--+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+  { _tagKey   :: !Text+  , _tagValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagKey' - The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.+--+-- * 'tagValue' - The value of the tag. Tag values are case-sensitive and can be null.+tag+    :: Text -- ^ 'tagKey'+    -> Text -- ^ 'tagValue'+    -> Tag+tag pKey_ pValue_ = Tag' {_tagKey = pKey_, _tagValue = pValue_}+++-- | The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.+tagKey :: Lens' Tag Text+tagKey = lens _tagKey (\ s a -> s{_tagKey = a})++-- | The value of the tag. Tag values are case-sensitive and can be null.+tagValue :: Lens' Tag Text+tagValue = lens _tagValue (\ s a -> s{_tagValue = a})++instance FromJSON Tag where+        parseJSON+          = withObject "Tag"+              (\ x -> Tag' <$> (x .: "Key") <*> (x .: "Value"))++instance Hashable Tag where++instance NFData Tag where++instance ToJSON Tag where+        toJSON Tag'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _tagKey),+                  Just ("Value" .= _tagValue)])++-- | The description of the Time to Live (TTL) status on the specified table.+--+--+--+-- /See:/ 'timeToLiveDescription' smart constructor.+data TimeToLiveDescription = TimeToLiveDescription'+  { _ttldTimeToLiveStatus :: !(Maybe TimeToLiveStatus)+  , _ttldAttributeName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TimeToLiveDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ttldTimeToLiveStatus' - The Time to Live status for the table.+--+-- * 'ttldAttributeName' - The name of the Time to Live attribute for items in the table.+timeToLiveDescription+    :: TimeToLiveDescription+timeToLiveDescription =+  TimeToLiveDescription'+    {_ttldTimeToLiveStatus = Nothing, _ttldAttributeName = Nothing}+++-- | The Time to Live status for the table.+ttldTimeToLiveStatus :: Lens' TimeToLiveDescription (Maybe TimeToLiveStatus)+ttldTimeToLiveStatus = lens _ttldTimeToLiveStatus (\ s a -> s{_ttldTimeToLiveStatus = a})++-- | The name of the Time to Live attribute for items in the table.+ttldAttributeName :: Lens' TimeToLiveDescription (Maybe Text)+ttldAttributeName = lens _ttldAttributeName (\ s a -> s{_ttldAttributeName = a})++instance FromJSON TimeToLiveDescription where+        parseJSON+          = withObject "TimeToLiveDescription"+              (\ x ->+                 TimeToLiveDescription' <$>+                   (x .:? "TimeToLiveStatus") <*>+                     (x .:? "AttributeName"))++instance Hashable TimeToLiveDescription where++instance NFData TimeToLiveDescription where++-- | Represents the settings used to enable or disable Time to Live for the specified table.+--+--+--+-- /See:/ 'timeToLiveSpecification' smart constructor.+data TimeToLiveSpecification = TimeToLiveSpecification'+  { _ttlsEnabled       :: !Bool+  , _ttlsAttributeName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TimeToLiveSpecification' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ttlsEnabled' - Indicates whether Time To Live is to be enabled (true) or disabled (false) on the table.+--+-- * 'ttlsAttributeName' - The name of the Time to Live attribute used to store the expiration time for items in the table.+timeToLiveSpecification+    :: Bool -- ^ 'ttlsEnabled'+    -> Text -- ^ 'ttlsAttributeName'+    -> TimeToLiveSpecification+timeToLiveSpecification pEnabled_ pAttributeName_ =+  TimeToLiveSpecification'+    {_ttlsEnabled = pEnabled_, _ttlsAttributeName = pAttributeName_}+++-- | Indicates whether Time To Live is to be enabled (true) or disabled (false) on the table.+ttlsEnabled :: Lens' TimeToLiveSpecification Bool+ttlsEnabled = lens _ttlsEnabled (\ s a -> s{_ttlsEnabled = a})++-- | The name of the Time to Live attribute used to store the expiration time for items in the table.+ttlsAttributeName :: Lens' TimeToLiveSpecification Text+ttlsAttributeName = lens _ttlsAttributeName (\ s a -> s{_ttlsAttributeName = a})++instance FromJSON TimeToLiveSpecification where+        parseJSON+          = withObject "TimeToLiveSpecification"+              (\ x ->+                 TimeToLiveSpecification' <$>+                   (x .: "Enabled") <*> (x .: "AttributeName"))++instance Hashable TimeToLiveSpecification where++instance NFData TimeToLiveSpecification where++instance ToJSON TimeToLiveSpecification where+        toJSON TimeToLiveSpecification'{..}+          = object+              (catMaybes+                 [Just ("Enabled" .= _ttlsEnabled),+                  Just ("AttributeName" .= _ttlsAttributeName)])++-- | Represents the new provisioned throughput settings to be applied to a global secondary index.+--+--+--+-- /See:/ 'updateGlobalSecondaryIndexAction' smart constructor.+data UpdateGlobalSecondaryIndexAction = UpdateGlobalSecondaryIndexAction'+  { _ugsiaIndexName             :: !Text+  , _ugsiaProvisionedThroughput :: !ProvisionedThroughput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGlobalSecondaryIndexAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugsiaIndexName' - The name of the global secondary index to be updated.+--+-- * 'ugsiaProvisionedThroughput' - Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+updateGlobalSecondaryIndexAction+    :: Text -- ^ 'ugsiaIndexName'+    -> ProvisionedThroughput -- ^ 'ugsiaProvisionedThroughput'+    -> UpdateGlobalSecondaryIndexAction+updateGlobalSecondaryIndexAction pIndexName_ pProvisionedThroughput_ =+  UpdateGlobalSecondaryIndexAction'+    { _ugsiaIndexName = pIndexName_+    , _ugsiaProvisionedThroughput = pProvisionedThroughput_+    }+++-- | The name of the global secondary index to be updated.+ugsiaIndexName :: Lens' UpdateGlobalSecondaryIndexAction Text+ugsiaIndexName = lens _ugsiaIndexName (\ s a -> s{_ugsiaIndexName = a})++-- | Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html Limits> in the /Amazon DynamoDB Developer Guide/ .+ugsiaProvisionedThroughput :: Lens' UpdateGlobalSecondaryIndexAction ProvisionedThroughput+ugsiaProvisionedThroughput = lens _ugsiaProvisionedThroughput (\ s a -> s{_ugsiaProvisionedThroughput = a})++instance Hashable UpdateGlobalSecondaryIndexAction+         where++instance NFData UpdateGlobalSecondaryIndexAction+         where++instance ToJSON UpdateGlobalSecondaryIndexAction+         where+        toJSON UpdateGlobalSecondaryIndexAction'{..}+          = object+              (catMaybes+                 [Just ("IndexName" .= _ugsiaIndexName),+                  Just+                    ("ProvisionedThroughput" .=+                       _ugsiaProvisionedThroughput)])++-- | Represents an operation to perform - either @DeleteItem@ or @PutItem@ . You can only request one of these operations, not both, in a single @WriteRequest@ . If you do need to perform both of these operations, you will need to provide two separate @WriteRequest@ objects.+--+--+--+-- /See:/ 'writeRequest' smart constructor.+data WriteRequest = WriteRequest'+  { _wrDeleteRequest :: !(Maybe DeleteRequest)+  , _wrPutRequest    :: !(Maybe PutRequest)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'WriteRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wrDeleteRequest' - A request to perform a @DeleteItem@ operation.+--+-- * 'wrPutRequest' - A request to perform a @PutItem@ operation.+writeRequest+    :: WriteRequest+writeRequest =+  WriteRequest' {_wrDeleteRequest = Nothing, _wrPutRequest = Nothing}+++-- | A request to perform a @DeleteItem@ operation.+wrDeleteRequest :: Lens' WriteRequest (Maybe DeleteRequest)+wrDeleteRequest = lens _wrDeleteRequest (\ s a -> s{_wrDeleteRequest = a})++-- | A request to perform a @PutItem@ operation.+wrPutRequest :: Lens' WriteRequest (Maybe PutRequest)+wrPutRequest = lens _wrPutRequest (\ s a -> s{_wrPutRequest = a})  instance FromJSON WriteRequest where         parseJSON
gen/Network/AWS/DynamoDB/Types/Sum.hs view
@@ -9,7 +9,7 @@  -- | -- Module      : Network.AWS.DynamoDB.Types.Sum--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -49,6 +49,36 @@ instance ToJSON AttributeAction where     toJSON = toJSONText +data BackupStatus+  = Available+  | Creating+  | Deleted+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText BackupStatus where+    parser = takeLowerText >>= \case+        "available" -> pure Available+        "creating" -> pure Creating+        "deleted" -> pure Deleted+        e -> fromTextError $ "Failure parsing BackupStatus from value: '" <> e+           <> "'. Accepted values: available, creating, deleted"++instance ToText BackupStatus where+    toText = \case+        Available -> "AVAILABLE"+        Creating -> "CREATING"+        Deleted -> "DELETED"++instance Hashable     BackupStatus+instance NFData       BackupStatus+instance ToByteString BackupStatus+instance ToQuery      BackupStatus+instance ToHeader     BackupStatus++instance FromJSON BackupStatus where+    parseJSON = parseJSONText "BackupStatus"+ data ComparisonOperator   = BeginsWith   | Between@@ -136,6 +166,66 @@ instance ToJSON ConditionalOperator where     toJSON = toJSONText +data ContinuousBackupsStatus+  = CBSDisabled+  | CBSEnabled+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ContinuousBackupsStatus where+    parser = takeLowerText >>= \case+        "disabled" -> pure CBSDisabled+        "enabled" -> pure CBSEnabled+        e -> fromTextError $ "Failure parsing ContinuousBackupsStatus from value: '" <> e+           <> "'. Accepted values: disabled, enabled"++instance ToText ContinuousBackupsStatus where+    toText = \case+        CBSDisabled -> "DISABLED"+        CBSEnabled -> "ENABLED"++instance Hashable     ContinuousBackupsStatus+instance NFData       ContinuousBackupsStatus+instance ToByteString ContinuousBackupsStatus+instance ToQuery      ContinuousBackupsStatus+instance ToHeader     ContinuousBackupsStatus++instance FromJSON ContinuousBackupsStatus where+    parseJSON = parseJSONText "ContinuousBackupsStatus"++data GlobalTableStatus+  = GTSActive+  | GTSCreating+  | GTSDeleting+  | GTSUpdating+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText GlobalTableStatus where+    parser = takeLowerText >>= \case+        "active" -> pure GTSActive+        "creating" -> pure GTSCreating+        "deleting" -> pure GTSDeleting+        "updating" -> pure GTSUpdating+        e -> fromTextError $ "Failure parsing GlobalTableStatus from value: '" <> e+           <> "'. Accepted values: active, creating, deleting, updating"++instance ToText GlobalTableStatus where+    toText = \case+        GTSActive -> "ACTIVE"+        GTSCreating -> "CREATING"+        GTSDeleting -> "DELETING"+        GTSUpdating -> "UPDATING"++instance Hashable     GlobalTableStatus+instance NFData       GlobalTableStatus+instance ToByteString GlobalTableStatus+instance ToQuery      GlobalTableStatus+instance ToHeader     GlobalTableStatus++instance FromJSON GlobalTableStatus where+    parseJSON = parseJSONText "GlobalTableStatus"+ data IndexStatus   = ISActive   | ISCreating@@ -199,26 +289,53 @@ instance FromJSON KeyType where     parseJSON = parseJSONText "KeyType" +data PointInTimeRecoveryStatus+  = PITRSDisabled+  | PITRSEnabled+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText PointInTimeRecoveryStatus where+    parser = takeLowerText >>= \case+        "disabled" -> pure PITRSDisabled+        "enabled" -> pure PITRSEnabled+        e -> fromTextError $ "Failure parsing PointInTimeRecoveryStatus from value: '" <> e+           <> "'. Accepted values: disabled, enabled"++instance ToText PointInTimeRecoveryStatus where+    toText = \case+        PITRSDisabled -> "DISABLED"+        PITRSEnabled -> "ENABLED"++instance Hashable     PointInTimeRecoveryStatus+instance NFData       PointInTimeRecoveryStatus+instance ToByteString PointInTimeRecoveryStatus+instance ToQuery      PointInTimeRecoveryStatus+instance ToHeader     PointInTimeRecoveryStatus++instance FromJSON PointInTimeRecoveryStatus where+    parseJSON = parseJSONText "PointInTimeRecoveryStatus"+ data ProjectionType-  = All-  | Include-  | KeysOnly+  = PTAll+  | PTInclude+  | PTKeysOnly   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)   instance FromText ProjectionType where     parser = takeLowerText >>= \case-        "all" -> pure All-        "include" -> pure Include-        "keys_only" -> pure KeysOnly+        "all" -> pure PTAll+        "include" -> pure PTInclude+        "keys_only" -> pure PTKeysOnly         e -> fromTextError $ "Failure parsing ProjectionType from value: '" <> e            <> "'. Accepted values: all, include, keys_only"  instance ToText ProjectionType where     toText = \case-        All -> "ALL"-        Include -> "INCLUDE"-        KeysOnly -> "KEYS_ONLY"+        PTAll -> "ALL"+        PTInclude -> "INCLUDE"+        PTKeysOnly -> "KEYS_ONLY"  instance Hashable     ProjectionType instance NFData       ProjectionType@@ -232,6 +349,39 @@ instance FromJSON ProjectionType where     parseJSON = parseJSONText "ProjectionType" +data ReplicaStatus+  = RSActive+  | RSCreating+  | RSDeleting+  | RSUpdating+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ReplicaStatus where+    parser = takeLowerText >>= \case+        "active" -> pure RSActive+        "creating" -> pure RSCreating+        "deleting" -> pure RSDeleting+        "updating" -> pure RSUpdating+        e -> fromTextError $ "Failure parsing ReplicaStatus from value: '" <> e+           <> "'. Accepted values: active, creating, deleting, updating"++instance ToText ReplicaStatus where+    toText = \case+        RSActive -> "ACTIVE"+        RSCreating -> "CREATING"+        RSDeleting -> "DELETING"+        RSUpdating -> "UPDATING"++instance Hashable     ReplicaStatus+instance NFData       ReplicaStatus+instance ToByteString ReplicaStatus+instance ToQuery      ReplicaStatus+instance ToHeader     ReplicaStatus++instance FromJSON ReplicaStatus where+    parseJSON = parseJSONText "ReplicaStatus"+ -- | Determines the level of detail about provisioned throughput consumption that is returned in the response: -- --@@ -338,6 +488,39 @@ instance ToJSON ReturnValue where     toJSON = toJSONText +data SSEStatus+  = SSESDisabled+  | SSESDisabling+  | SSESEnabled+  | SSESEnabling+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText SSEStatus where+    parser = takeLowerText >>= \case+        "disabled" -> pure SSESDisabled+        "disabling" -> pure SSESDisabling+        "enabled" -> pure SSESEnabled+        "enabling" -> pure SSESEnabling+        e -> fromTextError $ "Failure parsing SSEStatus from value: '" <> e+           <> "'. Accepted values: disabled, disabling, enabled, enabling"++instance ToText SSEStatus where+    toText = \case+        SSESDisabled -> "DISABLED"+        SSESDisabling -> "DISABLING"+        SSESEnabled -> "ENABLED"+        SSESEnabling -> "ENABLING"++instance Hashable     SSEStatus+instance NFData       SSEStatus+instance ToByteString SSEStatus+instance ToQuery      SSEStatus+instance ToHeader     SSEStatus++instance FromJSON SSEStatus where+    parseJSON = parseJSONText "SSEStatus"+ data ScalarAttributeType   = B   | N@@ -405,28 +588,28 @@     toJSON = toJSONText  data StreamViewType-  = SVTKeysOnly-  | SVTNewAndOldImages-  | SVTNewImage-  | SVTOldImage+  = KeysOnly+  | NewAndOldImages+  | NewImage+  | OldImage   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)   instance FromText StreamViewType where     parser = takeLowerText >>= \case-        "keys_only" -> pure SVTKeysOnly-        "new_and_old_images" -> pure SVTNewAndOldImages-        "new_image" -> pure SVTNewImage-        "old_image" -> pure SVTOldImage+        "keys_only" -> pure KeysOnly+        "new_and_old_images" -> pure NewAndOldImages+        "new_image" -> pure NewImage+        "old_image" -> pure OldImage         e -> fromTextError $ "Failure parsing StreamViewType from value: '" <> e            <> "'. Accepted values: keys_only, new_and_old_images, new_image, old_image"  instance ToText StreamViewType where     toText = \case-        SVTKeysOnly -> "KEYS_ONLY"-        SVTNewAndOldImages -> "NEW_AND_OLD_IMAGES"-        SVTNewImage -> "NEW_IMAGE"-        SVTOldImage -> "OLD_IMAGE"+        KeysOnly -> "KEYS_ONLY"+        NewAndOldImages -> "NEW_AND_OLD_IMAGES"+        NewImage -> "NEW_IMAGE"+        OldImage -> "OLD_IMAGE"  instance Hashable     StreamViewType instance NFData       StreamViewType@@ -441,28 +624,28 @@     parseJSON = parseJSONText "StreamViewType"  data TableStatus-  = Active-  | Creating-  | Deleting-  | Updating+  = TSActive+  | TSCreating+  | TSDeleting+  | TSUpdating   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)   instance FromText TableStatus where     parser = takeLowerText >>= \case-        "active" -> pure Active-        "creating" -> pure Creating-        "deleting" -> pure Deleting-        "updating" -> pure Updating+        "active" -> pure TSActive+        "creating" -> pure TSCreating+        "deleting" -> pure TSDeleting+        "updating" -> pure TSUpdating         e -> fromTextError $ "Failure parsing TableStatus from value: '" <> e            <> "'. Accepted values: active, creating, deleting, updating"  instance ToText TableStatus where     toText = \case-        Active -> "ACTIVE"-        Creating -> "CREATING"-        Deleting -> "DELETING"-        Updating -> "UPDATING"+        TSActive -> "ACTIVE"+        TSCreating -> "CREATING"+        TSDeleting -> "DELETING"+        TSUpdating -> "UPDATING"  instance Hashable     TableStatus instance NFData       TableStatus
gen/Network/AWS/DynamoDB/UntagResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.UntagResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The Amazon DyanamoDB resource the tags will be removed from. This value is an Amazon Resource Name (ARN). urResourceARN :: Lens' UntagResource Text-urResourceARN = lens _urResourceARN (\ s a -> s{_urResourceARN = a});+urResourceARN = lens _urResourceARN (\ s a -> s{_urResourceARN = a})  -- | A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the Amazon DynamoDB resource. urTagKeys :: Lens' UntagResource [Text]-urTagKeys = lens _urTagKeys (\ s a -> s{_urTagKeys = a}) . _Coerce;+urTagKeys = lens _urTagKeys (\ s a -> s{_urTagKeys = a}) . _Coerce  instance AWSRequest UntagResource where         type Rs UntagResource = UntagResourceResponse
+ gen/Network/AWS/DynamoDB/UpdateContinuousBackups.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.UpdateContinuousBackups+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- @UpdateContinuousBackups@ enables or disables point in time recovery for the specified table. A successful @UpdateContinuousBackups@ call returns the current @ContinuousBackupsDescription@ . Continuous backups are @ENABLED@ on all tables at table creation. If point in time recovery is enabled, @PointInTimeRecoveryStatus@ will be set to ENABLED.+--+--+-- Once continuous backups and point in time recovery are enabled, you can restore to any point in time within @EarliestRestorableDateTime@ and @LatestRestorableDateTime@ .+--+-- @LatestRestorableDateTime@ is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days..+--+module Network.AWS.DynamoDB.UpdateContinuousBackups+    (+    -- * Creating a Request+      updateContinuousBackups+    , UpdateContinuousBackups+    -- * Request Lenses+    , ucbTableName+    , ucbPointInTimeRecoverySpecification++    -- * Destructuring the Response+    , updateContinuousBackupsResponse+    , UpdateContinuousBackupsResponse+    -- * Response Lenses+    , ucbrsContinuousBackupsDescription+    , ucbrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateContinuousBackups' smart constructor.+data UpdateContinuousBackups = UpdateContinuousBackups'+  { _ucbTableName                        :: !Text+  , _ucbPointInTimeRecoverySpecification :: !PointInTimeRecoverySpecification+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateContinuousBackups' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucbTableName' - The name of the table.+--+-- * 'ucbPointInTimeRecoverySpecification' - Represents the settings used to enable point in time recovery.+updateContinuousBackups+    :: Text -- ^ 'ucbTableName'+    -> PointInTimeRecoverySpecification -- ^ 'ucbPointInTimeRecoverySpecification'+    -> UpdateContinuousBackups+updateContinuousBackups pTableName_ pPointInTimeRecoverySpecification_ =+  UpdateContinuousBackups'+    { _ucbTableName = pTableName_+    , _ucbPointInTimeRecoverySpecification = pPointInTimeRecoverySpecification_+    }+++-- | The name of the table.+ucbTableName :: Lens' UpdateContinuousBackups Text+ucbTableName = lens _ucbTableName (\ s a -> s{_ucbTableName = a})++-- | Represents the settings used to enable point in time recovery.+ucbPointInTimeRecoverySpecification :: Lens' UpdateContinuousBackups PointInTimeRecoverySpecification+ucbPointInTimeRecoverySpecification = lens _ucbPointInTimeRecoverySpecification (\ s a -> s{_ucbPointInTimeRecoverySpecification = a})++instance AWSRequest UpdateContinuousBackups where+        type Rs UpdateContinuousBackups =+             UpdateContinuousBackupsResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 UpdateContinuousBackupsResponse' <$>+                   (x .?> "ContinuousBackupsDescription") <*>+                     (pure (fromEnum s)))++instance Hashable UpdateContinuousBackups where++instance NFData UpdateContinuousBackups where++instance ToHeaders UpdateContinuousBackups where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.UpdateContinuousBackups" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON UpdateContinuousBackups where+        toJSON UpdateContinuousBackups'{..}+          = object+              (catMaybes+                 [Just ("TableName" .= _ucbTableName),+                  Just+                    ("PointInTimeRecoverySpecification" .=+                       _ucbPointInTimeRecoverySpecification)])++instance ToPath UpdateContinuousBackups where+        toPath = const "/"++instance ToQuery UpdateContinuousBackups where+        toQuery = const mempty++-- | /See:/ 'updateContinuousBackupsResponse' smart constructor.+data UpdateContinuousBackupsResponse = UpdateContinuousBackupsResponse'+  { _ucbrsContinuousBackupsDescription :: !(Maybe ContinuousBackupsDescription)+  , _ucbrsResponseStatus               :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateContinuousBackupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucbrsContinuousBackupsDescription' - Represents the continuous backups and point in time recovery settings on the table.+--+-- * 'ucbrsResponseStatus' - -- | The response status code.+updateContinuousBackupsResponse+    :: Int -- ^ 'ucbrsResponseStatus'+    -> UpdateContinuousBackupsResponse+updateContinuousBackupsResponse pResponseStatus_ =+  UpdateContinuousBackupsResponse'+    { _ucbrsContinuousBackupsDescription = Nothing+    , _ucbrsResponseStatus = pResponseStatus_+    }+++-- | Represents the continuous backups and point in time recovery settings on the table.+ucbrsContinuousBackupsDescription :: Lens' UpdateContinuousBackupsResponse (Maybe ContinuousBackupsDescription)+ucbrsContinuousBackupsDescription = lens _ucbrsContinuousBackupsDescription (\ s a -> s{_ucbrsContinuousBackupsDescription = a})++-- | -- | The response status code.+ucbrsResponseStatus :: Lens' UpdateContinuousBackupsResponse Int+ucbrsResponseStatus = lens _ucbrsResponseStatus (\ s a -> s{_ucbrsResponseStatus = a})++instance NFData UpdateContinuousBackupsResponse where
+ gen/Network/AWS/DynamoDB/UpdateGlobalTable.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.UpdateGlobalTable+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, must have the same name as the global table, must have the same key schema, and must have DynamoDB Streams enabled and must have same provisioned and maximum write capacity units.+--+--+-- If global secondary indexes are specified, then the following conditions must also be met:+--+--     * The global secondary indexes must have the same name.+--+--     * The global secondary indexes must have the same hash key and sort key (if present).+--+--     * The global secondary indexes must have the same provisioned and maximum write capacity units.+--+--+--+module Network.AWS.DynamoDB.UpdateGlobalTable+    (+    -- * Creating a Request+      updateGlobalTable+    , UpdateGlobalTable+    -- * Request Lenses+    , ugtGlobalTableName+    , ugtReplicaUpdates++    -- * Destructuring the Response+    , updateGlobalTableResponse+    , UpdateGlobalTableResponse+    -- * Response Lenses+    , ugtrsGlobalTableDescription+    , ugtrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateGlobalTable' smart constructor.+data UpdateGlobalTable = UpdateGlobalTable'+  { _ugtGlobalTableName :: !Text+  , _ugtReplicaUpdates  :: ![ReplicaUpdate]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGlobalTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugtGlobalTableName' - The global table name.+--+-- * 'ugtReplicaUpdates' - A list of regions that should be added or removed from the global table.+updateGlobalTable+    :: Text -- ^ 'ugtGlobalTableName'+    -> UpdateGlobalTable+updateGlobalTable pGlobalTableName_ =+  UpdateGlobalTable'+    {_ugtGlobalTableName = pGlobalTableName_, _ugtReplicaUpdates = mempty}+++-- | The global table name.+ugtGlobalTableName :: Lens' UpdateGlobalTable Text+ugtGlobalTableName = lens _ugtGlobalTableName (\ s a -> s{_ugtGlobalTableName = a})++-- | A list of regions that should be added or removed from the global table.+ugtReplicaUpdates :: Lens' UpdateGlobalTable [ReplicaUpdate]+ugtReplicaUpdates = lens _ugtReplicaUpdates (\ s a -> s{_ugtReplicaUpdates = a}) . _Coerce++instance AWSRequest UpdateGlobalTable where+        type Rs UpdateGlobalTable = UpdateGlobalTableResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 UpdateGlobalTableResponse' <$>+                   (x .?> "GlobalTableDescription") <*>+                     (pure (fromEnum s)))++instance Hashable UpdateGlobalTable where++instance NFData UpdateGlobalTable where++instance ToHeaders UpdateGlobalTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.UpdateGlobalTable" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON UpdateGlobalTable where+        toJSON UpdateGlobalTable'{..}+          = object+              (catMaybes+                 [Just ("GlobalTableName" .= _ugtGlobalTableName),+                  Just ("ReplicaUpdates" .= _ugtReplicaUpdates)])++instance ToPath UpdateGlobalTable where+        toPath = const "/"++instance ToQuery UpdateGlobalTable where+        toQuery = const mempty++-- | /See:/ 'updateGlobalTableResponse' smart constructor.+data UpdateGlobalTableResponse = UpdateGlobalTableResponse'+  { _ugtrsGlobalTableDescription :: !(Maybe GlobalTableDescription)+  , _ugtrsResponseStatus         :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGlobalTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugtrsGlobalTableDescription' - Contains the details of the global table.+--+-- * 'ugtrsResponseStatus' - -- | The response status code.+updateGlobalTableResponse+    :: Int -- ^ 'ugtrsResponseStatus'+    -> UpdateGlobalTableResponse+updateGlobalTableResponse pResponseStatus_ =+  UpdateGlobalTableResponse'+    { _ugtrsGlobalTableDescription = Nothing+    , _ugtrsResponseStatus = pResponseStatus_+    }+++-- | Contains the details of the global table.+ugtrsGlobalTableDescription :: Lens' UpdateGlobalTableResponse (Maybe GlobalTableDescription)+ugtrsGlobalTableDescription = lens _ugtrsGlobalTableDescription (\ s a -> s{_ugtrsGlobalTableDescription = a})++-- | -- | The response status code.+ugtrsResponseStatus :: Lens' UpdateGlobalTableResponse Int+ugtrsResponseStatus = lens _ugtrsResponseStatus (\ s a -> s{_ugtrsResponseStatus = a})++instance NFData UpdateGlobalTableResponse where
+ gen/Network/AWS/DynamoDB/UpdateGlobalTableSettings.hs view
@@ -0,0 +1,185 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DynamoDB.UpdateGlobalTableSettings+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates settings for a global table.+--+--+module Network.AWS.DynamoDB.UpdateGlobalTableSettings+    (+    -- * Creating a Request+      updateGlobalTableSettings+    , UpdateGlobalTableSettings+    -- * Request Lenses+    , ugtsGlobalTableProvisionedWriteCapacityUnits+    , ugtsReplicaSettingsUpdate+    , ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate+    , ugtsGlobalTableName++    -- * Destructuring the Response+    , updateGlobalTableSettingsResponse+    , UpdateGlobalTableSettingsResponse+    -- * Response Lenses+    , ugtsrsReplicaSettings+    , ugtsrsGlobalTableName+    , ugtsrsResponseStatus+    ) where++import Network.AWS.DynamoDB.Types+import Network.AWS.DynamoDB.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateGlobalTableSettings' smart constructor.+data UpdateGlobalTableSettings = UpdateGlobalTableSettings'+  { _ugtsGlobalTableProvisionedWriteCapacityUnits :: !(Maybe Nat)+  , _ugtsReplicaSettingsUpdate :: !(Maybe (List1 ReplicaSettingsUpdate))+  , _ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate :: !(Maybe (List1 GlobalTableGlobalSecondaryIndexSettingsUpdate))+  , _ugtsGlobalTableName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGlobalTableSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugtsGlobalTableProvisionedWriteCapacityUnits' - The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException.@+--+-- * 'ugtsReplicaSettingsUpdate' - Represents the settings for a global table in a region that will be modified.+--+-- * 'ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate' - Represents the settings of a global secondary index for a global table that will be modified.+--+-- * 'ugtsGlobalTableName' - The name of the global table+updateGlobalTableSettings+    :: Text -- ^ 'ugtsGlobalTableName'+    -> UpdateGlobalTableSettings+updateGlobalTableSettings pGlobalTableName_ =+  UpdateGlobalTableSettings'+    { _ugtsGlobalTableProvisionedWriteCapacityUnits = Nothing+    , _ugtsReplicaSettingsUpdate = Nothing+    , _ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate = Nothing+    , _ugtsGlobalTableName = pGlobalTableName_+    }+++-- | The maximum number of writes consumed per second before DynamoDB returns a @ThrottlingException.@+ugtsGlobalTableProvisionedWriteCapacityUnits :: Lens' UpdateGlobalTableSettings (Maybe Natural)+ugtsGlobalTableProvisionedWriteCapacityUnits = lens _ugtsGlobalTableProvisionedWriteCapacityUnits (\ s a -> s{_ugtsGlobalTableProvisionedWriteCapacityUnits = a}) . mapping _Nat++-- | Represents the settings for a global table in a region that will be modified.+ugtsReplicaSettingsUpdate :: Lens' UpdateGlobalTableSettings (Maybe (NonEmpty ReplicaSettingsUpdate))+ugtsReplicaSettingsUpdate = lens _ugtsReplicaSettingsUpdate (\ s a -> s{_ugtsReplicaSettingsUpdate = a}) . mapping _List1++-- | Represents the settings of a global secondary index for a global table that will be modified.+ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate :: Lens' UpdateGlobalTableSettings (Maybe (NonEmpty GlobalTableGlobalSecondaryIndexSettingsUpdate))+ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate = lens _ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate (\ s a -> s{_ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate = a}) . mapping _List1++-- | The name of the global table+ugtsGlobalTableName :: Lens' UpdateGlobalTableSettings Text+ugtsGlobalTableName = lens _ugtsGlobalTableName (\ s a -> s{_ugtsGlobalTableName = a})++instance AWSRequest UpdateGlobalTableSettings where+        type Rs UpdateGlobalTableSettings =+             UpdateGlobalTableSettingsResponse+        request = postJSON dynamoDB+        response+          = receiveJSON+              (\ s h x ->+                 UpdateGlobalTableSettingsResponse' <$>+                   (x .?> "ReplicaSettings" .!@ mempty) <*>+                     (x .?> "GlobalTableName")+                     <*> (pure (fromEnum s)))++instance Hashable UpdateGlobalTableSettings where++instance NFData UpdateGlobalTableSettings where++instance ToHeaders UpdateGlobalTableSettings where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DynamoDB_20120810.UpdateGlobalTableSettings" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.0" :: ByteString)])++instance ToJSON UpdateGlobalTableSettings where+        toJSON UpdateGlobalTableSettings'{..}+          = object+              (catMaybes+                 [("GlobalTableProvisionedWriteCapacityUnits" .=) <$>+                    _ugtsGlobalTableProvisionedWriteCapacityUnits,+                  ("ReplicaSettingsUpdate" .=) <$>+                    _ugtsReplicaSettingsUpdate,+                  ("GlobalTableGlobalSecondaryIndexSettingsUpdate" .=)+                    <$>+                    _ugtsGlobalTableGlobalSecondaryIndexSettingsUpdate,+                  Just ("GlobalTableName" .= _ugtsGlobalTableName)])++instance ToPath UpdateGlobalTableSettings where+        toPath = const "/"++instance ToQuery UpdateGlobalTableSettings where+        toQuery = const mempty++-- | /See:/ 'updateGlobalTableSettingsResponse' smart constructor.+data UpdateGlobalTableSettingsResponse = UpdateGlobalTableSettingsResponse'+  { _ugtsrsReplicaSettings :: !(Maybe [ReplicaSettingsDescription])+  , _ugtsrsGlobalTableName :: !(Maybe Text)+  , _ugtsrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGlobalTableSettingsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugtsrsReplicaSettings' - The region specific settings for the global table.+--+-- * 'ugtsrsGlobalTableName' - The name of the global table.+--+-- * 'ugtsrsResponseStatus' - -- | The response status code.+updateGlobalTableSettingsResponse+    :: Int -- ^ 'ugtsrsResponseStatus'+    -> UpdateGlobalTableSettingsResponse+updateGlobalTableSettingsResponse pResponseStatus_ =+  UpdateGlobalTableSettingsResponse'+    { _ugtsrsReplicaSettings = Nothing+    , _ugtsrsGlobalTableName = Nothing+    , _ugtsrsResponseStatus = pResponseStatus_+    }+++-- | The region specific settings for the global table.+ugtsrsReplicaSettings :: Lens' UpdateGlobalTableSettingsResponse [ReplicaSettingsDescription]+ugtsrsReplicaSettings = lens _ugtsrsReplicaSettings (\ s a -> s{_ugtsrsReplicaSettings = a}) . _Default . _Coerce++-- | The name of the global table.+ugtsrsGlobalTableName :: Lens' UpdateGlobalTableSettingsResponse (Maybe Text)+ugtsrsGlobalTableName = lens _ugtsrsGlobalTableName (\ s a -> s{_ugtsrsGlobalTableName = a})++-- | -- | The response status code.+ugtsrsResponseStatus :: Lens' UpdateGlobalTableSettingsResponse Int+ugtsrsResponseStatus = lens _ugtsrsResponseStatus (\ s a -> s{_ugtsrsResponseStatus = a})++instance NFData UpdateGlobalTableSettingsResponse+         where
gen/Network/AWS/DynamoDB/UpdateItem.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.UpdateItem--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -112,68 +112,68 @@     -> UpdateItem updateItem pTableName_ =   UpdateItem'-  { _uiExpressionAttributeNames = Nothing-  , _uiReturnValues = Nothing-  , _uiUpdateExpression = Nothing-  , _uiExpressionAttributeValues = Nothing-  , _uiAttributeUpdates = Nothing-  , _uiReturnConsumedCapacity = Nothing-  , _uiReturnItemCollectionMetrics = Nothing-  , _uiConditionExpression = Nothing-  , _uiConditionalOperator = Nothing-  , _uiExpected = Nothing-  , _uiTableName = pTableName_-  , _uiKey = mempty-  }+    { _uiExpressionAttributeNames = Nothing+    , _uiReturnValues = Nothing+    , _uiUpdateExpression = Nothing+    , _uiExpressionAttributeValues = Nothing+    , _uiAttributeUpdates = Nothing+    , _uiReturnConsumedCapacity = Nothing+    , _uiReturnItemCollectionMetrics = Nothing+    , _uiConditionExpression = Nothing+    , _uiConditionalOperator = Nothing+    , _uiExpected = Nothing+    , _uiTableName = pTableName_+    , _uiKey = mempty+    }   -- | One or more substitution tokens for attribute names in an expression. The following are some use cases for using @ExpressionAttributeNames@ :     * To access an attribute whose name conflicts with a DynamoDB reserved word.     * To create a placeholder for repeating occurrences of an attribute name in an expression.     * To prevent special characters in an attribute name from being misinterpreted in an expression. Use the __#__ character in an expression to dereference an attribute name. For example, consider the following attribute name:     * @Percentile@  The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html Reserved Words> in the /Amazon DynamoDB Developer Guide/ ). To work around this, you could specify the following for @ExpressionAttributeNames@ :     * @{"#P":"Percentile"}@  You could then use this substitution in an expression, as in this example:     * @#P = :val@  For more information on expression attribute names, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html Accessing Item Attributes> in the /Amazon DynamoDB Developer Guide/ . uiExpressionAttributeNames :: Lens' UpdateItem (HashMap Text Text)-uiExpressionAttributeNames = lens _uiExpressionAttributeNames (\ s a -> s{_uiExpressionAttributeNames = a}) . _Default . _Map;+uiExpressionAttributeNames = lens _uiExpressionAttributeNames (\ s a -> s{_uiExpressionAttributeNames = a}) . _Default . _Map  -- | Use @ReturnValues@ if you want to get the item attributes as they appear before or after they are updated. For @UpdateItem@ , the valid values are:     * @NONE@ - If @ReturnValues@ is not specified, or if its value is @NONE@ , then nothing is returned. (This setting is the default for @ReturnValues@ .)     * @ALL_OLD@ - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.     * @UPDATED_OLD@ - Returns only the updated attributes, as they appeared before the UpdateItem operation.     * @ALL_NEW@ - Returns all of the attributes of the item, as they appear after the UpdateItem operation.     * @UPDATED_NEW@ - Returns only the updated attributes, as they appear after the UpdateItem operation. There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed. The values returned are strongly consistent. uiReturnValues :: Lens' UpdateItem (Maybe ReturnValue)-uiReturnValues = lens _uiReturnValues (\ s a -> s{_uiReturnValues = a});+uiReturnValues = lens _uiReturnValues (\ s a -> s{_uiReturnValues = a})  -- | An expression that defines one or more attributes to be updated, the action to be performed on them, and new value(s) for them. The following action values are available for @UpdateExpression@ .     * @SET@ - Adds one or more attributes and values to an item. If any of these attribute already exist, they are replaced by the new values. You can also use @SET@ to add or subtract from an attribute that is of type Number. For example: @SET myNum = myNum + :val@  @SET@ supports the following functions:     * @if_not_exists (path, operand)@ - if the item does not contain an attribute at the specified path, then @if_not_exists@ evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.     * @list_append (operand, operand)@ - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands. These function names are case-sensitive.     * @REMOVE@ - Removes one or more attributes from an item.     * @ADD@ - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of @ADD@ depends on the data type of the attribute:     * If the existing attribute is a number, and if @Value@ is also a number, then @Value@ is mathematically added to the existing attribute. If @Value@ is a negative number, then it is subtracted from the existing attribute.     * If the existing data type is a set and if @Value@ is also a set, then @Value@ is added to the existing set. For example, if the attribute value is the set @[1,2]@ , and the @ADD@ action specified @[3]@ , then the final attribute value is @[1,2,3]@ . An error occurs if an @ADD@ action is specified for a set attribute and the attribute type specified does not match the existing set type.  Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the @Value@ must also be a set of strings. /Important:/ The @ADD@ action only supports Number and set data types. In addition, @ADD@ can only be used on top-level attributes, not nested attributes.     * @DELETE@ - Deletes an element from a set. If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set @[a,b,c]@ and the @DELETE@ action specifies @[a,c]@ , then the final attribute value is @[b]@ . Specifying an empty set is an error. /Important:/ The @DELETE@ action only supports set data types. In addition, @DELETE@ can only be used on top-level attributes, not nested attributes. You can have many actions in a single expression, such as the following: @SET a=:value1, b=:value2 DELETE :value3, :value4, :value5@  For more information on update expressions, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html Modifying Items and Attributes> in the /Amazon DynamoDB Developer Guide/ . uiUpdateExpression :: Lens' UpdateItem (Maybe Text)-uiUpdateExpression = lens _uiUpdateExpression (\ s a -> s{_uiUpdateExpression = a});+uiUpdateExpression = lens _uiUpdateExpression (\ s a -> s{_uiUpdateExpression = a})  -- | One or more values that can be substituted in an expression. Use the __:__ (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the /ProductStatus/ attribute was one of the following:  @Available | Backordered | Discontinued@  You would first need to specify @ExpressionAttributeValues@ as follows: @{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }@  You could then use these values in an expression, such as this: @ProductStatus IN (:avail, :back, :disc)@  For more information on expression attribute values, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . uiExpressionAttributeValues :: Lens' UpdateItem (HashMap Text AttributeValue)-uiExpressionAttributeValues = lens _uiExpressionAttributeValues (\ s a -> s{_uiExpressionAttributeValues = a}) . _Default . _Map;+uiExpressionAttributeValues = lens _uiExpressionAttributeValues (\ s a -> s{_uiExpressionAttributeValues = a}) . _Default . _Map  -- | This is a legacy parameter. Use @UpdateExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html AttributeUpdates> in the /Amazon DynamoDB Developer Guide/ . uiAttributeUpdates :: Lens' UpdateItem (HashMap Text AttributeValueUpdate)-uiAttributeUpdates = lens _uiAttributeUpdates (\ s a -> s{_uiAttributeUpdates = a}) . _Default . _Map;+uiAttributeUpdates = lens _uiAttributeUpdates (\ s a -> s{_uiAttributeUpdates = a}) . _Default . _Map  -- | Undocumented member. uiReturnConsumedCapacity :: Lens' UpdateItem (Maybe ReturnConsumedCapacity)-uiReturnConsumedCapacity = lens _uiReturnConsumedCapacity (\ s a -> s{_uiReturnConsumedCapacity = a});+uiReturnConsumedCapacity = lens _uiReturnConsumedCapacity (\ s a -> s{_uiReturnConsumedCapacity = a})  -- | Determines whether item collection metrics are returned. If set to @SIZE@ , the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to @NONE@ (the default), no statistics are returned. uiReturnItemCollectionMetrics :: Lens' UpdateItem (Maybe ReturnItemCollectionMetrics)-uiReturnItemCollectionMetrics = lens _uiReturnItemCollectionMetrics (\ s a -> s{_uiReturnItemCollectionMetrics = a});+uiReturnItemCollectionMetrics = lens _uiReturnItemCollectionMetrics (\ s a -> s{_uiReturnItemCollectionMetrics = a})  -- | A condition that must be satisfied in order for a conditional update to succeed. An expression can contain any of the following:     * Functions: @attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size@  These function names are case-sensitive.     * Comparison operators: @= | <> | < | > | <= | >= | BETWEEN | IN @      * Logical operators: @AND | OR | NOT@  For more information on condition expressions, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html Specifying Conditions> in the /Amazon DynamoDB Developer Guide/ . uiConditionExpression :: Lens' UpdateItem (Maybe Text)-uiConditionExpression = lens _uiConditionExpression (\ s a -> s{_uiConditionExpression = a});+uiConditionExpression = lens _uiConditionExpression (\ s a -> s{_uiConditionExpression = a})  -- | This is a legacy parameter. Use @ConditionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html ConditionalOperator> in the /Amazon DynamoDB Developer Guide/ . uiConditionalOperator :: Lens' UpdateItem (Maybe ConditionalOperator)-uiConditionalOperator = lens _uiConditionalOperator (\ s a -> s{_uiConditionalOperator = a});+uiConditionalOperator = lens _uiConditionalOperator (\ s a -> s{_uiConditionalOperator = a})  -- | This is a legacy parameter. Use @ConditionExpression@ instead. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html Expected> in the /Amazon DynamoDB Developer Guide/ . uiExpected :: Lens' UpdateItem (HashMap Text ExpectedAttributeValue)-uiExpected = lens _uiExpected (\ s a -> s{_uiExpected = a}) . _Default . _Map;+uiExpected = lens _uiExpected (\ s a -> s{_uiExpected = a}) . _Default . _Map  -- | The name of the table containing the item to update. uiTableName :: Lens' UpdateItem Text-uiTableName = lens _uiTableName (\ s a -> s{_uiTableName = a});+uiTableName = lens _uiTableName (\ s a -> s{_uiTableName = a})  -- | The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute. For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key. uiKey :: Lens' UpdateItem (HashMap Text AttributeValue)-uiKey = lens _uiKey (\ s a -> s{_uiKey = a}) . _Map;+uiKey = lens _uiKey (\ s a -> s{_uiKey = a}) . _Map  instance AWSRequest UpdateItem where         type Rs UpdateItem = UpdateItemResponse@@ -246,7 +246,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'uirsItemCollectionMetrics' - Information about item collections, if any, that were affected by the @UpdateItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRange@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- * 'uirsItemCollectionMetrics' - Information about item collections, if any, that were affected by the @UpdateItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRangeGB@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. -- -- * 'uirsConsumedCapacity' - The capacity units consumed by the @UpdateItem@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . --@@ -258,27 +258,27 @@     -> UpdateItemResponse updateItemResponse pResponseStatus_ =   UpdateItemResponse'-  { _uirsItemCollectionMetrics = Nothing-  , _uirsConsumedCapacity = Nothing-  , _uirsAttributes = Nothing-  , _uirsResponseStatus = pResponseStatus_-  }+    { _uirsItemCollectionMetrics = Nothing+    , _uirsConsumedCapacity = Nothing+    , _uirsAttributes = Nothing+    , _uirsResponseStatus = pResponseStatus_+    }  --- | Information about item collections, if any, that were affected by the @UpdateItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRange@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.+-- | Information about item collections, if any, that were affected by the @UpdateItem@ operation. @ItemCollectionMetrics@ is only returned if the @ReturnItemCollectionMetrics@ parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response. Each @ItemCollectionMetrics@ element consists of:     * @ItemCollectionKey@ - The partition key value of the item collection. This is the same as the partition key value of the item itself.     * @SizeEstimateRangeGB@ - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. uirsItemCollectionMetrics :: Lens' UpdateItemResponse (Maybe ItemCollectionMetrics)-uirsItemCollectionMetrics = lens _uirsItemCollectionMetrics (\ s a -> s{_uirsItemCollectionMetrics = a});+uirsItemCollectionMetrics = lens _uirsItemCollectionMetrics (\ s a -> s{_uirsItemCollectionMetrics = a})  -- | The capacity units consumed by the @UpdateItem@ operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. @ConsumedCapacity@ is only returned if the @ReturnConsumedCapacity@ parameter was specified. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html Provisioned Throughput> in the /Amazon DynamoDB Developer Guide/ . uirsConsumedCapacity :: Lens' UpdateItemResponse (Maybe ConsumedCapacity)-uirsConsumedCapacity = lens _uirsConsumedCapacity (\ s a -> s{_uirsConsumedCapacity = a});+uirsConsumedCapacity = lens _uirsConsumedCapacity (\ s a -> s{_uirsConsumedCapacity = a})  -- | A map of attribute values as they appear before or after the @UpdateItem@ operation, as determined by the @ReturnValues@ parameter. The @Attributes@ map is only present if @ReturnValues@ was specified as something other than @NONE@ in the request. Each element represents one attribute. uirsAttributes :: Lens' UpdateItemResponse (HashMap Text AttributeValue)-uirsAttributes = lens _uirsAttributes (\ s a -> s{_uirsAttributes = a}) . _Default . _Map;+uirsAttributes = lens _uirsAttributes (\ s a -> s{_uirsAttributes = a}) . _Default . _Map  -- | -- | The response status code. uirsResponseStatus :: Lens' UpdateItemResponse Int-uirsResponseStatus = lens _uirsResponseStatus (\ s a -> s{_uirsResponseStatus = a});+uirsResponseStatus = lens _uirsResponseStatus (\ s a -> s{_uirsResponseStatus = a})  instance NFData UpdateItemResponse where
gen/Network/AWS/DynamoDB/UpdateTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.UpdateTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -94,33 +94,33 @@     -> UpdateTable updateTable pTableName_ =   UpdateTable'-  { _utAttributeDefinitions = Nothing-  , _utProvisionedThroughput = Nothing-  , _utGlobalSecondaryIndexUpdates = Nothing-  , _utStreamSpecification = Nothing-  , _utTableName = pTableName_-  }+    { _utAttributeDefinitions = Nothing+    , _utProvisionedThroughput = Nothing+    , _utGlobalSecondaryIndexUpdates = Nothing+    , _utStreamSpecification = Nothing+    , _utTableName = pTableName_+    }   -- | An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, @AttributeDefinitions@ must include the key element(s) of the new index. utAttributeDefinitions :: Lens' UpdateTable [AttributeDefinition]-utAttributeDefinitions = lens _utAttributeDefinitions (\ s a -> s{_utAttributeDefinitions = a}) . _Default . _Coerce;+utAttributeDefinitions = lens _utAttributeDefinitions (\ s a -> s{_utAttributeDefinitions = a}) . _Default . _Coerce  -- | The new provisioned throughput settings for the specified table or index. utProvisionedThroughput :: Lens' UpdateTable (Maybe ProvisionedThroughput)-utProvisionedThroughput = lens _utProvisionedThroughput (\ s a -> s{_utProvisionedThroughput = a});+utProvisionedThroughput = lens _utProvisionedThroughput (\ s a -> s{_utProvisionedThroughput = a})  -- | An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:     * @Create@ - add a new global secondary index to the table.     * @Update@ - modify the provisioned throughput settings of an existing global secondary index.     * @Delete@ - remove a global secondary index from the table. For more information, see <http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html Managing Global Secondary Indexes> in the /Amazon DynamoDB Developer Guide/ . utGlobalSecondaryIndexUpdates :: Lens' UpdateTable [GlobalSecondaryIndexUpdate]-utGlobalSecondaryIndexUpdates = lens _utGlobalSecondaryIndexUpdates (\ s a -> s{_utGlobalSecondaryIndexUpdates = a}) . _Default . _Coerce;+utGlobalSecondaryIndexUpdates = lens _utGlobalSecondaryIndexUpdates (\ s a -> s{_utGlobalSecondaryIndexUpdates = a}) . _Default . _Coerce  -- | Represents the DynamoDB Streams configuration for the table. utStreamSpecification :: Lens' UpdateTable (Maybe StreamSpecification)-utStreamSpecification = lens _utStreamSpecification (\ s a -> s{_utStreamSpecification = a});+utStreamSpecification = lens _utStreamSpecification (\ s a -> s{_utStreamSpecification = a})  -- | The name of the table to be updated. utTableName :: Lens' UpdateTable Text-utTableName = lens _utTableName (\ s a -> s{_utTableName = a});+utTableName = lens _utTableName (\ s a -> s{_utTableName = a})  instance AWSRequest UpdateTable where         type Rs UpdateTable = UpdateTableResponse@@ -187,15 +187,15 @@     -> UpdateTableResponse updateTableResponse pResponseStatus_ =   UpdateTableResponse'-  {_utrsTableDescription = Nothing, _utrsResponseStatus = pResponseStatus_}+    {_utrsTableDescription = Nothing, _utrsResponseStatus = pResponseStatus_}   -- | Represents the properties of the table. utrsTableDescription :: Lens' UpdateTableResponse (Maybe TableDescription)-utrsTableDescription = lens _utrsTableDescription (\ s a -> s{_utrsTableDescription = a});+utrsTableDescription = lens _utrsTableDescription (\ s a -> s{_utrsTableDescription = a})  -- | -- | The response status code. utrsResponseStatus :: Lens' UpdateTableResponse Int-utrsResponseStatus = lens _utrsResponseStatus (\ s a -> s{_utrsResponseStatus = a});+utrsResponseStatus = lens _utrsResponseStatus (\ s a -> s{_utrsResponseStatus = a})  instance NFData UpdateTableResponse where
gen/Network/AWS/DynamoDB/UpdateTimeToLive.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.DynamoDB.UpdateTimeToLive--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -79,18 +79,18 @@     -> UpdateTimeToLive updateTimeToLive pTableName_ pTimeToLiveSpecification_ =   UpdateTimeToLive'-  { _uttlTableName = pTableName_-  , _uttlTimeToLiveSpecification = pTimeToLiveSpecification_-  }+    { _uttlTableName = pTableName_+    , _uttlTimeToLiveSpecification = pTimeToLiveSpecification_+    }   -- | The name of the table to be configured. uttlTableName :: Lens' UpdateTimeToLive Text-uttlTableName = lens _uttlTableName (\ s a -> s{_uttlTableName = a});+uttlTableName = lens _uttlTableName (\ s a -> s{_uttlTableName = a})  -- | Represents the settings used to enable or disable Time to Live for the specified table. uttlTimeToLiveSpecification :: Lens' UpdateTimeToLive TimeToLiveSpecification-uttlTimeToLiveSpecification = lens _uttlTimeToLiveSpecification (\ s a -> s{_uttlTimeToLiveSpecification = a});+uttlTimeToLiveSpecification = lens _uttlTimeToLiveSpecification (\ s a -> s{_uttlTimeToLiveSpecification = a})  instance AWSRequest UpdateTimeToLive where         type Rs UpdateTimeToLive = UpdateTimeToLiveResponse@@ -149,17 +149,17 @@     -> UpdateTimeToLiveResponse updateTimeToLiveResponse pResponseStatus_ =   UpdateTimeToLiveResponse'-  { _uttlrsTimeToLiveSpecification = Nothing-  , _uttlrsResponseStatus = pResponseStatus_-  }+    { _uttlrsTimeToLiveSpecification = Nothing+    , _uttlrsResponseStatus = pResponseStatus_+    }   -- | Represents the output of an @UpdateTimeToLive@ operation. uttlrsTimeToLiveSpecification :: Lens' UpdateTimeToLiveResponse (Maybe TimeToLiveSpecification)-uttlrsTimeToLiveSpecification = lens _uttlrsTimeToLiveSpecification (\ s a -> s{_uttlrsTimeToLiveSpecification = a});+uttlrsTimeToLiveSpecification = lens _uttlrsTimeToLiveSpecification (\ s a -> s{_uttlrsTimeToLiveSpecification = a})  -- | -- | The response status code. uttlrsResponseStatus :: Lens' UpdateTimeToLiveResponse Int-uttlrsResponseStatus = lens _uttlrsResponseStatus (\ s a -> s{_uttlrsResponseStatus = a});+uttlrsResponseStatus = lens _uttlrsResponseStatus (\ s a -> s{_uttlrsResponseStatus = a})  instance NFData UpdateTimeToLiveResponse where
gen/Network/AWS/DynamoDB/Waiters.hs view
@@ -7,7 +7,7 @@  -- | -- Module      : Network.AWS.DynamoDB.Waiters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -26,26 +26,26 @@ tableNotExists :: Wait DescribeTable tableNotExists =   Wait-  { _waitName = "TableNotExists"-  , _waitAttempts = 25-  , _waitDelay = 20-  , _waitAcceptors = [matchError "ResourceNotFoundException" AcceptSuccess]-  }+    { _waitName = "TableNotExists"+    , _waitAttempts = 25+    , _waitDelay = 20+    , _waitAcceptors = [matchError "ResourceNotFoundException" AcceptSuccess]+    }   -- | Polls 'Network.AWS.DynamoDB.DescribeTable' every 20 seconds until a successful state is reached. An error is returned after 25 failed checks. tableExists :: Wait DescribeTable tableExists =   Wait-  { _waitName = "TableExists"-  , _waitAttempts = 25-  , _waitDelay = 20-  , _waitAcceptors =-      [ matchAll-          "ACTIVE"-          AcceptSuccess-          (drsTable . _Just . tdTableStatus . _Just . to toTextCI)-      , matchError "ResourceNotFoundException" AcceptRetry-      ]-  }+    { _waitName = "TableExists"+    , _waitAttempts = 25+    , _waitDelay = 20+    , _waitAcceptors =+        [ matchAll+            "ACTIVE"+            AcceptSuccess+            (drsTable . _Just . tdTableStatus . _Just . to toTextCI)+        , matchError "ResourceNotFoundException" AcceptRetry+        ]+    } 
test/Main.hs view
@@ -2,7 +2,7 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/DynamoDB.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-}  -- Module      : Test.AWS.DynamoDB--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or
test/Test/AWS/DynamoDB/Internal.hs view
@@ -2,7 +2,7 @@ {-# OPTIONS_GHC -fno-warn-unused-imports #-}  -- Module      : Test.AWS.DynamoDB.Internal--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or
test/Test/AWS/Gen/DynamoDB.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Test.AWS.Gen.DynamoDB--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -37,6 +37,12 @@ --         , requestUpdateItem $ --             updateItem --+--         , requestListGlobalTables $+--             listGlobalTables+--+--         , requestUpdateGlobalTable $+--             updateGlobalTable+-- --         , requestDeleteTable $ --             deleteTable --@@ -46,9 +52,24 @@ --         , requestBatchGetItem $ --             batchGetItem --+--         , requestListBackups $+--             listBackups+--+--         , requestDeleteBackup $+--             deleteBackup+--+--         , requestCreateBackup $+--             createBackup+--+--         , requestDescribeGlobalTableSettings $+--             describeGlobalTableSettings+-- --         , requestListTagsOfResource $ --             listTagsOfResource --+--         , requestDescribeGlobalTable $+--             describeGlobalTable+-- --         , requestDescribeTable $ --             describeTable --@@ -58,6 +79,12 @@ --         , requestGetItem $ --             getItem --+--         , requestDescribeBackup $+--             describeBackup+--+--         , requestUpdateGlobalTableSettings $+--             updateGlobalTableSettings+-- --         , requestBatchWriteItem $ --             batchWriteItem --@@ -76,15 +103,30 @@ --         , requestDescribeTimeToLive $ --             describeTimeToLive --+--         , requestDescribeContinuousBackups $+--             describeContinuousBackups+-- --         , requestTagResource $ --             tagResource -- --         , requestUntagResource $ --             untagResource --+--         , requestRestoreTableToPointInTime $+--             restoreTableToPointInTime+--+--         , requestRestoreTableFromBackup $+--             restoreTableFromBackup+-- --         , requestUpdateTimeToLive $ --             updateTimeToLive --+--         , requestCreateGlobalTable $+--             createGlobalTable+--+--         , requestUpdateContinuousBackups $+--             updateContinuousBackups+-- --           ]  --     , testGroup "response"@@ -97,6 +139,12 @@ --         , responseUpdateItem $ --             updateItemResponse --+--         , responseListGlobalTables $+--             listGlobalTablesResponse+--+--         , responseUpdateGlobalTable $+--             updateGlobalTableResponse+-- --         , responseDeleteTable $ --             deleteTableResponse --@@ -106,9 +154,24 @@ --         , responseBatchGetItem $ --             batchGetItemResponse --+--         , responseListBackups $+--             listBackupsResponse+--+--         , responseDeleteBackup $+--             deleteBackupResponse+--+--         , responseCreateBackup $+--             createBackupResponse+--+--         , responseDescribeGlobalTableSettings $+--             describeGlobalTableSettingsResponse+-- --         , responseListTagsOfResource $ --             listTagsOfResourceResponse --+--         , responseDescribeGlobalTable $+--             describeGlobalTableResponse+-- --         , responseDescribeTable $ --             describeTableResponse --@@ -118,6 +181,12 @@ --         , responseGetItem $ --             getItemResponse --+--         , responseDescribeBackup $+--             describeBackupResponse+--+--         , responseUpdateGlobalTableSettings $+--             updateGlobalTableSettingsResponse+-- --         , responseBatchWriteItem $ --             batchWriteItemResponse --@@ -136,15 +205,30 @@ --         , responseDescribeTimeToLive $ --             describeTimeToLiveResponse --+--         , responseDescribeContinuousBackups $+--             describeContinuousBackupsResponse+-- --         , responseTagResource $ --             tagResourceResponse -- --         , responseUntagResource $ --             untagResourceResponse --+--         , responseRestoreTableToPointInTime $+--             restoreTableToPointInTimeResponse+--+--         , responseRestoreTableFromBackup $+--             restoreTableFromBackupResponse+-- --         , responseUpdateTimeToLive $ --             updateTimeToLiveResponse --+--         , responseCreateGlobalTable $+--             createGlobalTableResponse+--+--         , responseUpdateContinuousBackups $+--             updateContinuousBackupsResponse+-- --           ] --     ] @@ -165,6 +249,16 @@     "UpdateItem"     "fixture/UpdateItem.yaml" +requestListGlobalTables :: ListGlobalTables -> TestTree+requestListGlobalTables = req+    "ListGlobalTables"+    "fixture/ListGlobalTables.yaml"++requestUpdateGlobalTable :: UpdateGlobalTable -> TestTree+requestUpdateGlobalTable = req+    "UpdateGlobalTable"+    "fixture/UpdateGlobalTable.yaml"+ requestDeleteTable :: DeleteTable -> TestTree requestDeleteTable = req     "DeleteTable"@@ -180,11 +274,36 @@     "BatchGetItem"     "fixture/BatchGetItem.yaml" +requestListBackups :: ListBackups -> TestTree+requestListBackups = req+    "ListBackups"+    "fixture/ListBackups.yaml"++requestDeleteBackup :: DeleteBackup -> TestTree+requestDeleteBackup = req+    "DeleteBackup"+    "fixture/DeleteBackup.yaml"++requestCreateBackup :: CreateBackup -> TestTree+requestCreateBackup = req+    "CreateBackup"+    "fixture/CreateBackup.yaml"++requestDescribeGlobalTableSettings :: DescribeGlobalTableSettings -> TestTree+requestDescribeGlobalTableSettings = req+    "DescribeGlobalTableSettings"+    "fixture/DescribeGlobalTableSettings.yaml"+ requestListTagsOfResource :: ListTagsOfResource -> TestTree requestListTagsOfResource = req     "ListTagsOfResource"     "fixture/ListTagsOfResource.yaml" +requestDescribeGlobalTable :: DescribeGlobalTable -> TestTree+requestDescribeGlobalTable = req+    "DescribeGlobalTable"+    "fixture/DescribeGlobalTable.yaml"+ requestDescribeTable :: DescribeTable -> TestTree requestDescribeTable = req     "DescribeTable"@@ -200,6 +319,16 @@     "GetItem"     "fixture/GetItem.yaml" +requestDescribeBackup :: DescribeBackup -> TestTree+requestDescribeBackup = req+    "DescribeBackup"+    "fixture/DescribeBackup.yaml"++requestUpdateGlobalTableSettings :: UpdateGlobalTableSettings -> TestTree+requestUpdateGlobalTableSettings = req+    "UpdateGlobalTableSettings"+    "fixture/UpdateGlobalTableSettings.yaml"+ requestBatchWriteItem :: BatchWriteItem -> TestTree requestBatchWriteItem = req     "BatchWriteItem"@@ -230,6 +359,11 @@     "DescribeTimeToLive"     "fixture/DescribeTimeToLive.yaml" +requestDescribeContinuousBackups :: DescribeContinuousBackups -> TestTree+requestDescribeContinuousBackups = req+    "DescribeContinuousBackups"+    "fixture/DescribeContinuousBackups.yaml"+ requestTagResource :: TagResource -> TestTree requestTagResource = req     "TagResource"@@ -240,11 +374,31 @@     "UntagResource"     "fixture/UntagResource.yaml" +requestRestoreTableToPointInTime :: RestoreTableToPointInTime -> TestTree+requestRestoreTableToPointInTime = req+    "RestoreTableToPointInTime"+    "fixture/RestoreTableToPointInTime.yaml"++requestRestoreTableFromBackup :: RestoreTableFromBackup -> TestTree+requestRestoreTableFromBackup = req+    "RestoreTableFromBackup"+    "fixture/RestoreTableFromBackup.yaml"+ requestUpdateTimeToLive :: UpdateTimeToLive -> TestTree requestUpdateTimeToLive = req     "UpdateTimeToLive"     "fixture/UpdateTimeToLive.yaml" +requestCreateGlobalTable :: CreateGlobalTable -> TestTree+requestCreateGlobalTable = req+    "CreateGlobalTable"+    "fixture/CreateGlobalTable.yaml"++requestUpdateContinuousBackups :: UpdateContinuousBackups -> TestTree+requestUpdateContinuousBackups = req+    "UpdateContinuousBackups"+    "fixture/UpdateContinuousBackups.yaml"+ -- Responses  responsePutItem :: PutItemResponse -> TestTree@@ -268,6 +422,20 @@     dynamoDB     (Proxy :: Proxy UpdateItem) +responseListGlobalTables :: ListGlobalTablesResponse -> TestTree+responseListGlobalTables = res+    "ListGlobalTablesResponse"+    "fixture/ListGlobalTablesResponse.proto"+    dynamoDB+    (Proxy :: Proxy ListGlobalTables)++responseUpdateGlobalTable :: UpdateGlobalTableResponse -> TestTree+responseUpdateGlobalTable = res+    "UpdateGlobalTableResponse"+    "fixture/UpdateGlobalTableResponse.proto"+    dynamoDB+    (Proxy :: Proxy UpdateGlobalTable)+ responseDeleteTable :: DeleteTableResponse -> TestTree responseDeleteTable = res     "DeleteTableResponse"@@ -289,6 +457,34 @@     dynamoDB     (Proxy :: Proxy BatchGetItem) +responseListBackups :: ListBackupsResponse -> TestTree+responseListBackups = res+    "ListBackupsResponse"+    "fixture/ListBackupsResponse.proto"+    dynamoDB+    (Proxy :: Proxy ListBackups)++responseDeleteBackup :: DeleteBackupResponse -> TestTree+responseDeleteBackup = res+    "DeleteBackupResponse"+    "fixture/DeleteBackupResponse.proto"+    dynamoDB+    (Proxy :: Proxy DeleteBackup)++responseCreateBackup :: CreateBackupResponse -> TestTree+responseCreateBackup = res+    "CreateBackupResponse"+    "fixture/CreateBackupResponse.proto"+    dynamoDB+    (Proxy :: Proxy CreateBackup)++responseDescribeGlobalTableSettings :: DescribeGlobalTableSettingsResponse -> TestTree+responseDescribeGlobalTableSettings = res+    "DescribeGlobalTableSettingsResponse"+    "fixture/DescribeGlobalTableSettingsResponse.proto"+    dynamoDB+    (Proxy :: Proxy DescribeGlobalTableSettings)+ responseListTagsOfResource :: ListTagsOfResourceResponse -> TestTree responseListTagsOfResource = res     "ListTagsOfResourceResponse"@@ -296,6 +492,13 @@     dynamoDB     (Proxy :: Proxy ListTagsOfResource) +responseDescribeGlobalTable :: DescribeGlobalTableResponse -> TestTree+responseDescribeGlobalTable = res+    "DescribeGlobalTableResponse"+    "fixture/DescribeGlobalTableResponse.proto"+    dynamoDB+    (Proxy :: Proxy DescribeGlobalTable)+ responseDescribeTable :: DescribeTableResponse -> TestTree responseDescribeTable = res     "DescribeTableResponse"@@ -317,6 +520,20 @@     dynamoDB     (Proxy :: Proxy GetItem) +responseDescribeBackup :: DescribeBackupResponse -> TestTree+responseDescribeBackup = res+    "DescribeBackupResponse"+    "fixture/DescribeBackupResponse.proto"+    dynamoDB+    (Proxy :: Proxy DescribeBackup)++responseUpdateGlobalTableSettings :: UpdateGlobalTableSettingsResponse -> TestTree+responseUpdateGlobalTableSettings = res+    "UpdateGlobalTableSettingsResponse"+    "fixture/UpdateGlobalTableSettingsResponse.proto"+    dynamoDB+    (Proxy :: Proxy UpdateGlobalTableSettings)+ responseBatchWriteItem :: BatchWriteItemResponse -> TestTree responseBatchWriteItem = res     "BatchWriteItemResponse"@@ -359,6 +576,13 @@     dynamoDB     (Proxy :: Proxy DescribeTimeToLive) +responseDescribeContinuousBackups :: DescribeContinuousBackupsResponse -> TestTree+responseDescribeContinuousBackups = res+    "DescribeContinuousBackupsResponse"+    "fixture/DescribeContinuousBackupsResponse.proto"+    dynamoDB+    (Proxy :: Proxy DescribeContinuousBackups)+ responseTagResource :: TagResourceResponse -> TestTree responseTagResource = res     "TagResourceResponse"@@ -373,9 +597,37 @@     dynamoDB     (Proxy :: Proxy UntagResource) +responseRestoreTableToPointInTime :: RestoreTableToPointInTimeResponse -> TestTree+responseRestoreTableToPointInTime = res+    "RestoreTableToPointInTimeResponse"+    "fixture/RestoreTableToPointInTimeResponse.proto"+    dynamoDB+    (Proxy :: Proxy RestoreTableToPointInTime)++responseRestoreTableFromBackup :: RestoreTableFromBackupResponse -> TestTree+responseRestoreTableFromBackup = res+    "RestoreTableFromBackupResponse"+    "fixture/RestoreTableFromBackupResponse.proto"+    dynamoDB+    (Proxy :: Proxy RestoreTableFromBackup)+ responseUpdateTimeToLive :: UpdateTimeToLiveResponse -> TestTree responseUpdateTimeToLive = res     "UpdateTimeToLiveResponse"     "fixture/UpdateTimeToLiveResponse.proto"     dynamoDB     (Proxy :: Proxy UpdateTimeToLive)++responseCreateGlobalTable :: CreateGlobalTableResponse -> TestTree+responseCreateGlobalTable = res+    "CreateGlobalTableResponse"+    "fixture/CreateGlobalTableResponse.proto"+    dynamoDB+    (Proxy :: Proxy CreateGlobalTable)++responseUpdateContinuousBackups :: UpdateContinuousBackupsResponse -> TestTree+responseUpdateContinuousBackups = res+    "UpdateContinuousBackupsResponse"+    "fixture/UpdateContinuousBackupsResponse.proto"+    dynamoDB+    (Proxy :: Proxy UpdateContinuousBackups)