-- 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
--   <a>https://github.com/aristidb/aws/blob/master/README.org</a>.
@package aws
@version 0.9.2

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

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 Typeable InstanceMetadataException
instance Show InstanceMetadataException
instance Exception InstanceMetadataException

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 <tt>Attempt</tt>.
--   
--   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 <a>IORef</a> (using <a>mappend</a>).
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 (ResumableSource (ResourceT IO) ByteString) -> 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 <a>ByteString</a>.
class Monoid (ResponseMetadata resp) => ResponseConsumer req resp where type family ResponseMetadata resp
responseConsumer :: ResponseConsumer req resp => req -> IORef (ResponseMetadata resp) -> HTTPResponseConsumer resp

-- | Class for responses that are fully loaded into memory
class AsMemoryResponse resp where type family 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
noCredentialsErrorMesage :: NoCredentialsException -> String

-- | 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 <a>elContent</a>, but extracts <a>String</a>s instead of
--   <a>Text</a>.
elCont :: Text -> Cursor -> [String]

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

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

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

-- | Create a complete <a>HTTPResponseConsumer</a> from a simple function
--   that takes a <a>Cursor</a> 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 <a>Get</a> and <a>PostQuery</a>).
sqQuery :: SignedQuery -> Query

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

-- | Authorization string (if applicable), for <tt>Authorization</tt>
--   header. See <a>authorizationV4</a>
sqAuthorization :: SignedQuery -> Maybe (IO ByteString)

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

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

-- | Additional Amazon <a>amz</a> headers.
sqAmzHeaders :: SignedQuery -> RequestHeaders

-- | Additional non-<a>amz</a> headers.
sqOtherHeaders :: SignedQuery -> RequestHeaders

-- | Request body (used with <a>Post</a> and <a>Put</a>).
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 <a>SignedQuery</a> object.
queryToHttpRequest :: SignedQuery -> IO Request

-- | Create a URI fro a <a>SignedQuery</a> 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 <a>TimeInfo</a>, 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 <a>TimeInfo</a> to <a>AbsoluteTimeInfo</a> 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 <a>signable</a> request object. Assembles together the Query, and
--   signs it in one go.
class SignQuery request where type family ServiceConfiguration request :: * -> *
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

-- | Use this to create the Authorization header to set into
--   <a>sqAuthorization</a>. See
--   <a>http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html</a>:
--   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

-- | <tt>queryList f prefix xs</tt> constructs a query list from a list of
--   elements <tt>xs</tt>, using a common prefix <tt>prefix</tt>, and a
--   transformer function <tt>f</tt>.
--   
--   A dot (<tt>.</tt>) is interspersed between prefix and generated key.
--   
--   Example:
--   
--   <tt>queryList swap "pfx" [("a", "b"), ("c", "d")]</tt> evaluates to
--   <tt>[("pfx.b", "a"), ("pfx.d", "c")]</tt> (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 <a>SignQuery</a> and <a>ResponseConsumer</a> respectively.
class (SignQuery r, ResponseConsumer r a, Loggable (ResponseMetadata a)) => Transaction r a | r -> a, a -> r

-- | 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, a -> r
nextIteratedRequest :: IteratedTransaction r a => r -> a -> Maybe r

-- | AWS access credentials.
data Credentials
Credentials :: ByteString -> ByteString -> IORef [V4Key] -> Maybe ByteString -> 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

-- | The file where access credentials are loaded, when using
--   <a>loadCredentialsDefault</a>.
--   
--   Value: <i>&lt;user directory&gt;</i><tt>/.aws-keys</tt>
credentialsDefaultFile :: MonadIO io => io FilePath

-- | The key to be used in the access credential file that is loaded, when
--   using <a>loadCredentialsDefault</a>.
--   
--   Value: <tt>default</tt>
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:
--   
--   <pre>
--   keyName awsKeyID awsKeySecret
--   </pre>
loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from the environment variables
--   <tt>AWS_ACCESS_KEY_ID</tt> and <tt>AWS_ACCESS_KEY_SECRET</tt> (or
--   <tt>AWS_SECRET_ACCESS_KEY</tt>), 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 <a>loadCredentialsFromEnv</a> and <a>loadCredentialsFromFile</a>
--   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 <a>loadCredentialsFromEnv</a>, <a>loadCredentialsFromFile</a> and
--   <a>loadCredentialsFromInstanceMetadata</a> 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: <i>&lt;user directory&gt;</i><tt>/.aws-keys</tt> Default
--   key name: <tt>default</tt>
--   
--   See <a>loadCredentialsFromEnv</a> and <a>loadCredentialsFromFile</a>
--   for details.
loadCredentialsDefault :: MonadIO io => io (Maybe Credentials)

-- | Default configuration for a specific service.
class DefaultServiceConfiguration config where debugServiceConfig = defServiceConfig
defServiceConfig :: DefaultServiceConfiguration config => config
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 Typeable XmlException
instance Typeable HeaderException
instance Typeable FormException
instance Typeable NoCredentialsException
instance (Show m, Show a) => Show (Response m a)
instance Functor (Response m)
instance Show Protocol
instance Show Method
instance Eq Method
instance Show TimeInfo
instance Show AbsoluteTimeInfo
instance Show AuthorizationHash
instance Show XmlException
instance Show HeaderException
instance Show FormException
instance Show NoCredentialsException
instance Exception NoCredentialsException
instance Exception FormException
instance Exception HeaderException
instance Exception XmlException
instance Show Credentials
instance ResponseConsumer r (Response ByteString)
instance Monoid m => MonadThrow (Response m)
instance Monoid m => Monad (Response m)
instance Monoid m => Applicative (Response m)

module Aws.Iam.Core

-- | Constructs a <a>SignedQuery</a> 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 <tt>DateTime</tt> data type.
parseDateTime :: MonadThrow m => String -> m UTCTime
data AccessKeyStatus
AccessKeyActive :: AccessKeyStatus
AccessKeyInactive :: AccessKeyStatus

-- | The IAM <tt>User</tt> data type.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html</a>
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 <tt>User</tt> data type.
parseUser :: MonadThrow m => Cursor -> m User
instance Typeable IamError
instance Typeable IamMetadata
instance Typeable User
instance Typeable AccessKeyStatus
instance Show IamError
instance Show IamMetadata
instance Show (IamConfiguration qt)
instance Eq User
instance Ord User
instance Show User
instance Eq AccessKeyStatus
instance Ord AccessKeyStatus
instance Show AccessKeyStatus
instance DefaultServiceConfiguration (IamConfiguration UriOnlyQuery)
instance DefaultServiceConfiguration (IamConfiguration NormalQuery)
instance Monoid IamMetadata
instance Loggable IamMetadata
instance Exception IamError

module Aws.Iam.Internal

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

-- | Similar to <a>iamAction</a>. Accepts parameter list with
--   <tt>Maybe</tt> parameters. Ignores <tt>Nothing</tt>s.
iamAction' :: ByteString -> [Maybe (ByteString, Text)] -> IamConfiguration qt -> SignatureData -> SignedQuery

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

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

-- | An infix synonym for <a>mappend</a>.
(<>) :: Monoid m => m -> m -> m

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.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html</a>
data CreateAccessKey
CreateAccessKey :: (Maybe Text) -> CreateAccessKey
data CreateAccessKeyResponse
CreateAccessKeyResponse :: AccessKey -> CreateAccessKeyResponse

-- | Represents the IAM <tt>AccessKey</tt> data type.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_AccessKey.html</a>
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 Typeable CreateAccessKey
instance Typeable AccessKey
instance Typeable CreateAccessKeyResponse
instance Eq CreateAccessKey
instance Ord CreateAccessKey
instance Show CreateAccessKey
instance Eq AccessKey
instance Ord AccessKey
instance Show AccessKey
instance Eq CreateAccessKeyResponse
instance Ord CreateAccessKeyResponse
instance Show CreateAccessKeyResponse
instance AsMemoryResponse CreateAccessKeyResponse
instance Transaction CreateAccessKey CreateAccessKeyResponse
instance ResponseConsumer CreateAccessKey CreateAccessKeyResponse
instance SignQuery CreateAccessKey

module Aws.Iam.Commands.CreateUser

-- | Creates a new user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html</a>
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 <tt>/</tt> if
--   omitted.
cuPath :: CreateUser -> Maybe Text
data CreateUserResponse
CreateUserResponse :: User -> CreateUserResponse

-- | The IAM <tt>User</tt> data type.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html</a>
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 Typeable CreateUser
instance Typeable CreateUserResponse
instance Eq CreateUser
instance Ord CreateUser
instance Show CreateUser
instance Eq CreateUserResponse
instance Ord CreateUserResponse
instance Show CreateUserResponse
instance AsMemoryResponse CreateUserResponse
instance Transaction CreateUser CreateUserResponse
instance ResponseConsumer CreateUser CreateUserResponse
instance SignQuery CreateUser

module Aws.Iam.Commands.DeleteAccessKey

-- | Deletes the access key associated with the specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html</a>
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 Typeable DeleteAccessKey
instance Typeable DeleteAccessKeyResponse
instance Eq DeleteAccessKey
instance Ord DeleteAccessKey
instance Show DeleteAccessKey
instance Eq DeleteAccessKeyResponse
instance Ord DeleteAccessKeyResponse
instance Show DeleteAccessKeyResponse
instance AsMemoryResponse DeleteAccessKeyResponse
instance Transaction DeleteAccessKey DeleteAccessKeyResponse
instance ResponseConsumer DeleteAccessKey DeleteAccessKeyResponse
instance SignQuery DeleteAccessKey

module Aws.Iam.Commands.DeleteUser

-- | Deletes the specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUser.html</a>
data DeleteUser
DeleteUser :: Text -> DeleteUser
data DeleteUserResponse
DeleteUserResponse :: DeleteUserResponse
instance Typeable DeleteUser
instance Typeable DeleteUserResponse
instance Eq DeleteUser
instance Ord DeleteUser
instance Show DeleteUser
instance Eq DeleteUserResponse
instance Ord DeleteUserResponse
instance Show DeleteUserResponse
instance AsMemoryResponse DeleteUserResponse
instance Transaction DeleteUser DeleteUserResponse
instance ResponseConsumer DeleteUser DeleteUserResponse
instance SignQuery DeleteUser

module Aws.Iam.Commands.DeleteUserPolicy

-- | Deletes the specified policy associated with the specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html</a>
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 Typeable DeleteUserPolicy
instance Typeable DeleteUserPolicyResponse
instance Eq DeleteUserPolicy
instance Ord DeleteUserPolicy
instance Show DeleteUserPolicy
instance Eq DeleteUserPolicyResponse
instance Ord DeleteUserPolicyResponse
instance Show DeleteUserPolicyResponse
instance AsMemoryResponse DeleteUserPolicyResponse
instance Transaction DeleteUserPolicy DeleteUserPolicyResponse
instance ResponseConsumer DeleteUserPolicy DeleteUserPolicyResponse
instance SignQuery DeleteUserPolicy

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.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html</a>
data GetUser
GetUser :: (Maybe Text) -> GetUser
data GetUserResponse
GetUserResponse :: User -> GetUserResponse

-- | The IAM <tt>User</tt> data type.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html</a>
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 Typeable GetUser
instance Typeable GetUserResponse
instance Eq GetUser
instance Ord GetUser
instance Show GetUser
instance Eq GetUserResponse
instance Ord GetUserResponse
instance Show GetUserResponse
instance AsMemoryResponse GetUserResponse
instance Transaction GetUser GetUserResponse
instance ResponseConsumer GetUser GetUserResponse
instance SignQuery GetUser

module Aws.Iam.Commands.GetUserPolicy

-- | Retreives the specified policy document for the specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html</a>
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 Typeable GetUserPolicy
instance Typeable GetUserPolicyResponse
instance Eq GetUserPolicy
instance Ord GetUserPolicy
instance Show GetUserPolicy
instance Eq GetUserPolicyResponse
instance Ord GetUserPolicyResponse
instance Show GetUserPolicyResponse
instance AsMemoryResponse GetUserPolicyResponse
instance Transaction GetUserPolicy GetUserPolicyResponse
instance ResponseConsumer GetUserPolicy GetUserPolicyResponse
instance SignQuery GetUserPolicy

module Aws.Iam.Commands.ListAccessKeys

-- | Returns the access keys associated with the specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html</a>
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 <a>AccessKeyMetadata</a> objects
lakrAccessKeyMetadata :: ListAccessKeysResponse -> [AccessKeyMetadata]

-- | <tt>True</tt> 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 Typeable ListAccessKeys
instance Typeable AccessKeyMetadata
instance Typeable ListAccessKeysResponse
instance Eq ListAccessKeys
instance Ord ListAccessKeys
instance Show ListAccessKeys
instance Eq AccessKeyMetadata
instance Ord AccessKeyMetadata
instance Show AccessKeyMetadata
instance Eq ListAccessKeysResponse
instance Ord ListAccessKeysResponse
instance Show ListAccessKeysResponse
instance AsMemoryResponse ListAccessKeysResponse
instance IteratedTransaction ListAccessKeys ListAccessKeysResponse
instance Transaction ListAccessKeys ListAccessKeysResponse
instance ResponseConsumer ListAccessKeys ListAccessKeysResponse
instance SignQuery ListAccessKeys

module Aws.Iam.Commands.ListUserPolicies

-- | Lists the user policies associated with the specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html</a>
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]

