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

-- | Amazon Web Services (AWS) for Haskell
--   
--   Bindings for Amazon Web Services (AWS), with the aim of supporting all
--   AWS services. To see a high level overview of the library, see the
--   README at
--   https://github.com/aristidb/aws/blob/master/README.md.
@package aws
@version 0.24.4

module Aws.Ec2.InstanceMetadata
data InstanceMetadataException
MetadataNotFound :: String -> InstanceMetadataException
getInstanceMetadata :: Manager -> String -> String -> IO ByteString
getInstanceMetadataListing :: Manager -> String -> IO [String]
getInstanceMetadataFirst :: Manager -> String -> IO ByteString
getInstanceMetadataOrFirst :: Manager -> String -> Maybe String -> IO ByteString
instance GHC.Internal.Exception.Type.Exception Aws.Ec2.InstanceMetadata.InstanceMetadataException
instance GHC.Internal.Show.Show Aws.Ec2.InstanceMetadata.InstanceMetadataException

module Aws.Network
hostAvailable :: String -> IO Bool

module Aws.Core

-- | Types that can be logged (textually).
class Loggable a
toLogText :: Loggable a => a -> Text

-- | A response with metadata. Can also contain an error response, or an
--   internal error, via Attempt.
--   
--   Response forms a Writer-like monad.
data Response m a
Response :: m -> Either SomeException a -> Response m a
[responseMetadata] :: Response m a -> m
[responseResult] :: Response m a -> Either SomeException a

