-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Amazon Web Services (AWS) for Haskell -- @package aws @version 0.12 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 Attempt. -- -- Response forms a Writer-like monad. data Response m a Response :: m -> Either SomeException a -> Response m a responseMetadata :: Response m a -> m responseResult :: Response m a -> Either SomeException a -- | Read a response result (if it's a success response, fail otherwise). readResponse :: MonadThrow n => Response m a -> n a -- | Read a response result (if it's a success response, fail otherwise). -- In MonadIO. readResponseIO :: MonadIO io => Response m a -> io a -- | An empty response with some metadata. tellMetadata :: m -> Response m () -- | Add metadata to an IORef (using mappend). tellMetadataRef :: Monoid m => IORef m -> m -> IO () -- | Apply a function to the metadata. mapMetadata :: (m -> n) -> Response m a -> Response n a -- | A full HTTP response parser. Takes HTTP status, response headers, and -- response body. type HTTPResponseConsumer a = Response (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 ByteString. 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 noCredentialsErrorMessage :: 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 elContent, but extracts Strings instead of -- Text. elCont :: Text -> Cursor -> [String] -- | Extract the first element from a parser result list, and throw an -- XmlException if the list is empty. force :: MonadThrow m => String -> [a] -> m a -- | Extract the first element from a monadic parser result list, and throw -- an XmlException if the list is empty. forceM :: MonadThrow m => String -> [m a] -> m a -- | Read an integer from a Text, throwing an XmlException on -- failure. textReadInt :: (MonadThrow m, Num a) => Text -> m a -- | Read an integer from a String, throwing an XmlException -- on failure. readInt :: (MonadThrow m, Num a) => String -> m a -- | Create a complete HTTPResponseConsumer from a simple function -- that takes a Cursor to XML in the response body. -- -- This function is highly recommended for any services that parse -- relatively short XML responses. (If status and response headers are -- required, simply take them as function parameters, and pass them -- through to this function.) xmlCursorConsumer :: Monoid m => (Cursor -> Response m a) -> IORef m -> HTTPResponseConsumer a -- | A pre-signed medium-level request object. data SignedQuery SignedQuery :: !Method -> !Protocol -> !ByteString -> !Int -> !ByteString -> !Query -> !(Maybe UTCTime) -> !(Maybe (IO ByteString)) -> !(Maybe ByteString) -> !(Maybe (Digest MD5)) -> !RequestHeaders -> !RequestHeaders -> !(Maybe RequestBody) -> !ByteString -> SignedQuery -- | Request method. sqMethod :: SignedQuery -> !Method -- | Protocol to be used. sqProtocol :: SignedQuery -> !Protocol -- | HTTP host. sqHost :: SignedQuery -> !ByteString -- | IP port. sqPort :: SignedQuery -> !Int -- | HTTP path. sqPath :: SignedQuery -> !ByteString -- | Query string list (used with Get and PostQuery). sqQuery :: SignedQuery -> !Query -- | Request date/time. sqDate :: SignedQuery -> !(Maybe UTCTime) -- | Authorization string (if applicable), for Authorization -- header. See authorizationV4 sqAuthorization :: SignedQuery -> !(Maybe (IO ByteString)) -- | Request body content type. sqContentType :: SignedQuery -> !(Maybe ByteString) -- | Request body content MD5. sqContentMd5 :: SignedQuery -> !(Maybe (Digest MD5)) -- | Additional Amazon "amz" headers. sqAmzHeaders :: SignedQuery -> !RequestHeaders -- | Additional non-"amz" headers. sqOtherHeaders :: SignedQuery -> !RequestHeaders -- | Request body (used with Post and Put). sqBody :: SignedQuery -> !(Maybe RequestBody) -- | String to sign. Note that the string is already signed, this is passed -- mostly for debugging purposes. sqStringToSign :: SignedQuery -> !ByteString -- | Tag type for normal queries. data NormalQuery -- | Tag type for URI-only queries. data UriOnlyQuery -- | Create a HTTP request from a SignedQuery object. queryToHttpRequest :: SignedQuery -> IO Request -- | Create a URI fro a SignedQuery object. -- -- Unused / incompatible fields will be silently ignored. queryToUri :: SignedQuery -> ByteString -- | Whether to restrict the signature validity with a plain timestamp, or -- with explicit expiration (absolute or relative). data TimeInfo -- | Use a simple timestamp to let AWS check the request validity. Timestamp :: TimeInfo -- | Let requests expire at a specific fixed time. ExpiresAt :: UTCTime -> TimeInfo fromExpiresAt :: TimeInfo -> UTCTime -- | Let requests expire a specific number of seconds after they were -- generated. ExpiresIn :: NominalDiffTime -> TimeInfo fromExpiresIn :: TimeInfo -> NominalDiffTime -- | Like TimeInfo, but with all relative times replaced by absolute -- UTC. data AbsoluteTimeInfo AbsoluteTimestamp :: UTCTime -> AbsoluteTimeInfo fromAbsoluteTimestamp :: AbsoluteTimeInfo -> UTCTime AbsoluteExpires :: UTCTime -> AbsoluteTimeInfo fromAbsoluteExpires :: AbsoluteTimeInfo -> UTCTime -- | Just the UTC time value. fromAbsoluteTimeInfo :: AbsoluteTimeInfo -> UTCTime -- | Convert TimeInfo to AbsoluteTimeInfo given the current -- UTC time. makeAbsoluteTimeInfo :: TimeInfo -> UTCTime -> AbsoluteTimeInfo -- | Data that is always required for signing requests. data SignatureData SignatureData :: AbsoluteTimeInfo -> UTCTime -> Credentials -> SignatureData -- | Expiration or timestamp. signatureTimeInfo :: SignatureData -> AbsoluteTimeInfo -- | Current time. signatureTime :: SignatureData -> UTCTime -- | Access credentials. signatureCredentials :: SignatureData -> Credentials -- | Create signature data using the current system time. signatureData :: TimeInfo -> Credentials -> IO SignatureData -- | A "signable" request object. Assembles together the Query, and signs -- it in one go. class SignQuery request where 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 -- sqAuthorization. See -- http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html: -- you must create the canonical request as explained by Step 1 and this -- function takes care of Steps 2 and 3. authorizationV4 :: SignatureData -> AuthorizationHash -> ByteString -> ByteString -> ByteString -> ByteString -> IO ByteString -- | queryList f prefix xs constructs a query list from a list of -- elements xs, using a common prefix prefix, and a -- transformer function f. -- -- A dot (.) is interspersed between prefix and generated key. -- -- Example: -- -- queryList swap "pfx" [("a", "b"), ("c", "d")] evaluates to -- [("pfx.b", "a"), ("pfx.d", "c")] (except with ByteString -- instead of String, of course). queryList :: (a -> [(ByteString, ByteString)]) -> ByteString -> [a] -> [(ByteString, ByteString)] -- | A "true"/"false" boolean as requested by some services. awsBool :: Bool -> ByteString -- | "true" awsTrue :: ByteString -- | "false" awsFalse :: ByteString -- | Format time according to a format string, as a ByteString. fmtTime :: String -> UTCTime -> ByteString -- | Format time in RFC 822 format. fmtRfc822Time :: UTCTime -> ByteString rfc822Time :: String -- | Format time in yyyy-mm-ddThh-mm-ss format. fmtAmzTime :: UTCTime -> ByteString -- | Format time as seconds since the Unix epoch. fmtTimeEpochSeconds :: UTCTime -> ByteString -- | Parse HTTP-date (section 3.3.1 of RFC 2616) parseHttpDate :: String -> Maybe UTCTime -- | HTTP-date (section 3.3.1 of RFC 2616, first type - RFC1123-style) httpDate1 :: String -- | Format (as Text) HTTP-date (section 3.3.1 of RFC 2616, first type - -- RFC1123-style) textHttpDate :: UTCTime -> Text iso8601UtcDate :: String -- | Associates a request type and a response type in a bi-directional way. -- -- This allows the type-checker to infer the response type when given the -- request type and vice versa. -- -- Note that the actual request generation and response parsing resides -- in SignQuery and ResponseConsumer respectively. class (SignQuery r, ResponseConsumer r a, Loggable (ResponseMetadata a)) => Transaction r a | r -> a -- | A transaction that may need to be split over multiple requests, for -- example because of upstream response size limits. class Transaction r a => IteratedTransaction r a | r -> a nextIteratedRequest :: IteratedTransaction r a => r -> a -> Maybe r -- | AWS access credentials. data Credentials Credentials :: ByteString -> ByteString -> IORef [V4Key] -> Maybe ByteString -> 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 makeCredentials :: MonadIO io => ByteString -> ByteString -> io Credentials -- | The file where access credentials are loaded, when using -- loadCredentialsDefault. -- -- Value: directory/.aws-keys credentialsDefaultFile :: MonadIO io => io FilePath -- | The key to be used in the access credential file that is loaded, when -- using loadCredentialsDefault. -- -- Value: default credentialsDefaultKey :: Text -- | Load credentials from a (text) file given a key name. -- -- The file consists of a sequence of lines, each in the following -- format: -- --
-- keyName awsKeyID awsKeySecret --loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) -- | Load credentials from the environment variables -- AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY_SECRET (or -- AWS_SECRET_ACCESS_KEY), if possible. loadCredentialsFromEnv :: MonadIO io => io (Maybe Credentials) loadCredentialsFromInstanceMetadata :: MonadIO io => io (Maybe Credentials) -- | Load credentials from environment variables if possible, or -- alternatively from a file with a given key name. -- -- See loadCredentialsFromEnv and loadCredentialsFromFile -- for details. loadCredentialsFromEnvOrFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) -- | Load credentials from environment variables if possible, or -- alternatively from the instance metadata store, or alternatively from -- a file with a given key name. -- -- See loadCredentialsFromEnv, loadCredentialsFromFile and -- loadCredentialsFromInstanceMetadata for details. loadCredentialsFromEnvOrFileOrInstanceMetadata :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) -- | Load credentials from environment variables if possible, or -- alternative from the default file with the default key name. -- -- Default file: directory/.aws-keys Default key -- name: default -- -- See loadCredentialsFromEnv and loadCredentialsFromFile -- for details. loadCredentialsDefault :: MonadIO io => io (Maybe Credentials) -- | 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 Protocol 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 Eq Protocol instance Read Protocol instance Show Protocol instance Ord Protocol instance Show Method instance Eq Method instance Ord 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) -- | Shared types and utilities for DyanmoDb functionality. module Aws.DynamoDb.Core data Region Region :: ByteString -> ByteString -> Region rUri :: Region -> ByteString rName :: Region -> ByteString -- | DynamoDb local connection (for development) ddbLocal :: Region ddbUsEast1 :: Region ddbUsWest1 :: Region ddbUsWest2 :: Region ddbEuWest1 :: Region ddbApNe1 :: Region ddbApSe1 :: Region ddbApSe2 :: Region ddbSaEast1 :: Region data DdbConfiguration qt DdbConfiguration :: Region -> Protocol -> Maybe Int -> DdbConfiguration qt -- | The regional endpoint. Ex: ddbUsEast ddbcRegion :: DdbConfiguration qt -> Region -- | HTTP or HTTPS ddbcProtocol :: DdbConfiguration qt -> Protocol -- | Port override (mostly for local dev connection) ddbcPort :: DdbConfiguration qt -> Maybe Int -- | Value types natively recognized by DynamoDb. We pretty much exactly -- reflect the AWS API onto Haskell types. data DValue DNum :: Scientific -> DValue DString :: Text -> DValue -- | Binary data will automatically be base64 marshalled. DBinary :: ByteString -> DValue DNumSet :: (Set Scientific) -> DValue DStringSet :: (Set Text) -> DValue -- | Binary data will automatically be base64 marshalled. DBinSet :: (Set ByteString) -> DValue -- | Class of Haskell types that can be represented as DynamoDb values. -- -- This is the conversion layer; instantiate this class for your own -- types and then use the toValue and fromValue combinators -- to convert in application code. -- -- Each Haskell type instantiated with this class will map to a -- DynamoDb-supported type that most naturally represents it. class DynData (DynRep a) => DynVal a where type family DynRep a toRep :: DynVal a => a -> DynRep a fromRep :: DynVal a => DynRep a -> Maybe a -- | Encode a Haskell value. toValue :: DynVal a => a -> DValue -- | Decode a Haskell value. fromValue :: DynVal a => DValue -> Maybe a -- | Type wrapper for binary data to be written to DynamoDB. Wrap any -- Serialize instance in there and DynVal will know how -- to automatically handle conversions in binary form. newtype Bin a Bin :: a -> Bin a getBin :: Bin a -> a -- | An internally used closed typeclass for values that have direct -- DynamoDb representations. Based on AWS API, this is basically numbers, -- strings and binary blobs. -- -- This is here so that any DynVal haskell value can automatically -- be lifted to a list or a Set without any instance code -- duplication. -- -- Do not try to create your own instances. class Ord a => DynData a fromData :: DynData a => a -> DValue toData :: DynData a => DValue -> Maybe a -- | Binary values stored in DynamoDb. Only used in defining new -- DynVal instances. newtype DynBinary DynBinary :: ByteString -> DynBinary unDynBinary :: DynBinary -> ByteString -- | Numeric values stored in DynamoDb. Only used in defining new -- DynVal instances. newtype DynNumber DynNumber :: Scientific -> DynNumber unDynNumber :: DynNumber -> Scientific -- | String values stored in DynamoDb. Only used in defining new -- DynVal instances. newtype DynString DynString :: Text -> DynString unDynString :: DynString -> Text -- | A key-value pair data Attribute Attribute :: Text -> DValue -> Attribute attrName :: Attribute -> Text attrVal :: Attribute -> DValue -- | Parse a JSON object that contains attributes parseAttributeJson :: Value -> Parser [Attribute] -- | Convert into JSON pair attributeJson :: Attribute -> Pair -- | Convert into JSON object for AWS. attributesJson :: [Attribute] -> Value -- | Convert attribute to a tuple representation attrTuple :: Attribute -> (Text, DValue) -- | Convenience function for constructing key-value pairs attr :: DynVal a => Text -> a -> Attribute -- | attr with type witness to help with cases where you're manually -- supplying values in code. -- --
-- > item [ attrAs text "name" "john" ] --attrAs :: DynVal a => Proxy a -> Text -> a -> Attribute -- | Type witness for Text. See attrAs. text :: Proxy Text -- | Type witness for Integer. See attrAs. int :: Proxy Integer -- | Type witness for Double. See attrAs. double :: Proxy Double -- | Primary keys consist of either just a Hash key (mandatory) or a hash -- key and a range key (optional). data PrimaryKey PrimaryKey :: Attribute -> Maybe Attribute -> PrimaryKey pkHash :: PrimaryKey -> Attribute pkRange :: PrimaryKey -> Maybe Attribute -- | Construct a hash-only primary key. -- --
-- >>> hk "user-id" "ABCD" ---- --
-- >>> hk "user-id" (mkVal 23) --hk :: Text -> DValue -> PrimaryKey -- | Construct a hash-and-range primary key. hrk :: Text -> DValue -> Text -> DValue -> PrimaryKey -- | A DynamoDb object is simply a key-value dictionary. type Item = Map Text DValue -- | Pack a list of attributes into an Item. item :: [Attribute] -> Item -- | Unpack an Item into a list of attributes. attributes :: Map Text DValue -> [Attribute] -- | Types convertible to DynamoDb Item collections. -- -- Use attr and attrAs combinators to conveniently define -- instances. class ToDynItem a toItem :: ToDynItem a => a -> Item -- | Types parseable from DynamoDb Item collections. -- -- User getAttr family of functions to applicatively or -- monadically parse into your custom types. class FromDynItem a parseItem :: FromDynItem a => Item -> Parser a -- | Parse an Item into target type using the FromDynItem -- instance. fromItem :: FromDynItem a => Item -> Either String a -- | A continuation-based parser type. newtype Parser a Parser :: (forall f r. Failure f r -> Success a f r -> f r) -> Parser a runParser :: Parser a -> forall f r. Failure f r -> Success a f r -> f r -- | Convenience combinator for parsing fields from an Item returned -- by DynamoDb. getAttr :: (Typeable a, DynVal a) => Text -> Item -> Parser a -- | Parse attribute if it's present in the Item. Fail if attribute -- is present but conversion fails. getAttr' :: (Typeable a, DynVal a) => Text -> Item -> Parser (Maybe a) -- | Conditions used by mutation operations (PutItem, -- UpdateItem, etc.). The default def instance is empty -- (no condition). data Conditions Conditions :: CondMerge -> [Condition] -> Conditions -- | JSON encoding of conditions parameter in various contexts. conditionsJson :: Text -> Conditions -> [Pair] expectsJson :: Conditions -> [Pair] -- | A condition used by mutation operations (PutItem, -- UpdateItem, etc.). data Condition Condition :: Text -> CondOp -> Condition -- | Attribute to use as the basis for this conditional condAttr :: Condition -> Text -- | Operation on the selected attribute condOp :: Condition -> CondOp conditionJson :: Condition -> Pair -- | Conditional operation to perform on a field. data CondOp DEq :: DValue -> CondOp NotEq :: DValue -> CondOp DLE :: DValue -> CondOp DLT :: DValue -> CondOp DGE :: DValue -> CondOp DGT :: DValue -> CondOp NotNull :: CondOp IsNull :: CondOp Contains :: DValue -> CondOp NotContains :: DValue -> CondOp Begins :: DValue -> CondOp In :: [DValue] -> CondOp Between :: DValue -> DValue -> CondOp -- | How to merge multiple conditions. data CondMerge CondAnd :: CondMerge CondOr :: CondMerge -- | The standard response metrics on capacity consumption. data ConsumedCapacity ConsumedCapacity :: Int64 -> [(Text, Int64)] -> [(Text, Int64)] -> Maybe Int64 -> Text -> ConsumedCapacity capacityUnits :: ConsumedCapacity -> Int64 capacityGlobalIndex :: ConsumedCapacity -> [(Text, Int64)] capacityLocalIndex :: ConsumedCapacity -> [(Text, Int64)] capacityTableUnits :: ConsumedCapacity -> Maybe Int64 capacityTable :: ConsumedCapacity -> Text data ReturnConsumption RCIndexes :: ReturnConsumption RCTotal :: ReturnConsumption RCNone :: ReturnConsumption data ItemCollectionMetrics ItemCollectionMetrics :: (Text, DValue) -> [Double] -> ItemCollectionMetrics icmKey :: ItemCollectionMetrics -> (Text, DValue) icmEstimate :: ItemCollectionMetrics -> [Double] data ReturnItemCollectionMetrics RICMSize :: ReturnItemCollectionMetrics RICMNone :: ReturnItemCollectionMetrics -- | What to return from the current update operation data UpdateReturn -- | Return nothing URNone :: UpdateReturn -- | Return old values URAllOld :: UpdateReturn -- | Return old values with a newer replacement URUpdatedOld :: UpdateReturn -- | Return new values URAllNew :: UpdateReturn -- | Return new values that were replacements URUpdatedNew :: UpdateReturn -- | What to return from a Query or Scan query. data QuerySelect -- | Only return selected attributes SelectSpecific :: [Text] -> QuerySelect -- | Return counts instead of attributes SelectCount :: QuerySelect -- | Return index-projected attributes SelectProjected :: QuerySelect -- | Default. Return everything. SelectAll :: QuerySelect querySelectJson :: QuerySelect -> [Pair] -- | A class to help predict DynamoDb size of values, attributes and entire -- items. The result is given in number of bytes. class DynSize a dynSize :: DynSize a => a -> Int -- | Will an attribute be considered empty by DynamoDb? -- -- A PutItem (or similar) with empty attributes will be rejected -- with a ValidationException. nullAttr :: Attribute -> Bool -- | Response metadata that is present in every DynamoDB response. data DdbResponse DdbResponse :: Maybe Text -> Maybe Text -> DdbResponse ddbrCrc :: DdbResponse -> Maybe Text ddbrMsgId :: DdbResponse -> Maybe Text -- | Errors defined by AWS. data DdbErrCode AccessDeniedException :: DdbErrCode ConditionalCheckFailedException :: DdbErrCode IncompleteSignatureException :: DdbErrCode InvalidSignatureException :: DdbErrCode LimitExceededException :: DdbErrCode MissingAuthenticationTokenException :: DdbErrCode ProvisionedThroughputExceededException :: DdbErrCode ResourceInUseException :: DdbErrCode ResourceNotFoundException :: DdbErrCode ThrottlingException :: DdbErrCode ValidationException :: DdbErrCode RequestTooLarge :: DdbErrCode InternalFailure :: DdbErrCode InternalServerError :: DdbErrCode ServiceUnavailableException :: DdbErrCode -- | Raised by AWS when the request JSON is missing fields or is somehow -- malformed. SerializationException :: DdbErrCode -- | Whether the action should be retried based on the received error. shouldRetry :: DdbErrCode -> Bool -- | Potential errors raised by DynamoDB data DdbError DdbError :: Int -> DdbErrCode -> Text -> DdbError -- | 200 if successful, 400 for client errors and 500 for server-side -- errors. ddbStatusCode :: DdbError -> Int ddbErrCode :: DdbError -> DdbErrCode ddbErrMsg :: DdbError -> Text ddbSignQuery :: ToJSON a => ByteString -> a -> DdbConfiguration qt -> SignatureData -> SignedQuery data AmazonError AmazonError :: Text -> Maybe Text -> AmazonError aeType :: AmazonError -> Text aeMessage :: AmazonError -> Maybe Text ddbResponseConsumer :: FromJSON a => IORef DdbResponse -> HTTPResponseConsumer a ddbHttp :: Region -> DdbConfiguration NormalQuery ddbHttps :: Region -> DdbConfiguration NormalQuery instance Typeable DynNumber instance Typeable DynString instance Typeable DynBinary instance Typeable Bin instance Typeable DValue instance Typeable Attribute instance Typeable PrimaryKey instance Typeable DdbErrCode instance Typeable DdbLibraryError instance Typeable DdbError instance Typeable Region instance Typeable DdbConfiguration instance Typeable CondMerge instance Typeable CondOp instance Typeable Condition instance Typeable Conditions instance Typeable ConsumedCapacity instance Typeable ReturnConsumption instance Typeable ReturnItemCollectionMetrics instance Typeable ItemCollectionMetrics instance Typeable UpdateReturn instance Typeable QuerySelect instance Eq DynNumber instance Show DynNumber instance Read DynNumber instance Ord DynNumber instance Eq DynString instance Show DynString instance Read DynString instance Ord DynString instance Eq DynBinary instance Show DynBinary instance Read DynBinary instance Ord DynBinary instance Eq a => Eq (Bin a) instance Show a => Show (Bin a) instance Read a => Read (Bin a) instance Ord a => Ord (Bin a) instance Enum a => Enum (Bin a) instance Eq DValue instance Show DValue instance Read DValue instance Ord DValue instance Read Attribute instance Show Attribute instance Ord Attribute instance Eq Attribute instance Read PrimaryKey instance Show PrimaryKey instance Ord PrimaryKey instance Eq PrimaryKey instance Read DdbErrCode instance Show DdbErrCode instance Eq DdbErrCode instance Show DdbLibraryError instance Eq DdbLibraryError instance Show DdbError instance Eq DdbError instance Eq Region instance Show Region instance Read Region instance Show (DdbConfiguration qt) instance Eq CondMerge instance Show CondMerge instance Read CondMerge instance Ord CondMerge instance Eq CondOp instance Show CondOp instance Read CondOp instance Ord CondOp instance Eq Condition instance Show Condition instance Read Condition instance Ord Condition instance Eq Conditions instance Show Conditions instance Read Conditions instance Ord Conditions instance Eq ConsumedCapacity instance Show ConsumedCapacity instance Read ConsumedCapacity instance Ord ConsumedCapacity instance Eq ReturnConsumption instance Show ReturnConsumption instance Read ReturnConsumption instance Ord ReturnConsumption instance Eq ReturnItemCollectionMetrics instance Show ReturnItemCollectionMetrics instance Read ReturnItemCollectionMetrics instance Ord ReturnItemCollectionMetrics instance Eq ItemCollectionMetrics instance Show ItemCollectionMetrics instance Read ItemCollectionMetrics instance Ord ItemCollectionMetrics instance Eq UpdateReturn instance Show UpdateReturn instance Read UpdateReturn instance Ord UpdateReturn instance Eq QuerySelect instance Show QuerySelect instance Read QuerySelect instance Ord QuerySelect instance (Typeable a, DynVal a) => FromDynItem (Map Text a) instance DynVal a => ToDynItem (Map Text a) instance (Typeable a, DynVal a) => FromDynItem [(Text, a)] instance DynVal a => ToDynItem [(Text, a)] instance FromDynItem Item instance ToDynItem Item instance Monoid (Parser a) instance MonadPlus Parser instance Alternative Parser instance Applicative Parser instance Functor Parser instance Monad Parser instance (DynSize a, DynSize b) => DynSize (Either a b) instance DynSize a => DynSize (Maybe a) instance DynSize a => DynSize [a] instance DynSize Item instance DynSize Attribute instance DynSize DValue instance Default QuerySelect instance Default UpdateReturn instance ToJSON UpdateReturn instance FromJSON ItemCollectionMetrics instance Default ReturnItemCollectionMetrics instance ToJSON ReturnItemCollectionMetrics instance Default ReturnConsumption instance ToJSON ReturnConsumption instance FromJSON ConsumedCapacity instance ToJSON CondOp instance Default Conditions instance FromJSON AmazonError instance DefaultServiceConfiguration (DdbConfiguration NormalQuery) instance Default (DdbConfiguration NormalQuery) instance Monoid DdbResponse instance Loggable DdbResponse instance Exception DdbLibraryError instance Exception DdbError instance ToJSON Attribute instance FromJSON DValue instance ToJSON DValue instance ToJSON PrimaryKey instance IsString DValue instance Serialize a => DynVal (Bin a) instance DynVal Bool instance DynVal UTCTime instance DynVal Day instance DynVal Double instance DynVal ByteString instance DynVal Text instance DynVal Integer instance DynVal Word64 instance DynVal Word32 instance DynVal Word16 instance DynVal Word8 instance DynVal Int64 instance DynVal Int32 instance DynVal Int16 instance DynVal Int8 instance DynVal Int instance DynVal DValue instance (DynData (DynRep (Set a)), DynVal a, Ord a) => DynVal (Set a) instance (DynData (DynRep [a]), DynVal a) => DynVal [a] instance DynData DValue instance DynData (Set DynBinary) instance DynData DynBinary instance DynData (Set DynString) instance DynData DynString instance DynData (Set DynNumber) instance DynData DynNumber -- |
-- http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html --module Aws.DynamoDb.Commands.DeleteItem data DeleteItem DeleteItem :: Text -> PrimaryKey -> Conditions -> UpdateReturn -> ReturnConsumption -> ReturnItemCollectionMetrics -> DeleteItem -- | Target table diTable :: DeleteItem -> Text -- | The item to delete. diKey :: DeleteItem -> PrimaryKey -- | (Possible) set of expections for a conditional Put diExpect :: DeleteItem -> Conditions -- | What to return from this query. diReturn :: DeleteItem -> UpdateReturn diRetCons :: DeleteItem -> ReturnConsumption diRetMet :: DeleteItem -> ReturnItemCollectionMetrics -- | Construct a minimal DeleteItem request. deleteItem :: Text -> PrimaryKey -> DeleteItem data DeleteItemResponse DeleteItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> Maybe ItemCollectionMetrics -> DeleteItemResponse -- | Old attributes, if requested dirAttrs :: DeleteItemResponse -> Maybe Item -- | Amount of capacity consumed dirConsumed :: DeleteItemResponse -> Maybe ConsumedCapacity -- | Collection metrics if they have been requested. dirColMet :: DeleteItemResponse -> Maybe ItemCollectionMetrics instance Eq DeleteItem instance Show DeleteItem instance Read DeleteItem instance Ord DeleteItem instance Eq DeleteItemResponse instance Show DeleteItemResponse instance Read DeleteItemResponse instance Ord DeleteItemResponse instance AsMemoryResponse DeleteItemResponse instance ResponseConsumer r DeleteItemResponse instance FromJSON DeleteItemResponse instance SignQuery DeleteItem instance Transaction DeleteItem DeleteItemResponse instance ToJSON DeleteItem module Aws.DynamoDb.Commands.GetItem -- | A GetItem query that fetches a specific object from DDB. -- -- See: -- http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API_GetItem.html data GetItem GetItem :: Text -> PrimaryKey -> Maybe [Text] -> Bool -> ReturnConsumption -> GetItem giTableName :: GetItem -> Text giKey :: GetItem -> PrimaryKey -- | Attributes to get. Nothing grabs everything. giAttrs :: GetItem -> Maybe [Text] -- | Whether to issue a consistent read. giConsistent :: GetItem -> Bool -- | Whether to return consumption stats. giRetCons :: GetItem -> ReturnConsumption -- | Construct a minimal GetItem request. getItem :: Text -> PrimaryKey -> GetItem -- | Response to a GetItem query. data GetItemResponse GetItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> GetItemResponse girItem :: GetItemResponse -> Maybe Item girConsumed :: GetItemResponse -> Maybe ConsumedCapacity instance Eq GetItem instance Show GetItem instance Read GetItem instance Ord GetItem instance Eq GetItemResponse instance Show GetItemResponse instance Read GetItemResponse instance Ord GetItemResponse instance AsMemoryResponse GetItemResponse instance ResponseConsumer r GetItemResponse instance FromJSON GetItemResponse instance SignQuery GetItem instance ToJSON GetItem instance Transaction GetItem GetItemResponse -- |
-- http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html --module Aws.DynamoDb.Commands.PutItem data PutItem PutItem :: Text -> Item -> Conditions -> UpdateReturn -> ReturnConsumption -> ReturnItemCollectionMetrics -> PutItem -- | Target table piTable :: PutItem -> Text -- | An item to Put. Attributes here will replace what maybe under the key -- on DDB. piItem :: PutItem -> Item -- | (Possible) set of expections for a conditional Put piExpect :: PutItem -> Conditions -- | What to return from this query. piReturn :: PutItem -> UpdateReturn piRetCons :: PutItem -> ReturnConsumption piRetMet :: PutItem -> ReturnItemCollectionMetrics -- | Construct a minimal PutItem request. putItem :: Text -> Item -> PutItem data PutItemResponse PutItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> Maybe ItemCollectionMetrics -> PutItemResponse -- | Old attributes, if requested pirAttrs :: PutItemResponse -> Maybe Item -- | Amount of capacity consumed pirConsumed :: PutItemResponse -> Maybe ConsumedCapacity -- | Collection metrics if they have been requested. pirColMet :: PutItemResponse -> Maybe ItemCollectionMetrics instance Eq PutItem instance Show PutItem instance Read PutItem instance Ord PutItem instance Eq PutItemResponse instance Show PutItemResponse instance Read PutItemResponse instance Ord PutItemResponse instance AsMemoryResponse PutItemResponse instance ResponseConsumer r PutItemResponse instance FromJSON PutItemResponse instance SignQuery PutItem instance Transaction PutItem PutItemResponse instance ToJSON PutItem -- | Implementation of Amazon DynamoDb Query command. -- -- See: -- http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html module Aws.DynamoDb.Commands.Query -- | A Query command that uses primary keys for an expedient scan. data Query Query :: Text -> Slice -> Conditions -> Maybe [Attribute] -> Maybe Int -> Bool -> QuerySelect -> ReturnConsumption -> Maybe Text -> Bool -> Query -- | Required. qTableName :: Query -> Text -- | Required. Hash or hash-range main condition. qKeyConditions :: Query -> Slice -- | Whether to filter results before returning to client qFilter :: Query -> Conditions -- | Exclusive start key to resume a previous query. qStartKey :: Query -> Maybe [Attribute] -- | Whether to limit result set size qLimit :: Query -> Maybe Int -- | Set to False for descending results qForwardScan :: Query -> Bool -- | What to return from Query qSelect :: Query -> QuerySelect qRetCons :: Query -> ReturnConsumption -- | Whether to use a secondary/global index qIndex :: Query -> Maybe Text qConsistent :: Query -> Bool -- | Slice is the primary constraint in a Query command, per -- AWS requirements. -- -- All Query commands must specify a hash attribute via DEq -- and optionally provide a secondary range attribute. data Slice Slice :: Attribute -> Maybe Condition -> Slice -- | Hash value of the primary key or index being used sliceHash :: Slice -> Attribute -- | An optional condition specified on the range component, if present, of -- the primary key or index being used. sliceCond :: Slice -> Maybe Condition -- | Construct a minimal Query request. query :: Text -> Slice -> Query -- | Response to a Query query. data QueryResponse QueryResponse :: Vector Item -> Maybe [Attribute] -> Int -> Int -> Maybe ConsumedCapacity -> QueryResponse qrItems :: QueryResponse -> Vector Item qrLastKey :: QueryResponse -> Maybe [Attribute] qrCount :: QueryResponse -> Int qrScanned :: QueryResponse -> Int qrConsumed :: QueryResponse -> Maybe ConsumedCapacity instance Typeable Slice instance Typeable Query instance Eq Slice instance Show Slice instance Read Slice instance Ord Slice instance Eq Query instance Show Query instance Read Query instance Ord Query instance Eq QueryResponse instance Show QueryResponse instance Read QueryResponse instance Ord QueryResponse instance IteratedTransaction Query QueryResponse instance ListResponse QueryResponse Item instance AsMemoryResponse QueryResponse instance ResponseConsumer r QueryResponse instance SignQuery Query instance Transaction Query QueryResponse instance FromJSON QueryResponse instance ToJSON Query -- | Implementation of Amazon DynamoDb Scan command. -- -- See: -- http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html module Aws.DynamoDb.Commands.Scan -- | A Scan command that uses primary keys for an expedient scan. data Scan Scan :: Text -> Conditions -> Maybe [Attribute] -> Maybe Int -> QuerySelect -> ReturnConsumption -> Int -> Int -> Scan -- | Required. sTableName :: Scan -> Text -- | Whether to filter results before returning to client sFilter :: Scan -> Conditions -- | Exclusive start key to resume a previous query. sStartKey :: Scan -> Maybe [Attribute] -- | Whether to limit result set size sLimit :: Scan -> Maybe Int -- | What to return from Scan sSelect :: Scan -> QuerySelect sRetCons :: Scan -> ReturnConsumption -- | Segment number, starting at 0, for parallel queries. sSegment :: Scan -> Int -- | Total number of parallel segments. 1 means sequential scan. sTotalSegments :: Scan -> Int -- | Construct a minimal Scan request. scan :: Text -> Scan -- | Response to a Scan query. data ScanResponse ScanResponse :: Vector Item -> Maybe [Attribute] -> Int -> Int -> Maybe ConsumedCapacity -> ScanResponse srItems :: ScanResponse -> Vector Item srLastKey :: ScanResponse -> Maybe [Attribute] srCount :: ScanResponse -> Int srScanned :: ScanResponse -> Int srConsumed :: ScanResponse -> Maybe ConsumedCapacity instance Typeable Scan instance Eq Scan instance Show Scan instance Read Scan instance Ord Scan instance Eq ScanResponse instance Show ScanResponse instance Read ScanResponse instance Ord ScanResponse instance IteratedTransaction Scan ScanResponse instance ListResponse ScanResponse Item instance AsMemoryResponse ScanResponse instance ResponseConsumer r ScanResponse instance SignQuery Scan instance Transaction Scan ScanResponse instance FromJSON ScanResponse instance ToJSON Scan module Aws.DynamoDb.Commands.Table data CreateTable CreateTable :: Text -> [AttributeDefinition] -> KeySchema -> ProvisionedThroughput -> [LocalSecondaryIndex] -> [GlobalSecondaryIndex] -> CreateTable createTableName :: CreateTable -> Text -- | only attributes appearing in a key must be listed here createAttributeDefinitions :: CreateTable -> [AttributeDefinition] createKeySchema :: CreateTable -> KeySchema createProvisionedThroughput :: CreateTable -> ProvisionedThroughput -- | at most 5 local secondary indices are allowed createLocalSecondaryIndexes :: CreateTable -> [LocalSecondaryIndex] createGlobalSecondaryIndexes :: CreateTable -> [GlobalSecondaryIndex] createTable :: Text -> [AttributeDefinition] -> KeySchema -> ProvisionedThroughput -> CreateTable newtype CreateTableResult CreateTableResult :: TableDescription -> CreateTableResult ctStatus :: CreateTableResult -> TableDescription data DescribeTable DescribeTable :: Text -> DescribeTable dTableName :: DescribeTable -> Text newtype DescribeTableResult DescribeTableResult :: TableDescription -> DescribeTableResult dtStatus :: DescribeTableResult -> TableDescription data UpdateTable UpdateTable :: Text -> ProvisionedThroughput -> [GlobalSecondaryIndexUpdate] -> UpdateTable updateTableName :: UpdateTable -> Text updateProvisionedThroughput :: UpdateTable -> ProvisionedThroughput updateGlobalSecondaryIndexUpdates :: UpdateTable -> [GlobalSecondaryIndexUpdate] newtype UpdateTableResult UpdateTableResult :: TableDescription -> UpdateTableResult uStatus :: UpdateTableResult -> TableDescription data DeleteTable DeleteTable :: Text -> DeleteTable deleteTableName :: DeleteTable -> Text newtype DeleteTableResult DeleteTableResult :: TableDescription -> DeleteTableResult dStatus :: DeleteTableResult -> TableDescription -- | TODO: currently this does not support restarting a cutoff query -- because of size. data ListTables ListTables :: ListTables newtype ListTablesResult ListTablesResult :: [Text] -> ListTablesResult tableNames :: ListTablesResult -> [Text] -- | The type of a key attribute that appears in the table key or as a key -- in one of the indices. data AttributeType AttrString :: AttributeType AttrNumber :: AttributeType AttrBinary :: AttributeType -- | A key attribute that appears in the table key or as a key in one of -- the indices. data AttributeDefinition AttributeDefinition :: Text -> AttributeType -> AttributeDefinition attributeName :: AttributeDefinition -> Text attributeType :: AttributeDefinition -> AttributeType -- | The key schema can either be a hash of a single attribute name or a -- hash attribute name and a range attribute name. data KeySchema HashOnly :: Text -> KeySchema HashAndRange :: Text -> Text -> KeySchema -- | This determines which attributes are projected into a secondary index. data Projection ProjectKeysOnly :: Projection ProjectAll :: Projection ProjectInclude :: [Text] -> Projection -- | Describes a single local secondary index. The KeySchema MUST share the -- same hash key attribute as the parent table, only the range key can -- differ. data LocalSecondaryIndex LocalSecondaryIndex :: Text -> KeySchema -> Projection -> LocalSecondaryIndex localIndexName :: LocalSecondaryIndex -> Text localKeySchema :: LocalSecondaryIndex -> KeySchema localProjection :: LocalSecondaryIndex -> Projection -- | This is returned by AWS to describe the local secondary index. data LocalSecondaryIndexStatus LocalSecondaryIndexStatus :: Text -> Integer -> Integer -> KeySchema -> Projection -> LocalSecondaryIndexStatus locStatusIndexName :: LocalSecondaryIndexStatus -> Text locStatusIndexSizeBytes :: LocalSecondaryIndexStatus -> Integer locStatusItemCount :: LocalSecondaryIndexStatus -> Integer locStatusKeySchema :: LocalSecondaryIndexStatus -> KeySchema locStatusProjection :: LocalSecondaryIndexStatus -> Projection -- | The target provisioned throughput you are requesting for the table or -- global secondary index. data ProvisionedThroughput ProvisionedThroughput :: Int -> Int -> ProvisionedThroughput readCapacityUnits :: ProvisionedThroughput -> Int writeCapacityUnits :: ProvisionedThroughput -> Int -- | This is returned by AWS as the status of the throughput for a table or -- global secondary index. data ProvisionedThroughputStatus ProvisionedThroughputStatus :: UTCTime -> UTCTime -> Int -> Int -> Int -> ProvisionedThroughputStatus statusLastDecreaseDateTime :: ProvisionedThroughputStatus -> UTCTime statusLastIncreaseDateTime :: ProvisionedThroughputStatus -> UTCTime statusNumberOfDecreasesToday :: ProvisionedThroughputStatus -> Int statusReadCapacityUnits :: ProvisionedThroughputStatus -> Int statusWriteCapacityUnits :: ProvisionedThroughputStatus -> Int -- | Describes a global secondary index. data GlobalSecondaryIndex GlobalSecondaryIndex :: Text -> KeySchema -> Projection -> ProvisionedThroughput -> GlobalSecondaryIndex globalIndexName :: GlobalSecondaryIndex -> Text globalKeySchema :: GlobalSecondaryIndex -> KeySchema globalProjection :: GlobalSecondaryIndex -> Projection globalProvisionedThroughput :: GlobalSecondaryIndex -> ProvisionedThroughput -- | This is returned by AWS to describe the status of a global secondary -- index. data GlobalSecondaryIndexStatus GlobalSecondaryIndexStatus :: Text -> Integer -> Text -> Integer -> KeySchema -> Projection -> ProvisionedThroughputStatus -> GlobalSecondaryIndexStatus gStatusIndexName :: GlobalSecondaryIndexStatus -> Text gStatusIndexSizeBytes :: GlobalSecondaryIndexStatus -> Integer gStatusIndexStatus :: GlobalSecondaryIndexStatus -> Text gStatusItemCount :: GlobalSecondaryIndexStatus -> Integer gStatusKeySchema :: GlobalSecondaryIndexStatus -> KeySchema gStatusProjection :: GlobalSecondaryIndexStatus -> Projection gStatusProvisionedThroughput :: GlobalSecondaryIndexStatus -> ProvisionedThroughputStatus -- | This is used to request a change in the provisioned throughput of a -- global secondary index as part of an UpdateTable operation. data GlobalSecondaryIndexUpdate GlobalSecondaryIndexUpdate :: Text -> ProvisionedThroughput -> GlobalSecondaryIndexUpdate gUpdateIndexName :: GlobalSecondaryIndexUpdate -> Text gUpdateProvisionedThroughput :: GlobalSecondaryIndexUpdate -> ProvisionedThroughput -- | This describes the table and is the return value from AWS for all the -- table-related commands. data TableDescription TableDescription :: Text -> Integer -> Text -> Maybe UTCTime -> Integer -> [AttributeDefinition] -> Maybe KeySchema -> ProvisionedThroughputStatus -> [LocalSecondaryIndexStatus] -> [GlobalSecondaryIndexStatus] -> TableDescription rTableName :: TableDescription -> Text rTableSizeBytes :: TableDescription -> Integer -- | one of CREATING, UPDATING, DELETING, ACTIVE rTableStatus :: TableDescription -> Text rCreationDateTime :: TableDescription -> Maybe UTCTime rItemCount :: TableDescription -> Integer rAttributeDefinitions :: TableDescription -> [AttributeDefinition] rKeySchema :: TableDescription -> Maybe KeySchema rProvisionedThroughput :: TableDescription -> ProvisionedThroughputStatus rLocalSecondaryIndexes :: TableDescription -> [LocalSecondaryIndexStatus] rGlobalSecondaryIndexes :: TableDescription -> [GlobalSecondaryIndexStatus] instance Typeable AttributeType instance Typeable AttributeDefinition instance Typeable KeySchema instance Show AttributeType instance Read AttributeType instance Ord AttributeType instance Eq AttributeType instance Enum AttributeType instance Bounded AttributeType instance Generic AttributeType instance Eq AttributeDefinition instance Read AttributeDefinition instance Ord AttributeDefinition instance Show AttributeDefinition instance Generic AttributeDefinition instance Eq KeySchema instance Read KeySchema instance Show KeySchema instance Ord KeySchema instance Generic 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 D1AttributeType instance Constructor C1_0AttributeType instance Constructor C1_1AttributeType instance Constructor C1_2AttributeType instance Datatype D1AttributeDefinition instance Constructor C1_0AttributeDefinition instance Selector S1_0_0AttributeDefinition instance Selector S1_0_1AttributeDefinition instance Datatype D1KeySchema instance Constructor C1_0KeySchema instance Constructor C1_1KeySchema 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 AttributeDefinition instance ToJSON AttributeDefinition instance FromJSON AttributeType instance ToJSON AttributeType module Aws.DynamoDb.Commands.UpdateItem -- | An UpdateItem request. data UpdateItem UpdateItem :: Text -> PrimaryKey -> [AttributeUpdate] -> Conditions -> UpdateReturn -> ReturnConsumption -> ReturnItemCollectionMetrics -> UpdateItem uiTable :: UpdateItem -> Text uiKey :: UpdateItem -> PrimaryKey uiUpdates :: UpdateItem -> [AttributeUpdate] -- | Conditional update - see DynamoDb documentation uiExpect :: UpdateItem -> Conditions uiReturn :: UpdateItem -> UpdateReturn uiRetCons :: UpdateItem -> ReturnConsumption uiRetMet :: UpdateItem -> ReturnItemCollectionMetrics -- | Construct a minimal UpdateItem request. updateItem :: Text -> PrimaryKey -> [AttributeUpdate] -> UpdateItem type AttributeUpdates = [AttributeUpdate] data AttributeUpdate AttributeUpdate :: Attribute -> UpdateAction -> AttributeUpdate -- | Attribute key-value auAttr :: AttributeUpdate -> Attribute -- | Type of update operation. auAction :: AttributeUpdate -> UpdateAction -- | Shorthand for the AttributeUpdate constructor. Defaults to PUT -- for the update action. au :: Attribute -> AttributeUpdate -- | Type of attribute update to perform. -- -- See AWS docs at: -- --
-- http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html --data UpdateAction -- | Simpley write, overwriting any previous value UPut :: UpdateAction -- | Numerical add or add to set. UAdd :: UpdateAction -- | Empty value: remove; Set value: Subtract from set. UDelete :: UpdateAction data UpdateItemResponse UpdateItemResponse :: Maybe Item -> Maybe ConsumedCapacity -> UpdateItemResponse -- | Old attributes, if requested uirAttrs :: UpdateItemResponse -> Maybe Item -- | Amount of capacity consumed uirConsumed :: UpdateItemResponse -> Maybe ConsumedCapacity instance Eq UpdateAction instance Show UpdateAction instance Read UpdateAction instance Ord UpdateAction instance Eq AttributeUpdate instance Show AttributeUpdate instance Read AttributeUpdate instance Ord AttributeUpdate instance Eq UpdateItem instance Show UpdateItem instance Read UpdateItem instance Ord UpdateItem instance Eq UpdateItemResponse instance Show UpdateItemResponse instance Read UpdateItemResponse instance Ord UpdateItemResponse instance AsMemoryResponse UpdateItemResponse instance ResponseConsumer r UpdateItemResponse instance FromJSON UpdateItemResponse instance SignQuery UpdateItem instance Transaction UpdateItem UpdateItemResponse instance ToJSON UpdateItem instance Default UpdateAction instance ToJSON UpdateAction instance ToJSON AttributeUpdates instance DynSize AttributeUpdate module Aws.DynamoDb.Commands module Aws.DynamoDb module Aws.Iam.Core -- | Constructs a SignedQuery with the specified request parameters. iamSignQuery :: [(ByteString, ByteString)] -> IamConfiguration qt -> SignatureData -> SignedQuery -- | Reads the metadata from an IAM response and delegates parsing the rest -- of the data from the response to the given function. iamResponseConsumer :: (Cursor -> Response IamMetadata a) -> IORef IamMetadata -> HTTPResponseConsumer a data IamMetadata IamMetadata :: Maybe Text -> IamMetadata requestId :: IamMetadata -> Maybe Text data IamConfiguration qt IamConfiguration :: ByteString -> Int -> Protocol -> Method -> IamConfiguration qt iamEndpoint :: IamConfiguration qt -> ByteString iamPort :: IamConfiguration qt -> Int iamProtocol :: IamConfiguration qt -> Protocol iamHttpMethod :: IamConfiguration qt -> Method data IamError IamError :: Status -> Text -> Text -> IamError iamStatusCode :: IamError -> Status iamErrorCode :: IamError -> Text iamErrorMessage :: IamError -> Text -- | Parses IAM DateTime data type. parseDateTime :: MonadThrow m => String -> m UTCTime data AccessKeyStatus AccessKeyActive :: AccessKeyStatus AccessKeyInactive :: AccessKeyStatus -- | The IAM User data type. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html data User User :: Text -> UTCTime -> Text -> Text -> Text -> User -- | ARN used to refer to this user. userArn :: User -> Text -- | Date and time at which the user was created. userCreateDate :: User -> UTCTime -- | Path under which the user was created. userPath :: User -> Text -- | Unique identifier used to refer to this user. userUserId :: User -> Text -- | Name of the user. userUserName :: User -> Text -- | Parses the IAM User data type. parseUser :: MonadThrow m => Cursor -> m User 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 iamSignQuery. Accepts parameters in Text -- form and UTF-8 encodes them. Accepts the Action parameter -- separately since it's always required. iamAction :: ByteString -> [(ByteString, Text)] -> IamConfiguration qt -> SignatureData -> SignedQuery -- | Similar to iamAction. Accepts parameter list with -- Maybe parameters. Ignores Nothings. iamAction' :: ByteString -> [Maybe (ByteString, Text)] -> IamConfiguration qt -> SignatureData -> SignedQuery -- | Returns the parameters Marker and MaxItems that are -- present in all IAM data pagination requests. markedIter :: Maybe Text -> Maybe Integer -> [Maybe (ByteString, Text)] -- | Reads and returns the IsTruncated and Marker -- attributes present in all IAM data pagination responses. markedIterResponse :: MonadThrow m => Cursor -> m (Bool, Maybe Text) -- | An infix synonym for mappend. -- -- Since: 4.5.0.0 (<>) :: 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html data CreateAccessKey CreateAccessKey :: (Maybe Text) -> CreateAccessKey data CreateAccessKeyResponse CreateAccessKeyResponse :: AccessKey -> CreateAccessKeyResponse -- | Represents the IAM AccessKey data type. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_AccessKey.html data AccessKey AccessKey :: Text -> Maybe UTCTime -> Text -> AccessKeyStatus -> Text -> AccessKey -- | The Access Key ID. akAccessKeyId :: AccessKey -> Text -- | Date and time at which the access key was created. akCreateDate :: AccessKey -> Maybe UTCTime -- | Secret key used to sign requests. The secret key is accessible only -- during key creation. akSecretAccessKey :: AccessKey -> Text -- | Whether the access key is active or not. akStatus :: AccessKey -> AccessKeyStatus -- | The user name for which this key is defined. akUserName :: AccessKey -> Text instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html data CreateUser CreateUser :: Text -> Maybe Text -> CreateUser -- | Name of the new user cuUserName :: CreateUser -> Text -- | Path under which the user will be created. Defaults to / if -- omitted. cuPath :: CreateUser -> Maybe Text data CreateUserResponse CreateUserResponse :: User -> CreateUserResponse -- | The IAM User data type. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html data User User :: Text -> UTCTime -> Text -> Text -> Text -> User -- | ARN used to refer to this user. userArn :: User -> Text -- | Date and time at which the user was created. userCreateDate :: User -> UTCTime -- | Path under which the user was created. userPath :: User -> Text -- | Unique identifier used to refer to this user. userUserId :: User -> Text -- | Name of the user. userUserName :: User -> Text instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html data DeleteAccessKey DeleteAccessKey :: Text -> Maybe Text -> DeleteAccessKey -- | ID of the access key to be deleted. dakAccessKeyId :: DeleteAccessKey -> Text -- | User name with which the access key is associated. dakUserName :: DeleteAccessKey -> Maybe Text data DeleteAccessKeyResponse DeleteAccessKeyResponse :: DeleteAccessKeyResponse instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUser.html 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html data DeleteUserPolicy DeleteUserPolicy :: Text -> Text -> DeleteUserPolicy -- | Name of the policy to be deleted. dupPolicyName :: DeleteUserPolicy -> Text -- | Name of the user with whom the policy is associated. dupUserName :: DeleteUserPolicy -> Text data DeleteUserPolicyResponse DeleteUserPolicyResponse :: DeleteUserPolicyResponse instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html data GetUser GetUser :: (Maybe Text) -> GetUser data GetUserResponse GetUserResponse :: User -> GetUserResponse -- | The IAM User data type. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html data User User :: Text -> UTCTime -> Text -> Text -> Text -> User -- | ARN used to refer to this user. userArn :: User -> Text -- | Date and time at which the user was created. userCreateDate :: User -> UTCTime -- | Path under which the user was created. userPath :: User -> Text -- | Unique identifier used to refer to this user. userUserId :: User -> Text -- | Name of the user. userUserName :: User -> Text instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUserPolicy.html data GetUserPolicy GetUserPolicy :: Text -> Text -> GetUserPolicy -- | Name of the policy. gupPolicyName :: GetUserPolicy -> Text -- | Name of the user with whom the policy is associated. gupUserName :: GetUserPolicy -> Text data GetUserPolicyResponse GetUserPolicyResponse :: Text -> Text -> Text -> GetUserPolicyResponse -- | The policy document. guprPolicyDocument :: GetUserPolicyResponse -> Text -- | Name of the policy. guprPolicyName :: GetUserPolicyResponse -> Text -- | Name of the user with whom the policy is associated. guprUserName :: GetUserPolicyResponse -> Text instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html data ListAccessKeys ListAccessKeys :: Maybe Text -> Maybe Text -> Maybe Integer -> ListAccessKeys -- | Name of the user. If the user name is not specified, IAM will -- determine the user based on the key sigining the request. lakUserName :: ListAccessKeys -> Maybe Text -- | Used for paginating requests. Marks the position of the last request. lakMarker :: ListAccessKeys -> Maybe Text -- | Used for paginating requests. Specifies the maximum number of items to -- return in the response. Defaults to 100. lakMaxItems :: ListAccessKeys -> Maybe Integer data ListAccessKeysResponse ListAccessKeysResponse :: [AccessKeyMetadata] -> Bool -> Maybe Text -> ListAccessKeysResponse -- | List of AccessKeyMetadata objects lakrAccessKeyMetadata :: ListAccessKeysResponse -> [AccessKeyMetadata] -- | True if the request was truncated because of too many items. lakrIsTruncated :: ListAccessKeysResponse -> Bool -- | Marks the position at which the request was truncated. This value must -- be passed with the next request to continue listing from the last -- position. lakrMarker :: ListAccessKeysResponse -> Maybe Text instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html data ListUserPolicies ListUserPolicies :: Text -> Maybe Text -> Maybe Integer -> ListUserPolicies -- | Policies associated with this user will be listed. lupUserName :: ListUserPolicies -> Text -- | Used for paginating requests. Marks the position of the last request. lupMarker :: ListUserPolicies -> Maybe Text -- | Used for paginating requests. Specifies the maximum number of items to -- return in the response. Defaults to 100. lupMaxItems :: ListUserPolicies -> Maybe Integer data ListUserPoliciesResponse ListUserPoliciesResponse :: [Text] -> Bool -> Maybe Text -> ListUserPoliciesResponse -- | List of policy names. luprPolicyNames :: ListUserPoliciesResponse -> [Text] -- | True if the request was truncated because of too many items. luprIsTruncated :: ListUserPoliciesResponse -> Bool -- | Marks the position at which the request was truncated. This value must -- be passed with the next request to continue listing from the last -- position. luprMarker :: ListUserPoliciesResponse -> Maybe Text instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html data ListUsers ListUsers :: Maybe Text -> Maybe Text -> Maybe Integer -> ListUsers -- | Users defined under this path will be listed. If omitted, defaults to -- /, which lists all users. luPathPrefix :: ListUsers -> Maybe Text -- | Used for paginating requests. Marks the position of the last request. luMarker :: ListUsers -> Maybe Text -- | Used for paginating requests. Specifies the maximum number of items to -- return in the response. Defaults to 100. luMaxItems :: ListUsers -> Maybe Integer data ListUsersResponse ListUsersResponse :: [User] -> Bool -> Maybe Text -> ListUsersResponse -- | List of Users. lurUsers :: ListUsersResponse -> [User] -- | True if the request was truncated because of too many items. lurIsTruncated :: ListUsersResponse -> Bool -- | Marks the position at which the request was truncated. This value must -- be passed with the next request to continue listing from the last -- position. lurMarker :: ListUsersResponse -> Maybe Text -- | The IAM User data type. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_User.html data User User :: Text -> UTCTime -> Text -> Text -> Text -> User -- | ARN used to refer to this user. userArn :: User -> Text -- | Date and time at which the user was created. userCreateDate :: User -> UTCTime -- | Path under which the user was created. userPath :: User -> Text -- | Unique identifier used to refer to this user. userUserId :: User -> Text -- | Name of the user. userUserName :: User -> Text instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_PutUserPolicy.html data PutUserPolicy PutUserPolicy :: Text -> Text -> Text -> PutUserPolicy -- | The policy document. pupPolicyDocument :: PutUserPolicy -> Text -- | Name of the policy. pupPolicyName :: PutUserPolicy -> Text -- | Name of the user with whom this policy is associated. pupUserName :: PutUserPolicy -> Text data PutUserPolicyResponse PutUserPolicyResponse :: PutUserPolicyResponse instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html data UpdateAccessKey UpdateAccessKey :: Text -> AccessKeyStatus -> Maybe Text -> UpdateAccessKey -- | ID of the access key to update. uakAccessKeyId :: UpdateAccessKey -> Text -- | New status of the access key. uakStatus :: UpdateAccessKey -> AccessKeyStatus -- | Name of the user to whom the access key belongs. If omitted, the user -- will be determined based on the access key used to sign the request. uakUserName :: UpdateAccessKey -> Maybe Text data UpdateAccessKeyResponse UpdateAccessKeyResponse :: UpdateAccessKeyResponse instance 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. -- -- -- http://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html data UpdateUser UpdateUser :: Text -> Maybe Text -> Maybe Text -> UpdateUser -- | Name of the user to be updated. uuUserName :: UpdateUser -> Text -- | New name for the user. uuNewUserName :: UpdateUser -> Maybe Text -- | New path to which the user will be moved. uuNewPath :: UpdateUser -> Maybe Text data UpdateUserResponse UpdateUserResponse :: UpdateUserResponse instance 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 -> Maybe Text -> Maybe Text -> Maybe ByteString -> S3Error s3StatusCode :: S3Error -> Status s3ErrorCode :: S3Error -> ErrorCode s3ErrorMessage :: S3Error -> Text s3ErrorResource :: S3Error -> Maybe Text s3ErrorHostId :: S3Error -> Maybe Text s3ErrorAccessKeyId :: S3Error -> Maybe Text s3ErrorStringToSign :: S3Error -> Maybe ByteString s3ErrorBucket :: S3Error -> Maybe Text s3ErrorEndpointRaw :: S3Error -> Maybe Text s3ErrorEndpoint :: S3Error -> Maybe ByteString data S3Metadata S3Metadata :: Maybe Text -> Maybe Text -> S3Metadata s3MAmzId2 :: S3Metadata -> Maybe Text s3MRequestId :: S3Metadata -> Maybe Text data S3Query S3Query :: Method -> Maybe ByteString -> Maybe ByteString -> Query -> Query -> Maybe ByteString -> Maybe (Digest MD5) -> RequestHeaders -> RequestHeaders -> Maybe RequestBody -> S3Query s3QMethod :: S3Query -> Method s3QBucket :: S3Query -> Maybe ByteString s3QObject :: S3Query -> Maybe ByteString s3QSubresources :: S3Query -> Query s3QQuery :: S3Query -> Query s3QContentType :: S3Query -> Maybe ByteString s3QContentMd5 :: S3Query -> Maybe (Digest MD5) s3QAmzHeaders :: S3Query -> RequestHeaders s3QOtherHeaders :: S3Query -> RequestHeaders s3QRequestBody :: S3Query -> Maybe RequestBody s3SignQuery :: S3Query -> S3Configuration qt -> SignatureData -> SignedQuery s3ResponseConsumer :: HTTPResponseConsumer a -> IORef S3Metadata -> HTTPResponseConsumer a s3BinaryResponseConsumer :: HTTPResponseConsumer a -> IORef S3Metadata -> HTTPResponseConsumer a s3XmlResponseConsumer :: (Cursor -> Response S3Metadata a) -> IORef S3Metadata -> HTTPResponseConsumer a s3ErrorResponseConsumer :: HTTPResponseConsumer a type CanonicalUserId = Text data UserInfo UserInfo :: CanonicalUserId -> 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 locationSA :: LocationConstraint locationApNorthEast :: LocationConstraint locationApSouthEast2 :: LocationConstraint locationApSouthEast :: LocationConstraint locationEuFrankfurt :: LocationConstraint locationEu :: LocationConstraint locationUsWest2 :: LocationConstraint locationUsWest :: LocationConstraint normaliseLocation :: LocationConstraint -> 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 -> Maybe ByteString -> CopyObject coObjectName :: CopyObject -> Text coBucket :: CopyObject -> Bucket coSource :: CopyObject -> ObjectId coMetadataDirective :: CopyObject -> CopyMetadataDirective coIfMatch :: CopyObject -> Maybe Text coIfNoneMatch :: CopyObject -> Maybe Text coIfUnmodifiedSince :: CopyObject -> Maybe UTCTime coIfModifiedSince :: CopyObject -> Maybe UTCTime coStorageClass :: CopyObject -> Maybe StorageClass coAcl :: CopyObject -> Maybe CannedAcl coContentType :: CopyObject -> Maybe ByteString copyObject :: Bucket -> Text -> ObjectId -> CopyMetadataDirective -> CopyObject data CopyObjectResponse CopyObjectResponse :: Maybe Text -> UTCTime -> Text -> CopyObjectResponse corVersionId :: CopyObjectResponse -> Maybe Text corLastModified :: CopyObjectResponse -> UTCTime corETag :: CopyObjectResponse -> Text -- | ServiceConfiguration: S3Configuration 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.DeleteBucket data DeleteBucket DeleteBucket :: Bucket -> DeleteBucket dbBucket :: DeleteBucket -> Bucket data DeleteBucketResponse DeleteBucketResponse :: DeleteBucketResponse -- | ServiceConfiguration: S3Configuration instance Show DeleteBucket instance Show DeleteBucketResponse instance AsMemoryResponse DeleteBucketResponse instance Transaction DeleteBucket DeleteBucketResponse instance ResponseConsumer DeleteBucket DeleteBucketResponse instance SignQuery DeleteBucket module Aws.S3.Commands.DeleteObject data DeleteObject DeleteObject :: Text -> Bucket -> DeleteObject doObjectName :: DeleteObject -> Text doBucket :: DeleteObject -> Bucket data DeleteObjectResponse DeleteObjectResponse :: DeleteObjectResponse -- | ServiceConfiguration: S3Configuration 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 -- | ServiceConfiguration: S3Configuration 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 -- | ServiceConfiguration: S3Configuration instance Show GetBucket instance Show GetBucketResponse instance AsMemoryResponse GetBucketResponse instance ListResponse GetBucketResponse ObjectInfo instance IteratedTransaction GetBucket GetBucketResponse instance Transaction GetBucket GetBucketResponse instance ResponseConsumer r GetBucketResponse instance SignQuery GetBucket module Aws.S3.Commands.GetBucketLocation data GetBucketLocation GetBucketLocation :: Bucket -> GetBucketLocation gblBucket :: GetBucketLocation -> Bucket getBucketLocation :: Bucket -> GetBucketLocation data GetBucketLocationResponse GetBucketLocationResponse :: LocationConstraint -> GetBucketLocationResponse gblrLocationConstraint :: GetBucketLocationResponse -> LocationConstraint instance Show GetBucketLocation instance Show GetBucketLocationResponse instance AsMemoryResponse GetBucketLocationResponse instance Transaction GetBucketLocation GetBucketLocationResponse instance ResponseConsumer r GetBucketLocationResponse instance SignQuery GetBucketLocation 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 -- | ServiceConfiguration: S3Configuration 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] -- | ServiceConfiguration: S3Configuration 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 :: Maybe ObjectMetadata -> HeadObjectResponse horMetadata :: HeadObjectResponse -> Maybe ObjectMetadata data HeadObjectMemoryResponse HeadObjectMemoryResponse :: (Maybe ObjectMetadata) -> HeadObjectMemoryResponse -- | ServiceConfiguration: S3Configuration 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 -- | ServiceConfiguration: S3Configuration 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 -> Bool -> PutObject poObjectName :: PutObject -> Text poBucket :: PutObject -> Bucket poContentType :: PutObject -> Maybe ByteString poCacheControl :: PutObject -> Maybe Text poContentDisposition :: PutObject -> Maybe Text poContentEncoding :: PutObject -> Maybe Text poContentMD5 :: PutObject -> Maybe (Digest MD5) poExpires :: PutObject -> Maybe Int poAcl :: PutObject -> Maybe CannedAcl poStorageClass :: PutObject -> Maybe StorageClass poWebsiteRedirectLocation :: PutObject -> Maybe Text poServerSideEncryption :: PutObject -> Maybe ServerSideEncryption poRequestBody :: PutObject -> RequestBody poMetadata :: PutObject -> [(Text, Text)] -- | Internet Archive S3 nonstandard extension poAutoMakeBucket :: PutObject -> Bool -- | Note: Requires http-client >= 0.4.10 poExpect100Continue :: PutObject -> Bool putObject :: Bucket -> Text -> RequestBody -> PutObject data PutObjectResponse PutObjectResponse :: Maybe Text -> PutObjectResponse porVersionId :: PutObjectResponse -> Maybe Text -- | ServiceConfiguration: S3Configuration instance Show PutObjectResponse instance AsMemoryResponse PutObjectResponse instance Transaction PutObject PutObjectResponse instance ResponseConsumer PutObject PutObjectResponse instance SignQuery PutObject module Aws.Ses.Core data SesError SesError :: Status -> Text -> Text -> SesError sesStatusCode :: SesError -> Status sesErrorCode :: SesError -> Text sesErrorMessage :: SesError -> Text data SesMetadata SesMetadata :: Maybe Text -> SesMetadata requestId :: SesMetadata -> Maybe Text data SesConfiguration qt SesConfiguration :: Method -> ByteString -> SesConfiguration qt sesiHttpMethod :: SesConfiguration qt -> Method sesiHost :: SesConfiguration qt -> ByteString sesEuWest1 :: ByteString sesUsEast :: ByteString sesUsEast1 :: ByteString sesUsWest2 :: ByteString sesHttpsGet :: ByteString -> SesConfiguration qt sesHttpsPost :: ByteString -> SesConfiguration NormalQuery sesSignQuery :: [(ByteString, ByteString)] -> SesConfiguration qt -> SignatureData -> SignedQuery sesResponseConsumer :: (Cursor -> Response SesMetadata a) -> IORef SesMetadata -> HTTPResponseConsumer a -- | A raw e-mail. data RawMessage RawMessage :: ByteString -> RawMessage rawMessageData :: RawMessage -> ByteString -- | The destinations of an e-mail. data Destination Destination :: [EmailAddress] -> [EmailAddress] -> [EmailAddress] -> Destination destinationBccAddresses :: Destination -> [EmailAddress] destinationCcAddresses :: Destination -> [EmailAddress] destinationToAddresses :: Destination -> [EmailAddress] -- | An e-mail address. type EmailAddress = Text -- | The sender's e-mail address. data Sender Sender :: EmailAddress -> Sender senderAddress :: Sender -> EmailAddress -- | Write a data type as a list of query parameters. sesAsQuery :: SesAsQuery a => a -> [(ByteString, ByteString)] instance 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 SendRawEmail -- 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 ListIdentities -- 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 -- VerifyEmailIdentity 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 -- VerifyDomainIdentity 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 VerifyDomainDkim -- 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 DeleteIdentity -- 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 -- GetIdentityDkimAttributes command. data GetIdentityDkimAttributesResponse GetIdentityDkimAttributesResponse :: [IdentityDkimAttributes] -> GetIdentityDkimAttributesResponse data IdentityDkimAttributes IdentityDkimAttributes :: Text -> Bool -> [Text] -> Text -> IdentityDkimAttributes idIdentity :: IdentityDkimAttributes -> Text idDkimEnabled :: IdentityDkimAttributes -> Bool idDkimTokens :: IdentityDkimAttributes -> [Text] idDkimVerirficationStatus :: IdentityDkimAttributes -> Text instance 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 -- GetIdentityNotificationAttributes command. data GetIdentityNotificationAttributesResponse GetIdentityNotificationAttributesResponse :: [IdentityNotificationAttributes] -> GetIdentityNotificationAttributesResponse data IdentityNotificationAttributes IdentityNotificationAttributes :: Text -> Maybe Text -> Maybe Text -> Bool -> IdentityNotificationAttributes inIdentity :: IdentityNotificationAttributes -> Text inBounceTopic :: IdentityNotificationAttributes -> Maybe Text inComplaintTopic :: IdentityNotificationAttributes -> Maybe Text inForwardingEnabled :: IdentityNotificationAttributes -> Bool instance 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 -- GetIdentityVerificationAttributes command. data GetIdentityVerificationAttributesResponse GetIdentityVerificationAttributesResponse :: [IdentityVerificationAttributes] -> GetIdentityVerificationAttributesResponse data IdentityVerificationAttributes IdentityVerificationAttributes :: Text -> Text -> Maybe Text -> IdentityVerificationAttributes ivIdentity :: IdentityVerificationAttributes -> Text ivVerificationStatus :: IdentityVerificationAttributes -> Text ivVerificationToken :: IdentityVerificationAttributes -> Maybe Text instance 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 -- | Just the ARN of the SNS topic or Nothing to unset -- the topic. sntSnsTopic :: SetIdentityNotificationTopic -> Maybe Text -- | The response sent back by SES after the -- SetIdentityNotificationTopic command. data SetIdentityNotificationTopicResponse SetIdentityNotificationTopicResponse :: SetIdentityNotificationTopicResponse data NotificationType Bounce :: NotificationType Complaint :: NotificationType instance 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 SetIdentityDkimEnabled -- 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 -- SetIdentityFeedbackForwardingEnabled 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.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 -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration data DeleteDomain DeleteDomain :: Text -> DeleteDomain ddDomainName :: DeleteDomain -> Text data DeleteDomainResponse DeleteDomainResponse :: DeleteDomainResponse deleteDomain :: Text -> DeleteDomain -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration 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 -- | ServiceConfiguration: SdbConfiguration 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 sqsEndpointApSouthEast2 :: Endpoint sqsEndpointApNorthEast :: Endpoint sqs :: Protocol -> Endpoint -> Bool -> SqsConfiguration qt data SqsQuery SqsQuery :: Maybe QueueName -> Query -> SqsQuery sqsQueueName :: SqsQuery -> Maybe QueueName sqsQuery :: SqsQuery -> Query sqsSignQuery :: SqsQuery -> SqsConfiguration qt -> SignatureData -> SignedQuery sqsResponseConsumer :: HTTPResponseConsumer a -> IORef SqsMetadata -> HTTPResponseConsumer a sqsXmlResponseConsumer :: (Cursor -> Response SqsMetadata a) -> IORef SqsMetadata -> HTTPResponseConsumer a sqsErrorResponseConsumer :: HTTPResponseConsumer a data QueueName QueueName :: Text -> Text -> QueueName qName :: QueueName -> Text qAccountNumber :: QueueName -> Text printQueueName :: QueueName -> Text data QueueAttribute QueueAll :: QueueAttribute ApproximateNumberOfMessages :: QueueAttribute ApproximateNumberOfMessagesNotVisible :: QueueAttribute VisibilityTimeout :: QueueAttribute CreatedTimestamp :: QueueAttribute LastModifiedTimestamp :: QueueAttribute Policy :: QueueAttribute MaximumMessageSize :: QueueAttribute MessageRetentionPeriod :: QueueAttribute QueueArn :: QueueAttribute data MessageAttribute -- | all values MessageAll :: MessageAttribute -- | the AWS account number (or the IP address, if anonymous access is -- allowed) of the sender SenderId :: MessageAttribute -- | the time when the message was sent (epoch time in milliseconds) SentTimestamp :: MessageAttribute -- | the number of times a message has been received but not deleted ApproximateReceiveCount :: MessageAttribute -- | the time when the message was first received (epoch time in -- milliseconds) ApproximateFirstReceiveTimestamp :: MessageAttribute data SqsPermission PermissionAll :: SqsPermission PermissionSendMessage :: SqsPermission PermissionReceiveMessage :: SqsPermission PermissionDeleteMessage :: SqsPermission PermissionChangeMessageVisibility :: SqsPermission PermissionGetQueueAttributes :: SqsPermission parseQueueAttribute :: MonadThrow m => Text -> m QueueAttribute printQueueAttribute :: QueueAttribute -> Text parseMessageAttribute :: MonadThrow m => Text -> m MessageAttribute printMessageAttribute :: MessageAttribute -> Text printPermission :: SqsPermission -> Text newtype ReceiptHandle ReceiptHandle :: Text -> ReceiptHandle newtype MessageId MessageId :: Text -> MessageId printReceiptHandle :: ReceiptHandle -> Text instance Typeable SqsError instance Show SqsMetadata instance Show SqsError instance Show SqsAuthorization instance Show Endpoint instance Show (SqsConfiguration qt) instance Show QueueName instance Read QueueName instance Eq QueueName instance Ord QueueName instance Show QueueAttribute instance Enum QueueAttribute instance Eq QueueAttribute instance Show MessageAttribute instance Read MessageAttribute instance Eq MessageAttribute instance Ord MessageAttribute instance Enum MessageAttribute instance Bounded MessageAttribute instance Show SqsPermission instance Enum SqsPermission instance Eq SqsPermission instance Show ReceiptHandle instance Read ReceiptHandle instance Eq ReceiptHandle instance Ord ReceiptHandle instance Show MessageId instance Read MessageId instance Eq MessageId instance Ord MessageId instance DefaultServiceConfiguration (SqsConfiguration UriOnlyQuery) instance DefaultServiceConfiguration (SqsConfiguration NormalQuery) instance Monoid SqsMetadata instance Loggable SqsMetadata instance Exception SqsError module Aws.Sqs.Commands.Message -- | You can append a custom type label to the supported data types -- (String, Number, and Binary) to create custom data types. This -- capability is similar to type traits in programming languages. For -- example, if you have an application that needs to know which type of -- number is being sent in the message, then you could create custom -- types similar to the following: Number.byte, Number.short, Number.int, -- and Number.float. Another example using the binary data type is to use -- Binary.gif and Binary.png to distinguish among different image file -- types in a message or batch of messages. The appended data is optional -- and opaque to Amazon SQS, which means that the appended data is not -- interpreted, validated, or used by Amazon SQS. The Custom Type -- extension has the same restrictions on allowed characters as the -- message body. type UserMessageAttributeCustomType = Text -- | Message Attribute Value -- -- The user-specified message attribute value. For string data types, the -- value attribute has the same restrictions on the content as the -- message body. For more information, see SendMessage. -- -- Name, type, and value must not be empty or null. In addition, the -- message body should not be empty or null. All parts of the message -- attribute, including name, type, and value, are included in the -- message size restriction, which is currently 256 KB (262,144 bytes). -- -- The supported message attribute data types are String, Number, and -- Binary. You can also provide custom information on the type. The data -- type has the same restrictions on the content as the message body. The -- data type is case sensitive, and it can be up to 256 bytes long. -- -- -- http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_MessageAttributeValue.html data UserMessageAttributeValue -- | Strings are Unicode with UTF-8 binary encoding. UserMessageAttributeString :: (Maybe UserMessageAttributeCustomType) -> Text -> UserMessageAttributeValue -- | Numbers are positive or negative integers or floating point numbers. -- Numbers have sufficient range and precision to encompass most of the -- possible values that integers, floats, and doubles typically support. -- A number can have up to 38 digits of precision, and it can be between -- 10^-128 to 10^+126. Leading and trailing zeroes are trimmed. UserMessageAttributeNumber :: (Maybe UserMessageAttributeCustomType) -> Scientific -> UserMessageAttributeValue -- | Binary type attributes can store any binary data, for example, -- compressed data, encrypted data, or images. UserMessageAttributeBinary :: (Maybe UserMessageAttributeCustomType) -> ByteString -> UserMessageAttributeValue -- | The message attribute name can contain the following characters: A-Z, -- a-z, 0-9, underscore(_), hyphen(-), and period (.). The name must not -- start or end with a period, and it should not have successive periods. -- The name is case sensitive and must be unique among all attribute -- names for the message. The name can be up to 256 characters long. The -- name cannot start with "AWS." or "Amazon." (or any variations in -- casing) because these prefixes are reserved for use by Amazon Web -- Services. type UserMessageAttributeName = Text -- | Message Attribute -- -- Name, type, and value must not be empty or null. In addition, the -- message body should not be empty or null. All parts of the message -- attribute, including name, type, and value, are included in the -- message size restriction, which is currently 256 KB (262,144 bytes). -- -- -- http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSMessageAttributes.html#SQSMessageAttributes.DataTypes -- -- NOTE -- -- The Amazon SQS API reference calls this MessageAttribute. The -- Haskell bindings use this term for what the Amazon documentation calls -- just Attributes. In order to limit backward compatibility -- issues we keep the terminology of the Haskell bindings and call this -- type UserMessageAttributes. type UserMessageAttribute = (UserMessageAttributeName, UserMessageAttributeValue) -- | Delivers a message to the specified queue. With Amazon SQS, you now -- have the ability to send large payload messages that are up to 256KB -- (262,144 bytes) in size. To send large payloads, you must use an AWS -- SDK that supports SigV4 signing. To verify whether SigV4 is supported -- for an AWS SDK, check the SDK release notes. -- -- IMPORTANT -- -- The following list shows the characters (in Unicode) allowed in your -- message, according to the W3C XML specification. For more information, -- go to http://www.w3.org/TR/REC-xml/#charsets If you send any -- characters not included in the list, your request will be rejected. -- --
-- #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF] ---- -- -- http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_SendMessage.html data SendMessage SendMessage :: !Text -> !QueueName -> ![UserMessageAttribute] -> !(Maybe Int) -> SendMessage -- | The message to send. String maximum 256 KB in size. smMessage :: SendMessage -> !Text -- | The URL of the Amazon SQS queue to take action on. smQueueName :: SendMessage -> !QueueName -- | Each message attribute consists of a Name, Type, and Value. smAttributes :: SendMessage -> ![UserMessageAttribute] -- | The number of seconds (0 to 900 - 15 minutes) to delay a specific -- message. Messages with a positive DelaySeconds value become available -- for processing after the delay time is finished. If you don't specify -- a value, the default value for the queue applies. smDelaySeconds :: SendMessage -> !(Maybe Int) -- | At -- http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_SendMessageResult.html -- all fields of SendMessageResult are denoted as optional. At -- http://queue.amazonaws.com/doc/2012-11-05/QueueService.wsdl all -- fields are specified as required. -- -- The actual service seems to treat at least -- smrMD5OfMessageAttributes as optional. data SendMessageResponse SendMessageResponse :: !Text -> !MessageId -> !(Maybe Text) -> SendMessageResponse -- | An MD5 digest of the non-URL-encoded message body string. This can be -- used to verify that Amazon SQS received the message correctly. Amazon -- SQS first URL decodes the message before creating the MD5 digest. For -- information about MD5, go to -- http://www.faqs.org/rfcs/rfc1321.html. smrMD5OfMessageBody :: SendMessageResponse -> !Text -- | An element containing the message ID of the message sent to the queue. smrMessageId :: SendMessageResponse -> !MessageId -- | An MD5 digest of the non-URL-encoded message attribute string. This -- can be used to verify that Amazon SQS received the message correctly. -- Amazon SQS first URL decodes the message before creating the MD5 -- digest. For information about MD5, go to -- http://www.faqs.org/rfcs/rfc1321.html. smrMD5OfMessageAttributes :: SendMessageResponse -> !(Maybe Text) -- | Deletes the specified message from the specified queue. You specify -- the message by using the message's receipt handle and not the message -- ID you received when you sent the message. Even if the message is -- locked by another reader due to the visibility timeout setting, it is -- still deleted from the queue. If you leave a message in the queue for -- longer than the queue's configured retention period, Amazon SQS -- automatically deletes it. -- -- NOTE -- -- The receipt handle is associated with a specific instance of receiving -- the message. If you receive a message more than once, the receipt -- handle you get each time you receive the message is different. When -- you request DeleteMessage, if you don't provide the most recently -- received receipt handle for the message, the request will still -- succeed, but the message might not be deleted. -- -- IMPORTANT -- -- It is possible you will receive a message even after you have deleted -- it. This might happen on rare occasions if one of the servers storing -- a copy of the message is unavailable when you request to delete the -- message. The copy remains on the server and might be returned to you -- again on a subsequent receive request. You should create your system -- to be idempotent so that receiving a particular message more than once -- is not a problem. -- -- -- http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_DeleteMessage.html data DeleteMessage DeleteMessage :: !ReceiptHandle -> !QueueName -> DeleteMessage -- | The receipt handle associated with the message to delete. dmReceiptHandle :: DeleteMessage -> !ReceiptHandle -- | The URL of the Amazon SQS queue to take action on. dmQueueName :: DeleteMessage -> !QueueName data DeleteMessageResponse DeleteMessageResponse :: DeleteMessageResponse -- | An Amazon SQS message. -- -- In -- http://docs.aws.amazon.com/AWSSimpleQueueService/2012-11-05/APIReference/API_Message.html -- all elements are denoted as optional. In -- http://queue.amazonaws.com/doc/2012-11-05/QueueService.wsdl all -- elements except for the attributes are specified as required. At least -- for the field mMD5OfMessageAttributes the the service is not -- always returning a value and therefor we make this field optional. data Message Message :: !Text -> !ReceiptHandle -> !Text -> Text -> ![(MessageAttribute, Text)] -> !(Maybe Text) -> ![UserMessageAttribute] -> Message -- | A unique identifier for the message. Message IDs are considered unique -- across all AWS accounts for an extended period of time. mMessageId :: Message -> !Text -- | An identifier associated with the act of receiving the message. A new -- receipt handle is returned every time you receive a message. When -- deleting a message, you provide the last received receipt handle to -- delete the message. mReceiptHandle :: Message -> !ReceiptHandle -- | An MD5 digest of the non-URL-encoded message body string. mMD5OfBody :: Message -> !Text -- | The message's contents (not URL-encoded). mBody :: Message -> Text -- | SenderId, SentTimestamp, ApproximateReceiveCount, and/or -- ApproximateFirstReceiveTimestamp. SentTimestamp and -- ApproximateFirstReceiveTimestamp are each returned as an integer -- representing the epoch time in milliseconds. mAttributes :: Message -> ![(MessageAttribute, Text)] -- | An MD5 digest of the non-URL-encoded message attribute string. This -- can be used to verify that Amazon SQS received the message correctly. -- Amazon SQS first URL decodes the message before creating the MD5 -- digest. For information about MD5, go to -- http://www.faqs.org/rfcs/rfc1321.html. mMD5OfMessageAttributes :: Message -> !(Maybe Text) -- | Each message attribute consists of a Name, Type, and Value. mUserMessageAttributes :: Message -> ![UserMessageAttribute] -- | Retrieves one or more messages, with a maximum limit of 10 messages, -- from the specified queue. Long poll support is enabled by using the -- WaitTimeSeconds parameter. For more information, see Amazon SQS -- Long Poll in the Amazon SQS Developer Guide. -- -- Short poll is the default behavior where a weighted random set of -- machines is sampled on a ReceiveMessage call. This means only the -- messages on the sampled machines are returned. If the number of -- messages in the queue is small (less than 1000), it is likely you will -- get fewer messages than you requested per ReceiveMessage call. If the -- number of messages in the queue is extremely small, you might not -- receive any messages in a particular ReceiveMessage response; in which -- case you should repeat the request. -- -- For each message returned, the response includes the following: -- -- Message body -- --
-- keyName awsKeyID awsKeySecret --loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) -- | Load credentials from the environment variables -- AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY_SECRET (or -- AWS_SECRET_ACCESS_KEY), if possible. loadCredentialsFromEnv :: MonadIO io => io (Maybe Credentials) loadCredentialsFromInstanceMetadata :: MonadIO io => io (Maybe Credentials) -- | Load credentials from environment variables if possible, or -- alternatively from a file with a given key name. -- -- See loadCredentialsFromEnv and loadCredentialsFromFile -- for details. loadCredentialsFromEnvOrFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) -- | Load credentials from environment variables if possible, or -- alternatively from the instance metadata store, or alternatively from -- a file with a given key name. -- -- See loadCredentialsFromEnv, loadCredentialsFromFile and -- loadCredentialsFromInstanceMetadata for details. loadCredentialsFromEnvOrFileOrInstanceMetadata :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) -- | Load credentials from environment variables if possible, or -- alternative from the default file with the default key name. -- -- Default file: directory/.aws-keys Default key -- name: default -- -- See loadCredentialsFromEnv and loadCredentialsFromFile -- for details. loadCredentialsDefault :: MonadIO io => io (Maybe Credentials)