-- | <tt>True</tt> 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 Typeable ListUserPolicies
instance Typeable ListUserPoliciesResponse
instance Eq ListUserPolicies
instance Ord ListUserPolicies
instance Show ListUserPolicies
instance Eq ListUserPoliciesResponse
instance Ord ListUserPoliciesResponse
instance Show ListUserPoliciesResponse
instance AsMemoryResponse ListUserPoliciesResponse
instance IteratedTransaction ListUserPolicies ListUserPoliciesResponse
instance Transaction ListUserPolicies ListUserPoliciesResponse
instance ResponseConsumer ListUserPolicies ListUserPoliciesResponse
instance SignQuery ListUserPolicies

module Aws.Iam.Commands.ListUsers

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

-- | Users defined under this path will be listed. If omitted, defaults to
--   <tt>/</tt>, 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 <a>User</a>s.
lurUsers :: ListUsersResponse -> [User]

-- | <tt>True</tt> 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 <tt>User</tt> data type.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html</a>
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 Typeable ListUsers
instance Typeable ListUsersResponse
instance Eq ListUsers
instance Ord ListUsers
instance Show ListUsers
instance Eq ListUsersResponse
instance Ord ListUsersResponse
instance Show ListUsersResponse
instance AsMemoryResponse ListUsersResponse
instance IteratedTransaction ListUsers ListUsersResponse
instance Transaction ListUsers ListUsersResponse
instance ResponseConsumer ListUsers ListUsersResponse
instance SignQuery ListUsers

module Aws.Iam.Commands.PutUserPolicy

-- | Adds a policy document with the specified name, associated with the
--   specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_PutUserPolicy.html</a>
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 Typeable PutUserPolicy
instance Typeable PutUserPolicyResponse
instance Eq PutUserPolicy
instance Ord PutUserPolicy
instance Show PutUserPolicy
instance Eq PutUserPolicyResponse
instance Ord PutUserPolicyResponse
instance Show PutUserPolicyResponse
instance AsMemoryResponse PutUserPolicyResponse
instance Transaction PutUserPolicy PutUserPolicyResponse
instance ResponseConsumer PutUserPolicy PutUserPolicyResponse
instance SignQuery PutUserPolicy

module Aws.Iam.Commands.UpdateAccessKey

-- | Changes the status of the specified access key.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html</a>
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 Typeable UpdateAccessKey
instance Typeable UpdateAccessKeyResponse
instance Eq UpdateAccessKey
instance Ord UpdateAccessKey
instance Show UpdateAccessKey
instance Eq UpdateAccessKeyResponse
instance Ord UpdateAccessKeyResponse
instance Show UpdateAccessKeyResponse
instance AsMemoryResponse UpdateAccessKeyResponse
instance Transaction UpdateAccessKey UpdateAccessKeyResponse
instance ResponseConsumer UpdateAccessKey UpdateAccessKeyResponse
instance SignQuery UpdateAccessKey