-- | Read a response result (if it's a success response, fail otherwise).
readResponse :: MonadThrow n => Response m a -> n a

-- | Read a response result (if it's a success response, fail otherwise).
--   In MonadIO.
readResponseIO :: MonadIO io => Response m a -> io a

-- | An empty response with some metadata.
tellMetadata :: m -> Response m ()

-- | Add metadata to an IORef (using mappend).
tellMetadataRef :: Monoid m => IORef m -> m -> IO ()

-- | Apply a function to the metadata.
mapMetadata :: (m -> n) -> Response m a -> Response n a

-- | A full HTTP response parser. Takes HTTP status, response headers, and
--   response body.
type HTTPResponseConsumer a = Response ConduitM () ByteString ResourceT IO () -> ResourceT IO a

-- | Class for types that AWS HTTP responses can be parsed into.
--   
--   The request is also passed for possibly required additional metadata.
--   
--   Note that for debugging, there is an instance for ByteString.
class Monoid ResponseMetadata resp => ResponseConsumer req resp where {
    
    -- | Metadata associated with a response. Typically there is one metadata
    --   type for each AWS service.
    type ResponseMetadata resp;
}

-- | Response parser. Takes the corresponding AWS request, the derived
--   http-client request (for error reporting), an IORef
--   for metadata, and HTTP response data.
responseConsumer :: ResponseConsumer req resp => Request -> req -> IORef (ResponseMetadata resp) -> HTTPResponseConsumer resp

-- | Class for responses that are fully loaded into memory
class AsMemoryResponse resp where {
    type MemoryResponse resp;
}
loadToMemory :: AsMemoryResponse resp => resp -> ResourceT IO (MemoryResponse resp)

-- | Responses that have one main list in them, and perhaps some
--   decoration.
class ListResponse resp item | resp -> item
listResponse :: ListResponse resp item => resp -> [item]

-- | An error that occurred during XML parsing / validation.
newtype XmlException
XmlException :: String -> XmlException
[xmlErrorMessage] :: XmlException -> String

-- | An error that occurred during header parsing / validation.
newtype HeaderException
HeaderException :: String -> HeaderException
[headerErrorMessage] :: HeaderException -> String

-- | An error that occurred during form parsing / validation.
newtype FormException
FormException :: String -> FormException
[formErrorMesage] :: FormException -> String

-- | No credentials were found and an invariant was violated.
newtype NoCredentialsException
NoCredentialsException :: String -> NoCredentialsException
[noCredentialsErrorMessage] :: NoCredentialsException -> String

-- | A helper to throw an StatusCodeException.
throwStatusCodeException :: MonadThrow m => Request -> Response (ConduitM () ByteString m ()) -> m a

-- | Parse a two-digit hex number.
readHex2 :: [Char] -> Maybe Word8

-- | A specific element (case-insensitive, ignoring namespace - sadly
--   necessary), extracting only the textual contents.
elContent :: Text -> Cursor -> [Text]

-- | Like elContent, but extracts Strings instead of
--   Text.
elCont :: Text -> Cursor -> [String]

-- | Extract the first element from a parser result list, and throw an
--   XmlException if the list is empty.
force :: MonadThrow m => String -> [a] -> m a

-- | Extract the first element from a monadic parser result list, and throw
--   an XmlException if the list is empty.
forceM :: MonadThrow m => String -> [m a] -> m a

-- | Read a boolean from a Text, throwing an XmlException on
--   failure.
textReadBool :: MonadThrow m => Text -> m Bool

-- | Read an integer from a Text, throwing an XmlException on
--   failure.
textReadInt :: (MonadThrow m, Num a) => Text -> m a

-- | Read an integer from a String, throwing an XmlException
--   on failure.
readInt :: (MonadThrow m, Num a) => String -> m a

-- | Create a complete HTTPResponseConsumer from a simple function
--   that takes a Cursor to XML in the response body.
--   
--   This function is highly recommended for any services that parse
--   relatively short XML responses. (If status and response headers are
--   required, simply take them as function parameters, and pass them
--   through to this function.)
xmlCursorConsumer :: Monoid m => (Cursor -> Response m a) -> IORef m -> HTTPResponseConsumer a

-- | A pre-signed medium-level request object.
data SignedQuery
SignedQuery :: !Method -> !Protocol -> !ByteString -> !Int -> !ByteString -> !Query -> !Maybe UTCTime -> !Maybe (IO ByteString) -> !Maybe ByteString -> !Maybe (Digest MD5) -> !RequestHeaders -> !RequestHeaders -> !Maybe RequestBody -> !ByteString -> SignedQuery

-- | Request method.
[sqMethod] :: SignedQuery -> !Method

-- | Protocol to be used.
[sqProtocol] :: SignedQuery -> !Protocol

-- | HTTP host.
[sqHost] :: SignedQuery -> !ByteString

-- | IP port.
[sqPort] :: SignedQuery -> !Int

-- | HTTP path.
[sqPath] :: SignedQuery -> !ByteString

-- | Query string list (used with Get and PostQuery).
[sqQuery] :: SignedQuery -> !Query

-- | Request date/time.
[sqDate] :: SignedQuery -> !Maybe UTCTime

-- | Authorization string (if applicable), for Authorization
--   header. See authorizationV4
[sqAuthorization] :: SignedQuery -> !Maybe (IO ByteString)

-- | Request body content type.
[sqContentType] :: SignedQuery -> !Maybe ByteString

-- | Request body content MD5.
[sqContentMd5] :: SignedQuery -> !Maybe (Digest MD5)

-- | Additional Amazon "amz" headers.
[sqAmzHeaders] :: SignedQuery -> !RequestHeaders

-- | Additional non-"amz" headers.
[sqOtherHeaders] :: SignedQuery -> !RequestHeaders

-- | Request body (used with Post and Put).
[sqBody] :: SignedQuery -> !Maybe RequestBody

-- | String to sign. Note that the string is already signed, this is passed
--   mostly for debugging purposes.
[sqStringToSign] :: SignedQuery -> !ByteString

-- | Tag type for normal queries.
data NormalQuery

-- | Tag type for URI-only queries.
data UriOnlyQuery

-- | Create a HTTP request from a SignedQuery object.
queryToHttpRequest :: SignedQuery -> IO Request

-- | Create a URI fro a SignedQuery object.
--   
--   Unused / incompatible fields will be silently ignored.
queryToUri :: SignedQuery -> ByteString

-- | Whether to restrict the signature validity with a plain timestamp, or
--   with explicit expiration (absolute or relative).
data TimeInfo

-- | Use a simple timestamp to let AWS check the request validity.
Timestamp :: TimeInfo

-- | Let requests expire at a specific fixed time.
ExpiresAt :: UTCTime -> TimeInfo
[fromExpiresAt] :: TimeInfo -> UTCTime

-- | Let requests expire a specific number of seconds after they were
--   generated.
ExpiresIn :: NominalDiffTime -> TimeInfo
[fromExpiresIn] :: TimeInfo -> NominalDiffTime

-- | Like TimeInfo, but with all relative times replaced by absolute
--   UTC.
data AbsoluteTimeInfo
AbsoluteTimestamp :: UTCTime -> AbsoluteTimeInfo
[fromAbsoluteTimestamp] :: AbsoluteTimeInfo -> UTCTime
AbsoluteExpires :: UTCTime -> AbsoluteTimeInfo
[fromAbsoluteExpires] :: AbsoluteTimeInfo -> UTCTime

-- | Just the UTC time value.
fromAbsoluteTimeInfo :: AbsoluteTimeInfo -> UTCTime

-- | Convert TimeInfo to AbsoluteTimeInfo given the current
--   UTC time.
makeAbsoluteTimeInfo :: TimeInfo -> UTCTime -> AbsoluteTimeInfo

-- | Data that is always required for signing requests.
data SignatureData
SignatureData :: AbsoluteTimeInfo -> UTCTime -> Credentials -> SignatureData

-- | Expiration or timestamp.
[signatureTimeInfo] :: SignatureData -> AbsoluteTimeInfo

-- | Current time.
[signatureTime] :: SignatureData -> UTCTime

-- | Access credentials.
[signatureCredentials] :: SignatureData -> Credentials

-- | Create signature data using the current system time.
signatureData :: TimeInfo -> Credentials -> IO SignatureData

-- | A "signable" request object. Assembles together the Query, and signs
--   it in one go.
class SignQuery request where {
    
    -- | Additional information, like API endpoints and service-specific
    --   preferences.
    type ServiceConfiguration request :: Type -> Type;
}

-- | Create a SignedQuery from a request, additional Info,
--   and SignatureData.
signQuery :: SignQuery request => request -> ServiceConfiguration request queryType -> SignatureData -> SignedQuery

-- | Supported crypto hashes for the signature.
data AuthorizationHash
HmacSHA1 :: AuthorizationHash
HmacSHA256 :: AuthorizationHash

-- | Authorization hash identifier as expected by Amazon.
amzHash :: AuthorizationHash -> ByteString

-- | Create a signature. Usually, AWS wants a specifically constructed
--   string to be signed.
--   
--   The signature is a HMAC-based hash of the string and the secret access
--   key.
signature :: Credentials -> AuthorizationHash -> ByteString -> ByteString

-- | Generates the Credential string, required for V4 signatures.
credentialV4 :: SignatureData -> ByteString -> ByteString -> ByteString

-- | Use this to create the Authorization header to set into
--   sqAuthorization. See
--   http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html:
--   you must create the canonical request as explained by Step 1 and this
--   function takes care of Steps 2 and 3.
authorizationV4 :: SignatureData -> AuthorizationHash -> ByteString -> ByteString -> ByteString -> ByteString -> IO ByteString

-- | IO free version of authorizationV4, use this if you need to
--   compute the signature outside of IO.
authorizationV4' :: SignatureData -> AuthorizationHash -> ByteString -> ByteString -> ByteString -> ByteString -> ByteString
signatureV4 :: SignatureData -> AuthorizationHash -> ByteString -> ByteString -> ByteString -> ByteString

-- | queryList f prefix xs constructs a query list from a list of
--   elements xs, using a common prefix prefix, and a
--   transformer function f.
--   
--   A dot (.) is interspersed between prefix and generated key.
--   
--   Example:
--   
--   queryList swap "pfx" [("a", "b"), ("c", "d")] evaluates to
--   [("pfx.b", "a"), ("pfx.d", "c")] (except with ByteString
--   instead of String, of course).
queryList :: (a -> [(ByteString, ByteString)]) -> ByteString -> [a] -> [(ByteString, ByteString)]

-- | A "true"/"false" boolean as requested by some services.
awsBool :: Bool -> ByteString

-- | "true"
awsTrue :: ByteString

-- | "false"
awsFalse :: ByteString

-- | Format time according to a format string, as a ByteString.
fmtTime :: String -> UTCTime -> ByteString

-- | Format time in RFC 822 format.
fmtRfc822Time :: UTCTime -> ByteString
rfc822Time :: String

-- | Format time in yyyy-mm-ddThh-mm-ss format.
fmtAmzTime :: UTCTime -> ByteString

-- | Format time as seconds since the Unix epoch.
fmtTimeEpochSeconds :: UTCTime -> ByteString

-- | Parse HTTP-date (section 3.3.1 of RFC 2616)
parseHttpDate :: String -> Maybe UTCTime

-- | HTTP-date (section 3.3.1 of RFC 2616, first type - RFC1123-style)
httpDate1 :: String

-- | Format (as Text) HTTP-date (section 3.3.1 of RFC 2616, first type -
--   RFC1123-style)
textHttpDate :: UTCTime -> Text
iso8601UtcDate :: String

-- | Associates a request type and a response type in a bi-directional way.
--   
--   This allows the type-checker to infer the response type when given the
--   request type and vice versa.
--   
--   Note that the actual request generation and response parsing resides
--   in SignQuery and ResponseConsumer respectively.
class (SignQuery r, ResponseConsumer r a, Loggable ResponseMetadata a) => Transaction r a | r -> a

-- | A transaction that may need to be split over multiple requests, for
--   example because of upstream response size limits.
class Transaction r a => IteratedTransaction r a | r -> a
nextIteratedRequest :: IteratedTransaction r a => r -> a -> Maybe r

-- | AWS access credentials.
data Credentials
Credentials :: ByteString -> ByteString -> IORef [V4Key] -> Maybe ByteString -> Bool -> Credentials

-- | AWS Access Key ID.
[accessKeyID] :: Credentials -> ByteString

-- | AWS Secret Access Key.
[secretAccessKey] :: Credentials -> ByteString

-- | Signing keys for signature version 4
[v4SigningKeys] :: Credentials -> IORef [V4Key]

-- | Signed IAM token
[iamToken] :: Credentials -> Maybe ByteString

-- | Set when the credentials are intended for anonymous access.
[isAnonymousCredentials] :: Credentials -> Bool
makeCredentials :: MonadIO io => ByteString -> ByteString -> io Credentials

-- | The file where access credentials are loaded, when using
--   loadCredentialsDefault. May return Nothing if
--   HOME is unset.
--   
--   Value: directory/.aws-keys
credentialsDefaultFile :: MonadIO io => io (Maybe FilePath)

-- | The key to be used in the access credential file that is loaded, when
--   using loadCredentialsDefault.
--   
--   Value: default
credentialsDefaultKey :: Text

-- | Load credentials from a (text) file given a key name.
--   
--   The file consists of a sequence of lines, each in the following
--   format:
--   
--   
--   keyName awsKeyID awsKeySecret
--   
loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from the environment variables
--   AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY_SECRET (or
--   AWS_SECRET_ACCESS_KEY), if possible.
loadCredentialsFromEnv :: MonadIO io => io (Maybe Credentials)
loadCredentialsFromInstanceMetadata :: MonadIO io => io (Maybe Credentials)

-- | Load credentials from environment variables if possible, or
--   alternatively from a file with a given key name.
--   
--   See loadCredentialsFromEnv and loadCredentialsFromFile
--   for details.
loadCredentialsFromEnvOrFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from environment variables if possible, or
--   alternatively from the instance metadata store, or alternatively from
--   a file with a given key name.
--   
--   See loadCredentialsFromEnv, loadCredentialsFromFile and
--   loadCredentialsFromInstanceMetadata for details.
loadCredentialsFromEnvOrFileOrInstanceMetadata :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from environment variables if possible, or
--   alternative from the default file with the default key name.
--   
--   Default file: directory/.aws-keys Default key
--   name: default
--   
--   See loadCredentialsFromEnv and loadCredentialsFromFile
--   for details.
loadCredentialsDefault :: MonadIO io => io (Maybe Credentials)

-- | Make a dummy Credentials that can be used to access some AWS services
--   anonymously.
anonymousCredentials :: MonadIO io => io Credentials

-- | Default configuration for a specific service.
class DefaultServiceConfiguration config

-- | Default service configuration.
defServiceConfig :: DefaultServiceConfiguration config => config

-- | Default debugging-only configuration. (Normally using HTTP instead of
--   HTTPS for easier debugging.)
debugServiceConfig :: DefaultServiceConfiguration config => config

-- | Protocols supported by AWS. Currently, all AWS services use the HTTP
--   or HTTPS protocols.
data Protocol
HTTP :: Protocol
HTTPS :: Protocol

-- | The default port to be used for a protocol if no specific port is
--   specified.
defaultPort :: Protocol -> Int

-- | Request method. Not all request methods are supported by all services.
data Method

-- | HEAD method. Put all request parameters in a query string and HTTP
--   headers.
Head :: Method

-- | GET method. Put all request parameters in a query string and HTTP
--   headers.
Get :: Method

-- | POST method. Put all request parameters in a query string and HTTP
--   headers, but send the query string as a POST payload
PostQuery :: Method

-- | POST method. Sends a service- and request-specific request body.
Post :: Method

-- | PUT method.
Put :: Method

-- | DELETE method.
Delete :: Method

-- | HTTP method associated with a request method.
httpMethod :: Method -> Method
instance GHC.Internal.Base.Monoid m => GHC.Internal.Base.Applicative (Aws.Core.Response m)
instance GHC.Classes.Eq Aws.Core.Method
instance GHC.Classes.Eq Aws.Core.Protocol
instance GHC.Internal.Exception.Type.Exception Aws.Core.FormException
instance GHC.Internal.Exception.Type.Exception Aws.Core.HeaderException
instance GHC.Internal.Exception.Type.Exception Aws.Core.NoCredentialsException
instance GHC.Internal.Exception.Type.Exception Aws.Core.XmlException
instance GHC.Internal.Base.Functor (Aws.Core.Response m)
instance GHC.Internal.Base.Monoid m => GHC.Internal.Base.Monad (Aws.Core.Response m)
instance GHC.Internal.Base.Monoid m => Control.Monad.Catch.MonadThrow (Aws.Core.Response m)
instance GHC.Classes.Ord Aws.Core.Method
instance GHC.Classes.Ord Aws.Core.Protocol
instance GHC.Internal.Read.Read Aws.Core.Protocol
instance Aws.Core.ResponseConsumer r (Network.HTTP.Client.Types.Response Data.ByteString.Lazy.Internal.ByteString)
instance GHC.Internal.Show.Show Aws.Core.AbsoluteTimeInfo
instance GHC.Internal.Show.Show Aws.Core.AuthorizationHash
instance GHC.Internal.Show.Show Aws.Core.Credentials
instance GHC.Internal.Show.Show Aws.Core.FormException
instance GHC.Internal.Show.Show Aws.Core.HeaderException
instance GHC.Internal.Show.Show Aws.Core.Method
instance GHC.Internal.Show.Show Aws.Core.NoCredentialsException
instance GHC.Internal.Show.Show Aws.Core.Protocol
instance (GHC.Internal.Show.Show m, GHC.Internal.Show.Show a) => GHC.Internal.Show.Show (Aws.Core.Response m a)
instance GHC.Internal.Show.Show Aws.Core.TimeInfo
instance GHC.Internal.Show.Show Aws.Core.XmlException

module Aws.Iam.Core

-- | Constructs a SignedQuery with the specified request parameters.
iamSignQuery :: [(ByteString, ByteString)] -> IamConfiguration qt -> SignatureData -> SignedQuery

-- | Reads the metadata from an IAM response and delegates parsing the rest
--   of the data from the response to the given function.
iamResponseConsumer :: (Cursor -> Response IamMetadata a) -> IORef IamMetadata -> HTTPResponseConsumer a
data IamMetadata
IamMetadata :: Maybe Text -> IamMetadata
[requestId] :: IamMetadata -> Maybe Text
data IamConfiguration qt
IamConfiguration :: ByteString -> Int -> Protocol -> Method -> IamConfiguration qt
[iamEndpoint] :: IamConfiguration qt -> ByteString
[iamPort] :: IamConfiguration qt -> Int
[iamProtocol] :: IamConfiguration qt -> Protocol
[iamHttpMethod] :: IamConfiguration qt -> Method
data IamError
IamError :: Status -> Text -> Text -> IamError
[iamStatusCode] :: IamError -> Status
[iamErrorCode] :: IamError -> Text
[iamErrorMessage] :: IamError -> Text

-- | Parses IAM DateTime data type.
parseDateTime :: MonadThrow m => String -> m UTCTime
data AccessKeyStatus
AccessKeyActive :: AccessKeyStatus
AccessKeyInactive :: AccessKeyStatus

-- | The IAM User data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html
data User
User :: Text -> UTCTime -> Text -> Text -> Text -> User

-- | ARN used to refer to this user.
[userArn] :: User -> Text

-- | Date and time at which the user was created.
[userCreateDate] :: User -> UTCTime

-- | Path under which the user was created.
[userPath] :: User -> Text

-- | Unique identifier used to refer to this user.
[userUserId] :: User -> Text

-- | Name of the user.
[userUserName] :: User -> Text

-- | Parses the IAM User data type.
parseUser :: MonadThrow m => Cursor -> m User

-- | The IAM Group data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_Group.html
data Group
Group :: Text -> UTCTime -> Text -> Text -> Text -> Group

-- | ARN used to refer to this group.
[groupArn] :: Group -> Text

-- | Date and time at which the group was created.
[groupCreateDate] :: Group -> UTCTime

-- | Path under which the group was created.
[groupPath] :: Group -> Text

-- | Unique identifier used to refer to this group.
[groupGroupId] :: Group -> Text

-- | Name of the group.
[groupGroupName] :: Group -> Text

-- | Parses the IAM Group data type.
parseGroup :: MonadThrow m => Cursor -> m Group

-- | The IAM MFADevice data type.
--   
--   
--   https://docs.aws.amazon.com/IAM/latest/APIReference/API_MFADevice.html
data MfaDevice
MfaDevice :: UTCTime -> Text -> Text -> MfaDevice

-- | The date when the MFA device was enabled for the user.
[mfaEnableDate] :: MfaDevice -> UTCTime

-- | The serial number that uniquely identifies the MFA device. For virtual
--   MFA devices, the serial number is the device ARN.
[mfaSerialNumber] :: MfaDevice -> Text

-- | The user with whom the MFA device is associated. Minimum length of 1.
--   Maximum length of 64.
[mfaUserName] :: MfaDevice -> Text

-- | Parses the IAM MFADevice data type.
parseMfaDevice :: MonadThrow m => Cursor -> m MfaDevice
instance Aws.Core.DefaultServiceConfiguration (Aws.Iam.Core.IamConfiguration Aws.Core.NormalQuery)
instance Aws.Core.DefaultServiceConfiguration (Aws.Iam.Core.IamConfiguration Aws.Core.UriOnlyQuery)
instance GHC.Classes.Eq Aws.Iam.Core.AccessKeyStatus
instance GHC.Classes.Eq Aws.Iam.Core.Group
instance GHC.Classes.Eq Aws.Iam.Core.MfaDevice
instance GHC.Classes.Eq Aws.Iam.Core.User
instance GHC.Internal.Exception.Type.Exception Aws.Iam.Core.IamError
instance Aws.Core.Loggable Aws.Iam.Core.IamMetadata
instance GHC.Internal.Base.Monoid Aws.Iam.Core.IamMetadata
instance GHC.Classes.Ord Aws.Iam.Core.AccessKeyStatus
instance GHC.Classes.Ord Aws.Iam.Core.Group
instance GHC.Classes.Ord Aws.Iam.Core.MfaDevice
instance GHC.Classes.Ord Aws.Iam.Core.User
instance GHC.Internal.Base.Semigroup Aws.Iam.Core.IamMetadata
instance GHC.Internal.Show.Show Aws.Iam.Core.AccessKeyStatus
instance GHC.Internal.Show.Show Aws.Iam.Core.Group
instance GHC.Internal.Show.Show (Aws.Iam.Core.IamConfiguration qt)
instance GHC.Internal.Show.Show Aws.Iam.Core.IamError
instance GHC.Internal.Show.Show Aws.Iam.Core.IamMetadata
instance GHC.Internal.Show.Show Aws.Iam.Core.MfaDevice
instance GHC.Internal.Show.Show Aws.Iam.Core.User

module Aws.Iam.Internal

-- | Similar to iamSignQuery. Accepts parameters in Text
--   form and UTF-8 encodes them. Accepts the Action parameter
--   separately since it's always required.
iamAction :: ByteString -> [(ByteString, Text)] -> IamConfiguration qt -> SignatureData -> SignedQuery

-- | Similar to iamAction. Accepts parameter list with
--   Maybe parameters. Ignores Nothings.
iamAction' :: ByteString -> [Maybe (ByteString, Text)] -> IamConfiguration qt -> SignatureData -> SignedQuery

-- | Returns the parameters Marker and MaxItems that are
--   present in all IAM data pagination requests.
markedIter :: Maybe Text -> Maybe Integer -> [Maybe (ByteString, Text)]

-- | Reads and returns the IsTruncated and Marker
--   attributes present in all IAM data pagination responses.
markedIterResponse :: MonadThrow m => Cursor -> m (Bool, Maybe Text)

-- | An associative operation.
--   
--   
Examples
--   
--   
--   >>> [1,2,3] <> [4,5,6]
--   [1,2,3,4,5,6]
--   
--   
--   
--   >>> Just [1, 2, 3] <> Just [4, 5, 6]
--   Just [1,2,3,4,5,6]
--   
--   
--   
--   >>> putStr "Hello, " <> putStrLn "World!"
--   Hello, World!
--   
(<>) :: Semigroup a => a -> a -> a
infixr 6 <>

module Aws.Iam.Commands.UpdateUser

-- | Updates the name and/or path of the specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html
data UpdateUser
UpdateUser :: Text -> Maybe Text -> Maybe Text -> UpdateUser

-- | Name of the user to be updated.
[uuUserName] :: UpdateUser -> Text

-- | New name for the user.
[uuNewUserName] :: UpdateUser -> Maybe Text

-- | New path to which the user will be moved.
[uuNewPath] :: UpdateUser -> Maybe Text
data UpdateUserResponse
UpdateUserResponse :: UpdateUserResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.UpdateUser.UpdateUserResponse
instance GHC.Classes.Eq Aws.Iam.Commands.UpdateUser.UpdateUser
instance GHC.Classes.Eq Aws.Iam.Commands.UpdateUser.UpdateUserResponse
instance GHC.Classes.Ord Aws.Iam.Commands.UpdateUser.UpdateUser
instance GHC.Classes.Ord Aws.Iam.Commands.UpdateUser.UpdateUserResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.UpdateUser.UpdateUser Aws.Iam.Commands.UpdateUser.UpdateUserResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.UpdateUser.UpdateUser
instance GHC.Internal.Show.Show Aws.Iam.Commands.UpdateUser.UpdateUserResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.UpdateUser.UpdateUser
instance Aws.Core.Transaction Aws.Iam.Commands.UpdateUser.UpdateUser Aws.Iam.Commands.UpdateUser.UpdateUserResponse

module Aws.Iam.Commands.UpdateGroup

-- | Updates the name and/or path of the specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateGroup.html
data UpdateGroup
UpdateGroup :: Text -> Maybe Text -> Maybe Text -> UpdateGroup

-- | Name of the group to be updated.
[ugGroupName] :: UpdateGroup -> Text

-- | New name for the group.
[ugNewGroupName] :: UpdateGroup -> Maybe Text

-- | New path to which the group will be moved.
[ugNewPath] :: UpdateGroup -> Maybe Text
data UpdateGroupResponse
UpdateGroupResponse :: UpdateGroupResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.UpdateGroup.UpdateGroupResponse
instance GHC.Classes.Eq Aws.Iam.Commands.UpdateGroup.UpdateGroup
instance GHC.Classes.Eq Aws.Iam.Commands.UpdateGroup.UpdateGroupResponse
instance GHC.Classes.Ord Aws.Iam.Commands.UpdateGroup.UpdateGroup
instance GHC.Classes.Ord Aws.Iam.Commands.UpdateGroup.UpdateGroupResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.UpdateGroup.UpdateGroup Aws.Iam.Commands.UpdateGroup.UpdateGroupResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.UpdateGroup.UpdateGroup
instance GHC.Internal.Show.Show Aws.Iam.Commands.UpdateGroup.UpdateGroupResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.UpdateGroup.UpdateGroup
instance Aws.Core.Transaction Aws.Iam.Commands.UpdateGroup.UpdateGroup Aws.Iam.Commands.UpdateGroup.UpdateGroupResponse

module Aws.Iam.Commands.UpdateAccessKey

-- | Changes the status of the specified access key.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html
data UpdateAccessKey
UpdateAccessKey :: Text -> AccessKeyStatus -> Maybe Text -> UpdateAccessKey

-- | ID of the access key to update.
[uakAccessKeyId] :: UpdateAccessKey -> Text

-- | New status of the access key.
[uakStatus] :: UpdateAccessKey -> AccessKeyStatus

-- | Name of the user to whom the access key belongs. If omitted, the user
--   will be determined based on the access key used to sign the request.
[uakUserName] :: UpdateAccessKey -> Maybe Text
data UpdateAccessKeyResponse
UpdateAccessKeyResponse :: UpdateAccessKeyResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKeyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKey
instance GHC.Classes.Eq Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKeyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKey
instance GHC.Classes.Ord Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKeyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKey Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKeyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKey
instance GHC.Internal.Show.Show Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKeyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKey
instance Aws.Core.Transaction Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKey Aws.Iam.Commands.UpdateAccessKey.UpdateAccessKeyResponse

module Aws.Iam.Commands.RemoveUserFromGroup

-- | Removes the specified user from the specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html
data RemoveUserFromGroup
RemoveUserFromGroup :: Text -> Text -> RemoveUserFromGroup

-- | Name of the group to update.
[rufgGroupName] :: RemoveUserFromGroup -> Text

-- | The of the user to add.
[rufgUserName] :: RemoveUserFromGroup -> Text
data RemoveUserFromGroupResponse
RemoveUserFromGroupResponse :: RemoveUserFromGroupResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroupResponse
instance GHC.Classes.Eq Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroup
instance GHC.Classes.Eq Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroupResponse
instance GHC.Classes.Ord Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroup
instance GHC.Classes.Ord Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroupResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroup Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroupResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroup
instance GHC.Internal.Show.Show Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroupResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroup
instance Aws.Core.Transaction Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroup Aws.Iam.Commands.RemoveUserFromGroup.RemoveUserFromGroupResponse

module Aws.Iam.Commands.PutUserPolicy

-- | Adds a policy document with the specified name, associated with the
--   specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_PutUserPolicy.html
data PutUserPolicy
PutUserPolicy :: Text -> Text -> Text -> PutUserPolicy

-- | The policy document.
[pupPolicyDocument] :: PutUserPolicy -> Text

-- | Name of the policy.
[pupPolicyName] :: PutUserPolicy -> Text

-- | Name of the user with whom this policy is associated.
[pupUserName] :: PutUserPolicy -> Text
data PutUserPolicyResponse
PutUserPolicyResponse :: PutUserPolicyResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.PutUserPolicy.PutUserPolicyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.PutUserPolicy.PutUserPolicy
instance GHC.Classes.Eq Aws.Iam.Commands.PutUserPolicy.PutUserPolicyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.PutUserPolicy.PutUserPolicy
instance GHC.Classes.Ord Aws.Iam.Commands.PutUserPolicy.PutUserPolicyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.PutUserPolicy.PutUserPolicy Aws.Iam.Commands.PutUserPolicy.PutUserPolicyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.PutUserPolicy.PutUserPolicy
instance GHC.Internal.Show.Show Aws.Iam.Commands.PutUserPolicy.PutUserPolicyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.PutUserPolicy.PutUserPolicy
instance Aws.Core.Transaction Aws.Iam.Commands.PutUserPolicy.PutUserPolicy Aws.Iam.Commands.PutUserPolicy.PutUserPolicyResponse

module Aws.Iam.Commands.PutGroupPolicy

-- | Adds a policy document with the specified name, associated with the
--   specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_PutGroupPolicy.html
data PutGroupPolicy
PutGroupPolicy :: Text -> Text -> Text -> PutGroupPolicy

-- | The policy document.
[pgpPolicyDocument] :: PutGroupPolicy -> Text

-- | Name of the policy.
[pgpPolicyName] :: PutGroupPolicy -> Text

-- | Name of the group with whom this policy is associated.
[pgpGroupName] :: PutGroupPolicy -> Text
data PutGroupPolicyResponse
PutGroupPolicyResponse :: PutGroupPolicyResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicy
instance GHC.Classes.Eq Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicy
instance GHC.Classes.Ord Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicy Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicy
instance GHC.Internal.Show.Show Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicy
instance Aws.Core.Transaction Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicy Aws.Iam.Commands.PutGroupPolicy.PutGroupPolicyResponse

module Aws.Iam.Commands.ListUsers

-- | Lists users that have the specified path prefix.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html
data ListUsers
ListUsers :: Maybe Text -> Maybe Text -> Maybe Integer -> ListUsers

-- | Users defined under this path will be listed. If omitted, defaults to
--   /, which lists all users.
[luPathPrefix] :: ListUsers -> Maybe Text

-- | Used for paginating requests. Marks the position of the last request.
[luMarker] :: ListUsers -> Maybe Text

-- | Used for paginating requests. Specifies the maximum number of items to
--   return in the response. Defaults to 100.
[luMaxItems] :: ListUsers -> Maybe Integer
data ListUsersResponse
ListUsersResponse :: [User] -> Bool -> Maybe Text -> ListUsersResponse

-- | List of Users.
[lurUsers] :: ListUsersResponse -> [User]

-- | True if the request was truncated because of too many items.
[lurIsTruncated] :: ListUsersResponse -> Bool

-- | Marks the position at which the request was truncated. This value must
--   be passed with the next request to continue listing from the last
--   position.
[lurMarker] :: ListUsersResponse -> Maybe Text

-- | The IAM User data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html
data User
User :: Text -> UTCTime -> Text -> Text -> Text -> User

-- | ARN used to refer to this user.
[userArn] :: User -> Text

-- | Date and time at which the user was created.
[userCreateDate] :: User -> UTCTime

-- | Path under which the user was created.
[userPath] :: User -> Text

-- | Unique identifier used to refer to this user.
[userUserId] :: User -> Text

-- | Name of the user.
[userUserName] :: User -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.ListUsers.ListUsersResponse
instance GHC.Classes.Eq Aws.Iam.Commands.ListUsers.ListUsers
instance GHC.Classes.Eq Aws.Iam.Commands.ListUsers.ListUsersResponse
instance Aws.Core.IteratedTransaction Aws.Iam.Commands.ListUsers.ListUsers Aws.Iam.Commands.ListUsers.ListUsersResponse
instance GHC.Classes.Ord Aws.Iam.Commands.ListUsers.ListUsers
instance GHC.Classes.Ord Aws.Iam.Commands.ListUsers.ListUsersResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.ListUsers.ListUsers Aws.Iam.Commands.ListUsers.ListUsersResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListUsers.ListUsers
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListUsers.ListUsersResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.ListUsers.ListUsers
instance Aws.Core.Transaction Aws.Iam.Commands.ListUsers.ListUsers Aws.Iam.Commands.ListUsers.ListUsersResponse

module Aws.Iam.Commands.ListUserPolicies

-- | Lists the user policies associated with the specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html
data ListUserPolicies
ListUserPolicies :: Text -> Maybe Text -> Maybe Integer -> ListUserPolicies

-- | Policies associated with this user will be listed.
[lupUserName] :: ListUserPolicies -> Text

-- | Used for paginating requests. Marks the position of the last request.
[lupMarker] :: ListUserPolicies -> Maybe Text

-- | Used for paginating requests. Specifies the maximum number of items to
--   return in the response. Defaults to 100.
[lupMaxItems] :: ListUserPolicies -> Maybe Integer
data ListUserPoliciesResponse
ListUserPoliciesResponse :: [Text] -> Bool -> Maybe Text -> ListUserPoliciesResponse

-- | List of policy names.
[luprPolicyNames] :: ListUserPoliciesResponse -> [Text]

-- | True if the request was truncated because of too many items.
[luprIsTruncated] :: ListUserPoliciesResponse -> Bool

-- | Marks the position at which the request was truncated. This value must
--   be passed with the next request to continue listing from the last
--   position.
[luprMarker] :: ListUserPoliciesResponse -> Maybe Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.ListUserPolicies.ListUserPoliciesResponse
instance GHC.Classes.Eq Aws.Iam.Commands.ListUserPolicies.ListUserPolicies
instance GHC.Classes.Eq Aws.Iam.Commands.ListUserPolicies.ListUserPoliciesResponse
instance Aws.Core.IteratedTransaction Aws.Iam.Commands.ListUserPolicies.ListUserPolicies Aws.Iam.Commands.ListUserPolicies.ListUserPoliciesResponse
instance GHC.Classes.Ord Aws.Iam.Commands.ListUserPolicies.ListUserPolicies
instance GHC.Classes.Ord Aws.Iam.Commands.ListUserPolicies.ListUserPoliciesResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.ListUserPolicies.ListUserPolicies Aws.Iam.Commands.ListUserPolicies.ListUserPoliciesResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListUserPolicies.ListUserPolicies
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListUserPolicies.ListUserPoliciesResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.ListUserPolicies.ListUserPolicies
instance Aws.Core.Transaction Aws.Iam.Commands.ListUserPolicies.ListUserPolicies Aws.Iam.Commands.ListUserPolicies.ListUserPoliciesResponse

module Aws.Iam.Commands.ListMfaDevices

-- | Lists the MFA devices. If the request includes the user name, then
--   this action lists all the MFA devices associated with the specified
--   user name. If you do not specify a user name, IAM determines the user
--   name implicitly based on the AWS access key ID signing the request.
--   
--   
--   https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADevices.html
data ListMfaDevices
ListMfaDevices :: Maybe Text -> Maybe Text -> Maybe Integer -> ListMfaDevices

-- | The name of the user whose MFA devices you want to list. If you do not
--   specify a user name, IAM determines the user name implicitly based on
--   the AWS access key ID signing the request
[lmfaUserName] :: ListMfaDevices -> Maybe Text

-- | Used for paginating requests. Marks the position of the last request.
[lmfaMarker] :: ListMfaDevices -> Maybe Text

-- | Used for paginating requests. Specifies the maximum number of items to
--   return in the response. Defaults to 100.
[lmfaMaxItems] :: ListMfaDevices -> Maybe Integer
data ListMfaDevicesResponse
ListMfaDevicesResponse :: [MfaDevice] -> Bool -> Maybe Text -> ListMfaDevicesResponse

-- | List of 'MFA Device's.
[lmfarMfaDevices] :: ListMfaDevicesResponse -> [MfaDevice]

-- | True if the request was truncated because of too many items.
[lmfarIsTruncated] :: ListMfaDevicesResponse -> Bool

-- | Marks the position at which the request was truncated. This value must
--   be passed with the next request to continue listing from the last
--   position.
[lmfarMarker] :: ListMfaDevicesResponse -> Maybe Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.ListMfaDevices.ListMfaDevicesResponse
instance GHC.Classes.Eq Aws.Iam.Commands.ListMfaDevices.ListMfaDevices
instance GHC.Classes.Eq Aws.Iam.Commands.ListMfaDevices.ListMfaDevicesResponse
instance Aws.Core.IteratedTransaction Aws.Iam.Commands.ListMfaDevices.ListMfaDevices Aws.Iam.Commands.ListMfaDevices.ListMfaDevicesResponse
instance GHC.Classes.Ord Aws.Iam.Commands.ListMfaDevices.ListMfaDevices
instance GHC.Classes.Ord Aws.Iam.Commands.ListMfaDevices.ListMfaDevicesResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.ListMfaDevices.ListMfaDevices Aws.Iam.Commands.ListMfaDevices.ListMfaDevicesResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListMfaDevices.ListMfaDevices
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListMfaDevices.ListMfaDevicesResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.ListMfaDevices.ListMfaDevices
instance Aws.Core.Transaction Aws.Iam.Commands.ListMfaDevices.ListMfaDevices Aws.Iam.Commands.ListMfaDevices.ListMfaDevicesResponse

module Aws.Iam.Commands.ListGroups

-- | Lists groups that have the specified path prefix.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroups.html
data ListGroups
ListGroups :: Maybe Text -> Maybe Text -> Maybe Integer -> ListGroups

-- | Groups defined under this path will be listed. If omitted, defaults to
--   /, which lists all groups.
[lgPathPrefix] :: ListGroups -> Maybe Text

-- | Used for paginating requests. Marks the position of the last request.
[lgMarker] :: ListGroups -> Maybe Text

-- | Used for paginating requests. Specifies the maximum number of items to
--   return in the response. Defaults to 100.
[lgMaxItems] :: ListGroups -> Maybe Integer
data ListGroupsResponse
ListGroupsResponse :: [Group] -> Bool -> Maybe Text -> ListGroupsResponse

-- | List of Groups.
[lgrGroups] :: ListGroupsResponse -> [Group]

-- | True if the request was truncated because of too many items.
[lgrIsTruncated] :: ListGroupsResponse -> Bool

-- | Marks the position at which the request was truncated. This value must
--   be passed with the next request to continue listing from the last
--   position.
[lgrMarker] :: ListGroupsResponse -> Maybe Text

-- | The IAM Group data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_Group.html
data Group
Group :: Text -> UTCTime -> Text -> Text -> Text -> Group

-- | ARN used to refer to this group.
[groupArn] :: Group -> Text

-- | Date and time at which the group was created.
[groupCreateDate] :: Group -> UTCTime

-- | Path under which the group was created.
[groupPath] :: Group -> Text

-- | Unique identifier used to refer to this group.
[groupGroupId] :: Group -> Text

-- | Name of the group.
[groupGroupName] :: Group -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.ListGroups.ListGroupsResponse
instance GHC.Classes.Eq Aws.Iam.Commands.ListGroups.ListGroups
instance GHC.Classes.Eq Aws.Iam.Commands.ListGroups.ListGroupsResponse
instance Aws.Core.IteratedTransaction Aws.Iam.Commands.ListGroups.ListGroups Aws.Iam.Commands.ListGroups.ListGroupsResponse
instance GHC.Classes.Ord Aws.Iam.Commands.ListGroups.ListGroups
instance GHC.Classes.Ord Aws.Iam.Commands.ListGroups.ListGroupsResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.ListGroups.ListGroups Aws.Iam.Commands.ListGroups.ListGroupsResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListGroups.ListGroups
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListGroups.ListGroupsResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.ListGroups.ListGroups
instance Aws.Core.Transaction Aws.Iam.Commands.ListGroups.ListGroups Aws.Iam.Commands.ListGroups.ListGroupsResponse

module Aws.Iam.Commands.ListGroupPolicies

-- | Lists the group policies associated with the specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupPolicies.html
data ListGroupPolicies
ListGroupPolicies :: Text -> Maybe Text -> Maybe Integer -> ListGroupPolicies

-- | Policies associated with this group will be listed.
[lgpGroupName] :: ListGroupPolicies -> Text

-- | Used for paginating requests. Marks the position of the last request.
[lgpMarker] :: ListGroupPolicies -> Maybe Text

-- | Used for paginating requests. Specifies the maximum number of items to
--   return in the response. Defaults to 100.
[lgpMaxItems] :: ListGroupPolicies -> Maybe Integer
data ListGroupPoliciesResponse
ListGroupPoliciesResponse :: [Text] -> Bool -> Maybe Text -> ListGroupPoliciesResponse

-- | List of policy names.
[lgprPolicyNames] :: ListGroupPoliciesResponse -> [Text]

-- | True if the request was truncated because of too many items.
[lgprIsTruncated] :: ListGroupPoliciesResponse -> Bool

-- | Marks the position at which the request was truncated. This value must
--   be passed with the next request to continue listing from the last
--   position.
[lgprMarker] :: ListGroupPoliciesResponse -> Maybe Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.ListGroupPolicies.ListGroupPoliciesResponse
instance GHC.Classes.Eq Aws.Iam.Commands.ListGroupPolicies.ListGroupPolicies
instance GHC.Classes.Eq Aws.Iam.Commands.ListGroupPolicies.ListGroupPoliciesResponse
instance Aws.Core.IteratedTransaction Aws.Iam.Commands.ListGroupPolicies.ListGroupPolicies Aws.Iam.Commands.ListGroupPolicies.ListGroupPoliciesResponse
instance GHC.Classes.Ord Aws.Iam.Commands.ListGroupPolicies.ListGroupPolicies
instance GHC.Classes.Ord Aws.Iam.Commands.ListGroupPolicies.ListGroupPoliciesResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.ListGroupPolicies.ListGroupPolicies Aws.Iam.Commands.ListGroupPolicies.ListGroupPoliciesResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListGroupPolicies.ListGroupPolicies
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListGroupPolicies.ListGroupPoliciesResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.ListGroupPolicies.ListGroupPolicies
instance Aws.Core.Transaction Aws.Iam.Commands.ListGroupPolicies.ListGroupPolicies Aws.Iam.Commands.ListGroupPolicies.ListGroupPoliciesResponse

module Aws.Iam.Commands.ListAccessKeys

-- | Returns the access keys associated with the specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html
data ListAccessKeys
ListAccessKeys :: Maybe Text -> Maybe Text -> Maybe Integer -> ListAccessKeys

-- | Name of the user. If the user name is not specified, IAM will
--   determine the user based on the key sigining the request.
[lakUserName] :: ListAccessKeys -> Maybe Text

-- | Used for paginating requests. Marks the position of the last request.
[lakMarker] :: ListAccessKeys -> Maybe Text

-- | Used for paginating requests. Specifies the maximum number of items to
--   return in the response. Defaults to 100.
[lakMaxItems] :: ListAccessKeys -> Maybe Integer
data ListAccessKeysResponse
ListAccessKeysResponse :: [AccessKeyMetadata] -> Bool -> Maybe Text -> ListAccessKeysResponse

-- | List of AccessKeyMetadata objects
[lakrAccessKeyMetadata] :: ListAccessKeysResponse -> [AccessKeyMetadata]

-- | True if the request was truncated because of too many items.
[lakrIsTruncated] :: ListAccessKeysResponse -> Bool

-- | Marks the position at which the request was truncated. This value must
--   be passed with the next request to continue listing from the last
--   position.
[lakrMarker] :: ListAccessKeysResponse -> Maybe Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.ListAccessKeys.ListAccessKeysResponse
instance GHC.Classes.Eq Aws.Iam.Commands.ListAccessKeys.AccessKeyMetadata
instance GHC.Classes.Eq Aws.Iam.Commands.ListAccessKeys.ListAccessKeys
instance GHC.Classes.Eq Aws.Iam.Commands.ListAccessKeys.ListAccessKeysResponse
instance Aws.Core.IteratedTransaction Aws.Iam.Commands.ListAccessKeys.ListAccessKeys Aws.Iam.Commands.ListAccessKeys.ListAccessKeysResponse
instance GHC.Classes.Ord Aws.Iam.Commands.ListAccessKeys.AccessKeyMetadata
instance GHC.Classes.Ord Aws.Iam.Commands.ListAccessKeys.ListAccessKeys
instance GHC.Classes.Ord Aws.Iam.Commands.ListAccessKeys.ListAccessKeysResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.ListAccessKeys.ListAccessKeys Aws.Iam.Commands.ListAccessKeys.ListAccessKeysResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListAccessKeys.AccessKeyMetadata
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListAccessKeys.ListAccessKeys
instance GHC.Internal.Show.Show Aws.Iam.Commands.ListAccessKeys.ListAccessKeysResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.ListAccessKeys.ListAccessKeys
instance Aws.Core.Transaction Aws.Iam.Commands.ListAccessKeys.ListAccessKeys Aws.Iam.Commands.ListAccessKeys.ListAccessKeysResponse

module Aws.Iam.Commands.GetUserPolicy

-- | Retreives the specified policy document for the specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html
data GetUserPolicy
GetUserPolicy :: Text -> Text -> GetUserPolicy

-- | Name of the policy.
[gupPolicyName] :: GetUserPolicy -> Text

-- | Name of the user with whom the policy is associated.
[gupUserName] :: GetUserPolicy -> Text
data GetUserPolicyResponse
GetUserPolicyResponse :: Text -> Text -> Text -> GetUserPolicyResponse

-- | The policy document.
[guprPolicyDocument] :: GetUserPolicyResponse -> Text

-- | Name of the policy.
[guprPolicyName] :: GetUserPolicyResponse -> Text

-- | Name of the user with whom the policy is associated.
[guprUserName] :: GetUserPolicyResponse -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.GetUserPolicy.GetUserPolicyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.GetUserPolicy.GetUserPolicy
instance GHC.Classes.Eq Aws.Iam.Commands.GetUserPolicy.GetUserPolicyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.GetUserPolicy.GetUserPolicy
instance GHC.Classes.Ord Aws.Iam.Commands.GetUserPolicy.GetUserPolicyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.GetUserPolicy.GetUserPolicy Aws.Iam.Commands.GetUserPolicy.GetUserPolicyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.GetUserPolicy.GetUserPolicy
instance GHC.Internal.Show.Show Aws.Iam.Commands.GetUserPolicy.GetUserPolicyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.GetUserPolicy.GetUserPolicy
instance Aws.Core.Transaction Aws.Iam.Commands.GetUserPolicy.GetUserPolicy Aws.Iam.Commands.GetUserPolicy.GetUserPolicyResponse

module Aws.Iam.Commands.GetUser

-- | Retreives information about the given user.
--   
--   If a user name is not given, IAM determines the user name based on the
--   access key signing the request.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html
data GetUser
GetUser :: Maybe Text -> GetUser
data GetUserResponse
GetUserResponse :: User -> GetUserResponse

-- | The IAM User data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html
data User
User :: Text -> UTCTime -> Text -> Text -> Text -> User

-- | ARN used to refer to this user.
[userArn] :: User -> Text

-- | Date and time at which the user was created.
[userCreateDate] :: User -> UTCTime

-- | Path under which the user was created.
[userPath] :: User -> Text

-- | Unique identifier used to refer to this user.
[userUserId] :: User -> Text

-- | Name of the user.
[userUserName] :: User -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.GetUser.GetUserResponse
instance GHC.Classes.Eq Aws.Iam.Commands.GetUser.GetUser
instance GHC.Classes.Eq Aws.Iam.Commands.GetUser.GetUserResponse
instance GHC.Classes.Ord Aws.Iam.Commands.GetUser.GetUser
instance GHC.Classes.Ord Aws.Iam.Commands.GetUser.GetUserResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.GetUser.GetUser Aws.Iam.Commands.GetUser.GetUserResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.GetUser.GetUser
instance GHC.Internal.Show.Show Aws.Iam.Commands.GetUser.GetUserResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.GetUser.GetUser
instance Aws.Core.Transaction Aws.Iam.Commands.GetUser.GetUser Aws.Iam.Commands.GetUser.GetUserResponse

module Aws.Iam.Commands.GetGroupPolicy

-- | Retreives the specified policy document for the specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetGroupPolicy.html
data GetGroupPolicy
GetGroupPolicy :: Text -> Text -> GetGroupPolicy

-- | Name of the policy.
[ggpPolicyName] :: GetGroupPolicy -> Text

-- | Name of the group with whom the policy is associated.
[ggpGroupName] :: GetGroupPolicy -> Text
data GetGroupPolicyResponse
GetGroupPolicyResponse :: Text -> Text -> Text -> GetGroupPolicyResponse

-- | The policy document.
[ggprPolicyDocument] :: GetGroupPolicyResponse -> Text

-- | Name of the policy.
[ggprPolicyName] :: GetGroupPolicyResponse -> Text

-- | Name of the group with whom the policy is associated.
[ggprGroupName] :: GetGroupPolicyResponse -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicy
instance GHC.Classes.Eq Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicy
instance GHC.Classes.Ord Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicy Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicy
instance GHC.Internal.Show.Show Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicy
instance Aws.Core.Transaction Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicy Aws.Iam.Commands.GetGroupPolicy.GetGroupPolicyResponse

module Aws.Iam.Commands.DeleteUserPolicy

-- | Deletes the specified policy associated with the specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html
data DeleteUserPolicy
DeleteUserPolicy :: Text -> Text -> DeleteUserPolicy

-- | Name of the policy to be deleted.
[dupPolicyName] :: DeleteUserPolicy -> Text

-- | Name of the user with whom the policy is associated.
[dupUserName] :: DeleteUserPolicy -> Text
data DeleteUserPolicyResponse
DeleteUserPolicyResponse :: DeleteUserPolicyResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicy
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicy
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicy Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicy
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicy
instance Aws.Core.Transaction Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicy Aws.Iam.Commands.DeleteUserPolicy.DeleteUserPolicyResponse

module Aws.Iam.Commands.DeleteUser

-- | Deletes the specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUser.html
data DeleteUser
DeleteUser :: Text -> DeleteUser
data DeleteUserResponse
DeleteUserResponse :: DeleteUserResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.DeleteUser.DeleteUserResponse
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteUser.DeleteUser
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteUser.DeleteUserResponse
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteUser.DeleteUser
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteUser.DeleteUserResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.DeleteUser.DeleteUser Aws.Iam.Commands.DeleteUser.DeleteUserResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteUser.DeleteUser
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteUser.DeleteUserResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.DeleteUser.DeleteUser
instance Aws.Core.Transaction Aws.Iam.Commands.DeleteUser.DeleteUser Aws.Iam.Commands.DeleteUser.DeleteUserResponse

module Aws.Iam.Commands.DeleteGroupPolicy

-- | Deletes the specified policy associated with the specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteGroupPolicy.html
data DeleteGroupPolicy
DeleteGroupPolicy :: Text -> Text -> DeleteGroupPolicy

-- | Name of the policy to be deleted.
[dgpPolicyName] :: DeleteGroupPolicy -> Text

-- | Name of the group with whom the policy is associated.
[dgpGroupName] :: DeleteGroupPolicy -> Text
data DeleteGroupPolicyResponse
DeleteGroupPolicyResponse :: DeleteGroupPolicyResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicy
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicy
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicy Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicy
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicy
instance Aws.Core.Transaction Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicy Aws.Iam.Commands.DeleteGroupPolicy.DeleteGroupPolicyResponse

module Aws.Iam.Commands.DeleteGroup

-- | Deletes the specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteGroup.html
data DeleteGroup
DeleteGroup :: Text -> DeleteGroup
data DeleteGroupResponse
DeleteGroupResponse :: DeleteGroupResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.DeleteGroup.DeleteGroupResponse
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteGroup.DeleteGroup
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteGroup.DeleteGroupResponse
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteGroup.DeleteGroup
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteGroup.DeleteGroupResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.DeleteGroup.DeleteGroup Aws.Iam.Commands.DeleteGroup.DeleteGroupResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteGroup.DeleteGroup
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteGroup.DeleteGroupResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.DeleteGroup.DeleteGroup
instance Aws.Core.Transaction Aws.Iam.Commands.DeleteGroup.DeleteGroup Aws.Iam.Commands.DeleteGroup.DeleteGroupResponse

module Aws.Iam.Commands.DeleteAccessKey

-- | Deletes the access key associated with the specified user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html
data DeleteAccessKey
DeleteAccessKey :: Text -> Maybe Text -> DeleteAccessKey

-- | ID of the access key to be deleted.
[dakAccessKeyId] :: DeleteAccessKey -> Text

-- | User name with which the access key is associated.
[dakUserName] :: DeleteAccessKey -> Maybe Text
data DeleteAccessKeyResponse
DeleteAccessKeyResponse :: DeleteAccessKeyResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKeyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKey
instance GHC.Classes.Eq Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKeyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKey
instance GHC.Classes.Ord Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKeyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKey Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKeyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKey
instance GHC.Internal.Show.Show Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKeyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKey
instance Aws.Core.Transaction Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKey Aws.Iam.Commands.DeleteAccessKey.DeleteAccessKeyResponse

module Aws.Iam.Commands.CreateUser

-- | Creates a new user.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html
data CreateUser
CreateUser :: Text -> Maybe Text -> CreateUser

-- | Name of the new user
[cuUserName] :: CreateUser -> Text

-- | Path under which the user will be created. Defaults to / if
--   omitted.
[cuPath] :: CreateUser -> Maybe Text
data CreateUserResponse
CreateUserResponse :: User -> CreateUserResponse

-- | The IAM User data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html
data User
User :: Text -> UTCTime -> Text -> Text -> Text -> User

-- | ARN used to refer to this user.
[userArn] :: User -> Text

-- | Date and time at which the user was created.
[userCreateDate] :: User -> UTCTime

-- | Path under which the user was created.
[userPath] :: User -> Text

-- | Unique identifier used to refer to this user.
[userUserId] :: User -> Text

-- | Name of the user.
[userUserName] :: User -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.CreateUser.CreateUserResponse
instance GHC.Classes.Eq Aws.Iam.Commands.CreateUser.CreateUser
instance GHC.Classes.Eq Aws.Iam.Commands.CreateUser.CreateUserResponse
instance GHC.Classes.Ord Aws.Iam.Commands.CreateUser.CreateUser
instance GHC.Classes.Ord Aws.Iam.Commands.CreateUser.CreateUserResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.CreateUser.CreateUser Aws.Iam.Commands.CreateUser.CreateUserResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.CreateUser.CreateUser
instance GHC.Internal.Show.Show Aws.Iam.Commands.CreateUser.CreateUserResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.CreateUser.CreateUser
instance Aws.Core.Transaction Aws.Iam.Commands.CreateUser.CreateUser Aws.Iam.Commands.CreateUser.CreateUserResponse

module Aws.Iam.Commands.CreateGroup

-- | Creates a new group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateGroup.html
data CreateGroup
CreateGroup :: Text -> Maybe Text -> CreateGroup

-- | Name of the new group
[cgGroupName] :: CreateGroup -> Text

-- | Path under which the group will be created. Defaults to / if
--   omitted.
[cgPath] :: CreateGroup -> Maybe Text
data CreateGroupResponse
CreateGroupResponse :: Group -> CreateGroupResponse

-- | The IAM Group data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_Group.html
data Group
Group :: Text -> UTCTime -> Text -> Text -> Text -> Group

-- | ARN used to refer to this group.
[groupArn] :: Group -> Text

-- | Date and time at which the group was created.
[groupCreateDate] :: Group -> UTCTime

-- | Path under which the group was created.
[groupPath] :: Group -> Text

-- | Unique identifier used to refer to this group.
[groupGroupId] :: Group -> Text

-- | Name of the group.
[groupGroupName] :: Group -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.CreateGroup.CreateGroupResponse
instance GHC.Classes.Eq Aws.Iam.Commands.CreateGroup.CreateGroup
instance GHC.Classes.Eq Aws.Iam.Commands.CreateGroup.CreateGroupResponse
instance GHC.Classes.Ord Aws.Iam.Commands.CreateGroup.CreateGroup
instance GHC.Classes.Ord Aws.Iam.Commands.CreateGroup.CreateGroupResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.CreateGroup.CreateGroup Aws.Iam.Commands.CreateGroup.CreateGroupResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.CreateGroup.CreateGroup
instance GHC.Internal.Show.Show Aws.Iam.Commands.CreateGroup.CreateGroupResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.CreateGroup.CreateGroup
instance Aws.Core.Transaction Aws.Iam.Commands.CreateGroup.CreateGroup Aws.Iam.Commands.CreateGroup.CreateGroupResponse

module Aws.Iam.Commands.CreateAccessKey

-- | Creates a new AWS secret access key and corresponding AWS access key
--   ID for the given user name.
--   
--   If a user name is not provided, IAM will determine the user name based
--   on the access key signing the request.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html
data CreateAccessKey
CreateAccessKey :: Maybe Text -> CreateAccessKey
data CreateAccessKeyResponse
CreateAccessKeyResponse :: AccessKey -> CreateAccessKeyResponse

-- | Represents the IAM AccessKey data type.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_AccessKey.html
data AccessKey
AccessKey :: Text -> Maybe UTCTime -> Text -> AccessKeyStatus -> Text -> AccessKey

-- | The Access Key ID.
[akAccessKeyId] :: AccessKey -> Text

-- | Date and time at which the access key was created.
[akCreateDate] :: AccessKey -> Maybe UTCTime

-- | Secret key used to sign requests. The secret key is accessible only
--   during key creation.
[akSecretAccessKey] :: AccessKey -> Text

-- | Whether the access key is active or not.
[akStatus] :: AccessKey -> AccessKeyStatus

-- | The user name for which this key is defined.
[akUserName] :: AccessKey -> Text
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.CreateAccessKey.CreateAccessKeyResponse
instance GHC.Classes.Eq Aws.Iam.Commands.CreateAccessKey.AccessKey
instance GHC.Classes.Eq Aws.Iam.Commands.CreateAccessKey.CreateAccessKey
instance GHC.Classes.Eq Aws.Iam.Commands.CreateAccessKey.CreateAccessKeyResponse
instance GHC.Classes.Ord Aws.Iam.Commands.CreateAccessKey.AccessKey
instance GHC.Classes.Ord Aws.Iam.Commands.CreateAccessKey.CreateAccessKey
instance GHC.Classes.Ord Aws.Iam.Commands.CreateAccessKey.CreateAccessKeyResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.CreateAccessKey.CreateAccessKey Aws.Iam.Commands.CreateAccessKey.CreateAccessKeyResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.CreateAccessKey.AccessKey
instance GHC.Internal.Show.Show Aws.Iam.Commands.CreateAccessKey.CreateAccessKey
instance GHC.Internal.Show.Show Aws.Iam.Commands.CreateAccessKey.CreateAccessKeyResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.CreateAccessKey.CreateAccessKey
instance Aws.Core.Transaction Aws.Iam.Commands.CreateAccessKey.CreateAccessKey Aws.Iam.Commands.CreateAccessKey.CreateAccessKeyResponse

module Aws.Iam.Commands.AddUserToGroup

-- | Adds the specified user to the specified group.
--   
--   
--   http://docs.aws.amazon.com/IAM/latest/APIReference/API_AddUserToGroup.html
data AddUserToGroup
AddUserToGroup :: Text -> Text -> AddUserToGroup

-- | Name of the group to update.
[autgGroupName] :: AddUserToGroup -> Text

-- | The of the user to add.
[autgUserName] :: AddUserToGroup -> Text
data AddUserToGroupResponse
AddUserToGroupResponse :: AddUserToGroupResponse
instance Aws.Core.AsMemoryResponse Aws.Iam.Commands.AddUserToGroup.AddUserToGroupResponse
instance GHC.Classes.Eq Aws.Iam.Commands.AddUserToGroup.AddUserToGroup
instance GHC.Classes.Eq Aws.Iam.Commands.AddUserToGroup.AddUserToGroupResponse
instance GHC.Classes.Ord Aws.Iam.Commands.AddUserToGroup.AddUserToGroup
instance GHC.Classes.Ord Aws.Iam.Commands.AddUserToGroup.AddUserToGroupResponse
instance Aws.Core.ResponseConsumer Aws.Iam.Commands.AddUserToGroup.AddUserToGroup Aws.Iam.Commands.AddUserToGroup.AddUserToGroupResponse
instance GHC.Internal.Show.Show Aws.Iam.Commands.AddUserToGroup.AddUserToGroup
instance GHC.Internal.Show.Show Aws.Iam.Commands.AddUserToGroup.AddUserToGroupResponse
instance Aws.Core.SignQuery Aws.Iam.Commands.AddUserToGroup.AddUserToGroup
instance Aws.Core.Transaction Aws.Iam.Commands.AddUserToGroup.AddUserToGroup Aws.Iam.Commands.AddUserToGroup.AddUserToGroupResponse

module Aws.Iam.Commands

module Aws.Iam

-- | Shared types and utilities for DyanmoDb functionality.
module Aws.DynamoDb.Core
data Region
Region :: ByteString -> ByteString -> Region
[rUri] :: Region -> ByteString
[rName] :: Region -> ByteString

-- | DynamoDb local connection (for development)
ddbLocal :: Region
ddbUsEast1 :: Region
ddbUsWest1 :: Region
ddbUsWest2 :: Region
ddbEuWest1 :: Region
ddbEuWest2 :: Region
ddbEuCentral1 :: Region
ddbApNe1 :: Region
ddbApSe1 :: Region
ddbApSe2 :: Region
ddbSaEast1 :: Region
data DdbConfiguration qt
DdbConfiguration :: Region -> Protocol -> Maybe Int -> DdbConfiguration qt

-- | The regional endpoint. Ex: ddbUsEast
[ddbcRegion] :: DdbConfiguration qt -> Region

-- | HTTP or HTTPS
[ddbcProtocol] :: DdbConfiguration qt -> Protocol

-- | Port override (mostly for local dev connection)
[ddbcPort] :: DdbConfiguration qt -> Maybe Int

-- | Value types natively recognized by DynamoDb. We pretty much exactly
--   reflect the AWS API onto Haskell types.
data DValue
DNull :: DValue
DNum :: Scientific -> DValue
DString :: Text -> DValue

-- | Binary data will automatically be base64 marshalled.
DBinary :: ByteString -> DValue
DNumSet :: Set Scientific -> DValue
DStringSet :: Set Text -> DValue

-- | Binary data will automatically be base64 marshalled.
DBinSet :: Set ByteString -> DValue
DBool :: Bool -> DValue

-- | Composite data
DBoolSet :: Set Bool -> DValue
DList :: Vector DValue -> DValue
DMap :: Map Text DValue -> DValue

-- | Class of Haskell types that can be represented as DynamoDb values.
--   
--   This is the conversion layer; instantiate this class for your own
--   types and then use the toValue and fromValue combinators
--   to convert in application code.
--   
--   Each Haskell type instantiated with this class will map to a
--   DynamoDb-supported type that most naturally represents it.
class DynData DynRep a => DynVal a where {
    
    -- | Which of the <a>DynData</a> instances does this data type directly map
    --   to?
    type DynRep a;
}

-- | Convert to representation
toRep :: DynVal a => a -> DynRep a

-- | Convert from representation
fromRep :: DynVal a => DynRep a -> Maybe a

-- | Encode a Haskell value.
toValue :: DynVal a => a -> DValue

-- | Decode a Haskell value.
fromValue :: DynVal a => DValue -> Maybe a

-- | Type wrapper for binary data to be written to DynamoDB. Wrap any
--   Serialize instance in there and DynVal will know how
--   to automatically handle conversions in binary form.
newtype Bin a
Bin :: a -> Bin a
[getBin] :: Bin a -> a
newtype OldBool
OldBool :: Bool -> OldBool

-- | An internally used closed typeclass for values that have direct
--   DynamoDb representations. Based on AWS API, this is basically numbers,
--   strings and binary blobs.
--   
--   This is here so that any DynVal haskell value can automatically
--   be lifted to a list or a Set without any instance code
--   duplication.
--   
--   Do not try to create your own instances.
class Ord a => DynData a
fromData :: DynData a => a -> DValue
toData :: DynData a => DValue -> Maybe a

-- | Binary values stored in DynamoDb. Only used in defining new
--   DynVal instances.
newtype DynBinary
DynBinary :: ByteString -> DynBinary
[unDynBinary] :: DynBinary -> ByteString

-- | Numeric values stored in DynamoDb. Only used in defining new
--   DynVal instances.
newtype DynNumber
DynNumber :: Scientific -> DynNumber
[unDynNumber] :: DynNumber -> Scientific

-- | String values stored in DynamoDb. Only used in defining new
--   DynVal instances.
newtype DynString
DynString :: Text -> DynString
[unDynString] :: DynString -> Text

-- | Boolean values stored in DynamoDb. Only used in defining new
--   DynVal instances.
newtype DynBool
DynBool :: Bool -> DynBool
[unDynBool] :: DynBool -> Bool

-- | A key-value pair
data Attribute
Attribute :: Text -> DValue -> Attribute
[attrName] :: Attribute -> Text
[attrVal] :: Attribute -> DValue

-- | Parse a JSON object that contains attributes
parseAttributeJson :: Value -> Parser [Attribute]

-- | Convert into JSON pair
attributeJson :: Attribute -> Pair

-- | Convert into JSON object for AWS.
attributesJson :: [Attribute] -> Value

-- | Convert attribute to a tuple representation
attrTuple :: Attribute -> (Text, DValue)

-- | Convenience function for constructing key-value pairs
attr :: DynVal a => Text -> a -> Attribute

-- | attr with type witness to help with cases where you're manually
--   supplying values in code.
--   
--   
--   > item [ attrAs text "name" "john" ]
--   
attrAs :: DynVal a => Proxy a -> Text -> a -> Attribute

-- | Type witness for Text. See attrAs.
text :: Proxy Text

-- | Type witness for Integer. See attrAs.
int :: Proxy Integer

-- | Type witness for Double. See attrAs.
double :: Proxy Double

-- | Primary keys consist of either just a Hash key (mandatory) or a hash
--   key and a range key (optional).
data PrimaryKey
PrimaryKey :: Attribute -> Maybe Attribute -> PrimaryKey
[pkHash] :: PrimaryKey -> Attribute
[pkRange] :: PrimaryKey -> Maybe Attribute

-- | Construct a hash-only primary key.
--   
--   
--   >>> hk "user-id" "ABCD"
--   
--   
--   
--   >>> hk "user-id" (mkVal 23)
--   
hk :: Text -> DValue -> PrimaryKey

-- | Construct a hash-and-range primary key.
hrk :: Text -> DValue -> Text -> DValue -> PrimaryKey

-- | A DynamoDb object is simply a key-value dictionary.
type Item = Map Text DValue

-- | Pack a list of attributes into an Item.
item :: [Attribute] -> Item

-- | Unpack an Item into a list of attributes.
attributes :: Map Text DValue -> [Attribute]

-- | Types convertible to DynamoDb Item collections.
--   
--   Use attr and attrAs combinators to conveniently define
--   instances.
class ToDynItem a
toItem :: ToDynItem a => a -> Item

-- | Types parseable from DynamoDb Item collections.
--   
--   User getAttr family of functions to applicatively or
--   monadically parse into your custom types.
class FromDynItem a
parseItem :: FromDynItem a => Item -> Parser a

-- | Parse an Item into target type using the FromDynItem
--   instance.
fromItem :: FromDynItem a => Item -> Either String a

-- | A continuation-based parser type.
newtype Parser a
Parser :: (forall (f :: Type -> Type) r. () => Failure f r -> Success a f r -> f r) -> Parser a
[runParser] :: Parser a -> forall (f :: Type -> Type) r. () => Failure f r -> Success a f r -> f r

-- | Convenience combinator for parsing fields from an Item returned
--   by DynamoDb.
getAttr :: (Typeable a, DynVal a) => Text -> Item -> Parser a

-- | Parse attribute if it's present in the Item. Fail if attribute
--   is present but conversion fails.
getAttr' :: DynVal a => Text -> Item -> Parser (Maybe a)

-- | Combinator for parsing an attribute into a FromDynItem.
parseAttr :: FromDynItem a => Text -> Item -> Parser a

-- | Conditions used by mutation operations (PutItem,
--   UpdateItem, etc.). The default def instance is empty
--   (no condition).
data Conditions
Conditions :: CondMerge -> [Condition] -> Conditions

-- | JSON encoding of conditions parameter in various contexts.
conditionsJson :: Text -> Conditions -> [Pair]
expectsJson :: Conditions -> [Pair]

-- | A condition used by mutation operations (PutItem,
--   UpdateItem, etc.).
data Condition
Condition :: Text -> CondOp -> Condition

-- | Attribute to use as the basis for this conditional
[condAttr] :: Condition -> Text

-- | Operation on the selected attribute
[condOp] :: Condition -> CondOp
conditionJson :: Condition -> Pair

-- | Conditional operation to perform on a field.
data CondOp
DEq :: DValue -> CondOp
NotEq :: DValue -> CondOp
DLE :: DValue -> CondOp
DLT :: DValue -> CondOp
DGE :: DValue -> CondOp
DGT :: DValue -> CondOp
NotNull :: CondOp
IsNull :: CondOp
Contains :: DValue -> CondOp
NotContains :: DValue -> CondOp
Begins :: DValue -> CondOp
In :: [DValue] -> CondOp
Between :: DValue -> DValue -> CondOp

-- | How to merge multiple conditions.
data CondMerge
CondAnd :: CondMerge
CondOr :: CondMerge

-- | The standard response metrics on capacity consumption.
data ConsumedCapacity
ConsumedCapacity :: Int64 -> [(Text, Int64)] -> [(Text, Int64)] -> Maybe Int64 -> Text -> ConsumedCapacity
[capacityUnits] :: ConsumedCapacity -> Int64
[capacityGlobalIndex] :: ConsumedCapacity -> [(Text, Int64)]
[capacityLocalIndex] :: ConsumedCapacity -> [(Text, Int64)]
[capacityTableUnits] :: ConsumedCapacity -> Maybe Int64
[capacityTable] :: ConsumedCapacity -> Text
data ReturnConsumption
RCIndexes :: ReturnConsumption
RCTotal :: ReturnConsumption
RCNone :: ReturnConsumption
data ItemCollectionMetrics
ItemCollectionMetrics :: (Text, DValue) -> [Double] -> ItemCollectionMetrics
[icmKey] :: ItemCollectionMetrics -> (Text, DValue)
[icmEstimate] :: ItemCollectionMetrics -> [Double]
data ReturnItemCollectionMetrics
RICMSize :: ReturnItemCollectionMetrics
RICMNone :: ReturnItemCollectionMetrics

-- | What to return from the current update operation
data UpdateReturn

-- | Return nothing
URNone :: UpdateReturn

-- | Return old values
URAllOld :: UpdateReturn

-- | Return old values with a newer replacement
URUpdatedOld :: UpdateReturn

-- | Return new values
URAllNew :: UpdateReturn

-- | Return new values that were replacements
URUpdatedNew :: UpdateReturn

-- | What to return from a Query or Scan query.
data QuerySelect

-- | Only return selected attributes
SelectSpecific :: [Text] -> QuerySelect

-- | Return counts instead of attributes
SelectCount :: QuerySelect

-- | Return index-projected attributes
SelectProjected :: QuerySelect

-- | Default. Return everything.
SelectAll :: QuerySelect
querySelectJson :: KeyValue Value t => QuerySelect -> [t]

-- | A class to help predict DynamoDb size of values, attributes and entire
--   items. The result is given in number of bytes.
class DynSize a
dynSize :: DynSize a => a -> Int

-- | Will an attribute be considered empty by DynamoDb?
--   
--   A PutItem (or similar) with empty attributes will be rejected
--   with a ValidationException.
nullAttr :: Attribute -> Bool

-- | Response metadata that is present in every DynamoDB response.
data DdbResponse
DdbResponse :: Maybe Text -> Maybe Text -> DdbResponse
[ddbrCrc] :: DdbResponse -> Maybe Text
[ddbrMsgId] :: DdbResponse -> Maybe Text

-- | Errors defined by AWS.
data DdbErrCode
AccessDeniedException :: DdbErrCode
ConditionalCheckFailedException :: DdbErrCode
IncompleteSignatureException :: DdbErrCode
InvalidSignatureException :: DdbErrCode
LimitExceededException :: DdbErrCode
MissingAuthenticationTokenException :: DdbErrCode
ProvisionedThroughputExceededException :: DdbErrCode
ResourceInUseException :: DdbErrCode
ResourceNotFoundException :: DdbErrCode
ThrottlingException :: DdbErrCode
ValidationException :: DdbErrCode
RequestTooLarge :: DdbErrCode
InternalFailure :: DdbErrCode
InternalServerError :: DdbErrCode
ServiceUnavailableException :: DdbErrCode

-- | Raised by AWS when the request JSON is missing fields or is somehow
--   malformed.
SerializationException :: DdbErrCode

-- | Whether the action should be retried based on the received error.
shouldRetry :: DdbErrCode -> Bool

-- | Potential errors raised by DynamoDB
data DdbError
DdbError :: Int -> DdbErrCode -> Text -> DdbError

-- | 200 if successful, 400 for client errors and 500 for server-side
--   errors.
[ddbStatusCode] :: DdbError -> Int
[ddbErrCode] :: DdbError -> DdbErrCode
[ddbErrMsg] :: DdbError -> Text
ddbSignQuery :: ToJSON a => ByteString -> a -> DdbConfiguration qt -> SignatureData -> SignedQuery
data AmazonError
AmazonError :: Text -> Maybe Text -> AmazonError
[aeType] :: AmazonError -> Text
[aeMessage] :: AmazonError -> Maybe Text
ddbResponseConsumer :: FromJSON a => IORef DdbResponse -> HTTPResponseConsumer a
ddbHttp :: Region -> DdbConfiguration NormalQuery
ddbHttps :: Region -> DdbConfiguration NormalQuery
instance GHC.Internal.Base.Alternative Aws.DynamoDb.Core.Parser
instance GHC.Internal.Base.Applicative Aws.DynamoDb.Core.Parser
instance Aws.Core.DefaultServiceConfiguration (Aws.DynamoDb.Core.DdbConfiguration Aws.Core.NormalQuery)
instance Data.Default.Internal.Default Aws.DynamoDb.Core.Conditions
instance Data.Default.Internal.Default (Aws.DynamoDb.Core.DdbConfiguration Aws.Core.NormalQuery)
instance Data.Default.Internal.Default Aws.DynamoDb.Core.QuerySelect
instance Data.Default.Internal.Default Aws.DynamoDb.Core.ReturnConsumption
instance Data.Default.Internal.Default Aws.DynamoDb.Core.ReturnItemCollectionMetrics
instance Data.Default.Internal.Default Aws.DynamoDb.Core.UpdateReturn
instance Aws.DynamoDb.Core.DynData Aws.DynamoDb.Core.DValue
instance Aws.DynamoDb.Core.DynData Aws.DynamoDb.Core.DynBinary
instance Aws.DynamoDb.Core.DynData Aws.DynamoDb.Core.DynBool
instance Aws.DynamoDb.Core.DynData Aws.DynamoDb.Core.DynNumber
instance Aws.DynamoDb.Core.DynData Aws.DynamoDb.Core.DynString
instance Aws.DynamoDb.Core.DynData (Data.Set.Internal.Set Aws.DynamoDb.Core.DynBool)
instance Aws.DynamoDb.Core.DynData (Data.Set.Internal.Set Aws.DynamoDb.Core.DynNumber)
instance Aws.DynamoDb.Core.DynData (Data.Set.Internal.Set Aws.DynamoDb.Core.DynString)
instance Aws.DynamoDb.Core.DynData (Data.Set.Internal.Set Aws.DynamoDb.Core.DynBinary)
instance Aws.DynamoDb.Core.DynSize Aws.DynamoDb.Core.Attribute
instance Aws.DynamoDb.Core.DynSize Aws.DynamoDb.Core.DValue
instance (Aws.DynamoDb.Core.DynSize a, Aws.DynamoDb.Core.DynSize b) => Aws.DynamoDb.Core.DynSize (GHC.Internal.Data.Either.Either a b)
instance Aws.DynamoDb.Core.DynSize a => Aws.DynamoDb.Core.DynSize [a]
instance Aws.DynamoDb.Core.DynSize Aws.DynamoDb.Core.Item
instance Aws.DynamoDb.Core.DynSize a => Aws.DynamoDb.Core.DynSize (GHC.Internal.Maybe.Maybe a)
instance Data.Serialize.Serialize a => Aws.DynamoDb.Core.DynVal (Aws.DynamoDb.Core.Bin a)
instance Aws.DynamoDb.Core.DynVal GHC.Types.Bool
instance Aws.DynamoDb.Core.DynVal Data.ByteString.Internal.Type.ByteString
instance Aws.DynamoDb.Core.DynVal Aws.DynamoDb.Core.DValue
instance Aws.DynamoDb.Core.DynVal Data.Time.Calendar.Days.Day
instance Aws.DynamoDb.Core.DynVal GHC.Types.Double
instance Aws.DynamoDb.Core.DynVal GHC.Types.Int
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Int.Int16
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Int.Int32
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Int.Int64
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Int.Int8
instance Aws.DynamoDb.Core.DynVal GHC.Num.Integer.Integer
instance (Aws.DynamoDb.Core.DynData (Aws.DynamoDb.Core.DynRep [a]), Aws.DynamoDb.Core.DynVal a) => Aws.DynamoDb.Core.DynVal [a]
instance Aws.DynamoDb.Core.DynVal Aws.DynamoDb.Core.OldBool
instance (Aws.DynamoDb.Core.DynData (Aws.DynamoDb.Core.DynRep (Data.Set.Internal.Set a)), Aws.DynamoDb.Core.DynVal a, GHC.Classes.Ord a) => Aws.DynamoDb.Core.DynVal (Data.Set.Internal.Set a)
instance Aws.DynamoDb.Core.DynVal Data.Text.Internal.Text
instance Aws.DynamoDb.Core.DynVal Data.Time.Clock.Internal.UTCTime.UTCTime
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Word.Word16
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Word.Word32
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Word.Word64
instance Aws.DynamoDb.Core.DynVal GHC.Internal.Word.Word8
instance GHC.Internal.Enum.Enum a => GHC.Internal.Enum.Enum (Aws.DynamoDb.Core.Bin a)
instance GHC.Classes.Eq Aws.DynamoDb.Core.Attribute
instance GHC.Classes.Eq a => GHC.Classes.Eq (Aws.DynamoDb.Core.Bin a)
instance GHC.Classes.Eq Aws.DynamoDb.Core.CondMerge
instance GHC.Classes.Eq Aws.DynamoDb.Core.CondOp
instance GHC.Classes.Eq Aws.DynamoDb.Core.Condition
instance GHC.Classes.Eq Aws.DynamoDb.Core.Conditions
instance GHC.Classes.Eq Aws.DynamoDb.Core.ConsumedCapacity
instance GHC.Classes.Eq Aws.DynamoDb.Core.DValue
instance GHC.Classes.Eq Aws.DynamoDb.Core.DdbErrCode
instance GHC.Classes.Eq Aws.DynamoDb.Core.DdbError
instance GHC.Classes.Eq Aws.DynamoDb.Core.DdbLibraryError
instance GHC.Classes.Eq Aws.DynamoDb.Core.DynBinary
instance GHC.Classes.Eq Aws.DynamoDb.Core.DynBool
instance GHC.Classes.Eq Aws.DynamoDb.Core.DynNumber
instance GHC.Classes.Eq Aws.DynamoDb.Core.DynString
instance GHC.Classes.Eq Aws.DynamoDb.Core.ItemCollectionMetrics
instance GHC.Classes.Eq Aws.DynamoDb.Core.PrimaryKey
instance GHC.Classes.Eq Aws.DynamoDb.Core.QuerySelect
instance GHC.Classes.Eq Aws.DynamoDb.Core.Region
instance GHC.Classes.Eq Aws.DynamoDb.Core.ReturnConsumption
instance GHC.Classes.Eq Aws.DynamoDb.Core.ReturnItemCollectionMetrics
instance GHC.Classes.Eq Aws.DynamoDb.Core.UpdateReturn
instance GHC.Internal.Exception.Type.Exception Aws.DynamoDb.Core.DdbError
instance GHC.Internal.Exception.Type.Exception Aws.DynamoDb.Core.DdbLibraryError
instance (GHC.Internal.Data.Typeable.Internal.Typeable a, Aws.DynamoDb.Core.DynVal a) => Aws.DynamoDb.Core.FromDynItem [(Data.Text.Internal.Text, a)]
instance Aws.DynamoDb.Core.FromDynItem Aws.DynamoDb.Core.Item
instance (GHC.Internal.Data.Typeable.Internal.Typeable a, Aws.DynamoDb.Core.DynVal a) => Aws.DynamoDb.Core.FromDynItem (Data.Map.Internal.Map Data.Text.Internal.Text a)
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.AmazonError
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.ConsumedCapacity
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.DValue
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.ItemCollectionMetrics
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.PrimaryKey
instance GHC.Internal.Base.Functor Aws.DynamoDb.Core.Parser
instance GHC.Internal.Data.String.IsString Aws.DynamoDb.Core.DValue
instance Aws.Core.Loggable Aws.DynamoDb.Core.DdbResponse
instance GHC.Internal.Control.Monad.Fail.MonadFail Aws.DynamoDb.Core.Parser
instance GHC.Internal.Base.Monad Aws.DynamoDb.Core.Parser
instance GHC.Internal.Base.MonadPlus Aws.DynamoDb.Core.Parser
instance GHC.Internal.Base.Monoid Aws.DynamoDb.Core.DdbResponse
instance GHC.Internal.Base.Monoid (Aws.DynamoDb.Core.Parser a)
instance GHC.Classes.Ord Aws.DynamoDb.Core.Attribute
instance GHC.Classes.Ord a => GHC.Classes.Ord (Aws.DynamoDb.Core.Bin a)
instance GHC.Classes.Ord Aws.DynamoDb.Core.CondMerge
instance GHC.Classes.Ord Aws.DynamoDb.Core.CondOp
instance GHC.Classes.Ord Aws.DynamoDb.Core.Condition
instance GHC.Classes.Ord Aws.DynamoDb.Core.Conditions
instance GHC.Classes.Ord Aws.DynamoDb.Core.ConsumedCapacity
instance GHC.Classes.Ord Aws.DynamoDb.Core.DValue
instance GHC.Classes.Ord Aws.DynamoDb.Core.DynBinary
instance GHC.Classes.Ord Aws.DynamoDb.Core.DynBool
instance GHC.Classes.Ord Aws.DynamoDb.Core.DynNumber
instance GHC.Classes.Ord Aws.DynamoDb.Core.DynString
instance GHC.Classes.Ord Aws.DynamoDb.Core.ItemCollectionMetrics
instance GHC.Classes.Ord Aws.DynamoDb.Core.PrimaryKey
instance GHC.Classes.Ord Aws.DynamoDb.Core.QuerySelect
instance GHC.Classes.Ord Aws.DynamoDb.Core.ReturnConsumption
instance GHC.Classes.Ord Aws.DynamoDb.Core.ReturnItemCollectionMetrics
instance GHC.Classes.Ord Aws.DynamoDb.Core.UpdateReturn
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.Attribute
instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Aws.DynamoDb.Core.Bin a)
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.CondMerge
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.CondOp
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.Condition
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.Conditions
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.ConsumedCapacity
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.DValue
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.DdbErrCode
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.DynBinary
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.DynBool
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.DynNumber
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.DynString
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.ItemCollectionMetrics
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.PrimaryKey
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.QuerySelect
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.Region
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.ReturnConsumption
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.ReturnItemCollectionMetrics
instance GHC.Internal.Read.Read Aws.DynamoDb.Core.UpdateReturn
instance GHC.Internal.Base.Semigroup Aws.DynamoDb.Core.DdbResponse
instance GHC.Internal.Base.Semigroup (Aws.DynamoDb.Core.Parser a)
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.Attribute
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Aws.DynamoDb.Core.Bin a)
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.CondMerge
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.CondOp
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.Condition
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.Conditions
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.ConsumedCapacity
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DValue
instance GHC.Internal.Show.Show (Aws.DynamoDb.Core.DdbConfiguration qt)
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DdbErrCode
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DdbError
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DdbLibraryError
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DynBinary
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DynBool
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DynNumber
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.DynString
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.ItemCollectionMetrics
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.PrimaryKey
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.QuerySelect
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.Region
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.ReturnConsumption
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.ReturnItemCollectionMetrics
instance GHC.Internal.Show.Show Aws.DynamoDb.Core.UpdateReturn
instance Aws.DynamoDb.Core.DynVal a => Aws.DynamoDb.Core.ToDynItem [(Data.Text.Internal.Text, a)]
instance Aws.DynamoDb.Core.ToDynItem Aws.DynamoDb.Core.Item
instance Aws.DynamoDb.Core.DynVal a => Aws.DynamoDb.Core.ToDynItem (Data.Map.Internal.Map Data.Text.Internal.Text a)
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.Attribute
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.CondOp
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.DValue
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.PrimaryKey
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.ReturnConsumption
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.ReturnItemCollectionMetrics
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.UpdateReturn

