-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Interface to Amazon's SimpleDB service.
--
-- Interface to Amazon's SimpleDB service.
@package hSimpleDB
@version 0.1
module Network.AWS.SimpleDB
-- | Domain name limits: 3-255 characters (a-z, A-Z, 0-9, '_', -,
-- and .)
type DomainName = String
type MaxNumberOfDomains = Int
type SelectExpression = String
type ItemName = String
type AttributeKey = String
type AttributeValue = String
data Attribute
(:=) :: AttributeKey -> AttributeValue -> Attribute
data Item
Item :: ItemName -> [Attribute] -> Item
itemName :: Item -> ItemName
itemAttributes :: Item -> [Attribute]
-- | The createDomain operation creates a new domain. The domain
-- name must be unique among the domains associated with the Access Key
-- ID provided in the request. The createDomain operation might
-- take 10 or more seconds to complete.
createDomain :: AWSConnection -> DomainName -> IO ()
-- | The deleteDomain operation deletes a domain. Any items (and
-- their attributes) in the domain are deleted as well. The
-- deleteDomain operation might take 10 or more seconds to
-- complete.
deleteDomain :: AWSConnection -> DomainName -> IO ()
-- | The listDomains operation lists all domains associated with
-- the Access Key ID.
listDomains :: AWSConnection -> IO [DomainName]
-- | Returns all of the attributes associated with the item. Optionally,
-- the attributes returned can be limited to one or more specified
-- attribute name parameters. If the item does not exist on the replica
-- that was accessed for this operation, an empty set is returned. The
-- system does not return an error as it cannot guarantee the item does
-- not exist on other replicas.
getAttributes :: AWSConnection -> DomainName -> ItemName -> [AttributeKey] -> IO Item
-- | The putAttributes operation creates or replaces attributes in
-- an item. Attributes are uniquely identified in an item by their
-- name/value combination. For example, a single item can have the
-- attributes ["first_name" := "first_value"] and
-- ["first_name" := "second_value"]. However, it cannot have two
-- attribute instances where both the name and value are the same. See
-- also putAttributes'.
putAttributes :: AWSConnection -> DomainName -> Item -> IO ()
-- | The putAttributes operation creates or replaces attributes in
-- an item. Attributes are uniquely identified in an item by their
-- name/value combination. For example, a single item can have the
-- attributes ["first_name" := "first_value"] and
-- ["first_name" := "second_value"]. However, it cannot have two
-- attribute instances where both the name and value are the same.
--
-- This command differs from putAttributes by taking a list of
-- attribute keys that are to be replaced instead of appended.
putAttributes' :: AWSConnection -> DomainName -> Item -> [AttributeKey] -> IO ()
-- | With the batchPutAttributes operation, you can perform
-- multiple putAttribute operations in a single call. This helps
-- you yield savings in round trips and latencies, and enables Amazon
-- SimpleDB to optimize requests, which generally yields better
-- throughput.
--
-- See also putAttributes.
batchPutAttributes :: AWSConnection -> DomainName -> [Item] -> IO ()
-- | With the batchPutAttributes operation, you can perform
-- multiple putAttribute operations in a single call. This helps
-- you yield savings in round trips and latencies, and enables Amazon
-- SimpleDB to optimize requests, which generally yields better
-- throughput.
--
-- See also putAttributes'.
batchPutAttributes' :: AWSConnection -> DomainName -> [(Item, [AttributeKey])] -> IO ()
-- | Deletes one or more attributes associated with the item. If all
-- attributes of an item are deleted, the item is deleted.
deleteAttributes :: AWSConnection -> DomainName -> Item -> IO ()
-- | The select operation returns a set of Attributes for
-- ItemNames that match the select expression. select is similar
-- to the standard SQL SELECT statement. The total size of the response
-- cannot exceed 1 MB in total size. Amazon SimpleDB automatically
-- adjusts the number of items returned per page to enforce this limit.
-- For example, even if you ask to retrieve 2500 items, but each
-- individual item is 10 kB in size, the system returns 100 items and an
-- appropriate next token so you can get the next page of results.
select :: AWSConnection -> SelectExpression -> IO [Item]
-- | Hostname used for connecting to Amazon's production SimpleDB service
-- (sdb.amazonaws.com).
defaultAmazonSimpleDBHost :: String
-- | Port number used for connecting to Amazon's production SimpleDB
-- service (80).
defaultAmazonSimpleDBPort :: Int
-- | Create an AWSConnection to Amazon from credentials. Uses the
-- production service.
amazonSimpleDBConnection :: String -> String -> AWSConnection
-- | An Amazon Web Services connection. Everything needed to connect and
-- authenticate requests.
data AWSConnection
AWSConnection :: String -> Int -> String -> String -> AWSConnection
-- | Service provider hostname
awsHost :: AWSConnection -> String
-- | Service provider port number
awsPort :: AWSConnection -> Int
-- | Access Key ID
awsAccessKey :: AWSConnection -> String
-- | Secret Access Key
awsSecretKey :: AWSConnection -> String