module Aws.Iam.Commands.UpdateUser

-- | Updates the name and/or path of the specified user.
--   
--   
--   <a>http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html</a>
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 Typeable UpdateUser
instance Typeable UpdateUserResponse
instance Eq UpdateUser
instance Ord UpdateUser
instance Show UpdateUser
instance Eq UpdateUserResponse
instance Ord UpdateUserResponse
instance Show UpdateUserResponse
instance AsMemoryResponse UpdateUserResponse
instance Transaction UpdateUser UpdateUserResponse
instance ResponseConsumer UpdateUser UpdateUserResponse
instance SignQuery UpdateUser

module Aws.Iam.Commands

module Aws.Iam

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 S3Configuration qt
S3Configuration :: Protocol -> ByteString -> RequestStyle -> Int -> Maybe ServerSideEncryption -> Bool -> NominalDiffTime -> S3Configuration qt
s3Protocol :: S3Configuration qt -> Protocol
s3Endpoint :: S3Configuration qt -> ByteString
s3RequestStyle :: S3Configuration qt -> RequestStyle
s3Port :: S3Configuration qt -> Int
s3ServerSideEncryption :: S3Configuration qt -> Maybe ServerSideEncryption
s3UseUri :: S3Configuration qt -> Bool
s3DefaultExpiry :: S3Configuration qt -> NominalDiffTime
s3EndpointUsClassic :: ByteString
s3EndpointUsWest :: ByteString
s3EndpointUsWest2 :: ByteString
s3EndpointEu :: ByteString
s3EndpointApSouthEast :: ByteString
s3EndpointApSouthEast2 :: ByteString
s3EndpointApNorthEast :: ByteString
s3 :: Protocol -> ByteString -> Bool -> S3Configuration qt
type ErrorCode = Text
data S3Error
S3Error :: Status -> ErrorCode -> Text -> Maybe Text -> 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
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
s3SignQuery :: S3Query -> S3Configuration qt -> SignatureData -> SignedQuery
s3ResponseConsumer :: HTTPResponseConsumer a -> IORef S3Metadata -> HTTPResponseConsumer a
s3XmlResponseConsumer :: (Cursor -> Response S3Metadata a) -> IORef S3Metadata -> HTTPResponseConsumer a
s3BinaryResponseConsumer :: HTTPResponseConsumer a -> IORef S3Metadata -> HTTPResponseConsumer a
s3ErrorResponseConsumer :: HTTPResponseConsumer a
type CanonicalUserId = Text
data UserInfo
UserInfo :: CanonicalUserId -> Text -> UserInfo
userId :: UserInfo -> CanonicalUserId
userDisplayName :: UserInfo -> 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
ReducedRedundancy :: StorageClass
Glacier :: StorageClass
parseStorageClass :: MonadThrow m => Text -> m 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 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
locationApNorthEast :: LocationConstraint
locationApSouthEast2 :: LocationConstraint
locationApSouthEast :: LocationConstraint
locationEu :: LocationConstraint
locationUsWest2 :: LocationConstraint
locationUsWest :: LocationConstraint
instance Typeable S3Error
instance Typeable S3Metadata
instance Show S3Authorization
instance Show RequestStyle
instance Show S3Error
instance Show S3Metadata
instance Show UserInfo
instance Show CannedAcl
instance Show StorageClass
instance Show ServerSideEncryption
instance Show (S3Configuration qt)
instance Show BucketInfo
instance Show ObjectId
instance Show ObjectInfo
instance Show ObjectMetadata
instance Show S3Query
instance Loggable S3Metadata
instance Monoid S3Metadata
instance Exception S3Error
instance DefaultServiceConfiguration (S3Configuration UriOnlyQuery)
instance DefaultServiceConfiguration (S3Configuration NormalQuery)

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 -> 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
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 Show CopyMetadataDirective
instance Show CopyObject
instance Show CopyObjectResponse
instance AsMemoryResponse CopyObjectResponse
instance Transaction CopyObject CopyObjectResponse
instance ResponseConsumer CopyObject CopyObjectResponse
instance SignQuery CopyObject

module Aws.S3.Commands.DeleteObject
data DeleteObject
DeleteObject :: Text -> Bucket -> DeleteObject
doObjectName :: DeleteObject -> Text
doBucket :: DeleteObject -> Bucket
data DeleteObjectResponse
DeleteObjectResponse :: DeleteObjectResponse
instance AsMemoryResponse DeleteObjectResponse
instance Transaction DeleteObject DeleteObjectResponse
instance ResponseConsumer DeleteObject DeleteObjectResponse
instance SignQuery DeleteObject

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 Show DeleteObjects
instance Show DORDeleted
instance Show DORErrors
instance Show DeleteObjectsResponse
instance AsMemoryResponse DeleteObjectsResponse
instance Transaction DeleteObjects DeleteObjectsResponse
instance ResponseConsumer DeleteObjects DeleteObjectsResponse
instance SignQuery DeleteObjects

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 Show GetBucket
instance Show GetBucketResponse
instance AsMemoryResponse GetBucketResponse
instance IteratedTransaction GetBucket GetBucketResponse
instance Transaction GetBucket GetBucketResponse
instance ResponseConsumer r GetBucketResponse
instance SignQuery GetBucket

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) -> 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)
getObject :: Bucket -> Text -> GetObject
data GetObjectResponse
GetObjectResponse :: ObjectMetadata -> Response (ResumableSource (ResourceT IO) ByteString) -> GetObjectResponse
gorMetadata :: GetObjectResponse -> ObjectMetadata
gorResponse :: GetObjectResponse -> Response (ResumableSource (ResourceT IO) ByteString)
data GetObjectMemoryResponse
GetObjectMemoryResponse :: ObjectMetadata -> (Response ByteString) -> GetObjectMemoryResponse
instance Show GetObject
instance Show GetObjectMemoryResponse
instance AsMemoryResponse GetObjectResponse
instance Transaction GetObject GetObjectResponse
instance ResponseConsumer GetObject GetObjectResponse
instance SignQuery GetObject

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

module Aws.S3.Commands.HeadObject
data HeadObject
HeadObject :: Bucket -> Object -> Maybe Text -> HeadObject
hoBucket :: HeadObject -> Bucket
hoObjectName :: HeadObject -> Object
hoVersionId :: HeadObject -> Maybe Text
headObject :: Bucket -> Text -> HeadObject
data HeadObjectResponse
HeadObjectResponse :: ObjectMetadata -> HeadObjectResponse
horMetadata :: HeadObjectResponse -> ObjectMetadata
data HeadObjectMemoryResponse
HeadObjectMemoryResponse :: ObjectMetadata -> HeadObjectMemoryResponse
instance Show HeadObject
instance Show HeadObjectMemoryResponse
instance AsMemoryResponse HeadObjectResponse
instance Transaction HeadObject HeadObjectResponse
instance ResponseConsumer HeadObject HeadObjectResponse
instance SignQuery HeadObject

module Aws.S3.Commands.PutBucket
data PutBucket
PutBucket :: Bucket -> Maybe CannedAcl -> LocationConstraint -> PutBucket
pbBucket :: PutBucket -> Bucket
pbCannedAcl :: PutBucket -> Maybe CannedAcl
pbLocationConstraint :: PutBucket -> LocationConstraint
data PutBucketResponse
PutBucketResponse :: PutBucketResponse
instance Show PutBucket
instance Show PutBucketResponse
instance AsMemoryResponse PutBucketResponse
instance Transaction PutBucket PutBucketResponse
instance ResponseConsumer r PutBucketResponse
instance SignQuery PutBucket

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 -> 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
putObject :: Bucket -> Text -> RequestBody -> PutObject
data PutObjectResponse
PutObjectResponse :: Maybe Text -> PutObjectResponse
porVersionId :: PutObjectResponse -> Maybe Text
instance Show PutObjectResponse
instance AsMemoryResponse PutObjectResponse
instance Transaction PutObject PutObjectResponse
instance ResponseConsumer PutObject PutObjectResponse
instance SignQuery PutObject