module Aws.DynamoDb.Commands.UpdateItem

-- | An UpdateItem request.
data UpdateItem
UpdateItem :: Text -> PrimaryKey -> [AttributeUpdate] -> Conditions -> UpdateReturn -> ReturnConsumption -> ReturnItemCollectionMetrics -> UpdateItem
[uiTable] :: UpdateItem -> Text
[uiKey] :: UpdateItem -> PrimaryKey
[uiUpdates] :: UpdateItem -> [AttributeUpdate]

-- | Conditional update - see DynamoDb documentation
[uiExpect] :: UpdateItem -> Conditions
[uiReturn] :: UpdateItem -> UpdateReturn
[uiRetCons] :: UpdateItem -> ReturnConsumption
[uiRetMet] :: UpdateItem -> ReturnItemCollectionMetrics

-- | Construct a minimal UpdateItem request.
updateItem :: Text -> PrimaryKey -> [AttributeUpdate] -> UpdateItem
data AttributeUpdate
AttributeUpdate :: Attribute -> UpdateAction -> AttributeUpdate

-- | Attribute key-value
[auAttr] :: AttributeUpdate -> Attribute

-- | Type of update operation.
[auAction] :: AttributeUpdate -> UpdateAction

-- | Shorthand for the AttributeUpdate constructor. Defaults to PUT
--   for the update action.
au :: Attribute -> AttributeUpdate

-- | Type of attribute update to perform.
--   
--   See AWS docs at:
--   
--   
--   http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html
--   
data UpdateAction

-- | Simpley write, overwriting any previous value
UPut :: UpdateAction

-- | Numerical add or add to set.
UAdd :: UpdateAction

-- | Empty value: remove; Set value: Subtract from set.
UDelete :: UpdateAction
data UpdateItemResponse
UpdateItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> UpdateItemResponse

-- | Old attributes, if requested
[uirAttrs] :: UpdateItemResponse -> Maybe Item

-- | Amount of capacity consumed
[uirConsumed] :: UpdateItemResponse -> Maybe ConsumedCapacity
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
instance Data.Default.Internal.Default Aws.DynamoDb.Commands.UpdateItem.UpdateAction
instance Aws.DynamoDb.Core.DynSize Aws.DynamoDb.Commands.UpdateItem.AttributeUpdate
instance GHC.Classes.Eq Aws.DynamoDb.Commands.UpdateItem.AttributeUpdate
instance GHC.Classes.Eq Aws.DynamoDb.Commands.UpdateItem.UpdateAction
instance GHC.Classes.Eq Aws.DynamoDb.Commands.UpdateItem.UpdateItem
instance GHC.Classes.Eq Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
instance GHC.Classes.Ord Aws.DynamoDb.Commands.UpdateItem.AttributeUpdate
instance GHC.Classes.Ord Aws.DynamoDb.Commands.UpdateItem.UpdateAction
instance GHC.Classes.Ord Aws.DynamoDb.Commands.UpdateItem.UpdateItem
instance GHC.Classes.Ord Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.UpdateItem.AttributeUpdate
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.UpdateItem.UpdateAction
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.UpdateItem.UpdateItem
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.UpdateItem.AttributeUpdate
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.UpdateItem.UpdateAction
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.UpdateItem.UpdateItem
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.UpdateItem.UpdateItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.UpdateItem.AttributeUpdates
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.UpdateItem.UpdateAction
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.UpdateItem.UpdateItem
instance Aws.Core.Transaction Aws.DynamoDb.Commands.UpdateItem.UpdateItem Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse

module Aws.DynamoDb.Commands.Table
data CreateTable
CreateTable :: Text -> [AttributeDefinition] -> KeySchema -> ProvisionedThroughput -> [LocalSecondaryIndex] -> [GlobalSecondaryIndex] -> CreateTable
[createTableName] :: CreateTable -> Text

-- | only attributes appearing in a key must be listed here
[createAttributeDefinitions] :: CreateTable -> [AttributeDefinition]
[createKeySchema] :: CreateTable -> KeySchema
[createProvisionedThroughput] :: CreateTable -> ProvisionedThroughput

-- | at most 5 local secondary indices are allowed
[createLocalSecondaryIndexes] :: CreateTable -> [LocalSecondaryIndex]
[createGlobalSecondaryIndexes] :: CreateTable -> [GlobalSecondaryIndex]
createTable :: Text -> [AttributeDefinition] -> KeySchema -> ProvisionedThroughput -> CreateTable
newtype CreateTableResult
CreateTableResult :: TableDescription -> CreateTableResult
[ctStatus] :: CreateTableResult -> TableDescription
data DescribeTable
DescribeTable :: Text -> DescribeTable
[dTableName] :: DescribeTable -> Text
newtype DescribeTableResult
DescribeTableResult :: TableDescription -> DescribeTableResult
[dtStatus] :: DescribeTableResult -> TableDescription
data UpdateTable
UpdateTable :: Text -> ProvisionedThroughput -> [GlobalSecondaryIndexUpdate] -> UpdateTable
[updateTableName] :: UpdateTable -> Text
[updateProvisionedThroughput] :: UpdateTable -> ProvisionedThroughput
[updateGlobalSecondaryIndexUpdates] :: UpdateTable -> [GlobalSecondaryIndexUpdate]
newtype UpdateTableResult
UpdateTableResult :: TableDescription -> UpdateTableResult
[uStatus] :: UpdateTableResult -> TableDescription
data DeleteTable
DeleteTable :: Text -> DeleteTable
[deleteTableName] :: DeleteTable -> Text
newtype DeleteTableResult
DeleteTableResult :: TableDescription -> DeleteTableResult
[dStatus] :: DeleteTableResult -> TableDescription

-- | TODO: currently this does not support restarting a cutoff query
--   because of size.
data ListTables
ListTables :: ListTables
newtype ListTablesResult
ListTablesResult :: [Text] -> ListTablesResult
[tableNames] :: ListTablesResult -> [Text]

-- | The type of a key attribute that appears in the table key or as a key
--   in one of the indices.
data AttributeType
AttrString :: AttributeType
AttrNumber :: AttributeType
AttrBinary :: AttributeType

-- | A key attribute that appears in the table key or as a key in one of
--   the indices.
data AttributeDefinition
AttributeDefinition :: Text -> AttributeType -> AttributeDefinition
[attributeName] :: AttributeDefinition -> Text
[attributeType] :: AttributeDefinition -> AttributeType

-- | The key schema can either be a hash of a single attribute name or a
--   hash attribute name and a range attribute name.
data KeySchema
HashOnly :: Text -> KeySchema
HashAndRange :: Text -> Text -> KeySchema

-- | This determines which attributes are projected into a secondary index.
data Projection
ProjectKeysOnly :: Projection
ProjectAll :: Projection
ProjectInclude :: [Text] -> Projection

-- | Describes a single local secondary index. The KeySchema MUST share the
--   same hash key attribute as the parent table, only the range key can
--   differ.
data LocalSecondaryIndex
LocalSecondaryIndex :: Text -> KeySchema -> Projection -> LocalSecondaryIndex
[localIndexName] :: LocalSecondaryIndex -> Text
[localKeySchema] :: LocalSecondaryIndex -> KeySchema
[localProjection] :: LocalSecondaryIndex -> Projection

-- | This is returned by AWS to describe the local secondary index.
data LocalSecondaryIndexStatus
LocalSecondaryIndexStatus :: Text -> Integer -> Integer -> KeySchema -> Projection -> LocalSecondaryIndexStatus
[locStatusIndexName] :: LocalSecondaryIndexStatus -> Text
[locStatusIndexSizeBytes] :: LocalSecondaryIndexStatus -> Integer
[locStatusItemCount] :: LocalSecondaryIndexStatus -> Integer
[locStatusKeySchema] :: LocalSecondaryIndexStatus -> KeySchema
[locStatusProjection] :: LocalSecondaryIndexStatus -> Projection

-- | The target provisioned throughput you are requesting for the table or
--   global secondary index.
data ProvisionedThroughput
ProvisionedThroughput :: Int -> Int -> ProvisionedThroughput
[readCapacityUnits] :: ProvisionedThroughput -> Int
[writeCapacityUnits] :: ProvisionedThroughput -> Int

-- | This is returned by AWS as the status of the throughput for a table or
--   global secondary index.
data ProvisionedThroughputStatus
ProvisionedThroughputStatus :: UTCTime -> UTCTime -> Int -> Int -> Int -> ProvisionedThroughputStatus
[statusLastDecreaseDateTime] :: ProvisionedThroughputStatus -> UTCTime
[statusLastIncreaseDateTime] :: ProvisionedThroughputStatus -> UTCTime
[statusNumberOfDecreasesToday] :: ProvisionedThroughputStatus -> Int
[statusReadCapacityUnits] :: ProvisionedThroughputStatus -> Int
[statusWriteCapacityUnits] :: ProvisionedThroughputStatus -> Int

-- | Describes a global secondary index.
data GlobalSecondaryIndex
GlobalSecondaryIndex :: Text -> KeySchema -> Projection -> ProvisionedThroughput -> GlobalSecondaryIndex
[globalIndexName] :: GlobalSecondaryIndex -> Text
[globalKeySchema] :: GlobalSecondaryIndex -> KeySchema
[globalProjection] :: GlobalSecondaryIndex -> Projection
[globalProvisionedThroughput] :: GlobalSecondaryIndex -> ProvisionedThroughput

-- | This is returned by AWS to describe the status of a global secondary
--   index.
data GlobalSecondaryIndexStatus
GlobalSecondaryIndexStatus :: Text -> Integer -> Text -> Integer -> KeySchema -> Projection -> ProvisionedThroughputStatus -> GlobalSecondaryIndexStatus
[gStatusIndexName] :: GlobalSecondaryIndexStatus -> Text
[gStatusIndexSizeBytes] :: GlobalSecondaryIndexStatus -> Integer
[gStatusIndexStatus] :: GlobalSecondaryIndexStatus -> Text
[gStatusItemCount] :: GlobalSecondaryIndexStatus -> Integer
[gStatusKeySchema] :: GlobalSecondaryIndexStatus -> KeySchema
[gStatusProjection] :: GlobalSecondaryIndexStatus -> Projection
[gStatusProvisionedThroughput] :: GlobalSecondaryIndexStatus -> ProvisionedThroughputStatus

-- | This is used to request a change in the provisioned throughput of a
--   global secondary index as part of an UpdateTable operation.
data GlobalSecondaryIndexUpdate
GlobalSecondaryIndexUpdate :: Text -> ProvisionedThroughput -> GlobalSecondaryIndexUpdate
[gUpdateIndexName] :: GlobalSecondaryIndexUpdate -> Text
[gUpdateProvisionedThroughput] :: GlobalSecondaryIndexUpdate -> ProvisionedThroughput

-- | This describes the table and is the return value from AWS for all the
--   table-related commands.
data TableDescription
TableDescription :: Text -> Integer -> Text -> Maybe UTCTime -> Integer -> [AttributeDefinition] -> Maybe KeySchema -> ProvisionedThroughputStatus -> [LocalSecondaryIndexStatus] -> [GlobalSecondaryIndexStatus] -> TableDescription
[rTableName] :: TableDescription -> Text
[rTableSizeBytes] :: TableDescription -> Integer

-- | one of CREATING, UPDATING, DELETING, ACTIVE
[rTableStatus] :: TableDescription -> Text
[rCreationDateTime] :: TableDescription -> Maybe UTCTime
[rItemCount] :: TableDescription -> Integer
[rAttributeDefinitions] :: TableDescription -> [AttributeDefinition]
[rKeySchema] :: TableDescription -> Maybe KeySchema
[rProvisionedThroughput] :: TableDescription -> ProvisionedThroughputStatus
[rLocalSecondaryIndexes] :: TableDescription -> [LocalSecondaryIndexStatus]
[rGlobalSecondaryIndexes] :: TableDescription -> [GlobalSecondaryIndexStatus]
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.Table.CreateTableResult
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.Table.DeleteTableResult
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.Table.DescribeTableResult
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.Table.ListTablesResult
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.Table.UpdateTableResult
instance GHC.Internal.Enum.Bounded Aws.DynamoDb.Commands.Table.AttributeType
instance GHC.Internal.Enum.Enum Aws.DynamoDb.Commands.Table.AttributeType
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Table.AttributeDefinition
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Table.AttributeType
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Table.KeySchema
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.AttributeDefinition
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.AttributeType
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.CreateTableResult
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.DeleteTableResult
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.DescribeTableResult
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexStatus
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.KeySchema
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.ListTablesResult
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndexStatus
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.Projection
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughput
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughputStatus
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.TableDescription
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.UpdateTableResult
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.AttributeDefinition
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.AttributeType
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.CreateTable
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.DeleteTable
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.DescribeTable
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexStatus
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexUpdate
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.KeySchema
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.ListTablesResult
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.LocalSecondaryIndexStatus
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.ProvisionedThroughput
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.ProvisionedThroughputStatus
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.TableDescription
instance GHC.Internal.Generics.Generic Aws.DynamoDb.Commands.Table.UpdateTable
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Table.AttributeDefinition
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Table.AttributeType
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Table.KeySchema
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Table.AttributeDefinition
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Table.AttributeType
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Table.KeySchema
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.Table.CreateTableResult
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.Table.DeleteTableResult
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.Table.DescribeTableResult
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.Table.ListTablesResult
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.Table.UpdateTableResult
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.AttributeDefinition
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.AttributeType
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.CreateTable
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.CreateTableResult
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.DeleteTable
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.DeleteTableResult
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.DescribeTable
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.DescribeTableResult
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexStatus
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexUpdate
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.KeySchema
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.ListTables
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.ListTablesResult
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.LocalSecondaryIndexStatus
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.Projection
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.ProvisionedThroughput
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.ProvisionedThroughputStatus
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.TableDescription
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.UpdateTable
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Table.UpdateTableResult
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.Table.CreateTable
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.Table.DeleteTable
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.Table.DescribeTable
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.Table.ListTables
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.Table.UpdateTable
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.AttributeDefinition
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.AttributeType
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.CreateTable
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.DeleteTable
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.DescribeTable
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexUpdate
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.KeySchema
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.ListTables
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.Projection
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughput
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.UpdateTable
instance Aws.Core.Transaction Aws.DynamoDb.Commands.Table.CreateTable Aws.DynamoDb.Commands.Table.CreateTableResult
instance Aws.Core.Transaction Aws.DynamoDb.Commands.Table.DeleteTable Aws.DynamoDb.Commands.Table.DeleteTableResult
instance Aws.Core.Transaction Aws.DynamoDb.Commands.Table.DescribeTable Aws.DynamoDb.Commands.Table.DescribeTableResult
instance Aws.Core.Transaction Aws.DynamoDb.Commands.Table.ListTables Aws.DynamoDb.Commands.Table.ListTablesResult
instance Aws.Core.Transaction Aws.DynamoDb.Commands.Table.UpdateTable Aws.DynamoDb.Commands.Table.UpdateTableResult

-- | Implementation of Amazon DynamoDb Scan command.
--   
--   See:
--   http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html
module Aws.DynamoDb.Commands.Scan

-- | A Scan command that uses primary keys for an expedient scan.
data Scan
Scan :: Text -> Bool -> Conditions -> Maybe [Attribute] -> Maybe Int -> Maybe Text -> QuerySelect -> ReturnConsumption -> Int -> Int -> Scan

-- | Required.
[sTableName] :: Scan -> Text

-- | Whether to require a consistent read
[sConsistentRead] :: Scan -> Bool

-- | Whether to filter results before returning to client
[sFilter] :: Scan -> Conditions

-- | Exclusive start key to resume a previous query.
[sStartKey] :: Scan -> Maybe [Attribute]

-- | Whether to limit result set size
[sLimit] :: Scan -> Maybe Int

-- | Optional. Index to Scan
[sIndex] :: Scan -> Maybe Text

-- | What to return from Scan
[sSelect] :: Scan -> QuerySelect
[sRetCons] :: Scan -> ReturnConsumption

-- | Segment number, starting at 0, for parallel queries.
[sSegment] :: Scan -> Int

-- | Total number of parallel segments. 1 means sequential scan.
[sTotalSegments] :: Scan -> Int

-- | Construct a minimal Scan request.
scan :: Text -> Scan

-- | Response to a Scan query.
data ScanResponse
ScanResponse :: Vector Item -> Maybe [Attribute] -> Int -> Int -> Maybe ConsumedCapacity -> ScanResponse
[srItems] :: ScanResponse -> Vector Item
[srLastKey] :: ScanResponse -> Maybe [Attribute]
[srCount] :: ScanResponse -> Int
[srScanned] :: ScanResponse -> Int
[srConsumed] :: ScanResponse -> Maybe ConsumedCapacity
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.Scan.ScanResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Scan.Scan
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Scan.ScanResponse
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Scan.ScanResponse
instance Aws.Core.IteratedTransaction Aws.DynamoDb.Commands.Scan.Scan Aws.DynamoDb.Commands.Scan.ScanResponse
instance Aws.Core.ListResponse Aws.DynamoDb.Commands.Scan.ScanResponse Aws.DynamoDb.Core.Item
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Scan.Scan
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Scan.ScanResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Scan.Scan
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Scan.ScanResponse
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.Scan.ScanResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Scan.Scan
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Scan.ScanResponse
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.Scan.Scan
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Scan.Scan
instance Aws.Core.Transaction Aws.DynamoDb.Commands.Scan.Scan Aws.DynamoDb.Commands.Scan.ScanResponse

-- | Implementation of Amazon DynamoDb Query command.
--   
--   See:
--   http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html
module Aws.DynamoDb.Commands.Query

-- | A Query command that uses primary keys for an expedient scan.
data Query
Query :: Text -> Slice -> Conditions -> Maybe [Attribute] -> Maybe Int -> Bool -> QuerySelect -> ReturnConsumption -> Maybe Text -> Bool -> Query

-- | Required.
[qTableName] :: Query -> Text

-- | Required. Hash or hash-range main condition.
[qKeyConditions] :: Query -> Slice

-- | Whether to filter results before returning to client
[qFilter] :: Query -> Conditions

-- | Exclusive start key to resume a previous query.
[qStartKey] :: Query -> Maybe [Attribute]

-- | Whether to limit result set size
[qLimit] :: Query -> Maybe Int

-- | Set to False for descending results
[qForwardScan] :: Query -> Bool

-- | What to return from Query
[qSelect] :: Query -> QuerySelect
[qRetCons] :: Query -> ReturnConsumption

-- | Whether to use a secondary/global index
[qIndex] :: Query -> Maybe Text
[qConsistent] :: Query -> Bool

-- | Slice is the primary constraint in a Query command, per
--   AWS requirements.
--   
--   All Query commands must specify a hash attribute via DEq
--   and optionally provide a secondary range attribute.
data Slice
Slice :: Attribute -> Maybe Condition -> Slice

-- | Hash value of the primary key or index being used
[sliceHash] :: Slice -> Attribute

-- | An optional condition specified on the range component, if present, of
--   the primary key or index being used.
[sliceCond] :: Slice -> Maybe Condition

-- | Construct a minimal Query request.
query :: Text -> Slice -> Query

-- | Response to a Query query.
data QueryResponse
QueryResponse :: Vector Item -> Maybe [Attribute] -> Int -> Int -> Maybe ConsumedCapacity -> QueryResponse
[qrItems] :: QueryResponse -> Vector Item
[qrLastKey] :: QueryResponse -> Maybe [Attribute]
[qrCount] :: QueryResponse -> Int
[qrScanned] :: QueryResponse -> Int
[qrConsumed] :: QueryResponse -> Maybe ConsumedCapacity
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.Query.QueryResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Query.Query
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Query.QueryResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.Query.Slice
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Query.QueryResponse
instance Aws.Core.IteratedTransaction Aws.DynamoDb.Commands.Query.Query Aws.DynamoDb.Commands.Query.QueryResponse
instance Aws.Core.ListResponse Aws.DynamoDb.Commands.Query.QueryResponse Aws.DynamoDb.Core.Item
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Query.Query
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Query.QueryResponse
instance GHC.Classes.Ord Aws.DynamoDb.Commands.Query.Slice
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Query.Query
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Query.QueryResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.Query.Slice
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.Query.QueryResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Query.Query
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Query.QueryResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.Query.Slice
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.Query.Query
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Query.Query
instance Aws.Core.Transaction Aws.DynamoDb.Commands.Query.Query Aws.DynamoDb.Commands.Query.QueryResponse

-- | 
--   http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html
--   
module Aws.DynamoDb.Commands.PutItem
data PutItem
PutItem :: Text -> Item -> Conditions -> UpdateReturn -> ReturnConsumption -> ReturnItemCollectionMetrics -> PutItem

-- | Target table
[piTable] :: PutItem -> Text

-- | An item to Put. Attributes here will replace what maybe under the key
--   on DDB.
[piItem] :: PutItem -> Item

-- | (Possible) set of expections for a conditional Put
[piExpect] :: PutItem -> Conditions

-- | What to return from this query.
[piReturn] :: PutItem -> UpdateReturn
[piRetCons] :: PutItem -> ReturnConsumption
[piRetMet] :: PutItem -> ReturnItemCollectionMetrics

-- | Construct a minimal PutItem request.
putItem :: Text -> Item -> PutItem
data PutItemResponse
PutItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> Maybe ItemCollectionMetrics -> PutItemResponse

-- | Old attributes, if requested
[pirAttrs] :: PutItemResponse -> Maybe Item

-- | Amount of capacity consumed
[pirConsumed] :: PutItemResponse -> Maybe ConsumedCapacity

-- | Collection metrics if they have been requested.
[pirColMet] :: PutItemResponse -> Maybe ItemCollectionMetrics
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.PutItem.PutItemResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.PutItem.PutItem
instance GHC.Classes.Eq Aws.DynamoDb.Commands.PutItem.PutItemResponse
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.PutItem.PutItemResponse
instance GHC.Classes.Ord Aws.DynamoDb.Commands.PutItem.PutItem
instance GHC.Classes.Ord Aws.DynamoDb.Commands.PutItem.PutItemResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.PutItem.PutItem
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.PutItem.PutItemResponse
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.PutItem.PutItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.PutItem.PutItem
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.PutItem.PutItemResponse
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.PutItem.PutItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.PutItem.PutItem
instance Aws.Core.Transaction Aws.DynamoDb.Commands.PutItem.PutItem Aws.DynamoDb.Commands.PutItem.PutItemResponse

module Aws.DynamoDb.Commands.GetItem

-- | A GetItem query that fetches a specific object from DDB.
--   
--   See:
--   http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API_GetItem.html
data GetItem
GetItem :: Text -> PrimaryKey -> Maybe [Text] -> Bool -> ReturnConsumption -> GetItem
[giTableName] :: GetItem -> Text
[giKey] :: GetItem -> PrimaryKey

-- | Attributes to get. Nothing grabs everything.
[giAttrs] :: GetItem -> Maybe [Text]

-- | Whether to issue a consistent read.
[giConsistent] :: GetItem -> Bool

-- | Whether to return consumption stats.
[giRetCons] :: GetItem -> ReturnConsumption

-- | Construct a minimal GetItem request.
getItem :: Text -> PrimaryKey -> GetItem

-- | Response to a GetItem query.
data GetItemResponse
GetItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> GetItemResponse
[girItem] :: GetItemResponse -> Maybe Item
[girConsumed] :: GetItemResponse -> Maybe ConsumedCapacity
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.GetItem.GetItemResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.GetItem.GetItem
instance GHC.Classes.Eq Aws.DynamoDb.Commands.GetItem.GetItemResponse
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.GetItem.GetItemResponse
instance GHC.Classes.Ord Aws.DynamoDb.Commands.GetItem.GetItem
instance GHC.Classes.Ord Aws.DynamoDb.Commands.GetItem.GetItemResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.GetItem.GetItem
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.GetItem.GetItemResponse
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.GetItem.GetItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.GetItem.GetItem
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.GetItem.GetItemResponse
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.GetItem.GetItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.GetItem.GetItem
instance Aws.Core.Transaction Aws.DynamoDb.Commands.GetItem.GetItem Aws.DynamoDb.Commands.GetItem.GetItemResponse

-- | 
--   http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html
--   
module Aws.DynamoDb.Commands.DeleteItem
data DeleteItem
DeleteItem :: Text -> PrimaryKey -> Conditions -> UpdateReturn -> ReturnConsumption -> ReturnItemCollectionMetrics -> DeleteItem

-- | Target table
[diTable] :: DeleteItem -> Text

-- | The item to delete.
[diKey] :: DeleteItem -> PrimaryKey

-- | (Possible) set of expections for a conditional Put
[diExpect] :: DeleteItem -> Conditions

-- | What to return from this query.
[diReturn] :: DeleteItem -> UpdateReturn
[diRetCons] :: DeleteItem -> ReturnConsumption
[diRetMet] :: DeleteItem -> ReturnItemCollectionMetrics

-- | Construct a minimal DeleteItem request.
deleteItem :: Text -> PrimaryKey -> DeleteItem
data DeleteItemResponse
DeleteItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> Maybe ItemCollectionMetrics -> DeleteItemResponse

-- | Old attributes, if requested
[dirAttrs] :: DeleteItemResponse -> Maybe Item

-- | Amount of capacity consumed
[dirConsumed] :: DeleteItemResponse -> Maybe ConsumedCapacity

-- | Collection metrics if they have been requested.
[dirColMet] :: DeleteItemResponse -> Maybe ItemCollectionMetrics
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.DeleteItem.DeleteItem
instance GHC.Classes.Eq Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
instance GHC.Classes.Ord Aws.DynamoDb.Commands.DeleteItem.DeleteItem
instance GHC.Classes.Ord Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.DeleteItem.DeleteItem
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.DeleteItem.DeleteItem
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.DeleteItem.DeleteItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.DeleteItem.DeleteItem
instance Aws.Core.Transaction Aws.DynamoDb.Commands.DeleteItem.DeleteItem Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse

-- | 
--   http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html
--   
module Aws.DynamoDb.Commands.BatchWriteItem
data Request
PutRequest :: Item -> Request
[prItem] :: Request -> Item
DeleteRequest :: PrimaryKey -> Request
[drKey] :: Request -> PrimaryKey
data BatchWriteItem
BatchWriteItem :: [(Text, [Request])] -> ReturnConsumption -> ReturnItemCollectionMetrics -> BatchWriteItem

-- | Put or Delete Requests for a specified table
[bwRequests] :: BatchWriteItem -> [(Text, [Request])]
[bwRetCons] :: BatchWriteItem -> ReturnConsumption
[bwRetMet] :: BatchWriteItem -> ReturnItemCollectionMetrics
toBatchWrite :: [PutItem] -> [DeleteItem] -> BatchWriteItem

-- | Construct a BatchWriteItem
batchWriteItem :: [(Text, [Request])] -> BatchWriteItem
data BatchWriteItemResponse
BatchWriteItemResponse :: [(Text, [Request])] -> Maybe ConsumedCapacity -> Maybe ItemCollectionMetrics -> BatchWriteItemResponse

-- | Unprocessed Requests on failure
[bwUnprocessed] :: BatchWriteItemResponse -> [(Text, [Request])]

-- | Amount of capacity consumed
[bwConsumed] :: BatchWriteItemResponse -> Maybe ConsumedCapacity

-- | Collection metrics for tables affected by BatchWriteItem.
[bwColMet] :: BatchWriteItemResponse -> Maybe ItemCollectionMetrics
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItem
instance GHC.Classes.Eq Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.BatchWriteItem.Request
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.BatchWriteItem.Request
instance GHC.Classes.Ord Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItem
instance GHC.Classes.Ord Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse
instance GHC.Classes.Ord Aws.DynamoDb.Commands.BatchWriteItem.Request
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItem
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.BatchWriteItem.Request
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItem
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.BatchWriteItem.Request
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.BatchWriteItem.Request
instance Aws.Core.Transaction Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItem Aws.DynamoDb.Commands.BatchWriteItem.BatchWriteItemResponse

-- | 
--   http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html
--   
module Aws.DynamoDb.Commands.BatchGetItem
data GetRequestItem
GetRequestItem :: Maybe Text -> Bool -> [PrimaryKey] -> GetRequestItem
[griProjExpr] :: GetRequestItem -> Maybe Text
[griConsistent] :: GetRequestItem -> Bool
[griKeys] :: GetRequestItem -> [PrimaryKey]
data BatchGetItem
BatchGetItem :: [(Text, GetRequestItem)] -> ReturnConsumption -> BatchGetItem

-- | Get Requests for a specified table
[bgRequests] :: BatchGetItem -> [(Text, GetRequestItem)]
[bgRetCons] :: BatchGetItem -> ReturnConsumption

-- | Construct a RequestItem .
batchGetRequestItem :: Maybe Text -> Bool -> [PrimaryKey] -> GetRequestItem
toBatchGet :: [GetItem] -> BatchGetItem

-- | Construct a BatchGetItem
batchGetItem :: [(Text, GetRequestItem)] -> BatchGetItem
data BatchGetItemResponse
BatchGetItemResponse :: [(Text, [Item])] -> Maybe [(Text, GetRequestItem)] -> Maybe ConsumedCapacity -> BatchGetItemResponse
[bgResponses] :: BatchGetItemResponse -> [(Text, [Item])]

-- | Unprocessed Requests on failure
[bgUnprocessed] :: BatchGetItemResponse -> Maybe [(Text, GetRequestItem)]

-- | Amount of capacity consumed
[bgConsumed] :: BatchGetItemResponse -> Maybe ConsumedCapacity
instance Aws.Core.AsMemoryResponse Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.BatchGetItem.BatchGetItem
instance GHC.Classes.Eq Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse
instance GHC.Classes.Eq Aws.DynamoDb.Commands.BatchGetItem.GetRequestItem
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse
instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.BatchGetItem.GetRequestItem
instance GHC.Classes.Ord Aws.DynamoDb.Commands.BatchGetItem.BatchGetItem
instance GHC.Classes.Ord Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse
instance GHC.Classes.Ord Aws.DynamoDb.Commands.BatchGetItem.GetRequestItem
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.BatchGetItem.BatchGetItem
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse
instance GHC.Internal.Read.Read Aws.DynamoDb.Commands.BatchGetItem.GetRequestItem
instance Aws.Core.ResponseConsumer r Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.BatchGetItem.BatchGetItem
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse
instance GHC.Internal.Show.Show Aws.DynamoDb.Commands.BatchGetItem.GetRequestItem
instance Aws.Core.SignQuery Aws.DynamoDb.Commands.BatchGetItem.BatchGetItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.BatchGetItem.BatchGetItem
instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.BatchGetItem.GetRequestItem
instance Aws.Core.Transaction Aws.DynamoDb.Commands.BatchGetItem.BatchGetItem Aws.DynamoDb.Commands.BatchGetItem.BatchGetItemResponse

module Aws.DynamoDb.Commands

module Aws.DynamoDb

module Aws.Aws

-- | The severity of a log message, in rising order.
data LogLevel
Debug :: LogLevel
Info :: LogLevel
Warning :: LogLevel
Error :: LogLevel

-- | The interface for any logging function. Takes log level and a log
--   message, and can perform an arbitrary IO action.
type Logger = LogLevel -> Text -> IO ()

-- | The default logger defaultLog minLevel, which prints log
--   messages above level minLevel to stderr.
defaultLog :: LogLevel -> Logger

-- | The configuration for an AWS request. You can use multiple
--   configurations in parallel, even over the same HTTP connection
--   manager.
data Configuration
Configuration :: TimeInfo -> Credentials -> Logger -> Maybe Proxy -> Configuration

-- | Whether to restrict the signature validity with a plain timestamp, or
--   with explicit expiration (absolute or relative).
[timeInfo] :: Configuration -> TimeInfo

-- | AWS access credentials.
[credentials] :: Configuration -> Credentials

-- | The error / message logger.
[logger] :: Configuration -> Logger
[proxy] :: Configuration -> Maybe Proxy

-- | The default configuration, with credentials loaded from environment
--   variable or configuration file (see loadCredentialsDefault).
baseConfiguration :: MonadIO io => io Configuration

-- | Debug configuration, which logs much more verbosely.
dbgConfiguration :: MonadIO io => io Configuration

-- | Run an AWS transaction, with HTTP manager and metadata wrapped in a
--   Response.
--   
--   All errors are caught and wrapped in the Response value.
--   
--   Metadata is logged at level Info.
--   
--   Usage (with existing Manager):  resp <- aws cfg
--   serviceCfg manager request 
aws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)

-- | Run an AWS transaction, with HTTP manager and metadata returned in an
--   IORef.
--   
--   Errors are not caught, and need to be handled with exception handlers.
--   
--   Metadata is not logged.
--   
--   Usage (with existing Manager):  ref <- newIORef mempty;
--   resp <- awsRef cfg serviceCfg manager request 
awsRef :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a

-- | Run an AWS transaction, with HTTP manager and without metadata.
--   
--   Metadata is logged at level Info.
--   
--   Usage (with existing Manager):  resp <- aws cfg
--   serviceCfg manager request 
pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a

-- | Run an AWS transaction, with HTTP manager and without metadata.
--   
--   Metadata is logged at level Info.
--   
--   Usage (with existing Manager):  resp <- aws cfg
--   serviceCfg manager request 
memoryAws :: (Transaction r a, AsMemoryResponse a, MonadIO io) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> io (MemoryResponse a)

-- | Run an AWS transaction, without HTTP manager and without
--   metadata.
--   
--   Metadata is logged at level Info.
--   
--   Note that this is potentially less efficient than using aws,
--   because HTTP connections cannot be re-used.
--   
--   Usage:  resp <- simpleAws cfg serviceCfg request 
simpleAws :: (Transaction r a, AsMemoryResponse a, MonadIO io) => Configuration -> ServiceConfiguration r NormalQuery -> r -> io (MemoryResponse a)