module Aws.S3.Commands

module Aws.S3

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 Typeable SdbError
instance Typeable SdbMetadata
instance Show SdbError
instance Show SdbMetadata
instance Show (SdbConfiguration qt)
instance Show a => Show (Attribute a)
instance Show SetAttribute
instance Show DeleteAttribute
instance Show ExpectedAttribute
instance Show a => Show (Item a)
instance DefaultServiceConfiguration (SdbConfiguration UriOnlyQuery)
instance DefaultServiceConfiguration (SdbConfiguration NormalQuery)
instance Monoid SdbMetadata
instance Loggable SdbMetadata
instance Exception SdbError

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 Show GetAttributes
instance Show GetAttributesResponse
instance Show PutAttributes
instance Show PutAttributesResponse
instance Show DeleteAttributes
instance Show DeleteAttributesResponse
instance Show BatchPutAttributes
instance Show BatchPutAttributesResponse
instance Show BatchDeleteAttributes
instance Show BatchDeleteAttributesResponse
instance AsMemoryResponse BatchDeleteAttributesResponse
instance Transaction BatchDeleteAttributes BatchDeleteAttributesResponse
instance ResponseConsumer r BatchDeleteAttributesResponse
instance SignQuery BatchDeleteAttributes
instance AsMemoryResponse BatchPutAttributesResponse
instance Transaction BatchPutAttributes BatchPutAttributesResponse
instance ResponseConsumer r BatchPutAttributesResponse
instance SignQuery BatchPutAttributes
instance AsMemoryResponse DeleteAttributesResponse
instance Transaction DeleteAttributes DeleteAttributesResponse
instance ResponseConsumer r DeleteAttributesResponse
instance SignQuery DeleteAttributes
instance AsMemoryResponse PutAttributesResponse
instance Transaction PutAttributes PutAttributesResponse
instance ResponseConsumer r PutAttributesResponse
instance SignQuery PutAttributes
instance AsMemoryResponse GetAttributesResponse
instance Transaction GetAttributes GetAttributesResponse
instance ResponseConsumer r GetAttributesResponse
instance SignQuery GetAttributes

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 Show CreateDomain
instance Show CreateDomainResponse
instance Show DeleteDomain
instance Show DeleteDomainResponse
instance Show DomainMetadata
instance Show DomainMetadataResponse
instance Show ListDomains
instance Show ListDomainsResponse
instance IteratedTransaction ListDomains ListDomainsResponse
instance ListResponse ListDomainsResponse Text
instance AsMemoryResponse ListDomainsResponse
instance Transaction ListDomains ListDomainsResponse
instance ResponseConsumer r ListDomainsResponse
instance SignQuery ListDomains
instance AsMemoryResponse DomainMetadataResponse
instance Transaction DomainMetadata DomainMetadataResponse
instance ResponseConsumer r DomainMetadataResponse
instance SignQuery DomainMetadata
instance AsMemoryResponse DeleteDomainResponse
instance Transaction DeleteDomain DeleteDomainResponse
instance ResponseConsumer r DeleteDomainResponse
instance SignQuery DeleteDomain
instance AsMemoryResponse CreateDomainResponse
instance Transaction CreateDomain CreateDomainResponse
instance ResponseConsumer r CreateDomainResponse
instance SignQuery CreateDomain

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 Show Select
instance Show SelectResponse
instance IteratedTransaction Select SelectResponse
instance ListResponse SelectResponse (Item [Attribute Text])
instance AsMemoryResponse SelectResponse
instance Transaction Select SelectResponse
instance ResponseConsumer r SelectResponse
instance SignQuery Select

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
sqsEndpointApSouthEast :: 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
MessageAll :: MessageAttribute
SenderId :: MessageAttribute
SentTimestamp :: MessageAttribute
ApproximateReceiveCount :: MessageAttribute
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 Typeable SqsError
instance Show SqsMetadata
instance Show SqsError
instance Show SqsAuthorization
instance Show Endpoint
instance Show (SqsConfiguration qt)
instance Show QueueName
instance Show QueueAttribute
instance Enum QueueAttribute
instance Eq QueueAttribute
instance Show MessageAttribute
instance Eq MessageAttribute
instance Enum MessageAttribute
instance Show SqsPermission
instance Enum SqsPermission
instance Eq SqsPermission
instance Show ReceiptHandle
instance Eq ReceiptHandle
instance Show MessageId
instance Eq MessageId
instance DefaultServiceConfiguration (SqsConfiguration UriOnlyQuery)
instance DefaultServiceConfiguration (SqsConfiguration NormalQuery)
instance Monoid SqsMetadata
instance Loggable SqsMetadata
instance Exception SqsError

module Aws.Sqs.Commands.Message
data SendMessage
SendMessage :: Text -> QueueName -> SendMessage
smMessage :: SendMessage -> Text
smQueueName :: SendMessage -> QueueName
data SendMessageResponse
SendMessageResponse :: Text -> MessageId -> SendMessageResponse
smrMD5OfMessageBody :: SendMessageResponse -> Text
smrMessageId :: SendMessageResponse -> MessageId
data DeleteMessage
DeleteMessage :: ReceiptHandle -> QueueName -> DeleteMessage
dmReceiptHandle :: DeleteMessage -> ReceiptHandle
dmQueueName :: DeleteMessage -> QueueName
data DeleteMessageResponse
DeleteMessageResponse :: DeleteMessageResponse
data ReceiveMessage
ReceiveMessage :: Maybe Int -> [MessageAttribute] -> Maybe Int -> QueueName -> ReceiveMessage
rmVisibilityTimeout :: ReceiveMessage -> Maybe Int
rmAttributes :: ReceiveMessage -> [MessageAttribute]
rmMaxNumberOfMessages :: ReceiveMessage -> Maybe Int
rmQueueName :: ReceiveMessage -> QueueName
data Message
Message :: Text -> ReceiptHandle -> Text -> Text -> [(MessageAttribute, Text)] -> Message
mMessageId :: Message -> Text
mReceiptHandle :: Message -> ReceiptHandle
mMD5OfBody :: Message -> Text
mBody :: Message -> Text
mAttributes :: Message -> [(MessageAttribute, Text)]
data ReceiveMessageResponse
ReceiveMessageResponse :: [Message] -> ReceiveMessageResponse
rmrMessages :: ReceiveMessageResponse -> [Message]
readMessageAttribute :: MonadThrow m => Cursor -> m (MessageAttribute, Text)
readMessage :: Cursor -> [Message]
formatMAttributes :: [MessageAttribute] -> [(ByteString, Maybe ByteString)]
data ChangeMessageVisibility
ChangeMessageVisibility :: ReceiptHandle -> Int -> QueueName -> ChangeMessageVisibility
cmvReceiptHandle :: ChangeMessageVisibility -> ReceiptHandle
cmvVisibilityTimeout :: ChangeMessageVisibility -> Int
cmvQueueName :: ChangeMessageVisibility -> QueueName
data ChangeMessageVisibilityResponse
ChangeMessageVisibilityResponse :: ChangeMessageVisibilityResponse
instance Show SendMessage
instance Show SendMessageResponse
instance Show DeleteMessage
instance Show DeleteMessageResponse
instance Show ReceiveMessage
instance Show Message
instance Show ReceiveMessageResponse
instance Show ChangeMessageVisibility
instance Show ChangeMessageVisibilityResponse
instance AsMemoryResponse ChangeMessageVisibilityResponse
instance Transaction ChangeMessageVisibility ChangeMessageVisibilityResponse
instance SignQuery ChangeMessageVisibility
instance ResponseConsumer r ChangeMessageVisibilityResponse
instance AsMemoryResponse ReceiveMessageResponse
instance Transaction ReceiveMessage ReceiveMessageResponse
instance SignQuery ReceiveMessage
instance ResponseConsumer r ReceiveMessageResponse
instance AsMemoryResponse DeleteMessageResponse
instance Transaction DeleteMessage DeleteMessageResponse
instance SignQuery DeleteMessage
instance ResponseConsumer r DeleteMessageResponse
instance AsMemoryResponse SendMessageResponse
instance Transaction SendMessage SendMessageResponse
instance SignQuery SendMessage
instance ResponseConsumer r SendMessageResponse

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 Show AddPermission
instance Show AddPermissionResponse
instance Show RemovePermission
instance Show RemovePermissionResponse
instance AsMemoryResponse RemovePermissionResponse
instance Transaction RemovePermission RemovePermissionResponse
instance SignQuery RemovePermission
instance ResponseConsumer r RemovePermissionResponse
instance AsMemoryResponse AddPermissionResponse
instance Transaction AddPermission AddPermissionResponse
instance SignQuery AddPermission
instance ResponseConsumer r AddPermissionResponse

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 Show CreateQueue
instance Show CreateQueueResponse
instance Show DeleteQueue
instance Show DeleteQueueResponse
instance Show ListQueues
instance Show ListQueuesResponse
instance AsMemoryResponse ListQueuesResponse
instance Transaction ListQueues ListQueuesResponse
instance SignQuery ListQueues
instance ResponseConsumer r ListQueuesResponse
instance AsMemoryResponse DeleteQueueResponse
instance Transaction DeleteQueue DeleteQueueResponse
instance SignQuery DeleteQueue
instance ResponseConsumer r DeleteQueueResponse
instance AsMemoryResponse CreateQueueResponse
instance Transaction CreateQueue CreateQueueResponse
instance SignQuery CreateQueue
instance ResponseConsumer r CreateQueueResponse

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 Show GetQueueAttributes
instance Show GetQueueAttributesResponse
instance Show SetQueueAttributes
instance Show SetQueueAttributesResponse
instance AsMemoryResponse SetQueueAttributesResponse
instance Transaction SetQueueAttributes SetQueueAttributesResponse
instance SignQuery SetQueueAttributes
instance ResponseConsumer r SetQueueAttributesResponse
instance AsMemoryResponse GetQueueAttributesResponse
instance Transaction GetQueueAttributes GetQueueAttributesResponse
instance SignQuery GetQueueAttributes
instance ResponseConsumer r GetQueueAttributesResponse