-- | Run an AWS transaction, without enforcing that response and request
--   type form a valid transaction pair.
--   
--   This is especially useful for debugging and development, you should
--   not have to use it in production.
--   
--   All errors are caught and wrapped in the Response value.
--   
--   Metadata is wrapped in the Response, and also logged at level
--   Info.
unsafeAws :: (ResponseConsumer r a, Loggable (ResponseMetadata a), SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)

-- | Run an AWS transaction, without enforcing that response and request
--   type form a valid transaction pair.
--   
--   This is especially useful for debugging and development, you should
--   not have to use it in production.
--   
--   Errors are not caught, and need to be handled with exception handlers.
--   
--   Metadata is put in the IORef, but not logged.
unsafeAwsRef :: (ResponseConsumer r a, SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a

-- | Run a URI-only AWS transaction. Returns a URI that can be sent
--   anywhere. Does not work with all requests.
--   
--   Usage:  uri <- awsUri cfg request 
awsUri :: (SignQuery request, MonadIO io) => Configuration -> ServiceConfiguration request UriOnlyQuery -> request -> io ByteString
awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall i. () => ConduitT i (Response (ResponseMetadata a) a) (ResourceT IO) ()

-- | A more flexible version of awsIteratedSource that uses a
--   user-supplied run function. Useful for embedding AWS functionality
--   within application specific monadic contexts.
awsIteratedSource' :: (Monad m, IteratedTransaction r a) => (r -> m (a, b)) -> r -> forall i. () => ConduitT i b m ()
awsIteratedList :: (IteratedTransaction r a, ListResponse a i) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall j. () => ConduitT j i (ResourceT IO) ()

-- | A more flexible version of awsIteratedList that uses a
--   user-supplied run function. Useful for embedding AWS functionality
--   within application specific monadic contexts.
awsIteratedList' :: (Monad m, IteratedTransaction r b, ListResponse b c) => (r -> m b) -> r -> forall i. () => ConduitT i c m ()
instance GHC.Classes.Eq Aws.Aws.LogLevel
instance GHC.Classes.Ord Aws.Aws.LogLevel
instance GHC.Internal.Show.Show Aws.Aws.LogLevel

module Aws

-- | The severity of a log message, in rising order.
data LogLevel
Debug :: LogLevel
Info :: LogLevel
Warning :: LogLevel
Error :: LogLevel

-- | The interface for any logging function. Takes log level and a log
--   message, and can perform an arbitrary IO action.
type Logger = LogLevel -> Text -> IO ()

-- | The default logger defaultLog minLevel, which prints log
--   messages above level minLevel to stderr.
defaultLog :: LogLevel -> Logger

-- | The configuration for an AWS request. You can use multiple
--   configurations in parallel, even over the same HTTP connection
--   manager.
data Configuration
Configuration :: TimeInfo -> Credentials -> Logger -> Maybe Proxy -> Configuration

-- | Whether to restrict the signature validity with a plain timestamp, or
--   with explicit expiration (absolute or relative).
[timeInfo] :: Configuration -> TimeInfo

-- | AWS access credentials.
[credentials] :: Configuration -> Credentials

-- | The error / message logger.
[logger] :: Configuration -> Logger
[proxy] :: Configuration -> Maybe Proxy

-- | The default configuration, with credentials loaded from environment
--   variable or configuration file (see loadCredentialsDefault).
baseConfiguration :: MonadIO io => io Configuration

-- | Debug configuration, which logs much more verbosely.
dbgConfiguration :: MonadIO io => io Configuration

-- | Run an AWS transaction, with HTTP manager and metadata wrapped in a
--   Response.
--   
--   All errors are caught and wrapped in the Response value.
--   
--   Metadata is logged at level Info.
--   
--   Usage (with existing Manager):  resp <- aws cfg
--   serviceCfg manager request 
aws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)

-- | Run an AWS transaction, with HTTP manager and metadata returned in an
--   IORef.
--   
--   Errors are not caught, and need to be handled with exception handlers.
--   
--   Metadata is not logged.
--   
--   Usage (with existing Manager):  ref <- newIORef mempty;
--   resp <- awsRef cfg serviceCfg manager request 
awsRef :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a

-- | Run an AWS transaction, with HTTP manager and without metadata.
--   
--   Metadata is logged at level Info.
--   
--   Usage (with existing Manager):  resp <- aws cfg
--   serviceCfg manager request 
pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a

-- | Run an AWS transaction, without HTTP manager and without
--   metadata.
--   
--   Metadata is logged at level Info.
--   
--   Note that this is potentially less efficient than using aws,
--   because HTTP connections cannot be re-used.
--   
--   Usage:  resp <- simpleAws cfg serviceCfg request 
simpleAws :: (Transaction r a, AsMemoryResponse a, MonadIO io) => Configuration -> ServiceConfiguration r NormalQuery -> r -> io (MemoryResponse a)

-- | Run an AWS transaction, without enforcing that response and request
--   type form a valid transaction pair.
--   
--   This is especially useful for debugging and development, you should
--   not have to use it in production.
--   
--   All errors are caught and wrapped in the Response value.
--   
--   Metadata is wrapped in the Response, and also logged at level
--   Info.
unsafeAws :: (ResponseConsumer r a, Loggable (ResponseMetadata a), SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)

-- | Run an AWS transaction, without enforcing that response and request
--   type form a valid transaction pair.
--   
--   This is especially useful for debugging and development, you should
--   not have to use it in production.
--   
--   Errors are not caught, and need to be handled with exception handlers.
--   
--   Metadata is put in the IORef, but not logged.
unsafeAwsRef :: (ResponseConsumer r a, SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a

-- | Run a URI-only AWS transaction. Returns a URI that can be sent
--   anywhere. Does not work with all requests.
--   
--   Usage:  uri <- awsUri cfg request 
awsUri :: (SignQuery request, MonadIO io) => Configuration -> ServiceConfiguration request UriOnlyQuery -> request -> io ByteString
awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall i. () => ConduitT i (Response (ResponseMetadata a) a) (ResourceT IO) ()
awsIteratedList :: (IteratedTransaction r a, ListResponse a i) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall j. () => ConduitT j i (ResourceT IO) ()

-- | A full HTTP response parser. Takes HTTP status, response headers, and
--   response body.
type HTTPResponseConsumer a = Response ConduitM () ByteString ResourceT IO () -> ResourceT IO a

-- | A response with metadata. Can also contain an error response, or an
--   internal error, via Attempt.
--   
--   Response forms a Writer-like monad.
data Response m a
Response :: m -> Either SomeException a -> Response m a
[responseMetadata] :: Response m a -> m
[responseResult] :: Response m a -> Either SomeException a

-- | Read a response result (if it's a success response, fail otherwise).
readResponse :: MonadThrow n => Response m a -> n a

-- | Read a response result (if it's a success response, fail otherwise).
--   In MonadIO.
readResponseIO :: MonadIO io => Response m a -> io a

-- | Metadata associated with a response. Typically there is one metadata
--   type for each AWS service.
type family ResponseMetadata resp

-- | Class for responses that are fully loaded into memory
class AsMemoryResponse resp where {
    type MemoryResponse resp;
}
loadToMemory :: AsMemoryResponse resp => resp -> ResourceT IO (MemoryResponse resp)

-- | An error that occurred during XML parsing / validation.
newtype XmlException
XmlException :: String -> XmlException
[xmlErrorMessage] :: XmlException -> String

-- | An error that occurred during header parsing / validation.
newtype HeaderException
HeaderException :: String -> HeaderException
[headerErrorMessage] :: HeaderException -> String

-- | An error that occurred during form parsing / validation.
newtype FormException
FormException :: String -> FormException
[formErrorMesage] :: FormException -> String

-- | Additional information, like API endpoints and service-specific
--   preferences.
type family ServiceConfiguration request :: Type -> Type

-- | Default configuration for a specific service.
class DefaultServiceConfiguration config

-- | Default service configuration.
defServiceConfig :: DefaultServiceConfiguration config => config

-- | Default debugging-only configuration. (Normally using HTTP instead of
--   HTTPS for easier debugging.)
debugServiceConfig :: DefaultServiceConfiguration config => config

-- | Tag type for normal queries.
data NormalQuery

-- | Tag type for URI-only queries.
data UriOnlyQuery

-- | Whether to restrict the signature validity with a plain timestamp, or
--   with explicit expiration (absolute or relative).
data TimeInfo

-- | Use a simple timestamp to let AWS check the request validity.
Timestamp :: TimeInfo

-- | Let requests expire at a specific fixed time.
ExpiresAt :: UTCTime -> TimeInfo
[fromExpiresAt] :: TimeInfo -> UTCTime

-- | Let requests expire a specific number of seconds after they were
--   generated.
ExpiresIn :: NominalDiffTime -> TimeInfo
[fromExpiresIn] :: TimeInfo -> NominalDiffTime

-- | Associates a request type and a response type in a bi-directional way.
--   
--   This allows the type-checker to infer the response type when given the
--   request type and vice versa.
--   
--   Note that the actual request generation and response parsing resides
--   in SignQuery and ResponseConsumer respectively.
class (SignQuery r, ResponseConsumer r a, Loggable ResponseMetadata a) => Transaction r a | r -> a

-- | A transaction that may need to be split over multiple requests, for
--   example because of upstream response size limits.
class Transaction r a => IteratedTransaction r a | r -> a

-- | AWS access credentials.
data Credentials
Credentials :: ByteString -> ByteString -> IORef [V4Key] -> Maybe ByteString -> Bool -> Credentials

-- | AWS Access Key ID.
[accessKeyID] :: Credentials -> ByteString

-- | AWS Secret Access Key.
[secretAccessKey] :: Credentials -> ByteString

-- | Signing keys for signature version 4
[v4SigningKeys] :: Credentials -> IORef [V4Key]

-- | Signed IAM token
[iamToken] :: Credentials -> Maybe ByteString

-- | Set when the credentials are intended for anonymous access.
[isAnonymousCredentials] :: Credentials -> Bool
makeCredentials :: MonadIO io => ByteString -> ByteString -> io Credentials

-- | The file where access credentials are loaded, when using
--   loadCredentialsDefault. May return Nothing if
--   HOME is unset.
--   
--   Value: directory/.aws-keys
credentialsDefaultFile :: MonadIO io => io (Maybe FilePath)

-- | The key to be used in the access credential file that is loaded, when
--   using loadCredentialsDefault.
--   
--   Value: default
credentialsDefaultKey :: Text

-- | Load credentials from a (text) file given a key name.
--   
--   The file consists of a sequence of lines, each in the following
--   format:
--   
--   
--   keyName awsKeyID awsKeySecret
--   
loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from the environment variables
--   AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY_SECRET (or
--   AWS_SECRET_ACCESS_KEY), if possible.
loadCredentialsFromEnv :: MonadIO io => io (Maybe Credentials)
loadCredentialsFromInstanceMetadata :: MonadIO io => io (Maybe Credentials)

-- | Load credentials from environment variables if possible, or
--   alternatively from a file with a given key name.
--   
--   See loadCredentialsFromEnv and loadCredentialsFromFile
--   for details.
loadCredentialsFromEnvOrFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from environment variables if possible, or
--   alternatively from the instance metadata store, or alternatively from
--   a file with a given key name.
--   
--   See loadCredentialsFromEnv, loadCredentialsFromFile and
--   loadCredentialsFromInstanceMetadata for details.
loadCredentialsFromEnvOrFileOrInstanceMetadata :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from environment variables if possible, or
--   alternative from the default file with the default key name.
--   
--   Default file: directory/.aws-keys Default key
--   name: default
--   
--   See loadCredentialsFromEnv and loadCredentialsFromFile
--   for details.
loadCredentialsDefault :: MonadIO io => io (Maybe Credentials)

-- | Make a dummy Credentials that can be used to access some AWS services
--   anonymously.
anonymousCredentials :: MonadIO io => io Credentials

module Aws.S3.Core
data S3Authorization
S3AuthorizationHeader :: S3Authorization
S3AuthorizationQuery :: S3Authorization
data RequestStyle

-- | Requires correctly setting region endpoint, but allows non-DNS
--   compliant bucket names in the US standard region.
PathStyle :: RequestStyle

-- | Bucket name must be DNS compliant.
BucketStyle :: RequestStyle
VHostStyle :: RequestStyle
data S3SignPayloadMode

-- | Always use the "UNSIGNED-PAYLOAD" option.
AlwaysUnsigned :: S3SignPayloadMode

-- | Sign the payload when RequestBody is a on-memory one
--   (RequestBodyLBS or RequestBodyBS). Otherwise use the
--   "UNSINGED-PAYLOAD" option.
SignWithEffort :: S3SignPayloadMode

-- | Always sign the payload. Note: error called when
--   RequestBody is a streaming one.
AlwaysSigned :: S3SignPayloadMode
data S3SignVersion
S3SignV2 :: S3SignVersion
S3SignV4 :: S3SignPayloadMode -> S3SignVersion
[_s3SignPayloadMode] :: S3SignVersion -> S3SignPayloadMode
data S3Configuration qt
S3Configuration :: Protocol -> ByteString -> Maybe ByteString -> RequestStyle -> Int -> Maybe ServerSideEncryption -> Bool -> NominalDiffTime -> S3SignVersion -> Maybe Text -> S3Configuration qt
[s3Protocol] :: S3Configuration qt -> Protocol
[s3Endpoint] :: S3Configuration qt -> ByteString
[s3Region] :: S3Configuration qt -> Maybe ByteString
[s3RequestStyle] :: S3Configuration qt -> RequestStyle
[s3Port] :: S3Configuration qt -> Int
[s3ServerSideEncryption] :: S3Configuration qt -> Maybe ServerSideEncryption
[s3UseUri] :: S3Configuration qt -> Bool
[s3DefaultExpiry] :: S3Configuration qt -> NominalDiffTime
[s3SignVersion] :: S3Configuration qt -> S3SignVersion
[s3UserAgent] :: S3Configuration qt -> Maybe Text
s3EndpointUsClassic :: ByteString
s3EndpointUsWest :: ByteString
s3EndpointUsWest2 :: ByteString
s3EndpointEu :: ByteString
s3EndpointEuWest2 :: ByteString
s3EndpointApSouthEast :: ByteString
s3EndpointApSouthEast2 :: ByteString
s3EndpointApNorthEast :: ByteString
s3 :: Protocol -> ByteString -> Bool -> S3Configuration qt
s3v4 :: Protocol -> ByteString -> Bool -> S3SignPayloadMode -> S3Configuration qt
type ErrorCode = Text
data S3Error
S3Error :: Status -> ErrorCode -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ByteString -> Maybe Text -> Maybe Text -> Maybe ByteString -> S3Error
[s3StatusCode] :: S3Error -> Status
[s3ErrorCode] :: S3Error -> ErrorCode
[s3ErrorMessage] :: S3Error -> Text
[s3ErrorResource] :: S3Error -> Maybe Text
[s3ErrorHostId] :: S3Error -> Maybe Text
[s3ErrorAccessKeyId] :: S3Error -> Maybe Text
[s3ErrorStringToSign] :: S3Error -> Maybe ByteString
[s3ErrorBucket] :: S3Error -> Maybe Text
[s3ErrorEndpointRaw] :: S3Error -> Maybe Text
[s3ErrorEndpoint] :: S3Error -> Maybe ByteString
data S3Metadata
S3Metadata :: Maybe Text -> Maybe Text -> S3Metadata
[s3MAmzId2] :: S3Metadata -> Maybe Text
[s3MRequestId] :: S3Metadata -> Maybe Text
data S3Query
S3Query :: Method -> Maybe ByteString -> Maybe ByteString -> Query -> Query -> Maybe ByteString -> Maybe (Digest MD5) -> RequestHeaders -> RequestHeaders -> Maybe RequestBody -> S3Query
[s3QMethod] :: S3Query -> Method
[s3QBucket] :: S3Query -> Maybe ByteString
[s3QObject] :: S3Query -> Maybe ByteString
[s3QSubresources] :: S3Query -> Query
[s3QQuery] :: S3Query -> Query
[s3QContentType] :: S3Query -> Maybe ByteString
[s3QContentMd5] :: S3Query -> Maybe (Digest MD5)
[s3QAmzHeaders] :: S3Query -> RequestHeaders
[s3QOtherHeaders] :: S3Query -> RequestHeaders
[s3QRequestBody] :: S3Query -> Maybe RequestBody
hAmzDate :: HeaderName
hAmzContentSha256 :: HeaderName
hAmzAlgorithm :: HeaderName
hAmzCredential :: HeaderName
hAmzExpires :: HeaderName
hAmzSignedHeaders :: HeaderName
hAmzSignature :: HeaderName
hAmzSecurityToken :: HeaderName
s3SignQuery :: S3Query -> S3Configuration qt -> SignatureData -> SignedQuery

-- | Custom UriEncode function see
--   http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html
s3UriEncode :: Bool -> ByteString -> ByteString
s3RenderQuery :: Bool -> Query -> ByteString

-- | Extract a S3 region from the S3 endpoint. AWS encodes the region names
--   in the hostnames of endpoints in a way that makes this possible, see:
--   http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
--   For other S3 implementations, may instead need to specify s3Region.
s3ExtractRegion :: ByteString -> ByteString
s3ResponseConsumer :: HTTPResponseConsumer a -> IORef S3Metadata -> HTTPResponseConsumer a
s3BinaryResponseConsumer :: HTTPResponseConsumer a -> IORef S3Metadata -> HTTPResponseConsumer a
s3XmlResponseConsumer :: (Cursor -> Response S3Metadata a) -> IORef S3Metadata -> HTTPResponseConsumer a
s3ErrorResponseConsumer :: HTTPResponseConsumer a
type CanonicalUserId = Text
data UserInfo
UserInfo :: CanonicalUserId -> Maybe Text -> UserInfo
[userId] :: UserInfo -> CanonicalUserId
[userDisplayName] :: UserInfo -> Maybe Text
parseUserInfo :: MonadThrow m => Cursor -> m UserInfo
data CannedAcl
AclPrivate :: CannedAcl
AclPublicRead :: CannedAcl
AclPublicReadWrite :: CannedAcl
AclAuthenticatedRead :: CannedAcl
AclBucketOwnerRead :: CannedAcl
AclBucketOwnerFullControl :: CannedAcl
AclLogDeliveryWrite :: CannedAcl
writeCannedAcl :: CannedAcl -> Text
data StorageClass
Standard :: StorageClass
StandardInfrequentAccess :: StorageClass
ReducedRedundancy :: StorageClass
Glacier :: StorageClass
OtherStorageClass :: Text -> StorageClass
parseStorageClass :: Text -> StorageClass
writeStorageClass :: StorageClass -> Text
data ServerSideEncryption
AES256 :: ServerSideEncryption
parseServerSideEncryption :: MonadThrow m => Text -> m ServerSideEncryption
writeServerSideEncryption :: ServerSideEncryption -> Text
type Bucket = Text
data BucketInfo
BucketInfo :: Bucket -> UTCTime -> BucketInfo
[bucketName] :: BucketInfo -> Bucket
[bucketCreationDate] :: BucketInfo -> UTCTime
type Object = Text
data ObjectId
ObjectId :: Bucket -> Object -> Maybe Text -> ObjectId
[oidBucket] :: ObjectId -> Bucket
[oidObject] :: ObjectId -> Object
[oidVersion] :: ObjectId -> Maybe Text
data ObjectVersionInfo
ObjectVersion :: Text -> Text -> Bool -> UTCTime -> Text -> Integer -> StorageClass -> Maybe UserInfo -> ObjectVersionInfo
[oviKey] :: ObjectVersionInfo -> Text
[oviVersionId] :: ObjectVersionInfo -> Text
[oviIsLatest] :: ObjectVersionInfo -> Bool
[oviLastModified] :: ObjectVersionInfo -> UTCTime
[oviETag] :: ObjectVersionInfo -> Text
[oviSize] :: ObjectVersionInfo -> Integer
[oviStorageClass] :: ObjectVersionInfo -> StorageClass
[oviOwner] :: ObjectVersionInfo -> Maybe UserInfo
DeleteMarker :: Text -> Text -> Bool -> UTCTime -> Maybe UserInfo -> ObjectVersionInfo
[oviKey] :: ObjectVersionInfo -> Text
[oviVersionId] :: ObjectVersionInfo -> Text
[oviIsLatest] :: ObjectVersionInfo -> Bool
[oviLastModified] :: ObjectVersionInfo -> UTCTime
[oviOwner] :: ObjectVersionInfo -> Maybe UserInfo
parseObjectVersionInfo :: MonadThrow m => Cursor -> m ObjectVersionInfo
data ObjectInfo
ObjectInfo :: Text -> UTCTime -> Text -> Integer -> StorageClass -> Maybe UserInfo -> ObjectInfo
[objectKey] :: ObjectInfo -> Text
[objectLastModified] :: ObjectInfo -> UTCTime
[objectETag] :: ObjectInfo -> Text
[objectSize] :: ObjectInfo -> Integer
[objectStorageClass] :: ObjectInfo -> StorageClass
[objectOwner] :: ObjectInfo -> Maybe UserInfo
parseObjectInfo :: MonadThrow m => Cursor -> m ObjectInfo
data ObjectMetadata
ObjectMetadata :: Bool -> Text -> UTCTime -> Maybe Text -> [(Text, Text)] -> Maybe Text -> Maybe ServerSideEncryption -> ObjectMetadata
[omDeleteMarker] :: ObjectMetadata -> Bool
[omETag] :: ObjectMetadata -> Text
[omLastModified] :: ObjectMetadata -> UTCTime
[omVersionId] :: ObjectMetadata -> Maybe Text
[omUserMetadata] :: ObjectMetadata -> [(Text, Text)]
[omMissingUserMetadata] :: ObjectMetadata -> Maybe Text
[omServerSideEncryption] :: ObjectMetadata -> Maybe ServerSideEncryption
parseObjectMetadata :: MonadThrow m => ResponseHeaders -> m ObjectMetadata
type LocationConstraint = Text
locationUsClassic :: LocationConstraint
locationUsWest :: LocationConstraint
locationUsWest2 :: LocationConstraint
locationEu :: LocationConstraint
locationEuWest2 :: LocationConstraint
locationEuFrankfurt :: LocationConstraint
locationApSouthEast :: LocationConstraint
locationApSouthEast2 :: LocationConstraint
locationApNorthEast :: LocationConstraint
locationSA :: LocationConstraint
normaliseLocation :: LocationConstraint -> LocationConstraint
instance Aws.Core.DefaultServiceConfiguration (Aws.S3.Core.S3Configuration Aws.Core.NormalQuery)
instance Aws.Core.DefaultServiceConfiguration (Aws.S3.Core.S3Configuration Aws.Core.UriOnlyQuery)
instance GHC.Classes.Eq Aws.S3.Core.S3SignPayloadMode
instance GHC.Classes.Eq Aws.S3.Core.S3SignVersion
instance GHC.Internal.Exception.Type.Exception Aws.S3.Core.S3Error
instance Aws.Core.Loggable Aws.S3.Core.S3Metadata
instance GHC.Internal.Base.Monoid Aws.S3.Core.S3Metadata
instance GHC.Internal.Read.Read Aws.S3.Core.S3SignPayloadMode
instance GHC.Internal.Read.Read Aws.S3.Core.S3SignVersion
instance GHC.Internal.Base.Semigroup Aws.S3.Core.S3Metadata
instance GHC.Internal.Show.Show Aws.S3.Core.BucketInfo
instance GHC.Internal.Show.Show Aws.S3.Core.CannedAcl
instance GHC.Internal.Show.Show Aws.S3.Core.ObjectId
instance GHC.Internal.Show.Show Aws.S3.Core.ObjectInfo
instance GHC.Internal.Show.Show Aws.S3.Core.ObjectMetadata
instance GHC.Internal.Show.Show Aws.S3.Core.ObjectVersionInfo
instance GHC.Internal.Show.Show Aws.S3.Core.RequestStyle
instance GHC.Internal.Show.Show Aws.S3.Core.S3Authorization
instance GHC.Internal.Show.Show (Aws.S3.Core.S3Configuration qt)
instance GHC.Internal.Show.Show Aws.S3.Core.S3Error
instance GHC.Internal.Show.Show Aws.S3.Core.S3Metadata
instance GHC.Internal.Show.Show Aws.S3.Core.S3Query
instance GHC.Internal.Show.Show Aws.S3.Core.S3SignPayloadMode
instance GHC.Internal.Show.Show Aws.S3.Core.S3SignVersion
instance GHC.Internal.Show.Show Aws.S3.Core.ServerSideEncryption
instance GHC.Internal.Show.Show Aws.S3.Core.StorageClass
instance GHC.Internal.Show.Show Aws.S3.Core.UserInfo

module Aws.S3.Commands.PutObject
data PutObject
PutObject :: Text -> Bucket -> Maybe ByteString -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Digest MD5) -> Maybe Int -> Maybe CannedAcl -> Maybe StorageClass -> Maybe Text -> Maybe ServerSideEncryption -> RequestBody -> [(Text, Text)] -> Bool -> Bool -> PutObject
[poObjectName] :: PutObject -> Text
[poBucket] :: PutObject -> Bucket
[poContentType] :: PutObject -> Maybe ByteString
[poCacheControl] :: PutObject -> Maybe Text
[poContentDisposition] :: PutObject -> Maybe Text
[poContentEncoding] :: PutObject -> Maybe Text
[poContentMD5] :: PutObject -> Maybe (Digest MD5)
[poExpires] :: PutObject -> Maybe Int
[poAcl] :: PutObject -> Maybe CannedAcl
[poStorageClass] :: PutObject -> Maybe StorageClass
[poWebsiteRedirectLocation] :: PutObject -> Maybe Text
[poServerSideEncryption] :: PutObject -> Maybe ServerSideEncryption
[poRequestBody] :: PutObject -> RequestBody
[poMetadata] :: PutObject -> [(Text, Text)]

-- | Internet Archive S3 nonstandard extension
[poAutoMakeBucket] :: PutObject -> Bool

-- | Note: Requires http-client >= 0.4.10
[poExpect100Continue] :: PutObject -> Bool
putObject :: Bucket -> Text -> RequestBody -> PutObject
data PutObjectResponse
PutObjectResponse :: Maybe Text -> Text -> PutObjectResponse
[porVersionId] :: PutObjectResponse -> Maybe Text
[porETag] :: PutObjectResponse -> Text
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.PutObject.PutObjectResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.PutObject.PutObject Aws.S3.Commands.PutObject.PutObjectResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.PutObject.PutObjectResponse
instance Aws.Core.SignQuery Aws.S3.Commands.PutObject.PutObject
instance Aws.Core.Transaction Aws.S3.Commands.PutObject.PutObject Aws.S3.Commands.PutObject.PutObjectResponse

module Aws.S3.Commands.PutBucketVersioning
data VersioningState
VersioningSuspended :: VersioningState
VersioningEnabled :: VersioningState

-- | Sets the versioning state of an existing bucket.
data PutBucketVersioning
PutBucketVersioning :: Bucket -> VersioningState -> PutBucketVersioning
[pbvBucket] :: PutBucketVersioning -> Bucket
[pbvVersioningConfiguration] :: PutBucketVersioning -> VersioningState
putBucketVersioning :: Bucket -> VersioningState -> PutBucketVersioning
data PutBucketVersioningResponse
PutBucketVersioningResponse :: PutBucketVersioningResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.PutBucketVersioning.PutBucketVersioning
instance GHC.Internal.Show.Show Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.PutBucketVersioning.VersioningState
instance Aws.Core.SignQuery Aws.S3.Commands.PutBucketVersioning.PutBucketVersioning
instance Aws.Core.Transaction Aws.S3.Commands.PutBucketVersioning.PutBucketVersioning Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse

module Aws.S3.Commands.PutBucket
data PutBucket
PutBucket :: Bucket -> Maybe CannedAcl -> LocationConstraint -> Maybe StorageClass -> PutBucket
[pbBucket] :: PutBucket -> Bucket
[pbCannedAcl] :: PutBucket -> Maybe CannedAcl
[pbLocationConstraint] :: PutBucket -> LocationConstraint

-- | Google Cloud Storage S3 nonstandard extension
[pbXStorageClass] :: PutBucket -> Maybe StorageClass
putBucket :: Bucket -> PutBucket
data PutBucketResponse
PutBucketResponse :: PutBucketResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.PutBucket.PutBucketResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.PutBucket.PutBucketResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.PutBucket.PutBucket
instance GHC.Internal.Show.Show Aws.S3.Commands.PutBucket.PutBucketResponse
instance Aws.Core.SignQuery Aws.S3.Commands.PutBucket.PutBucket
instance Aws.Core.Transaction Aws.S3.Commands.PutBucket.PutBucket Aws.S3.Commands.PutBucket.PutBucketResponse

module Aws.S3.Commands.Multipart
data InitiateMultipartUpload
InitiateMultipartUpload :: Bucket -> Object -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> [(Text, Text)] -> Maybe StorageClass -> Maybe Text -> Maybe CannedAcl -> Maybe ServerSideEncryption -> Bool -> InitiateMultipartUpload
[imuBucket] :: InitiateMultipartUpload -> Bucket
[imuObjectName] :: InitiateMultipartUpload -> Object
[imuCacheControl] :: InitiateMultipartUpload -> Maybe Text
[imuContentDisposition] :: InitiateMultipartUpload -> Maybe Text
[imuContentEncoding] :: InitiateMultipartUpload -> Maybe Text
[imuContentType] :: InitiateMultipartUpload -> Maybe Text
[imuExpires] :: InitiateMultipartUpload -> Maybe Int
[imuMetadata] :: InitiateMultipartUpload -> [(Text, Text)]
[imuStorageClass] :: InitiateMultipartUpload -> Maybe StorageClass
[imuWebsiteRedirectLocation] :: InitiateMultipartUpload -> Maybe Text
[imuAcl] :: InitiateMultipartUpload -> Maybe CannedAcl
[imuServerSideEncryption] :: InitiateMultipartUpload -> Maybe ServerSideEncryption

-- | Internet Archive S3 nonstandard extension
[imuAutoMakeBucket] :: InitiateMultipartUpload -> Bool
postInitiateMultipartUpload :: Bucket -> Text -> InitiateMultipartUpload
data InitiateMultipartUploadResponse
InitiateMultipartUploadResponse :: !Bucket -> !Text -> !Text -> InitiateMultipartUploadResponse
[imurBucket] :: InitiateMultipartUploadResponse -> !Bucket
[imurKey] :: InitiateMultipartUploadResponse -> !Text
[imurUploadId] :: InitiateMultipartUploadResponse -> !Text
data UploadPart
UploadPart :: Text -> Bucket -> Integer -> Text -> Maybe ByteString -> Maybe (Digest MD5) -> Maybe ServerSideEncryption -> RequestBody -> Bool -> UploadPart
[upObjectName] :: UploadPart -> Text
[upBucket] :: UploadPart -> Bucket
[upPartNumber] :: UploadPart -> Integer
[upUploadId] :: UploadPart -> Text
[upContentType] :: UploadPart -> Maybe ByteString
[upContentMD5] :: UploadPart -> Maybe (Digest MD5)
[upServerSideEncryption] :: UploadPart -> Maybe ServerSideEncryption
[upRequestBody] :: UploadPart -> RequestBody

-- | Note: Requires http-client >= 0.4.10
[upExpect100Continue] :: UploadPart -> Bool
uploadPart :: Bucket -> Text -> Integer -> Text -> RequestBody -> UploadPart
data UploadPartResponse
UploadPartResponse :: !Text -> UploadPartResponse
[uprETag] :: UploadPartResponse -> !Text
data CompleteMultipartUpload
CompleteMultipartUpload :: Bucket -> Object -> Text -> [(Integer, Text)] -> Maybe Text -> Maybe Text -> Maybe Text -> CompleteMultipartUpload
[cmuBucket] :: CompleteMultipartUpload -> Bucket
[cmuObjectName] :: CompleteMultipartUpload -> Object
[cmuUploadId] :: CompleteMultipartUpload -> Text
[cmuPartNumberAndEtags] :: CompleteMultipartUpload -> [(Integer, Text)]
[cmuExpiration] :: CompleteMultipartUpload -> Maybe Text
[cmuServerSideEncryption] :: CompleteMultipartUpload -> Maybe Text
[cmuServerSideEncryptionCustomerAlgorithm] :: CompleteMultipartUpload -> Maybe Text
postCompleteMultipartUpload :: Bucket -> Text -> Text -> [(Integer, Text)] -> CompleteMultipartUpload
data CompleteMultipartUploadResponse
CompleteMultipartUploadResponse :: !Text -> !Bucket -> !Text -> !Text -> !Maybe Text -> CompleteMultipartUploadResponse
[cmurLocation] :: CompleteMultipartUploadResponse -> !Text
[cmurBucket] :: CompleteMultipartUploadResponse -> !Bucket
[cmurKey] :: CompleteMultipartUploadResponse -> !Text
[cmurETag] :: CompleteMultipartUploadResponse -> !Text
[cmurVersionId] :: CompleteMultipartUploadResponse -> !Maybe Text
data AbortMultipartUpload
AbortMultipartUpload :: Bucket -> Object -> Text -> AbortMultipartUpload
[amuBucket] :: AbortMultipartUpload -> Bucket
[amuObjectName] :: AbortMultipartUpload -> Object
[amuUploadId] :: AbortMultipartUpload -> Text
postAbortMultipartUpload :: Bucket -> Text -> Text -> AbortMultipartUpload
data AbortMultipartUploadResponse
AbortMultipartUploadResponse :: AbortMultipartUploadResponse
getUploadId :: Configuration -> S3Configuration NormalQuery -> Manager -> Text -> Text -> IO Text
sendEtag :: Configuration -> S3Configuration NormalQuery -> Manager -> Text -> Text -> Text -> [Text] -> IO CompleteMultipartUploadResponse
putConduit :: forall (m :: Type -> Type). MonadResource m => Configuration -> S3Configuration NormalQuery -> Manager -> Text -> Text -> Text -> ConduitT ByteString Text m ()
chunkedConduit :: forall (m :: Type -> Type). MonadResource m => Integer -> ConduitT ByteString ByteString m ()
multipartUpload :: Configuration -> S3Configuration NormalQuery -> Manager -> Text -> Text -> ConduitT () ByteString (ResourceT IO) () -> Integer -> ResourceT IO ()
multipartUploadSink :: forall (m :: Type -> Type). MonadResource m => Configuration -> S3Configuration NormalQuery -> Manager -> Text -> Text -> Integer -> ConduitT ByteString Void m ()
multipartUploadWithInitiator :: Configuration -> S3Configuration NormalQuery -> (Bucket -> Text -> InitiateMultipartUpload) -> Manager -> Text -> Text -> ConduitT () ByteString (ResourceT IO) () -> Integer -> ResourceT IO ()
multipartUploadSinkWithInitiator :: forall (m :: Type -> Type). MonadResource m => Configuration -> S3Configuration NormalQuery -> (Bucket -> Text -> InitiateMultipartUpload) -> Manager -> Text -> Text -> Integer -> ConduitT ByteString Void m ()
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.Multipart.AbortMultipartUploadResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.Multipart.CompleteMultipartUploadResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.Multipart.InitiateMultipartUploadResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.Multipart.UploadPartResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.Multipart.UploadPart Aws.S3.Commands.Multipart.UploadPartResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.Multipart.AbortMultipartUploadResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.Multipart.CompleteMultipartUploadResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.Multipart.InitiateMultipartUploadResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.Multipart.AbortMultipartUpload
instance GHC.Internal.Show.Show Aws.S3.Commands.Multipart.AbortMultipartUploadResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.Multipart.CompleteMultipartUpload
instance GHC.Internal.Show.Show Aws.S3.Commands.Multipart.CompleteMultipartUploadResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.Multipart.InitiateMultipartUpload
instance GHC.Internal.Show.Show Aws.S3.Commands.Multipart.UploadPartResponse
instance Aws.Core.SignQuery Aws.S3.Commands.Multipart.AbortMultipartUpload
instance Aws.Core.SignQuery Aws.S3.Commands.Multipart.CompleteMultipartUpload
instance Aws.Core.SignQuery Aws.S3.Commands.Multipart.InitiateMultipartUpload
instance Aws.Core.SignQuery Aws.S3.Commands.Multipart.UploadPart
instance Aws.Core.Transaction Aws.S3.Commands.Multipart.AbortMultipartUpload Aws.S3.Commands.Multipart.AbortMultipartUploadResponse
instance Aws.Core.Transaction Aws.S3.Commands.Multipart.CompleteMultipartUpload Aws.S3.Commands.Multipart.CompleteMultipartUploadResponse
instance Aws.Core.Transaction Aws.S3.Commands.Multipart.InitiateMultipartUpload Aws.S3.Commands.Multipart.InitiateMultipartUploadResponse
instance Aws.Core.Transaction Aws.S3.Commands.Multipart.UploadPart Aws.S3.Commands.Multipart.UploadPartResponse

module Aws.S3.Commands.HeadObject
data HeadObject
HeadObject :: Bucket -> Object -> Maybe Text -> Maybe Text -> Maybe Text -> HeadObject
[hoBucket] :: HeadObject -> Bucket
[hoObjectName] :: HeadObject -> Object
[hoVersionId] :: HeadObject -> Maybe Text

-- | Return the object only if its entity tag (ETag, which is an md5sum of
--   the content) is the same as the one specified; otherwise, catch a
--   StatusCodeException with a status of 412 precondition failed.
[hoIfMatch] :: HeadObject -> Maybe Text

-- | Return the object only if its entity tag (ETag, which is an md5sum of
--   the content) is different from the one specified; otherwise, catch a
--   StatusCodeException with a status of 304 not modified.
[hoIfNoneMatch] :: HeadObject -> Maybe Text
headObject :: Bucket -> Text -> HeadObject
data HeadObjectResponse
HeadObjectResponse :: Maybe ObjectMetadata -> HeadObjectResponse
[horMetadata] :: HeadObjectResponse -> Maybe ObjectMetadata
data HeadObjectMemoryResponse
HeadObjectMemoryResponse :: Maybe ObjectMetadata -> HeadObjectMemoryResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.HeadObject.HeadObjectResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.HeadObject.HeadObject Aws.S3.Commands.HeadObject.HeadObjectResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.HeadObject.HeadObject
instance GHC.Internal.Show.Show Aws.S3.Commands.HeadObject.HeadObjectMemoryResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.HeadObject.HeadObjectResponse
instance Aws.Core.SignQuery Aws.S3.Commands.HeadObject.HeadObject
instance Aws.Core.Transaction Aws.S3.Commands.HeadObject.HeadObject Aws.S3.Commands.HeadObject.HeadObjectResponse

module Aws.S3.Commands.GetService
data GetService
GetService :: GetService
data GetServiceResponse
GetServiceResponse :: UserInfo -> [BucketInfo] -> GetServiceResponse
[gsrOwner] :: GetServiceResponse -> UserInfo
[gsrBuckets] :: GetServiceResponse -> [BucketInfo]
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.GetService.GetServiceResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.GetService.GetServiceResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.GetService.GetService
instance GHC.Internal.Show.Show Aws.S3.Commands.GetService.GetServiceResponse
instance Aws.Core.SignQuery Aws.S3.Commands.GetService.GetService
instance Aws.Core.Transaction Aws.S3.Commands.GetService.GetService Aws.S3.Commands.GetService.GetServiceResponse

module Aws.S3.Commands.GetObject
data GetObject
GetObject :: Bucket -> Object -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Int, Int) -> Maybe Text -> Maybe Text -> GetObject
[goBucket] :: GetObject -> Bucket
[goObjectName] :: GetObject -> Object
[goVersionId] :: GetObject -> Maybe Text
[goResponseContentType] :: GetObject -> Maybe Text
[goResponseContentLanguage] :: GetObject -> Maybe Text
[goResponseExpires] :: GetObject -> Maybe Text
[goResponseCacheControl] :: GetObject -> Maybe Text
[goResponseContentDisposition] :: GetObject -> Maybe Text
[goResponseContentEncoding] :: GetObject -> Maybe Text
[goResponseContentRange] :: GetObject -> Maybe (Int, Int)

-- | Return the object only if its entity tag (ETag, which is an md5sum of
--   the content) is the same as the one specified; otherwise, catch a
--   StatusCodeException with a status of 412 precondition failed.
[goIfMatch] :: GetObject -> Maybe Text

-- | Return the object only if its entity tag (ETag, which is an md5sum of
--   the content) is different from the one specified; otherwise, catch a
--   StatusCodeException with a status of 304 not modified.
[goIfNoneMatch] :: GetObject -> Maybe Text
getObject :: Bucket -> Text -> GetObject
data GetObjectResponse
GetObjectResponse :: ObjectMetadata -> Response (ConduitM () ByteString (ResourceT IO) ()) -> GetObjectResponse
[gorMetadata] :: GetObjectResponse -> ObjectMetadata
[gorResponse] :: GetObjectResponse -> Response (ConduitM () ByteString (ResourceT IO) ())
data GetObjectMemoryResponse
GetObjectMemoryResponse :: ObjectMetadata -> Response ByteString -> GetObjectMemoryResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.GetObject.GetObjectResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.GetObject.GetObject Aws.S3.Commands.GetObject.GetObjectResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.GetObject.GetObject
instance GHC.Internal.Show.Show Aws.S3.Commands.GetObject.GetObjectMemoryResponse
instance Aws.Core.SignQuery Aws.S3.Commands.GetObject.GetObject
instance Aws.Core.Transaction Aws.S3.Commands.GetObject.GetObject Aws.S3.Commands.GetObject.GetObjectResponse

module Aws.S3.Commands.GetBucketVersioning

-- | Gets the versioning state of an existing bucket.
data GetBucketVersioning
GetBucketVersioning :: Bucket -> GetBucketVersioning
[gbvBucket] :: GetBucketVersioning -> Bucket
getBucketVersioning :: Bucket -> GetBucketVersioning
data GetBucketVersioningResponse

-- | Nothing when the bucket is not versioned
GetBucketVersioningResponse :: Maybe VersioningState -> GetBucketVersioningResponse
[gbvVersioning] :: GetBucketVersioningResponse -> Maybe VersioningState
data VersioningState
VersioningSuspended :: VersioningState
VersioningEnabled :: VersioningState
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.GetBucketVersioning.GetBucketVersioningResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.GetBucketVersioning.GetBucketVersioningResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucketVersioning.GetBucketVersioning
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucketVersioning.GetBucketVersioningResponse
instance Aws.Core.SignQuery Aws.S3.Commands.GetBucketVersioning.GetBucketVersioning
instance Aws.Core.Transaction Aws.S3.Commands.GetBucketVersioning.GetBucketVersioning Aws.S3.Commands.GetBucketVersioning.GetBucketVersioningResponse

module Aws.S3.Commands.GetBucketObjectVersions
data GetBucketObjectVersions
GetBucketObjectVersions :: Bucket -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> GetBucketObjectVersions
[gbovBucket] :: GetBucketObjectVersions -> Bucket
[gbovDelimiter] :: GetBucketObjectVersions -> Maybe Text
[gbovKeyMarker] :: GetBucketObjectVersions -> Maybe Text
[gbovMaxKeys] :: GetBucketObjectVersions -> Maybe Int
[gbovPrefix] :: GetBucketObjectVersions -> Maybe Text
[gbovVersionIdMarker] :: GetBucketObjectVersions -> Maybe Text
getBucketObjectVersions :: Bucket -> GetBucketObjectVersions
data GetBucketObjectVersionsResponse
GetBucketObjectVersionsResponse :: Bucket -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> [ObjectVersionInfo] -> [Text] -> Bool -> Maybe Text -> Maybe Text -> GetBucketObjectVersionsResponse
[gbovrName] :: GetBucketObjectVersionsResponse -> Bucket
[gbovrDelimiter] :: GetBucketObjectVersionsResponse -> Maybe Text
[gbovrKeyMarker] :: GetBucketObjectVersionsResponse -> Maybe Text
[gbovrMaxKeys] :: GetBucketObjectVersionsResponse -> Maybe Int
[gbovrPrefix] :: GetBucketObjectVersionsResponse -> Maybe Text
[gbovrVersionIdMarker] :: GetBucketObjectVersionsResponse -> Maybe Text
[gbovrContents] :: GetBucketObjectVersionsResponse -> [ObjectVersionInfo]
[gbovrCommonPrefixes] :: GetBucketObjectVersionsResponse -> [Text]
[gbovrIsTruncated] :: GetBucketObjectVersionsResponse -> Bool
[gbovrNextKeyMarker] :: GetBucketObjectVersionsResponse -> Maybe Text
[gbovrNextVersionIdMarker] :: GetBucketObjectVersionsResponse -> Maybe Text
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersionsResponse
instance Aws.Core.IteratedTransaction Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersions Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersionsResponse
instance Aws.Core.ListResponse Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersionsResponse Aws.S3.Core.ObjectVersionInfo
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersionsResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersions
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersionsResponse
instance Aws.Core.SignQuery Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersions
instance Aws.Core.Transaction Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersions Aws.S3.Commands.GetBucketObjectVersions.GetBucketObjectVersionsResponse

module Aws.S3.Commands.GetBucketLocation
data GetBucketLocation
GetBucketLocation :: Bucket -> GetBucketLocation
[gblBucket] :: GetBucketLocation -> Bucket
getBucketLocation :: Bucket -> GetBucketLocation
data GetBucketLocationResponse
GetBucketLocationResponse :: LocationConstraint -> GetBucketLocationResponse
[gblrLocationConstraint] :: GetBucketLocationResponse -> LocationConstraint
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.GetBucketLocation.GetBucketLocationResponse
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.GetBucketLocation.GetBucketLocationResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucketLocation.GetBucketLocation
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucketLocation.GetBucketLocationResponse
instance Aws.Core.SignQuery Aws.S3.Commands.GetBucketLocation.GetBucketLocation
instance Aws.Core.Transaction Aws.S3.Commands.GetBucketLocation.GetBucketLocation Aws.S3.Commands.GetBucketLocation.GetBucketLocationResponse

module Aws.S3.Commands.GetBucket
data GetBucket
GetBucket :: Bucket -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> GetBucket
[gbBucket] :: GetBucket -> Bucket
[gbDelimiter] :: GetBucket -> Maybe Text
[gbMarker] :: GetBucket -> Maybe Text
[gbMaxKeys] :: GetBucket -> Maybe Int
[gbPrefix] :: GetBucket -> Maybe Text
getBucket :: Bucket -> GetBucket
data GetBucketResponse
GetBucketResponse :: Bucket -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> [ObjectInfo] -> [Text] -> Bool -> Maybe Text -> GetBucketResponse
[gbrName] :: GetBucketResponse -> Bucket
[gbrDelimiter] :: GetBucketResponse -> Maybe Text
[gbrMarker] :: GetBucketResponse -> Maybe Text
[gbrMaxKeys] :: GetBucketResponse -> Maybe Int
[gbrPrefix] :: GetBucketResponse -> Maybe Text
[gbrContents] :: GetBucketResponse -> [ObjectInfo]
[gbrCommonPrefixes] :: GetBucketResponse -> [Text]
[gbrIsTruncated] :: GetBucketResponse -> Bool
[gbrNextMarker] :: GetBucketResponse -> Maybe Text
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.GetBucket.GetBucketResponse
instance Aws.Core.IteratedTransaction Aws.S3.Commands.GetBucket.GetBucket Aws.S3.Commands.GetBucket.GetBucketResponse
instance Aws.Core.ListResponse Aws.S3.Commands.GetBucket.GetBucketResponse Aws.S3.Core.ObjectInfo
instance Aws.Core.ResponseConsumer r Aws.S3.Commands.GetBucket.GetBucketResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucket.GetBucket
instance GHC.Internal.Show.Show Aws.S3.Commands.GetBucket.GetBucketResponse
instance Aws.Core.SignQuery Aws.S3.Commands.GetBucket.GetBucket
instance Aws.Core.Transaction Aws.S3.Commands.GetBucket.GetBucket Aws.S3.Commands.GetBucket.GetBucketResponse

module Aws.S3.Commands.DeleteObjects
data DeleteObjects
DeleteObjects :: Bucket -> [(Object, Maybe Text)] -> Bool -> Maybe Text -> DeleteObjects
[dosBucket] :: DeleteObjects -> Bucket
[dosObjects] :: DeleteObjects -> [(Object, Maybe Text)]
[dosQuiet] :: DeleteObjects -> Bool
[dosMultiFactorAuthentication] :: DeleteObjects -> Maybe Text
deleteObjects :: Bucket -> [Text] -> DeleteObjects
data DeleteObjectsResponse
DeleteObjectsResponse :: [DORDeleted] -> [DORErrors] -> DeleteObjectsResponse
[dorDeleted] :: DeleteObjectsResponse -> [DORDeleted]
[dorErrors] :: DeleteObjectsResponse -> [DORErrors]
data DORDeleted
DORDeleted :: Text -> Maybe Text -> Maybe Text -> DORDeleted
[ddKey] :: DORDeleted -> Text
[ddVersionId] :: DORDeleted -> Maybe Text
[ddDeleteMarkerVersionId] :: DORDeleted -> Maybe Text
data DORErrors
DORErrors :: Text -> Text -> Text -> DORErrors
[deKey] :: DORErrors -> Text
[deCode] :: DORErrors -> Text
[deMessage] :: DORErrors -> Text
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.DeleteObjects.DeleteObjectsResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.DeleteObjects.DeleteObjects Aws.S3.Commands.DeleteObjects.DeleteObjectsResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObjects.DORDeleted
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObjects.DORErrors
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObjects.DeleteObjects
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObjects.DeleteObjectsResponse
instance Aws.Core.SignQuery Aws.S3.Commands.DeleteObjects.DeleteObjects
instance Aws.Core.Transaction Aws.S3.Commands.DeleteObjects.DeleteObjects Aws.S3.Commands.DeleteObjects.DeleteObjectsResponse

module Aws.S3.Commands.DeleteObjectVersion
data DeleteObjectVersion
DeleteObjectVersion :: Text -> Bucket -> Text -> DeleteObjectVersion
[dovObjectName] :: DeleteObjectVersion -> Text
[dovBucket] :: DeleteObjectVersion -> Bucket
[dovVersionId] :: DeleteObjectVersion -> Text
deleteObjectVersion :: Bucket -> Text -> Text -> DeleteObjectVersion
data DeleteObjectVersionResponse
DeleteObjectVersionResponse :: DeleteObjectVersionResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersionResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersion Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersionResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersion
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersionResponse
instance Aws.Core.SignQuery Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersion
instance Aws.Core.Transaction Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersion Aws.S3.Commands.DeleteObjectVersion.DeleteObjectVersionResponse

module Aws.S3.Commands.DeleteObject
data DeleteObject
DeleteObject :: Text -> Bucket -> DeleteObject
[doObjectName] :: DeleteObject -> Text
[doBucket] :: DeleteObject -> Bucket
data DeleteObjectResponse
DeleteObjectResponse :: DeleteObjectResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.DeleteObject.DeleteObjectResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.DeleteObject.DeleteObject Aws.S3.Commands.DeleteObject.DeleteObjectResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObject.DeleteObject
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteObject.DeleteObjectResponse
instance Aws.Core.SignQuery Aws.S3.Commands.DeleteObject.DeleteObject
instance Aws.Core.Transaction Aws.S3.Commands.DeleteObject.DeleteObject Aws.S3.Commands.DeleteObject.DeleteObjectResponse

module Aws.S3.Commands.DeleteBucket
data DeleteBucket
DeleteBucket :: Bucket -> DeleteBucket
[dbBucket] :: DeleteBucket -> Bucket
data DeleteBucketResponse
DeleteBucketResponse :: DeleteBucketResponse
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.DeleteBucket.DeleteBucketResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.DeleteBucket.DeleteBucket Aws.S3.Commands.DeleteBucket.DeleteBucketResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteBucket.DeleteBucket
instance GHC.Internal.Show.Show Aws.S3.Commands.DeleteBucket.DeleteBucketResponse
instance Aws.Core.SignQuery Aws.S3.Commands.DeleteBucket.DeleteBucket
instance Aws.Core.Transaction Aws.S3.Commands.DeleteBucket.DeleteBucket Aws.S3.Commands.DeleteBucket.DeleteBucketResponse

module Aws.S3.Commands.CopyObject
data CopyMetadataDirective
CopyMetadata :: CopyMetadataDirective
ReplaceMetadata :: [(Text, Text)] -> CopyMetadataDirective
data CopyObject
CopyObject :: Text -> Bucket -> ObjectId -> CopyMetadataDirective -> Maybe Text -> Maybe Text -> Maybe UTCTime -> Maybe UTCTime -> Maybe StorageClass -> Maybe CannedAcl -> Maybe ByteString -> CopyObject
[coObjectName] :: CopyObject -> Text
[coBucket] :: CopyObject -> Bucket
[coSource] :: CopyObject -> ObjectId
[coMetadataDirective] :: CopyObject -> CopyMetadataDirective
[coIfMatch] :: CopyObject -> Maybe Text
[coIfNoneMatch] :: CopyObject -> Maybe Text
[coIfUnmodifiedSince] :: CopyObject -> Maybe UTCTime
[coIfModifiedSince] :: CopyObject -> Maybe UTCTime
[coStorageClass] :: CopyObject -> Maybe StorageClass
[coAcl] :: CopyObject -> Maybe CannedAcl
[coContentType] :: CopyObject -> Maybe ByteString
copyObject :: Bucket -> Text -> ObjectId -> CopyMetadataDirective -> CopyObject
data CopyObjectResponse
CopyObjectResponse :: Maybe Text -> UTCTime -> Text -> CopyObjectResponse
[corVersionId] :: CopyObjectResponse -> Maybe Text
[corLastModified] :: CopyObjectResponse -> UTCTime
[corETag] :: CopyObjectResponse -> Text
instance Aws.Core.AsMemoryResponse Aws.S3.Commands.CopyObject.CopyObjectResponse
instance Aws.Core.ResponseConsumer Aws.S3.Commands.CopyObject.CopyObject Aws.S3.Commands.CopyObject.CopyObjectResponse
instance GHC.Internal.Show.Show Aws.S3.Commands.CopyObject.CopyMetadataDirective
instance GHC.Internal.Show.Show Aws.S3.Commands.CopyObject.CopyObject
instance GHC.Internal.Show.Show Aws.S3.Commands.CopyObject.CopyObjectResponse
instance Aws.Core.SignQuery Aws.S3.Commands.CopyObject.CopyObject
instance Aws.Core.Transaction Aws.S3.Commands.CopyObject.CopyObject Aws.S3.Commands.CopyObject.CopyObjectResponse

module Aws.S3.Commands

module Aws.S3

module Aws.Ses.Core
data SesError
SesError :: Status -> Text -> Text -> SesError
[sesStatusCode] :: SesError -> Status
[sesErrorCode] :: SesError -> Text
[sesErrorMessage] :: SesError -> Text
data SesMetadata
SesMetadata :: Maybe Text -> SesMetadata
[requestId] :: SesMetadata -> Maybe Text
data SesConfiguration qt
SesConfiguration :: Method -> ByteString -> SesConfiguration qt
[sesiHttpMethod] :: SesConfiguration qt -> Method
[sesiHost] :: SesConfiguration qt -> ByteString
sesEuWest1 :: ByteString
sesUsEast :: ByteString
sesUsEast1 :: ByteString
sesUsWest2 :: ByteString
sesHttpsGet :: ByteString -> SesConfiguration qt
sesHttpsPost :: ByteString -> SesConfiguration NormalQuery
sesSignQuery :: [(ByteString, ByteString)] -> SesConfiguration qt -> SignatureData -> SignedQuery
sesResponseConsumer :: (Cursor -> Response SesMetadata a) -> IORef SesMetadata -> HTTPResponseConsumer a

-- | A raw e-mail.
data RawMessage
RawMessage :: ByteString -> RawMessage
[rawMessageData] :: RawMessage -> ByteString

-- | The destinations of an e-mail.
data Destination
Destination :: [EmailAddress] -> [EmailAddress] -> [EmailAddress] -> Destination
[destinationBccAddresses] :: Destination -> [EmailAddress]
[destinationCcAddresses] :: Destination -> [EmailAddress]
[destinationToAddresses] :: Destination -> [EmailAddress]

-- | An e-mail address.
type EmailAddress = Text

-- | The sender's e-mail address.
data Sender
Sender :: EmailAddress -> Sender
[senderAddress] :: Sender -> EmailAddress

-- | Write a data type as a list of query parameters.
sesAsQuery :: SesAsQuery a => a -> [(ByteString, ByteString)]
instance Aws.Core.DefaultServiceConfiguration (Aws.Ses.Core.SesConfiguration Aws.Core.NormalQuery)
instance Aws.Core.DefaultServiceConfiguration (Aws.Ses.Core.SesConfiguration Aws.Core.UriOnlyQuery)
instance GHC.Classes.Eq Aws.Ses.Core.Destination
instance GHC.Classes.Eq Aws.Ses.Core.RawMessage
instance GHC.Classes.Eq Aws.Ses.Core.Sender
instance GHC.Internal.Exception.Type.Exception Aws.Ses.Core.SesError
instance Aws.Core.Loggable Aws.Ses.Core.SesMetadata
instance GHC.Internal.Base.Monoid Aws.Ses.Core.Destination
instance GHC.Internal.Base.Monoid Aws.Ses.Core.SesMetadata
instance GHC.Classes.Ord Aws.Ses.Core.Destination
instance GHC.Classes.Ord Aws.Ses.Core.RawMessage
instance GHC.Classes.Ord Aws.Ses.Core.Sender
instance GHC.Internal.Base.Semigroup Aws.Ses.Core.Destination
instance GHC.Internal.Base.Semigroup Aws.Ses.Core.SesMetadata
instance Aws.Ses.Core.SesAsQuery Aws.Ses.Core.Destination
instance Aws.Ses.Core.SesAsQuery a => Aws.Ses.Core.SesAsQuery (GHC.Internal.Maybe.Maybe a)
instance Aws.Ses.Core.SesAsQuery Aws.Ses.Core.RawMessage
instance Aws.Ses.Core.SesAsQuery Aws.Ses.Core.Sender
instance GHC.Internal.Show.Show Aws.Ses.Core.Destination
instance GHC.Internal.Show.Show Aws.Ses.Core.RawMessage
instance GHC.Internal.Show.Show Aws.Ses.Core.Sender
instance GHC.Internal.Show.Show (Aws.Ses.Core.SesConfiguration qt)
instance GHC.Internal.Show.Show Aws.Ses.Core.SesError
instance GHC.Internal.Show.Show Aws.Ses.Core.SesMetadata

module Aws.Ses.Commands.VerifyEmailIdentity

-- | List email addresses and/or domains
data VerifyEmailIdentity
VerifyEmailIdentity :: Text -> VerifyEmailIdentity

-- | The response sent back by Amazon SES after a
--   VerifyEmailIdentity command.
data VerifyEmailIdentityResponse
VerifyEmailIdentityResponse :: VerifyEmailIdentityResponse
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentityResponse
instance GHC.Classes.Eq Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentity
instance GHC.Classes.Eq Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentityResponse
instance GHC.Classes.Ord Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentity
instance GHC.Classes.Ord Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentityResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentity Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentityResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentity
instance GHC.Internal.Show.Show Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentityResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentity
instance Aws.Core.Transaction Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentity Aws.Ses.Commands.VerifyEmailIdentity.VerifyEmailIdentityResponse

module Aws.Ses.Commands.VerifyDomainIdentity

-- | Verify ownership of a domain.
data VerifyDomainIdentity
VerifyDomainIdentity :: Text -> VerifyDomainIdentity

-- | The response sent back by Amazon SES after a
--   VerifyDomainIdentity command.
data VerifyDomainIdentityResponse
VerifyDomainIdentityResponse :: Text -> VerifyDomainIdentityResponse
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentityResponse
instance GHC.Classes.Eq Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentity
instance GHC.Classes.Eq Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentityResponse
instance GHC.Classes.Ord Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentity
instance GHC.Classes.Ord Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentityResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentity Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentityResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentity
instance GHC.Internal.Show.Show Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentityResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentity
instance Aws.Core.Transaction Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentity Aws.Ses.Commands.VerifyDomainIdentity.VerifyDomainIdentityResponse

module Aws.Ses.Commands.VerifyDomainDkim

-- | Verify ownership of a domain.
data VerifyDomainDkim
VerifyDomainDkim :: Text -> VerifyDomainDkim

-- | The response sent back by Amazon SES after a VerifyDomainDkim
--   command.
data VerifyDomainDkimResponse
VerifyDomainDkimResponse :: [Text] -> VerifyDomainDkimResponse
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkimResponse
instance GHC.Classes.Eq Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkim
instance GHC.Classes.Eq Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkimResponse
instance GHC.Classes.Ord Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkim
instance GHC.Classes.Ord Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkimResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkim Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkimResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkim
instance GHC.Internal.Show.Show Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkimResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkim
instance Aws.Core.Transaction Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkim Aws.Ses.Commands.VerifyDomainDkim.VerifyDomainDkimResponse

module Aws.Ses.Commands.SetIdentityNotificationTopic

-- | Change or remove the Amazon SNS notification topic to which
--   notification of the given type are published.
data SetIdentityNotificationTopic
SetIdentityNotificationTopic :: Text -> NotificationType -> Maybe Text -> SetIdentityNotificationTopic

-- | The identity for which the SNS topic will be changed.
[sntIdentity] :: SetIdentityNotificationTopic -> Text

-- | The type of notifications that will be published to the topic.
[sntNotificationType] :: SetIdentityNotificationTopic -> NotificationType

-- | Just the ARN of the SNS topic or Nothing to unset
--   the topic.
[sntSnsTopic] :: SetIdentityNotificationTopic -> Maybe Text

-- | The response sent back by SES after the
--   SetIdentityNotificationTopic command.
data SetIdentityNotificationTopicResponse
SetIdentityNotificationTopicResponse :: SetIdentityNotificationTopicResponse
data NotificationType
Bounce :: NotificationType
Complaint :: NotificationType
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopicResponse
instance GHC.Classes.Eq Aws.Ses.Commands.SetIdentityNotificationTopic.NotificationType
instance GHC.Classes.Eq Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopic
instance GHC.Classes.Eq Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopicResponse
instance GHC.Classes.Ord Aws.Ses.Commands.SetIdentityNotificationTopic.NotificationType
instance GHC.Classes.Ord Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopic
instance GHC.Classes.Ord Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopicResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopic Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopicResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.SetIdentityNotificationTopic.NotificationType
instance GHC.Internal.Show.Show Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopic
instance GHC.Internal.Show.Show Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopicResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopic
instance Aws.Core.Transaction Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopic Aws.Ses.Commands.SetIdentityNotificationTopic.SetIdentityNotificationTopicResponse

module Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled

-- | Change whether bounces and complaints for the given identity will be
--   forwarded as email.
data SetIdentityFeedbackForwardingEnabled
SetIdentityFeedbackForwardingEnabled :: Bool -> Text -> SetIdentityFeedbackForwardingEnabled
[sffForwardingEnabled] :: SetIdentityFeedbackForwardingEnabled -> Bool
[sffIdentity] :: SetIdentityFeedbackForwardingEnabled -> Text

-- | The response sent back by SES after the
--   SetIdentityFeedbackForwardingEnabled command.
data SetIdentityFeedbackForwardingEnabledResponse
SetIdentityFeedbackForwardingEnabledResponse :: SetIdentityFeedbackForwardingEnabledResponse
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabledResponse
instance GHC.Classes.Eq Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabled
instance GHC.Classes.Eq Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabledResponse
instance GHC.Classes.Ord Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabled
instance GHC.Classes.Ord Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabledResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabled Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabledResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabled
instance GHC.Internal.Show.Show Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabledResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabled
instance Aws.Core.Transaction Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabled Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled.SetIdentityFeedbackForwardingEnabledResponse

module Aws.Ses.Commands.SetIdentityDkimEnabled

-- | Change whether bounces and complaints for the given identity will be
--   DKIM signed.
data SetIdentityDkimEnabled
SetIdentityDkimEnabled :: Bool -> Text -> SetIdentityDkimEnabled
[sdDkimEnabled] :: SetIdentityDkimEnabled -> Bool
[sdIdentity] :: SetIdentityDkimEnabled -> Text

-- | The response sent back by SES after the SetIdentityDkimEnabled
--   command.
data SetIdentityDkimEnabledResponse
SetIdentityDkimEnabledResponse :: SetIdentityDkimEnabledResponse
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabledResponse
instance GHC.Classes.Eq Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabled
instance GHC.Classes.Eq Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabledResponse
instance GHC.Classes.Ord Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabled
instance GHC.Classes.Ord Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabledResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabled Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabledResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabled
instance GHC.Internal.Show.Show Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabledResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabled
instance Aws.Core.Transaction Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabled Aws.Ses.Commands.SetIdentityDkimEnabled.SetIdentityDkimEnabledResponse

module Aws.Ses.Commands.SendRawEmail

-- | Send a raw e-mail message.
data SendRawEmail
SendRawEmail :: [EmailAddress] -> RawMessage -> Maybe Sender -> SendRawEmail
[srmDestinations] :: SendRawEmail -> [EmailAddress]
[srmRawMessage] :: SendRawEmail -> RawMessage
[srmSource] :: SendRawEmail -> Maybe Sender

-- | The response sent back by Amazon SES after a SendRawEmail
--   command.
data SendRawEmailResponse
SendRawEmailResponse :: Text -> SendRawEmailResponse
[srmrMessageId] :: SendRawEmailResponse -> Text
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.SendRawEmail.SendRawEmailResponse
instance GHC.Classes.Eq Aws.Ses.Commands.SendRawEmail.SendRawEmail
instance GHC.Classes.Eq Aws.Ses.Commands.SendRawEmail.SendRawEmailResponse
instance GHC.Classes.Ord Aws.Ses.Commands.SendRawEmail.SendRawEmail
instance GHC.Classes.Ord Aws.Ses.Commands.SendRawEmail.SendRawEmailResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.SendRawEmail.SendRawEmail Aws.Ses.Commands.SendRawEmail.SendRawEmailResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.SendRawEmail.SendRawEmail
instance GHC.Internal.Show.Show Aws.Ses.Commands.SendRawEmail.SendRawEmailResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.SendRawEmail.SendRawEmail
instance Aws.Core.Transaction Aws.Ses.Commands.SendRawEmail.SendRawEmail Aws.Ses.Commands.SendRawEmail.SendRawEmailResponse

module Aws.Ses.Commands.ListIdentities

-- | List email addresses and/or domains
data ListIdentities
ListIdentities :: Maybe IdentityType -> Maybe Int -> Maybe Text -> ListIdentities
[liIdentityType] :: ListIdentities -> Maybe IdentityType
[liMaxItems] :: ListIdentities -> Maybe Int
[liNextToken] :: ListIdentities -> Maybe Text

-- | The response sent back by Amazon SES after a ListIdentities
--   command.
data ListIdentitiesResponse
ListIdentitiesResponse :: [Text] -> ListIdentitiesResponse
data IdentityType
EmailAddress :: IdentityType
Domain :: IdentityType
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.ListIdentities.ListIdentitiesResponse
instance GHC.Classes.Eq Aws.Ses.Commands.ListIdentities.IdentityType
instance GHC.Classes.Eq Aws.Ses.Commands.ListIdentities.ListIdentities
instance GHC.Classes.Eq Aws.Ses.Commands.ListIdentities.ListIdentitiesResponse
instance GHC.Classes.Ord Aws.Ses.Commands.ListIdentities.IdentityType
instance GHC.Classes.Ord Aws.Ses.Commands.ListIdentities.ListIdentities
instance GHC.Classes.Ord Aws.Ses.Commands.ListIdentities.ListIdentitiesResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.ListIdentities.ListIdentities Aws.Ses.Commands.ListIdentities.ListIdentitiesResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.ListIdentities.IdentityType
instance GHC.Internal.Show.Show Aws.Ses.Commands.ListIdentities.ListIdentities
instance GHC.Internal.Show.Show Aws.Ses.Commands.ListIdentities.ListIdentitiesResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.ListIdentities.ListIdentities
instance Aws.Core.Transaction Aws.Ses.Commands.ListIdentities.ListIdentities Aws.Ses.Commands.ListIdentities.ListIdentitiesResponse

module Aws.Ses.Commands.GetIdentityVerificationAttributes

-- | Get verification status for a list of email addresses and/or domains
data GetIdentityVerificationAttributes
GetIdentityVerificationAttributes :: [Text] -> GetIdentityVerificationAttributes

-- | The response sent back by Amazon SES after a
--   GetIdentityVerificationAttributes command.
data GetIdentityVerificationAttributesResponse
GetIdentityVerificationAttributesResponse :: [IdentityVerificationAttributes] -> GetIdentityVerificationAttributesResponse
data IdentityVerificationAttributes
IdentityVerificationAttributes :: Text -> Text -> Maybe Text -> IdentityVerificationAttributes
[ivIdentity] :: IdentityVerificationAttributes -> Text
[ivVerificationStatus] :: IdentityVerificationAttributes -> Text
[ivVerificationToken] :: IdentityVerificationAttributes -> Maybe Text
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributesResponse
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributes
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributesResponse
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityVerificationAttributes.IdentityVerificationAttributes
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributes
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributesResponse
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityVerificationAttributes.IdentityVerificationAttributes
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributes Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributesResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributes
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributesResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityVerificationAttributes.IdentityVerificationAttributes
instance Aws.Core.SignQuery Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributes
instance Aws.Core.Transaction Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributes Aws.Ses.Commands.GetIdentityVerificationAttributes.GetIdentityVerificationAttributesResponse

module Aws.Ses.Commands.GetIdentityNotificationAttributes

-- | Get notification settings for the given identities.
data GetIdentityNotificationAttributes
GetIdentityNotificationAttributes :: [Text] -> GetIdentityNotificationAttributes

-- | The response sent back by Amazon SES after a
--   GetIdentityNotificationAttributes command.
data GetIdentityNotificationAttributesResponse
GetIdentityNotificationAttributesResponse :: [IdentityNotificationAttributes] -> GetIdentityNotificationAttributesResponse
data IdentityNotificationAttributes
IdentityNotificationAttributes :: Text -> Maybe Text -> Maybe Text -> Bool -> IdentityNotificationAttributes
[inIdentity] :: IdentityNotificationAttributes -> Text
[inBounceTopic] :: IdentityNotificationAttributes -> Maybe Text
[inComplaintTopic] :: IdentityNotificationAttributes -> Maybe Text
[inForwardingEnabled] :: IdentityNotificationAttributes -> Bool
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributesResponse
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributes
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributesResponse
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityNotificationAttributes.IdentityNotificationAttributes
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributes
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributesResponse
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityNotificationAttributes.IdentityNotificationAttributes
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributes Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributesResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributes
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributesResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityNotificationAttributes.IdentityNotificationAttributes
instance Aws.Core.SignQuery Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributes
instance Aws.Core.Transaction Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributes Aws.Ses.Commands.GetIdentityNotificationAttributes.GetIdentityNotificationAttributesResponse

module Aws.Ses.Commands.GetIdentityDkimAttributes

-- | Get notification settings for the given identities.
data GetIdentityDkimAttributes
GetIdentityDkimAttributes :: [Text] -> GetIdentityDkimAttributes

-- | The response sent back by Amazon SES after a
--   GetIdentityDkimAttributes command.
data GetIdentityDkimAttributesResponse
GetIdentityDkimAttributesResponse :: [IdentityDkimAttributes] -> GetIdentityDkimAttributesResponse
data IdentityDkimAttributes
IdentityDkimAttributes :: Text -> Bool -> [Text] -> Text -> IdentityDkimAttributes
[idIdentity] :: IdentityDkimAttributes -> Text
[idDkimEnabled] :: IdentityDkimAttributes -> Bool
[idDkimTokens] :: IdentityDkimAttributes -> [Text]
[idDkimVerirficationStatus] :: IdentityDkimAttributes -> Text
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributesResponse
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributes
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributesResponse
instance GHC.Classes.Eq Aws.Ses.Commands.GetIdentityDkimAttributes.IdentityDkimAttributes
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributes
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributesResponse
instance GHC.Classes.Ord Aws.Ses.Commands.GetIdentityDkimAttributes.IdentityDkimAttributes
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributes Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributesResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributes
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributesResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.GetIdentityDkimAttributes.IdentityDkimAttributes
instance Aws.Core.SignQuery Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributes
instance Aws.Core.Transaction Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributes Aws.Ses.Commands.GetIdentityDkimAttributes.GetIdentityDkimAttributesResponse

module Aws.Ses.Commands.DeleteIdentity

-- | Delete an email address or domain
data DeleteIdentity
DeleteIdentity :: Text -> DeleteIdentity

-- | The response sent back by Amazon SES after a DeleteIdentity
--   command.
data DeleteIdentityResponse
DeleteIdentityResponse :: DeleteIdentityResponse
instance Aws.Core.AsMemoryResponse Aws.Ses.Commands.DeleteIdentity.DeleteIdentityResponse
instance GHC.Classes.Eq Aws.Ses.Commands.DeleteIdentity.DeleteIdentity
instance GHC.Classes.Eq Aws.Ses.Commands.DeleteIdentity.DeleteIdentityResponse
instance GHC.Classes.Ord Aws.Ses.Commands.DeleteIdentity.DeleteIdentity
instance GHC.Classes.Ord Aws.Ses.Commands.DeleteIdentity.DeleteIdentityResponse
instance Aws.Core.ResponseConsumer Aws.Ses.Commands.DeleteIdentity.DeleteIdentity Aws.Ses.Commands.DeleteIdentity.DeleteIdentityResponse
instance GHC.Internal.Show.Show Aws.Ses.Commands.DeleteIdentity.DeleteIdentity
instance GHC.Internal.Show.Show Aws.Ses.Commands.DeleteIdentity.DeleteIdentityResponse
instance Aws.Core.SignQuery Aws.Ses.Commands.DeleteIdentity.DeleteIdentity
instance Aws.Core.Transaction Aws.Ses.Commands.DeleteIdentity.DeleteIdentity Aws.Ses.Commands.DeleteIdentity.DeleteIdentityResponse

module Aws.Ses.Commands

module Aws.Ses

module Aws.SimpleDb.Core
type ErrorCode = String
data SdbError
SdbError :: Status -> ErrorCode -> String -> SdbError
[sdbStatusCode] :: SdbError -> Status
[sdbErrorCode] :: SdbError -> ErrorCode
[sdbErrorMessage] :: SdbError -> String
data SdbMetadata
SdbMetadata :: Maybe Text -> Maybe Text -> SdbMetadata
[requestId] :: SdbMetadata -> Maybe Text
[boxUsage] :: SdbMetadata -> Maybe Text
data SdbConfiguration qt
SdbConfiguration :: Protocol -> Method -> ByteString -> Int -> SdbConfiguration qt
[sdbiProtocol] :: SdbConfiguration qt -> Protocol
[sdbiHttpMethod] :: SdbConfiguration qt -> Method
[sdbiHost] :: SdbConfiguration qt -> ByteString
[sdbiPort] :: SdbConfiguration qt -> Int
sdbUsEast :: ByteString
sdbUsWest :: ByteString
sdbEuWest :: ByteString
sdbApSoutheast :: ByteString
sdbApNortheast :: ByteString
sdbHttpGet :: ByteString -> SdbConfiguration qt
sdbHttpPost :: ByteString -> SdbConfiguration NormalQuery
sdbHttpsGet :: ByteString -> SdbConfiguration qt
sdbHttpsPost :: ByteString -> SdbConfiguration NormalQuery
sdbSignQuery :: [(ByteString, ByteString)] -> SdbConfiguration qt -> SignatureData -> SignedQuery
sdbResponseConsumer :: (Cursor -> Response SdbMetadata a) -> IORef SdbMetadata -> HTTPResponseConsumer a
class SdbFromResponse a
sdbFromResponse :: SdbFromResponse a => Cursor -> Response SdbMetadata a
sdbCheckResponseType :: MonadThrow m => a -> Text -> Cursor -> m a
decodeBase64 :: MonadThrow m => Cursor -> m Text
data Attribute a
ForAttribute :: Text -> a -> Attribute a
[attributeName] :: Attribute a -> Text
[attributeData] :: Attribute a -> a
readAttribute :: MonadThrow m => Cursor -> m (Attribute Text)
data SetAttribute
SetAttribute :: Text -> Bool -> SetAttribute
[setAttribute] :: SetAttribute -> Text
[isReplaceAttribute] :: SetAttribute -> Bool
attributeQuery :: (a -> [(ByteString, ByteString)]) -> Attribute a -> [(ByteString, ByteString)]
addAttribute :: Text -> Text -> Attribute SetAttribute
replaceAttribute :: Text -> Text -> Attribute SetAttribute
setAttributeQuery :: SetAttribute -> [(ByteString, ByteString)]
data DeleteAttribute
DeleteAttribute :: DeleteAttribute
ValuedDeleteAttribute :: Text -> DeleteAttribute
[deleteAttributeValue] :: DeleteAttribute -> Text
deleteAttributeQuery :: DeleteAttribute -> [(ByteString, ByteString)]
data ExpectedAttribute
ExpectedValue :: Text -> ExpectedAttribute
[expectedAttributeValue] :: ExpectedAttribute -> Text
ExpectedExists :: Bool -> ExpectedAttribute
[expectedAttributeExists] :: ExpectedAttribute -> Bool
expectedValue :: Text -> Text -> Attribute ExpectedAttribute
expectedExists :: Text -> Bool -> Attribute ExpectedAttribute
expectedAttributeQuery :: ExpectedAttribute -> [(ByteString, ByteString)]
data Item a
Item :: Text -> a -> Item a
[itemName] :: Item a -> Text
[itemData] :: Item a -> a
readItem :: MonadThrow m => Cursor -> m (Item [Attribute Text])
itemQuery :: (a -> [(ByteString, ByteString)]) -> Item a -> [(ByteString, ByteString)]
instance Aws.Core.DefaultServiceConfiguration (Aws.SimpleDb.Core.SdbConfiguration Aws.Core.NormalQuery)
instance Aws.Core.DefaultServiceConfiguration (Aws.SimpleDb.Core.SdbConfiguration Aws.Core.UriOnlyQuery)
instance GHC.Internal.Exception.Type.Exception Aws.SimpleDb.Core.SdbError
instance Aws.Core.Loggable Aws.SimpleDb.Core.SdbMetadata
instance GHC.Internal.Base.Monoid Aws.SimpleDb.Core.SdbMetadata
instance GHC.Internal.Base.Semigroup Aws.SimpleDb.Core.SdbMetadata
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Aws.SimpleDb.Core.Attribute a)
instance GHC.Internal.Show.Show Aws.SimpleDb.Core.DeleteAttribute
instance GHC.Internal.Show.Show Aws.SimpleDb.Core.ExpectedAttribute
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Aws.SimpleDb.Core.Item a)
instance GHC.Internal.Show.Show (Aws.SimpleDb.Core.SdbConfiguration qt)
instance GHC.Internal.Show.Show Aws.SimpleDb.Core.SdbError
instance GHC.Internal.Show.Show Aws.SimpleDb.Core.SdbMetadata
instance GHC.Internal.Show.Show Aws.SimpleDb.Core.SetAttribute