module Aws.Sqs.Commands

module Aws.Sqs

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
sesUsEast :: 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 Typeable SesError
instance Typeable SesMetadata
instance Typeable RawMessage
instance Typeable Destination
instance Typeable Sender
instance Show SesError
instance Show SesMetadata
instance Show (SesConfiguration qt)
instance Eq RawMessage
instance Ord RawMessage
instance Show RawMessage
instance Eq Destination
instance Ord Destination
instance Show Destination
instance Eq Sender
instance Ord Sender
instance Show Sender
instance SesAsQuery Sender
instance Monoid Destination
instance SesAsQuery Destination
instance SesAsQuery RawMessage
instance SesAsQuery a => SesAsQuery (Maybe a)
instance DefaultServiceConfiguration (SesConfiguration UriOnlyQuery)
instance DefaultServiceConfiguration (SesConfiguration NormalQuery)
instance Monoid SesMetadata
instance Loggable SesMetadata
instance Exception SesError

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 <a>SendRawEmail</a>
--   command.
data SendRawEmailResponse
SendRawEmailResponse :: Text -> SendRawEmailResponse
srmrMessageId :: SendRawEmailResponse -> Text
instance Typeable SendRawEmail
instance Typeable SendRawEmailResponse
instance Eq SendRawEmail
instance Ord SendRawEmail
instance Show SendRawEmail
instance Eq SendRawEmailResponse
instance Ord SendRawEmailResponse
instance Show SendRawEmailResponse
instance AsMemoryResponse SendRawEmailResponse
instance Transaction SendRawEmail SendRawEmailResponse
instance ResponseConsumer SendRawEmail SendRawEmailResponse
instance SignQuery SendRawEmail

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 <a>ListIdentities</a>
--   command.
data ListIdentitiesResponse
ListIdentitiesResponse :: [Text] -> ListIdentitiesResponse
data IdentityType
EmailAddress :: IdentityType
Domain :: IdentityType
instance Typeable IdentityType
instance Typeable ListIdentities
instance Typeable ListIdentitiesResponse
instance Eq IdentityType
instance Ord IdentityType
instance Show IdentityType
instance Eq ListIdentities
instance Ord ListIdentities
instance Show ListIdentities
instance Eq ListIdentitiesResponse
instance Ord ListIdentitiesResponse
instance Show ListIdentitiesResponse
instance AsMemoryResponse ListIdentitiesResponse
instance Transaction ListIdentities ListIdentitiesResponse
instance ResponseConsumer ListIdentities ListIdentitiesResponse
instance SignQuery ListIdentities

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
--   <a>VerifyEmailIdentity</a> command.
data VerifyEmailIdentityResponse
VerifyEmailIdentityResponse :: VerifyEmailIdentityResponse
instance Typeable VerifyEmailIdentity
instance Typeable VerifyEmailIdentityResponse
instance Eq VerifyEmailIdentity
instance Ord VerifyEmailIdentity
instance Show VerifyEmailIdentity
instance Eq VerifyEmailIdentityResponse
instance Ord VerifyEmailIdentityResponse
instance Show VerifyEmailIdentityResponse
instance AsMemoryResponse VerifyEmailIdentityResponse
instance Transaction VerifyEmailIdentity VerifyEmailIdentityResponse
instance ResponseConsumer VerifyEmailIdentity VerifyEmailIdentityResponse
instance SignQuery VerifyEmailIdentity

module Aws.Ses.Commands.VerifyDomainIdentity

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

-- | The response sent back by Amazon SES after a
--   <a>VerifyDomainIdentity</a> command.
data VerifyDomainIdentityResponse
VerifyDomainIdentityResponse :: Text -> VerifyDomainIdentityResponse
instance Typeable VerifyDomainIdentity
instance Typeable VerifyDomainIdentityResponse
instance Eq VerifyDomainIdentity
instance Ord VerifyDomainIdentity
instance Show VerifyDomainIdentity
instance Eq VerifyDomainIdentityResponse
instance Ord VerifyDomainIdentityResponse
instance Show VerifyDomainIdentityResponse
instance AsMemoryResponse VerifyDomainIdentityResponse
instance Transaction VerifyDomainIdentity VerifyDomainIdentityResponse
instance ResponseConsumer VerifyDomainIdentity VerifyDomainIdentityResponse
instance SignQuery VerifyDomainIdentity

module Aws.Ses.Commands.VerifyDomainDkim

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

-- | The response sent back by Amazon SES after a <a>VerifyDomainDkim</a>
--   command.
data VerifyDomainDkimResponse
VerifyDomainDkimResponse :: [Text] -> VerifyDomainDkimResponse
instance Typeable VerifyDomainDkim
instance Typeable VerifyDomainDkimResponse
instance Eq VerifyDomainDkim
instance Ord VerifyDomainDkim
instance Show VerifyDomainDkim
instance Eq VerifyDomainDkimResponse
instance Ord VerifyDomainDkimResponse
instance Show VerifyDomainDkimResponse
instance AsMemoryResponse VerifyDomainDkimResponse
instance Transaction VerifyDomainDkim VerifyDomainDkimResponse
instance ResponseConsumer VerifyDomainDkim VerifyDomainDkimResponse
instance SignQuery VerifyDomainDkim

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 <a>DeleteIdentity</a>
--   command.
data DeleteIdentityResponse
DeleteIdentityResponse :: DeleteIdentityResponse
instance Typeable DeleteIdentity
instance Typeable DeleteIdentityResponse
instance Eq DeleteIdentity
instance Ord DeleteIdentity
instance Show DeleteIdentity
instance Eq DeleteIdentityResponse
instance Ord DeleteIdentityResponse
instance Show DeleteIdentityResponse
instance AsMemoryResponse DeleteIdentityResponse
instance Transaction DeleteIdentity DeleteIdentityResponse
instance ResponseConsumer DeleteIdentity DeleteIdentityResponse
instance SignQuery DeleteIdentity

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
--   <a>GetIdentityDkimAttributes</a> 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 Typeable GetIdentityDkimAttributes
instance Typeable IdentityDkimAttributes
instance Typeable GetIdentityDkimAttributesResponse
instance Eq GetIdentityDkimAttributes
instance Ord GetIdentityDkimAttributes
instance Show GetIdentityDkimAttributes
instance Eq IdentityDkimAttributes
instance Ord IdentityDkimAttributes
instance Show IdentityDkimAttributes
instance Eq GetIdentityDkimAttributesResponse
instance Ord GetIdentityDkimAttributesResponse
instance Show GetIdentityDkimAttributesResponse
instance AsMemoryResponse GetIdentityDkimAttributesResponse
instance Transaction GetIdentityDkimAttributes GetIdentityDkimAttributesResponse
instance ResponseConsumer GetIdentityDkimAttributes GetIdentityDkimAttributesResponse
instance SignQuery GetIdentityDkimAttributes

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
--   <a>GetIdentityNotificationAttributes</a> 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 Typeable GetIdentityNotificationAttributes
instance Typeable IdentityNotificationAttributes
instance Typeable GetIdentityNotificationAttributesResponse
instance Eq GetIdentityNotificationAttributes
instance Ord GetIdentityNotificationAttributes
instance Show GetIdentityNotificationAttributes
instance Eq IdentityNotificationAttributes
instance Ord IdentityNotificationAttributes
instance Show IdentityNotificationAttributes
instance Eq GetIdentityNotificationAttributesResponse
instance Ord GetIdentityNotificationAttributesResponse
instance Show GetIdentityNotificationAttributesResponse
instance AsMemoryResponse GetIdentityNotificationAttributesResponse
instance Transaction GetIdentityNotificationAttributes GetIdentityNotificationAttributesResponse
instance ResponseConsumer GetIdentityNotificationAttributes GetIdentityNotificationAttributesResponse
instance SignQuery GetIdentityNotificationAttributes

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
--   <a>GetIdentityVerificationAttributes</a> 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 Typeable GetIdentityVerificationAttributes
instance Typeable IdentityVerificationAttributes
instance Typeable GetIdentityVerificationAttributesResponse
instance Eq GetIdentityVerificationAttributes
instance Ord GetIdentityVerificationAttributes
instance Show GetIdentityVerificationAttributes
instance Eq IdentityVerificationAttributes
instance Ord IdentityVerificationAttributes
instance Show IdentityVerificationAttributes
instance Eq GetIdentityVerificationAttributesResponse
instance Ord GetIdentityVerificationAttributesResponse
instance Show GetIdentityVerificationAttributesResponse
instance AsMemoryResponse GetIdentityVerificationAttributesResponse
instance Transaction GetIdentityVerificationAttributes GetIdentityVerificationAttributesResponse
instance ResponseConsumer GetIdentityVerificationAttributes GetIdentityVerificationAttributesResponse
instance SignQuery GetIdentityVerificationAttributes

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

-- | <tt>Just</tt> the ARN of the SNS topic or <tt>Nothing</tt> to unset
--   the topic.
sntSnsTopic :: SetIdentityNotificationTopic -> Maybe Text

-- | The response sent back by SES after the
--   <a>SetIdentityNotificationTopic</a> command.
data SetIdentityNotificationTopicResponse
SetIdentityNotificationTopicResponse :: SetIdentityNotificationTopicResponse
data NotificationType
Bounce :: NotificationType
Complaint :: NotificationType
instance Typeable NotificationType
instance Typeable SetIdentityNotificationTopic
instance Typeable SetIdentityNotificationTopicResponse
instance Eq NotificationType
instance Ord NotificationType
instance Show NotificationType
instance Eq SetIdentityNotificationTopic
instance Ord SetIdentityNotificationTopic
instance Show SetIdentityNotificationTopic
instance Eq SetIdentityNotificationTopicResponse
instance Ord SetIdentityNotificationTopicResponse
instance Show SetIdentityNotificationTopicResponse
instance AsMemoryResponse SetIdentityNotificationTopicResponse
instance Transaction SetIdentityNotificationTopic SetIdentityNotificationTopicResponse
instance ResponseConsumer SetIdentityNotificationTopic SetIdentityNotificationTopicResponse
instance SignQuery SetIdentityNotificationTopic

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 <a>SetIdentityDkimEnabled</a>
--   command.
data SetIdentityDkimEnabledResponse
SetIdentityDkimEnabledResponse :: SetIdentityDkimEnabledResponse
instance Typeable SetIdentityDkimEnabled
instance Typeable SetIdentityDkimEnabledResponse
instance Eq SetIdentityDkimEnabled
instance Ord SetIdentityDkimEnabled
instance Show SetIdentityDkimEnabled
instance Eq SetIdentityDkimEnabledResponse
instance Ord SetIdentityDkimEnabledResponse
instance Show SetIdentityDkimEnabledResponse
instance AsMemoryResponse SetIdentityDkimEnabledResponse
instance Transaction SetIdentityDkimEnabled SetIdentityDkimEnabledResponse
instance ResponseConsumer SetIdentityDkimEnabled SetIdentityDkimEnabledResponse
instance SignQuery SetIdentityDkimEnabled

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
--   <a>SetIdentityFeedbackForwardingEnabled</a> command.
data SetIdentityFeedbackForwardingEnabledResponse
SetIdentityFeedbackForwardingEnabledResponse :: SetIdentityFeedbackForwardingEnabledResponse
instance Typeable SetIdentityFeedbackForwardingEnabled
instance Typeable SetIdentityFeedbackForwardingEnabledResponse
instance Eq SetIdentityFeedbackForwardingEnabled
instance Ord SetIdentityFeedbackForwardingEnabled
instance Show SetIdentityFeedbackForwardingEnabled
instance Eq SetIdentityFeedbackForwardingEnabledResponse
instance Ord SetIdentityFeedbackForwardingEnabledResponse
instance Show SetIdentityFeedbackForwardingEnabledResponse
instance AsMemoryResponse SetIdentityFeedbackForwardingEnabledResponse
instance Transaction SetIdentityFeedbackForwardingEnabled SetIdentityFeedbackForwardingEnabledResponse
instance ResponseConsumer SetIdentityFeedbackForwardingEnabled SetIdentityFeedbackForwardingEnabledResponse
instance SignQuery SetIdentityFeedbackForwardingEnabled

module Aws.Ses.Commands

module Aws.Ses

module Aws.DynamoDb.Core
type ErrorCode = String
data DyError
DyError :: Status -> ErrorCode -> String -> DyError
dyStatusCode :: DyError -> Status
dyErrorCode :: DyError -> ErrorCode
dyErrorMessage :: DyError -> String
data DyMetadata
DyMetadata :: DyMetadata
data DyConfiguration qt
DyConfiguration :: Protocol -> ByteString -> Int -> ByteString -> DyConfiguration qt
dyProtocol :: DyConfiguration qt -> Protocol
dyHost :: DyConfiguration qt -> ByteString
dyPort :: DyConfiguration qt -> Int
dyRegion :: DyConfiguration qt -> ByteString
dyUsEast :: (ByteString, ByteString)
dyHttp :: (ByteString, ByteString) -> DyConfiguration qt
dyHttps :: (ByteString, ByteString) -> DyConfiguration qt
dyLocal :: DyConfiguration qt
dyApiVersion :: ByteString
dySignQuery :: ToJSON a => ByteString -> a -> DyConfiguration qt -> SignatureData -> SignedQuery
dyResponseConsumer :: FromJSON a => HTTPResponseConsumer a
instance Typeable DyError
instance Typeable DyMetadata
instance Show DyError
instance Show DyMetadata
instance Show (DyConfiguration qt)
instance DefaultServiceConfiguration (DyConfiguration NormalQuery)
instance Monoid DyMetadata
instance Loggable DyMetadata
instance Exception DyError

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

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