module Aws.SimpleDb.Commands.Select
data Select
Select :: Text -> Bool -> Maybe Text -> Select
[sSelectExpression] :: Select -> Text
[sConsistentRead] :: Select -> Bool
[sNextToken] :: Select -> Maybe Text
data SelectResponse
SelectResponse :: [Item [Attribute Text]] -> Maybe Text -> SelectResponse
[srItems] :: SelectResponse -> [Item [Attribute Text]]
[srNextToken] :: SelectResponse -> Maybe Text
select :: Text -> Select
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Select.SelectResponse
instance Aws.Core.IteratedTransaction Aws.SimpleDb.Commands.Select.Select Aws.SimpleDb.Commands.Select.SelectResponse
instance Aws.Core.ListResponse Aws.SimpleDb.Commands.Select.SelectResponse (Aws.SimpleDb.Core.Item [Aws.SimpleDb.Core.Attribute Data.Text.Internal.Text])
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Select.SelectResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Select.Select
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Select.SelectResponse
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Select.Select
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Select.Select Aws.SimpleDb.Commands.Select.SelectResponse

module Aws.SimpleDb.Commands.Domain
data CreateDomain
CreateDomain :: Text -> CreateDomain
[cdDomainName] :: CreateDomain -> Text
data CreateDomainResponse
CreateDomainResponse :: CreateDomainResponse
createDomain :: Text -> CreateDomain
data DeleteDomain
DeleteDomain :: Text -> DeleteDomain
[ddDomainName] :: DeleteDomain -> Text
data DeleteDomainResponse
DeleteDomainResponse :: DeleteDomainResponse
deleteDomain :: Text -> DeleteDomain
data DomainMetadata
DomainMetadata :: Text -> DomainMetadata
[dmDomainName] :: DomainMetadata -> Text
data DomainMetadataResponse
DomainMetadataResponse :: UTCTime -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> DomainMetadataResponse
[dmrTimestamp] :: DomainMetadataResponse -> UTCTime
[dmrItemCount] :: DomainMetadataResponse -> Integer
[dmrAttributeValueCount] :: DomainMetadataResponse -> Integer
[dmrAttributeNameCount] :: DomainMetadataResponse -> Integer
[dmrItemNamesSizeBytes] :: DomainMetadataResponse -> Integer
[dmrAttributeValuesSizeBytes] :: DomainMetadataResponse -> Integer
[dmrAttributeNamesSizeBytes] :: DomainMetadataResponse -> Integer
domainMetadata :: Text -> DomainMetadata
data ListDomains
ListDomains :: Maybe Int -> Maybe Text -> ListDomains
[ldMaxNumberOfDomains] :: ListDomains -> Maybe Int
[ldNextToken] :: ListDomains -> Maybe Text
data ListDomainsResponse
ListDomainsResponse :: [Text] -> Maybe Text -> ListDomainsResponse
[ldrDomainNames] :: ListDomainsResponse -> [Text]
[ldrNextToken] :: ListDomainsResponse -> Maybe Text
listDomains :: ListDomains
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Domain.CreateDomainResponse
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Domain.DeleteDomainResponse
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Domain.DomainMetadataResponse
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Domain.ListDomainsResponse
instance Aws.Core.IteratedTransaction Aws.SimpleDb.Commands.Domain.ListDomains Aws.SimpleDb.Commands.Domain.ListDomainsResponse
instance Aws.Core.ListResponse Aws.SimpleDb.Commands.Domain.ListDomainsResponse Data.Text.Internal.Text
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Domain.CreateDomainResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Domain.DeleteDomainResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Domain.DomainMetadataResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Domain.ListDomainsResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.CreateDomain
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.CreateDomainResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.DeleteDomain
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.DeleteDomainResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.DomainMetadata
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.DomainMetadataResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.ListDomains
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Domain.ListDomainsResponse
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Domain.CreateDomain
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Domain.DeleteDomain
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Domain.DomainMetadata
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Domain.ListDomains
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Domain.CreateDomain Aws.SimpleDb.Commands.Domain.CreateDomainResponse
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Domain.DeleteDomain Aws.SimpleDb.Commands.Domain.DeleteDomainResponse
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Domain.DomainMetadata Aws.SimpleDb.Commands.Domain.DomainMetadataResponse
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Domain.ListDomains Aws.SimpleDb.Commands.Domain.ListDomainsResponse

module Aws.SimpleDb.Commands.Attributes
data GetAttributes
GetAttributes :: Text -> Maybe Text -> Bool -> Text -> GetAttributes
[gaItemName] :: GetAttributes -> Text
[gaAttributeName] :: GetAttributes -> Maybe Text
[gaConsistentRead] :: GetAttributes -> Bool
[gaDomainName] :: GetAttributes -> Text
data GetAttributesResponse
GetAttributesResponse :: [Attribute Text] -> GetAttributesResponse
[garAttributes] :: GetAttributesResponse -> [Attribute Text]
getAttributes :: Text -> Text -> GetAttributes
data PutAttributes
PutAttributes :: Text -> [Attribute SetAttribute] -> [Attribute ExpectedAttribute] -> Text -> PutAttributes
[paItemName] :: PutAttributes -> Text
[paAttributes] :: PutAttributes -> [Attribute SetAttribute]
[paExpected] :: PutAttributes -> [Attribute ExpectedAttribute]
[paDomainName] :: PutAttributes -> Text
data PutAttributesResponse
PutAttributesResponse :: PutAttributesResponse
putAttributes :: Text -> [Attribute SetAttribute] -> Text -> PutAttributes
data DeleteAttributes
DeleteAttributes :: Text -> [Attribute DeleteAttribute] -> [Attribute ExpectedAttribute] -> Text -> DeleteAttributes
[daItemName] :: DeleteAttributes -> Text
[daAttributes] :: DeleteAttributes -> [Attribute DeleteAttribute]
[daExpected] :: DeleteAttributes -> [Attribute ExpectedAttribute]
[daDomainName] :: DeleteAttributes -> Text
data DeleteAttributesResponse
DeleteAttributesResponse :: DeleteAttributesResponse
deleteAttributes :: Text -> [Attribute DeleteAttribute] -> Text -> DeleteAttributes
data BatchPutAttributes
BatchPutAttributes :: [Item [Attribute SetAttribute]] -> Text -> BatchPutAttributes
[bpaItems] :: BatchPutAttributes -> [Item [Attribute SetAttribute]]
[bpaDomainName] :: BatchPutAttributes -> Text
data BatchPutAttributesResponse
BatchPutAttributesResponse :: BatchPutAttributesResponse
batchPutAttributes :: [Item [Attribute SetAttribute]] -> Text -> BatchPutAttributes
data BatchDeleteAttributes
BatchDeleteAttributes :: [Item [Attribute DeleteAttribute]] -> Text -> BatchDeleteAttributes
[bdaItems] :: BatchDeleteAttributes -> [Item [Attribute DeleteAttribute]]
[bdaDomainName] :: BatchDeleteAttributes -> Text
data BatchDeleteAttributesResponse
BatchDeleteAttributesResponse :: BatchDeleteAttributesResponse
batchDeleteAttributes :: [Item [Attribute DeleteAttribute]] -> Text -> BatchDeleteAttributes
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Attributes.BatchDeleteAttributesResponse
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Attributes.BatchPutAttributesResponse
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Attributes.DeleteAttributesResponse
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Attributes.GetAttributesResponse
instance Aws.Core.AsMemoryResponse Aws.SimpleDb.Commands.Attributes.PutAttributesResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Attributes.BatchDeleteAttributesResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Attributes.BatchPutAttributesResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Attributes.DeleteAttributesResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Attributes.GetAttributesResponse
instance Aws.Core.ResponseConsumer r Aws.SimpleDb.Commands.Attributes.PutAttributesResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.BatchDeleteAttributes
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.BatchDeleteAttributesResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.BatchPutAttributes
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.BatchPutAttributesResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.DeleteAttributes
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.DeleteAttributesResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.GetAttributes
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.GetAttributesResponse
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.PutAttributes
instance GHC.Internal.Show.Show Aws.SimpleDb.Commands.Attributes.PutAttributesResponse
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Attributes.BatchDeleteAttributes
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Attributes.BatchPutAttributes
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Attributes.DeleteAttributes
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Attributes.GetAttributes
instance Aws.Core.SignQuery Aws.SimpleDb.Commands.Attributes.PutAttributes
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Attributes.BatchDeleteAttributes Aws.SimpleDb.Commands.Attributes.BatchDeleteAttributesResponse
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Attributes.BatchPutAttributes Aws.SimpleDb.Commands.Attributes.BatchPutAttributesResponse
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Attributes.DeleteAttributes Aws.SimpleDb.Commands.Attributes.DeleteAttributesResponse
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Attributes.GetAttributes Aws.SimpleDb.Commands.Attributes.GetAttributesResponse
instance Aws.Core.Transaction Aws.SimpleDb.Commands.Attributes.PutAttributes Aws.SimpleDb.Commands.Attributes.PutAttributesResponse

module Aws.SimpleDb.Commands

module Aws.SimpleDb

module Aws.Sqs.Core
type ErrorCode = Text
data SqsError
SqsError :: Status -> ErrorCode -> Text -> Text -> Maybe Text -> Maybe SqsMetadata -> SqsError
[sqsStatusCode] :: SqsError -> Status
[sqsErrorCode] :: SqsError -> ErrorCode
[sqsErrorType] :: SqsError -> Text
[sqsErrorMessage] :: SqsError -> Text
[sqsErrorDetail] :: SqsError -> Maybe Text
[sqsErrorMetadata] :: SqsError -> Maybe SqsMetadata
SqsXmlError :: Text -> Maybe SqsMetadata -> SqsError
[sqsXmlErrorMessage] :: SqsError -> Text
[sqsXmlErrorMetadata] :: SqsError -> Maybe SqsMetadata
data SqsMetadata
SqsMetadata :: Maybe Text -> Maybe Text -> SqsMetadata
[sqsMAmzId2] :: SqsMetadata -> Maybe Text
[sqsMRequestId] :: SqsMetadata -> Maybe Text
data SqsAuthorization
SqsAuthorizationHeader :: SqsAuthorization
SqsAuthorizationQuery :: SqsAuthorization
data Endpoint
Endpoint :: ByteString -> LocationConstraint -> [LocationConstraint] -> Endpoint
[endpointHost] :: Endpoint -> ByteString
[endpointDefaultLocationConstraint] :: Endpoint -> LocationConstraint
[endpointAllowedLocationConstraints] :: Endpoint -> [LocationConstraint]
data SqsConfiguration qt
SqsConfiguration :: Protocol -> Endpoint -> Int -> Bool -> NominalDiffTime -> SqsConfiguration qt
[sqsProtocol] :: SqsConfiguration qt -> Protocol
[sqsEndpoint] :: SqsConfiguration qt -> Endpoint
[sqsPort] :: SqsConfiguration qt -> Int
[sqsUseUri] :: SqsConfiguration qt -> Bool
[sqsDefaultExpiry] :: SqsConfiguration qt -> NominalDiffTime
sqsEndpointUsClassic :: Endpoint
sqsEndpointUsWest :: Endpoint
sqsEndpointUsWest2 :: Endpoint
sqsEndpointEu :: Endpoint
sqsEndpointEuWest2 :: Endpoint
sqsEndpointApSouthEast :: Endpoint
sqsEndpointApSouthEast2 :: Endpoint
sqsEndpointApNorthEast :: Endpoint
sqs :: Protocol -> Endpoint -> Bool -> SqsConfiguration qt
data SqsQuery
SqsQuery :: Maybe QueueName -> Query -> SqsQuery
[sqsQueueName] :: SqsQuery -> Maybe QueueName
[sqsQuery] :: SqsQuery -> Query
sqsSignQuery :: SqsQuery -> SqsConfiguration qt -> SignatureData -> SignedQuery
sqsResponseConsumer :: HTTPResponseConsumer a -> IORef SqsMetadata -> HTTPResponseConsumer a
sqsXmlResponseConsumer :: (Cursor -> Response SqsMetadata a) -> IORef SqsMetadata -> HTTPResponseConsumer a
sqsErrorResponseConsumer :: HTTPResponseConsumer a
data QueueName
QueueName :: Text -> Text -> QueueName
[qName] :: QueueName -> Text
[qAccountNumber] :: QueueName -> Text
printQueueName :: QueueName -> Text
data QueueAttribute
QueueAll :: QueueAttribute
ApproximateNumberOfMessages :: QueueAttribute
ApproximateNumberOfMessagesNotVisible :: QueueAttribute
VisibilityTimeout :: QueueAttribute
CreatedTimestamp :: QueueAttribute
LastModifiedTimestamp :: QueueAttribute
Policy :: QueueAttribute
MaximumMessageSize :: QueueAttribute
MessageRetentionPeriod :: QueueAttribute
QueueArn :: QueueAttribute
data MessageAttribute