-- | at most 5 local secondary indices are allowed
createLocalSecondaryIndexes :: CreateTable -> [LocalSecondaryIndex]
createGlobalSecondaryIndexes :: CreateTable -> [GlobalSecondaryIndex]
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 KeyAttributeType
AttrStringT :: KeyAttributeType
AttrNumberT :: KeyAttributeType
AttrBinaryT :: KeyAttributeType

-- | A key attribute that appears in the table key or as a key in one of
--   the indices.
data KeyAttributeDefinition
KeyAttributeDefinition :: Text -> KeyAttributeType -> KeyAttributeDefinition
attributeName :: KeyAttributeDefinition -> Text
attributeType :: KeyAttributeDefinition -> KeyAttributeType

-- | 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
KeyHashOnly :: Text -> KeySchema
KeyHashAndRange :: 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 <a>UpdateTable</a> 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 -> UTCTime -> Integer -> [KeyAttributeDefinition] -> KeySchema -> ProvisionedThroughputStatus -> [LocalSecondaryIndexStatus] -> [GlobalSecondaryIndexStatus] -> TableDescription
rTableName :: TableDescription -> Text
rTableSizeBytes :: TableDescription -> Integer

-- | one of CREATING, UPDATING, DELETING, ACTIVE
rTableStatus :: TableDescription -> Text
rCreationDateTime :: TableDescription -> UTCTime
rItemCount :: TableDescription -> Integer
rAttributeDefinitions :: TableDescription -> [KeyAttributeDefinition]
rKeySchema :: TableDescription -> KeySchema
rProvisionedThroughput :: TableDescription -> ProvisionedThroughputStatus
rLocalSecondaryIndexes :: TableDescription -> [LocalSecondaryIndexStatus]
rGlobalSecondaryIndexes :: TableDescription -> [GlobalSecondaryIndexStatus]
instance Show KeyAttributeType
instance Eq KeyAttributeType
instance Enum KeyAttributeType
instance Bounded KeyAttributeType
instance Generic KeyAttributeType
instance Show KeyAttributeDefinition
instance Generic KeyAttributeDefinition
instance Show KeySchema
instance Show Projection
instance Show LocalSecondaryIndex
instance Generic LocalSecondaryIndex
instance Show LocalSecondaryIndexStatus
instance Generic LocalSecondaryIndexStatus
instance Show ProvisionedThroughput
instance Generic ProvisionedThroughput
instance Show ProvisionedThroughputStatus
instance Generic ProvisionedThroughputStatus
instance Show GlobalSecondaryIndex
instance Generic GlobalSecondaryIndex
instance Show GlobalSecondaryIndexStatus
instance Generic GlobalSecondaryIndexStatus
instance Show GlobalSecondaryIndexUpdate
instance Generic GlobalSecondaryIndexUpdate
instance Show TableDescription
instance Generic TableDescription
instance Show CreateTable
instance Generic CreateTable
instance Show CreateTableResult
instance FromJSON CreateTableResult
instance Show DescribeTable
instance Generic DescribeTable
instance Show DescribeTableResult
instance FromJSON DescribeTableResult
instance Show UpdateTable
instance Generic UpdateTable
instance Show UpdateTableResult
instance FromJSON UpdateTableResult
instance Show DeleteTable
instance Generic DeleteTable
instance Show DeleteTableResult
instance FromJSON DeleteTableResult
instance Show ListTables
instance Show ListTablesResult
instance Generic ListTablesResult
instance Datatype D1KeyAttributeType
instance Constructor C1_0KeyAttributeType
instance Constructor C1_1KeyAttributeType
instance Constructor C1_2KeyAttributeType
instance Datatype D1KeyAttributeDefinition
instance Constructor C1_0KeyAttributeDefinition
instance Selector S1_0_0KeyAttributeDefinition
instance Selector S1_0_1KeyAttributeDefinition
instance Datatype D1LocalSecondaryIndex
instance Constructor C1_0LocalSecondaryIndex
instance Selector S1_0_0LocalSecondaryIndex
instance Selector S1_0_1LocalSecondaryIndex
instance Selector S1_0_2LocalSecondaryIndex
instance Datatype D1LocalSecondaryIndexStatus
instance Constructor C1_0LocalSecondaryIndexStatus
instance Selector S1_0_0LocalSecondaryIndexStatus
instance Selector S1_0_1LocalSecondaryIndexStatus
instance Selector S1_0_2LocalSecondaryIndexStatus
instance Selector S1_0_3LocalSecondaryIndexStatus
instance Selector S1_0_4LocalSecondaryIndexStatus
instance Datatype D1ProvisionedThroughput
instance Constructor C1_0ProvisionedThroughput
instance Selector S1_0_0ProvisionedThroughput
instance Selector S1_0_1ProvisionedThroughput
instance Datatype D1ProvisionedThroughputStatus
instance Constructor C1_0ProvisionedThroughputStatus
instance Selector S1_0_0ProvisionedThroughputStatus
instance Selector S1_0_1ProvisionedThroughputStatus
instance Selector S1_0_2ProvisionedThroughputStatus
instance Selector S1_0_3ProvisionedThroughputStatus
instance Selector S1_0_4ProvisionedThroughputStatus
instance Datatype D1GlobalSecondaryIndex
instance Constructor C1_0GlobalSecondaryIndex
instance Selector S1_0_0GlobalSecondaryIndex
instance Selector S1_0_1GlobalSecondaryIndex
instance Selector S1_0_2GlobalSecondaryIndex
instance Selector S1_0_3GlobalSecondaryIndex
instance Datatype D1GlobalSecondaryIndexStatus
instance Constructor C1_0GlobalSecondaryIndexStatus
instance Selector S1_0_0GlobalSecondaryIndexStatus
instance Selector S1_0_1GlobalSecondaryIndexStatus
instance Selector S1_0_2GlobalSecondaryIndexStatus
instance Selector S1_0_3GlobalSecondaryIndexStatus
instance Selector S1_0_4GlobalSecondaryIndexStatus
instance Selector S1_0_5GlobalSecondaryIndexStatus
instance Selector S1_0_6GlobalSecondaryIndexStatus
instance Datatype D1GlobalSecondaryIndexUpdate
instance Constructor C1_0GlobalSecondaryIndexUpdate
instance Selector S1_0_0GlobalSecondaryIndexUpdate
instance Selector S1_0_1GlobalSecondaryIndexUpdate
instance Datatype D1TableDescription
instance Constructor C1_0TableDescription
instance Selector S1_0_0TableDescription
instance Selector S1_0_1TableDescription
instance Selector S1_0_2TableDescription
instance Selector S1_0_3TableDescription
instance Selector S1_0_4TableDescription
instance Selector S1_0_5TableDescription
instance Selector S1_0_6TableDescription
instance Selector S1_0_7TableDescription
instance Selector S1_0_8TableDescription
instance Selector S1_0_9TableDescription
instance Datatype D1CreateTable
instance Constructor C1_0CreateTable
instance Selector S1_0_0CreateTable
instance Selector S1_0_1CreateTable
instance Selector S1_0_2CreateTable
instance Selector S1_0_3CreateTable
instance Selector S1_0_4CreateTable
instance Selector S1_0_5CreateTable
instance Datatype D1DescribeTable
instance Constructor C1_0DescribeTable
instance Selector S1_0_0DescribeTable
instance Datatype D1UpdateTable
instance Constructor C1_0UpdateTable
instance Selector S1_0_0UpdateTable
instance Selector S1_0_1UpdateTable
instance Selector S1_0_2UpdateTable
instance Datatype D1DeleteTable
instance Constructor C1_0DeleteTable
instance Selector S1_0_0DeleteTable
instance Datatype D1ListTablesResult
instance Constructor C1_0ListTablesResult
instance Selector S1_0_0ListTablesResult
instance Transaction ListTables ListTablesResult
instance AsMemoryResponse ListTablesResult
instance ResponseConsumer r ListTablesResult
instance FromJSON ListTablesResult
instance SignQuery ListTables
instance ToJSON ListTables
instance Transaction DeleteTable DeleteTableResult
instance AsMemoryResponse DeleteTableResult
instance ResponseConsumer r DeleteTableResult
instance SignQuery DeleteTable
instance ToJSON DeleteTable
instance Transaction UpdateTable UpdateTableResult
instance AsMemoryResponse UpdateTableResult
instance ResponseConsumer r UpdateTableResult
instance SignQuery UpdateTable
instance ToJSON UpdateTable
instance Transaction DescribeTable DescribeTableResult
instance AsMemoryResponse DescribeTableResult
instance ResponseConsumer r DescribeTableResult
instance SignQuery DescribeTable
instance ToJSON DescribeTable
instance Transaction CreateTable CreateTableResult
instance AsMemoryResponse CreateTableResult
instance ResponseConsumer r CreateTableResult
instance SignQuery CreateTable
instance ToJSON CreateTable
instance FromJSON TableDescription
instance ToJSON GlobalSecondaryIndexUpdate
instance FromJSON GlobalSecondaryIndexStatus
instance FromJSON GlobalSecondaryIndex
instance ToJSON GlobalSecondaryIndex
instance FromJSON ProvisionedThroughputStatus
instance FromJSON ProvisionedThroughput
instance ToJSON ProvisionedThroughput
instance FromJSON LocalSecondaryIndexStatus
instance FromJSON LocalSecondaryIndex
instance ToJSON LocalSecondaryIndex
instance FromJSON Projection
instance ToJSON Projection
instance FromJSON KeySchema
instance ToJSON KeySchema
instance FromJSON KeyAttributeDefinition
instance ToJSON KeyAttributeDefinition
instance FromJSON KeyAttributeType
instance ToJSON KeyAttributeType

module Aws.DynamoDb.Commands

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 <tt>defaultLog minLevel</tt>, which prints log
--   messages above level <tt>minLevel</tt> to <tt>stderr</tt>.
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 -> 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

-- | The default configuration, with credentials loaded from environment
--   variable or configuration file (see <a>loadCredentialsDefault</a>).
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
--   <a>Response</a>.
--   
--   All errors are caught and wrapped in the <a>Response</a> value.
--   
--   Metadata is logged at level <a>Info</a>.
--   
--   Usage (with existing <a>Manager</a>): <tt> resp &lt;- aws cfg
--   serviceCfg manager request </tt>
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
--   <a>IORef</a>.
--   
--   Errors are not caught, and need to be handled with exception handlers.
--   
--   Metadata is not logged.
--   
--   Usage (with existing <a>Manager</a>): <tt> ref &lt;- newIORef mempty;
--   resp &lt;- awsRef cfg serviceCfg manager request </tt>
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 <a>Info</a>.
--   
--   Usage (with existing <a>Manager</a>): <tt> resp &lt;- aws cfg
--   serviceCfg manager request </tt>
pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a

-- | Run an AWS transaction, <i>without</i> HTTP manager and without
--   metadata.
--   
--   Metadata is logged at level <a>Info</a>.
--   
--   Note that this is potentially less efficient than using <a>aws</a>,
--   because HTTP connections cannot be re-used.
--   
--   Usage: <tt> resp &lt;- simpleAws cfg serviceCfg request </tt>
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 <a>Response</a> value.
--   
--   Metadata is wrapped in the Response, and also logged at level
--   <a>Info</a>.
unsafeAws :: (ResponseConsumer r a, Monoid (ResponseMetadata 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 <a>IORef</a>, but not logged.
unsafeAwsRef :: (ResponseConsumer r a, Monoid (ResponseMetadata 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: <tt> uri &lt;- awsUri cfg request </tt>
awsUri :: (SignQuery request, MonadIO io) => Configuration -> ServiceConfiguration request UriOnlyQuery -> request -> io ByteString
awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) (Response (ResponseMetadata a) a)
awsIteratedList :: (IteratedTransaction r a, ListResponse a i) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) i
instance Show LogLevel
instance Eq LogLevel
instance Ord 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 <tt>defaultLog minLevel</tt>, which prints log
--   messages above level <tt>minLevel</tt> to <tt>stderr</tt>.
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 -> 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

-- | The default configuration, with credentials loaded from environment
--   variable or configuration file (see <a>loadCredentialsDefault</a>).
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
--   <a>Response</a>.
--   
--   All errors are caught and wrapped in the <a>Response</a> value.
--   
--   Metadata is logged at level <a>Info</a>.
--   
--   Usage (with existing <a>Manager</a>): <tt> resp &lt;- aws cfg
--   serviceCfg manager request </tt>
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
--   <a>IORef</a>.
--   
--   Errors are not caught, and need to be handled with exception handlers.
--   
--   Metadata is not logged.
--   
--   Usage (with existing <a>Manager</a>): <tt> ref &lt;- newIORef mempty;
--   resp &lt;- awsRef cfg serviceCfg manager request </tt>
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 <a>Info</a>.
--   
--   Usage (with existing <a>Manager</a>): <tt> resp &lt;- aws cfg
--   serviceCfg manager request </tt>
pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a

-- | Run an AWS transaction, <i>without</i> HTTP manager and without
--   metadata.
--   
--   Metadata is logged at level <a>Info</a>.
--   
--   Note that this is potentially less efficient than using <a>aws</a>,
--   because HTTP connections cannot be re-used.
--   
--   Usage: <tt> resp &lt;- simpleAws cfg serviceCfg request </tt>
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 <a>Response</a> value.
--   
--   Metadata is wrapped in the Response, and also logged at level
--   <a>Info</a>.
unsafeAws :: (ResponseConsumer r a, Monoid (ResponseMetadata 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 <a>IORef</a>, but not logged.
unsafeAwsRef :: (ResponseConsumer r a, Monoid (ResponseMetadata 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: <tt> uri &lt;- awsUri cfg request </tt>
awsUri :: (SignQuery request, MonadIO io) => Configuration -> ServiceConfiguration request UriOnlyQuery -> request -> io ByteString
awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) (Response (ResponseMetadata a) a)
awsIteratedList :: (IteratedTransaction r a, ListResponse a i) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) i

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

-- | A response with metadata. Can also contain an error response, or an
--   internal error, via <tt>Attempt</tt>.
--   
--   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

-- | Class for responses that are fully loaded into memory
class AsMemoryResponse resp where type family 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

-- | Default configuration for a specific service.
class DefaultServiceConfiguration config where debugServiceConfig = defServiceConfig
defServiceConfig :: DefaultServiceConfiguration config => config
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 <a>SignQuery</a> and <a>ResponseConsumer</a> respectively.
class (SignQuery r, ResponseConsumer r a, Loggable (ResponseMetadata a)) => Transaction r a | r -> a, a -> r

-- | 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, a -> r

-- | AWS access credentials.
data Credentials
Credentials :: ByteString -> ByteString -> IORef [V4Key] -> Maybe ByteString -> 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

-- | The file where access credentials are loaded, when using
--   <a>loadCredentialsDefault</a>.
--   
--   Value: <i>&lt;user directory&gt;</i><tt>/.aws-keys</tt>
credentialsDefaultFile :: MonadIO io => io FilePath

-- | The key to be used in the access credential file that is loaded, when
--   using <a>loadCredentialsDefault</a>.
--   
--   Value: <tt>default</tt>
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:
--   
--   <pre>
--   keyName awsKeyID awsKeySecret
--   </pre>
loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)

-- | Load credentials from the environment variables
--   <tt>AWS_ACCESS_KEY_ID</tt> and <tt>AWS_ACCESS_KEY_SECRET</tt> (or
--   <tt>AWS_SECRET_ACCESS_KEY</tt>), 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 <a>loadCredentialsFromEnv</a> and <a>loadCredentialsFromFile</a>
--   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 <a>loadCredentialsFromEnv</a>, <a>loadCredentialsFromFile</a> and
--   <a>loadCredentialsFromInstanceMetadata</a> 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: <i>&lt;user directory&gt;</i><tt>/.aws-keys</tt> Default
--   key name: <tt>default</tt>
--   
--   See <a>loadCredentialsFromEnv</a> and <a>loadCredentialsFromFile</a>
--   for details.
loadCredentialsDefault :: MonadIO io => io (Maybe Credentials)