-- | all values
MessageAll :: MessageAttribute

-- | the AWS account number (or the IP address, if anonymous access is
--   allowed) of the sender
SenderId :: MessageAttribute

-- | the time when the message was sent (epoch time in milliseconds)
SentTimestamp :: MessageAttribute

-- | the number of times a message has been received but not deleted
ApproximateReceiveCount :: MessageAttribute

-- | the time when the message was first received (epoch time in
--   milliseconds)
ApproximateFirstReceiveTimestamp :: MessageAttribute
data SqsPermission
PermissionAll :: SqsPermission
PermissionSendMessage :: SqsPermission
PermissionReceiveMessage :: SqsPermission
PermissionDeleteMessage :: SqsPermission
PermissionChangeMessageVisibility :: SqsPermission
PermissionGetQueueAttributes :: SqsPermission
parseQueueAttribute :: MonadThrow m => Text -> m QueueAttribute
printQueueAttribute :: QueueAttribute -> Text
parseMessageAttribute :: MonadThrow m => Text -> m MessageAttribute
printMessageAttribute :: MessageAttribute -> Text
printPermission :: SqsPermission -> Text
newtype ReceiptHandle
ReceiptHandle :: Text -> ReceiptHandle
newtype MessageId
MessageId :: Text -> MessageId
printReceiptHandle :: ReceiptHandle -> Text
instance GHC.Internal.Enum.Bounded Aws.Sqs.Core.MessageAttribute
instance Aws.Core.DefaultServiceConfiguration (Aws.Sqs.Core.SqsConfiguration Aws.Core.NormalQuery)
instance Aws.Core.DefaultServiceConfiguration (Aws.Sqs.Core.SqsConfiguration Aws.Core.UriOnlyQuery)
instance GHC.Internal.Enum.Enum Aws.Sqs.Core.MessageAttribute
instance GHC.Internal.Enum.Enum Aws.Sqs.Core.QueueAttribute
instance GHC.Internal.Enum.Enum Aws.Sqs.Core.SqsPermission
instance GHC.Classes.Eq Aws.Sqs.Core.MessageAttribute
instance GHC.Classes.Eq Aws.Sqs.Core.MessageId
instance GHC.Classes.Eq Aws.Sqs.Core.QueueAttribute
instance GHC.Classes.Eq Aws.Sqs.Core.QueueName
instance GHC.Classes.Eq Aws.Sqs.Core.ReceiptHandle
instance GHC.Classes.Eq Aws.Sqs.Core.SqsPermission
instance GHC.Internal.Exception.Type.Exception Aws.Sqs.Core.SqsError
instance Aws.Core.Loggable Aws.Sqs.Core.SqsMetadata
instance GHC.Internal.Base.Monoid Aws.Sqs.Core.SqsMetadata
instance GHC.Classes.Ord Aws.Sqs.Core.MessageAttribute
instance GHC.Classes.Ord Aws.Sqs.Core.MessageId
instance GHC.Classes.Ord Aws.Sqs.Core.QueueName
instance GHC.Classes.Ord Aws.Sqs.Core.ReceiptHandle
instance GHC.Internal.Read.Read Aws.Sqs.Core.MessageAttribute
instance GHC.Internal.Read.Read Aws.Sqs.Core.MessageId
instance GHC.Internal.Read.Read Aws.Sqs.Core.QueueName
instance GHC.Internal.Read.Read Aws.Sqs.Core.ReceiptHandle
instance GHC.Internal.Base.Semigroup Aws.Sqs.Core.SqsMetadata
instance GHC.Internal.Show.Show Aws.Sqs.Core.Endpoint
instance GHC.Internal.Show.Show Aws.Sqs.Core.MessageAttribute
instance GHC.Internal.Show.Show Aws.Sqs.Core.MessageId
instance GHC.Internal.Show.Show Aws.Sqs.Core.QueueAttribute
instance GHC.Internal.Show.Show Aws.Sqs.Core.QueueName
instance GHC.Internal.Show.Show Aws.Sqs.Core.ReceiptHandle
instance GHC.Internal.Show.Show Aws.Sqs.Core.SqsAuthorization
instance GHC.Internal.Show.Show (Aws.Sqs.Core.SqsConfiguration qt)
instance GHC.Internal.Show.Show Aws.Sqs.Core.SqsError
instance GHC.Internal.Show.Show Aws.Sqs.Core.SqsMetadata
instance GHC.Internal.Show.Show Aws.Sqs.Core.SqsPermission

module Aws.Sqs.Commands.QueueAttributes
data GetQueueAttributes
GetQueueAttributes :: QueueName -> [QueueAttribute] -> GetQueueAttributes
[gqaQueueName] :: GetQueueAttributes -> QueueName
[gqaAttributes] :: GetQueueAttributes -> [QueueAttribute]
data GetQueueAttributesResponse
GetQueueAttributesResponse :: [(QueueAttribute, Text)] -> GetQueueAttributesResponse
[gqarAttributes] :: GetQueueAttributesResponse -> [(QueueAttribute, Text)]
parseAttributes :: Cursor -> [(QueueAttribute, Text)]
formatAttributes :: [QueueAttribute] -> [(ByteString, Maybe ByteString)]
data SetQueueAttributes
SetQueueAttributes :: QueueAttribute -> Text -> QueueName -> SetQueueAttributes
[sqaAttribute] :: SetQueueAttributes -> QueueAttribute
[sqaValue] :: SetQueueAttributes -> Text
[sqaQueueName] :: SetQueueAttributes -> QueueName
data SetQueueAttributesResponse
SetQueueAttributesResponse :: SetQueueAttributesResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.QueueAttributes.GetQueueAttributesResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.QueueAttributes.SetQueueAttributesResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.QueueAttributes.GetQueueAttributesResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.QueueAttributes.SetQueueAttributesResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.QueueAttributes.GetQueueAttributes
instance GHC.Internal.Show.Show Aws.Sqs.Commands.QueueAttributes.GetQueueAttributesResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.QueueAttributes.SetQueueAttributes
instance GHC.Internal.Show.Show Aws.Sqs.Commands.QueueAttributes.SetQueueAttributesResponse
instance Aws.Core.SignQuery Aws.Sqs.Commands.QueueAttributes.GetQueueAttributes
instance Aws.Core.SignQuery Aws.Sqs.Commands.QueueAttributes.SetQueueAttributes
instance Aws.Core.Transaction Aws.Sqs.Commands.QueueAttributes.GetQueueAttributes Aws.Sqs.Commands.QueueAttributes.GetQueueAttributesResponse
instance Aws.Core.Transaction Aws.Sqs.Commands.QueueAttributes.SetQueueAttributes Aws.Sqs.Commands.QueueAttributes.SetQueueAttributesResponse

module Aws.Sqs.Commands.Queue
data CreateQueue
CreateQueue :: Maybe Int -> Text -> CreateQueue
[cqDefaultVisibilityTimeout] :: CreateQueue -> Maybe Int
[cqQueueName] :: CreateQueue -> Text
data CreateQueueResponse
CreateQueueResponse :: Text -> CreateQueueResponse
[cqrQueueUrl] :: CreateQueueResponse -> Text
data DeleteQueue
DeleteQueue :: QueueName -> DeleteQueue
[dqQueueName] :: DeleteQueue -> QueueName
data DeleteQueueResponse
DeleteQueueResponse :: DeleteQueueResponse
data ListQueues
ListQueues :: Maybe Text -> ListQueues
[lqQueueNamePrefix] :: ListQueues -> Maybe Text
data ListQueuesResponse
ListQueuesResponse :: [Text] -> ListQueuesResponse
[lqrQueueUrls] :: ListQueuesResponse -> [Text]
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Queue.CreateQueueResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Queue.DeleteQueueResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Queue.ListQueuesResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Queue.CreateQueueResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Queue.DeleteQueueResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Queue.ListQueuesResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Queue.CreateQueue
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Queue.CreateQueueResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Queue.DeleteQueue
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Queue.DeleteQueueResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Queue.ListQueues
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Queue.ListQueuesResponse
instance Aws.Core.SignQuery Aws.Sqs.Commands.Queue.CreateQueue
instance Aws.Core.SignQuery Aws.Sqs.Commands.Queue.DeleteQueue
instance Aws.Core.SignQuery Aws.Sqs.Commands.Queue.ListQueues
instance Aws.Core.Transaction Aws.Sqs.Commands.Queue.CreateQueue Aws.Sqs.Commands.Queue.CreateQueueResponse
instance Aws.Core.Transaction Aws.Sqs.Commands.Queue.DeleteQueue Aws.Sqs.Commands.Queue.DeleteQueueResponse
instance Aws.Core.Transaction Aws.Sqs.Commands.Queue.ListQueues Aws.Sqs.Commands.Queue.ListQueuesResponse

module Aws.Sqs.Commands.Permission
data AddPermission
AddPermission :: Text -> [(Text, SqsPermission)] -> QueueName -> AddPermission
[apLabel] :: AddPermission -> Text
[apPermissions] :: AddPermission -> [(Text, SqsPermission)]
[apQueueName] :: AddPermission -> QueueName
data AddPermissionResponse
AddPermissionResponse :: AddPermissionResponse
formatPermissions :: [(Text, SqsPermission)] -> [QueryItem]
data RemovePermission
RemovePermission :: Text -> QueueName -> RemovePermission
[rpLabel] :: RemovePermission -> Text
[rpQueueName] :: RemovePermission -> QueueName
data RemovePermissionResponse
RemovePermissionResponse :: RemovePermissionResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Permission.AddPermissionResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Permission.RemovePermissionResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Permission.AddPermissionResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Permission.RemovePermissionResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Permission.AddPermission
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Permission.AddPermissionResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Permission.RemovePermission
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Permission.RemovePermissionResponse
instance Aws.Core.SignQuery Aws.Sqs.Commands.Permission.AddPermission
instance Aws.Core.SignQuery Aws.Sqs.Commands.Permission.RemovePermission
instance Aws.Core.Transaction Aws.Sqs.Commands.Permission.AddPermission Aws.Sqs.Commands.Permission.AddPermissionResponse
instance Aws.Core.Transaction Aws.Sqs.Commands.Permission.RemovePermission Aws.Sqs.Commands.Permission.RemovePermissionResponse

module Aws.Sqs.Commands.Message

-- | You can append a custom type label to the supported data types
--   (String, Number, and Binary) to create custom data types. This
--   capability is similar to type traits in programming languages. For
--   example, if you have an application that needs to know which type of
--   number is being sent in the message, then you could create custom
--   types similar to the following: Number.byte, Number.short, Number.int,
--   and Number.float. Another example using the binary data type is to use
--   Binary.gif and Binary.png to distinguish among different image file
--   types in a message or batch of messages. The appended data is optional
--   and opaque to Amazon SQS, which means that the appended data is not
--   interpreted, validated, or used by Amazon SQS. The Custom Type
--   extension has the same restrictions on allowed characters as the
--   message body.
type UserMessageAttributeCustomType = Text

-- | Message Attribute Value
--   
--   The user-specified message attribute value. For string data types, the
--   value attribute has the same restrictions on the content as the
--   message body. For more information, see SendMessage.
--   
--   Name, type, and value must not be empty or null. In addition, the
--   message body should not be empty or null. All parts of the message
--   attribute, including name, type, and value, are included in the
--   message size restriction, which is currently 256 KB (262,144 bytes).
--   
--   The supported message attribute data types are String, Number, and
--   Binary. You can also provide custom information on the type. The data
--   type has the same restrictions on the content as the message body. The
--   data type is case sensitive, and it can be up to 256 bytes long.
--   
--   
--   http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_MessageAttributeValue.html
data UserMessageAttributeValue

-- | Strings are Unicode with UTF-8 binary encoding.
UserMessageAttributeString :: Maybe UserMessageAttributeCustomType -> Text -> UserMessageAttributeValue

-- | Numbers are positive or negative integers or floating point numbers.
--   Numbers have sufficient range and precision to encompass most of the
--   possible values that integers, floats, and doubles typically support.
--   A number can have up to 38 digits of precision, and it can be between
--   10^-128 to 10^+126. Leading and trailing zeroes are trimmed.
UserMessageAttributeNumber :: Maybe UserMessageAttributeCustomType -> Scientific -> UserMessageAttributeValue

-- | Binary type attributes can store any binary data, for example,
--   compressed data, encrypted data, or images.
UserMessageAttributeBinary :: Maybe UserMessageAttributeCustomType -> ByteString -> UserMessageAttributeValue

-- | The message attribute name can contain the following characters: A-Z,
--   a-z, 0-9, underscore(_), hyphen(-), and period (.). The name must not
--   start or end with a period, and it should not have successive periods.
--   The name is case sensitive and must be unique among all attribute
--   names for the message. The name can be up to 256 characters long. The
--   name cannot start with "AWS." or "Amazon." (or any variations in
--   casing) because these prefixes are reserved for use by Amazon Web
--   Services.
type UserMessageAttributeName = Text

-- | Message Attribute
--   
--   Name, type, and value must not be empty or null. In addition, the
--   message body should not be empty or null. All parts of the message
--   attribute, including name, type, and value, are included in the
--   message size restriction, which is currently 256 KB (262,144 bytes).
--   
--   
--   http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSMessageAttributes.html#SQSMessageAttributes.DataTypes
--   
--   NOTE
--   
--   The Amazon SQS API reference calls this MessageAttribute. The
--   Haskell bindings use this term for what the Amazon documentation calls
--   just Attributes. In order to limit backward compatibility
--   issues we keep the terminology of the Haskell bindings and call this
--   type UserMessageAttributes.
type UserMessageAttribute = (UserMessageAttributeName, UserMessageAttributeValue)

-- | Delivers a message to the specified queue. With Amazon SQS, you now
--   have the ability to send large payload messages that are up to 256KB
--   (262,144 bytes) in size. To send large payloads, you must use an AWS
--   SDK that supports SigV4 signing. To verify whether SigV4 is supported
--   for an AWS SDK, check the SDK release notes.
--   
--   IMPORTANT
--   
--   The following list shows the characters (in Unicode) allowed in your
--   message, according to the W3C XML specification. For more information,
--   go to http://www.w3.org/TR/REC-xml/#charsets If you send any
--   characters not included in the list, your request will be rejected.
--   
--   
--   #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF]
--   
--   
--   
--   http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_SendMessage.html
data SendMessage
SendMessage :: !Text -> !QueueName -> ![UserMessageAttribute] -> !Maybe Int -> SendMessage

-- | The message to send. String maximum 256 KB in size.
[smMessage] :: SendMessage -> !Text

-- | The URL of the Amazon SQS queue to take action on.
[smQueueName] :: SendMessage -> !QueueName

-- | Each message attribute consists of a Name, Type, and Value.
[smAttributes] :: SendMessage -> ![UserMessageAttribute]

-- | The number of seconds (0 to 900 - 15 minutes) to delay a specific
--   message. Messages with a positive DelaySeconds value become available
--   for processing after the delay time is finished. If you don't specify
--   a value, the default value for the queue applies.
[smDelaySeconds] :: SendMessage -> !Maybe Int

-- | At
--   http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_SendMessageResult.html
--   all fields of SendMessageResult are denoted as optional. At
--   http://queue.amazonaws.com/doc/2012-11-05/QueueService.wsdl all
--   fields are specified as required.
--   
--   The actual service seems to treat at least
--   smrMD5OfMessageAttributes as optional.
data SendMessageResponse
SendMessageResponse :: !Text -> !MessageId -> !Maybe Text -> SendMessageResponse

-- | An MD5 digest of the non-URL-encoded message body string. This can be
--   used to verify that Amazon SQS received the message correctly. Amazon
--   SQS first URL decodes the message before creating the MD5 digest. For
--   information about MD5, go to
--   http://www.faqs.org/rfcs/rfc1321.html.
[smrMD5OfMessageBody] :: SendMessageResponse -> !Text

-- | An element containing the message ID of the message sent to the queue.
[smrMessageId] :: SendMessageResponse -> !MessageId

-- | An MD5 digest of the non-URL-encoded message attribute string. This
--   can be used to verify that Amazon SQS received the message correctly.
--   Amazon SQS first URL decodes the message before creating the MD5
--   digest. For information about MD5, go to
--   http://www.faqs.org/rfcs/rfc1321.html.
[smrMD5OfMessageAttributes] :: SendMessageResponse -> !Maybe Text

-- | Deletes the specified message from the specified queue. You specify
--   the message by using the message's receipt handle and not the message
--   ID you received when you sent the message. Even if the message is
--   locked by another reader due to the visibility timeout setting, it is
--   still deleted from the queue. If you leave a message in the queue for
--   longer than the queue's configured retention period, Amazon SQS
--   automatically deletes it.
--   
--   NOTE
--   
--   The receipt handle is associated with a specific instance of receiving
--   the message. If you receive a message more than once, the receipt
--   handle you get each time you receive the message is different. When
--   you request DeleteMessage, if you don't provide the most recently
--   received receipt handle for the message, the request will still
--   succeed, but the message might not be deleted.
--   
--   IMPORTANT
--   
--   It is possible you will receive a message even after you have deleted
--   it. This might happen on rare occasions if one of the servers storing
--   a copy of the message is unavailable when you request to delete the
--   message. The copy remains on the server and might be returned to you
--   again on a subsequent receive request. You should create your system
--   to be idempotent so that receiving a particular message more than once
--   is not a problem.
--   
--   
--   http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_DeleteMessage.html
data DeleteMessage
DeleteMessage :: !ReceiptHandle -> !QueueName -> DeleteMessage

-- | The receipt handle associated with the message to delete.
[dmReceiptHandle] :: DeleteMessage -> !ReceiptHandle

-- | The URL of the Amazon SQS queue to take action on.
[dmQueueName] :: DeleteMessage -> !QueueName
data DeleteMessageResponse
DeleteMessageResponse :: DeleteMessageResponse

-- | An Amazon SQS message.
--   
--   In
--   http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_Message.html
--   all elements are denoted as optional. In
--   http://queue.amazonaws.com/doc/2012-11-05/QueueService.wsdl all
--   elements except for the attributes are specified as required. At least
--   for the field mMD5OfMessageAttributes the the service is not
--   always returning a value and therefor we make this field optional.
data Message
Message :: !Text -> !ReceiptHandle -> !Text -> Text -> ![(MessageAttribute, Text)] -> !Maybe Text -> ![UserMessageAttribute] -> Message

-- | A unique identifier for the message. Message IDs are considered unique
--   across all AWS accounts for an extended period of time.
[mMessageId] :: Message -> !Text

-- | An identifier associated with the act of receiving the message. A new
--   receipt handle is returned every time you receive a message. When
--   deleting a message, you provide the last received receipt handle to
--   delete the message.
[mReceiptHandle] :: Message -> !ReceiptHandle

-- | An MD5 digest of the non-URL-encoded message body string.
[mMD5OfBody] :: Message -> !Text

-- | The message's contents (not URL-encoded).
[mBody] :: Message -> Text

-- | SenderId, SentTimestamp, ApproximateReceiveCount, and/or
--   ApproximateFirstReceiveTimestamp. SentTimestamp and
--   ApproximateFirstReceiveTimestamp are each returned as an integer
--   representing the epoch time in milliseconds.
[mAttributes] :: Message -> ![(MessageAttribute, Text)]

-- | An MD5 digest of the non-URL-encoded message attribute string. This
--   can be used to verify that Amazon SQS received the message correctly.
--   Amazon SQS first URL decodes the message before creating the MD5
--   digest. For information about MD5, go to
--   http://www.faqs.org/rfcs/rfc1321.html.
[mMD5OfMessageAttributes] :: Message -> !Maybe Text

-- | Each message attribute consists of a Name, Type, and Value.
[mUserMessageAttributes] :: Message -> ![UserMessageAttribute]

-- | Retrieves one or more messages, with a maximum limit of 10 messages,
--   from the specified queue. Long poll support is enabled by using the
--   WaitTimeSeconds parameter. For more information, see Amazon SQS
--   Long Poll in the Amazon SQS Developer Guide.
--   
--   Short poll is the default behavior where a weighted random set of
--   machines is sampled on a ReceiveMessage call. This means only the
--   messages on the sampled machines are returned. If the number of
--   messages in the queue is small (less than 1000), it is likely you will
--   get fewer messages than you requested per ReceiveMessage call. If the
--   number of messages in the queue is extremely small, you might not
--   receive any messages in a particular ReceiveMessage response; in which
--   case you should repeat the request.
--   
--   For each message returned, the response includes the following:
--   
--   Message body
--   
--   
--   
- MD5 digest of the message body. For information about MD5, go to
--   http://www.faqs.org/rfcs/rfc1321.html.
--   
- Message ID you received when you sent the message to the
--   queue.
--   
- Receipt handle.
--   
- Message attributes.
--   
- MD5 digest of the message attributes.
--   
--   
--   The receipt handle is the identifier you must provide when deleting
--   the message. For more information, see Queue and Message Identifiers
--   in the Amazon SQS Developer Guide.
--   
--   You can provide the VisibilityTimeout parameter in your request, which
--   will be applied to the messages that Amazon SQS returns in the
--   response. If you do not include the parameter, the overall visibility
--   timeout for the queue is used for the returned messages. For more
--   information, see Visibility Timeout in the Amazon SQS Developer Guide.
--   
--   NOTE
--   
--   Going forward, new attributes might be added. If you are writing code
--   that calls this action, we recommend that you structure your code so
--   that it can handle new attributes gracefully.
--   
--   
--   http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_ReceiveMessage.html
data ReceiveMessage
ReceiveMessage :: !Maybe Int -> ![MessageAttribute] -> !Maybe Int -> ![UserMessageAttributeName] -> !QueueName -> !Maybe Int -> ReceiveMessage

-- | The duration (in seconds) that the received messages are hidden from
--   subsequent retrieve requests after being retrieved by a ReceiveMessage
--   request.
[rmVisibilityTimeout] :: ReceiveMessage -> !Maybe Int

-- | A list of attributes that need to be returned along with each message.
--   
--   The following lists the names and descriptions of the attributes that
--   can be returned:
--   
--   
--   
- All - returns all values.
--   
- ApproximateFirstReceiveTimestamp - returns the time when the
--   message was first received (epoch time in milliseconds).
--   
- ApproximateReceiveCount - returns the number of times a message
--   has been received but not deleted.
--   
- SenderId - returns the AWS account number (or the IP address, if
--   anonymous access is allowed) of the sender.
--   
- SentTimestamp - returns the time when the message was sent (epoch
--   time in milliseconds).
--   
[rmAttributes] :: ReceiveMessage -> ![MessageAttribute]

-- | The maximum number of messages to return. Amazon SQS never returns
--   more messages than this value but may return fewer. Values can be from
--   1 to 10. Default is 1.
--   
--   All of the messages are not necessarily returned.
[rmMaxNumberOfMessages] :: ReceiveMessage -> !Maybe Int

-- | The name of the message attribute, where N is the index. The message
--   attribute name can contain the following characters: A-Z, a-z, 0-9,
--   underscore (_), hyphen (-), and period (.). The name must not start or
--   end with a period, and it should not have successive periods. The name
--   is case sensitive and must be unique among all attribute names for the
--   message. The name can be up to 256 characters long. The name cannot
--   start with "AWS." or "Amazon." (or any variations in casing), because
--   these prefixes are reserved for use by Amazon Web Services.
--   
--   When using ReceiveMessage, you can send a list of attribute names to
--   receive, or you can return all of the attributes by specifying
--   All or ".*" in your request. You can also use "foo.*" to return
--   all message attributes starting with the "foo" prefix.
[rmUserMessageAttributes] :: ReceiveMessage -> ![UserMessageAttributeName]

-- | The URL of the Amazon SQS queue to take action on.
[rmQueueName] :: ReceiveMessage -> !QueueName

-- | The duration (in seconds) for which the call will wait for a message
--   to arrive in the queue before returning. If a message is available,
--   the call will return sooner than WaitTimeSeconds.
[rmWaitTimeSeconds] :: ReceiveMessage -> !Maybe Int
data ReceiveMessageResponse
ReceiveMessageResponse :: ![Message] -> ReceiveMessageResponse
[rmrMessages] :: ReceiveMessageResponse -> ![Message]

-- | Changes the visibility timeout of a specified message in a queue to a
--   new value. The maximum allowed timeout value you can set the value to
--   is 12 hours. This means you can't extend the timeout of a message in
--   an existing queue to more than a total visibility timeout of 12 hours.
--   (For more information visibility timeout, see Visibility Timeout in
--   the Amazon SQS Developer Guide.)
--   
--   For example, let's say you have a message and its default message
--   visibility timeout is 30 minutes. You could call
--   ChangeMessageVisiblity with a value of two hours and the effective
--   timeout would be two hours and 30 minutes. When that time comes near
--   you could again extend the time out by calling ChangeMessageVisiblity,
--   but this time the maximum allowed timeout would be 9 hours and 30
--   minutes.
--   
--   NOTE
--   
--   There is a 120,000 limit for the number of inflight messages per
--   queue. Messages are inflight after they have been received from the
--   queue by a consuming component, but have not yet been deleted from the
--   queue. If you reach the 120,000 limit, you will receive an OverLimit
--   error message from Amazon SQS. To help avoid reaching the limit, you
--   should delete the messages from the queue after they have been
--   processed. You can also increase the number of queues you use to
--   process the messages.
--   
--   IMPORTANT
--   
--   If you attempt to set the VisibilityTimeout to an amount more than the
--   maximum time left, Amazon SQS returns an error. It will not
--   automatically recalculate and increase the timeout to the maximum time
--   remaining.
--   
--   IMPORTANT
--   
--   Unlike with a queue, when you change the visibility timeout for a
--   specific message, that timeout value is applied immediately but is not
--   saved in memory for that message. If you don't delete a message after
--   it is received, the visibility timeout for the message the next time
--   it is received reverts to the original timeout value, not the value
--   you set with the ChangeMessageVisibility action.
--   
--   
--   http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_ChangeMessageVisibility.html
data ChangeMessageVisibility
ChangeMessageVisibility :: !ReceiptHandle -> !Int -> !QueueName -> ChangeMessageVisibility

-- | The receipt handle associated with the message whose visibility
--   timeout should be changed. This parameter is returned by the
--   ReceiveMessage action.
[cmvReceiptHandle] :: ChangeMessageVisibility -> !ReceiptHandle

-- | The new value (in seconds - from 0 to 43200 - maximum 12 hours) for
--   the message's visibility timeout.
[cmvVisibilityTimeout] :: ChangeMessageVisibility -> !Int

-- | The URL of the Amazon SQS queue to take action on.
[cmvQueueName] :: ChangeMessageVisibility -> !QueueName
data ChangeMessageVisibilityResponse
ChangeMessageVisibilityResponse :: ChangeMessageVisibilityResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Message.ChangeMessageVisibilityResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Message.DeleteMessageResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Message.ReceiveMessageResponse
instance Aws.Core.AsMemoryResponse Aws.Sqs.Commands.Message.SendMessageResponse
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.ChangeMessageVisibility
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.ChangeMessageVisibilityResponse
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.DeleteMessage
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.DeleteMessageResponse
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.Message
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.ReceiveMessage
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.ReceiveMessageResponse
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.SendMessage
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.SendMessageResponse
instance GHC.Classes.Eq Aws.Sqs.Commands.Message.UserMessageAttributeValue
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.ChangeMessageVisibility
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.ChangeMessageVisibilityResponse
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.DeleteMessage
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.DeleteMessageResponse
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.Message
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.ReceiveMessage
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.ReceiveMessageResponse
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.SendMessage
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.SendMessageResponse
instance GHC.Classes.Ord Aws.Sqs.Commands.Message.UserMessageAttributeValue
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.ChangeMessageVisibility
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.ChangeMessageVisibilityResponse
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.DeleteMessage
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.DeleteMessageResponse
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.Message
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.ReceiveMessage
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.ReceiveMessageResponse
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.SendMessage
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.SendMessageResponse
instance GHC.Internal.Read.Read Aws.Sqs.Commands.Message.UserMessageAttributeValue
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Message.ChangeMessageVisibilityResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Message.DeleteMessageResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Message.ReceiveMessageResponse
instance Aws.Core.ResponseConsumer r Aws.Sqs.Commands.Message.SendMessageResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.ChangeMessageVisibility
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.ChangeMessageVisibilityResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.DeleteMessage
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.DeleteMessageResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.Message
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.ReceiveMessage
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.ReceiveMessageResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.SendMessage
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.SendMessageResponse
instance GHC.Internal.Show.Show Aws.Sqs.Commands.Message.UserMessageAttributeValue
instance Aws.Core.SignQuery Aws.Sqs.Commands.Message.ChangeMessageVisibility
instance Aws.Core.SignQuery Aws.Sqs.Commands.Message.DeleteMessage
instance Aws.Core.SignQuery Aws.Sqs.Commands.Message.ReceiveMessage
instance Aws.Core.SignQuery Aws.Sqs.Commands.Message.SendMessage
instance Aws.Core.Transaction Aws.Sqs.Commands.Message.ChangeMessageVisibility Aws.Sqs.Commands.Message.ChangeMessageVisibilityResponse
instance Aws.Core.Transaction Aws.Sqs.Commands.Message.DeleteMessage Aws.Sqs.Commands.Message.DeleteMessageResponse
instance Aws.Core.Transaction Aws.Sqs.Commands.Message.ReceiveMessage Aws.Sqs.Commands.Message.ReceiveMessageResponse
instance Aws.Core.Transaction Aws.Sqs.Commands.Message.SendMessage Aws.Sqs.Commands.Message.SendMessageResponse

module Aws.Sqs.Commands

module Aws.Sqs
