packages feed

amazonka-sdb 0.3.6 → 1.0.0

raw patch · 21 files changed

+2070/−1341 lines, 21 filesdep +amazonka-sdbdep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: amazonka-sdb, amazonka-test, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers

Dependency ranges changed: amazonka-core, base

API changes (from Hackage documentation)

- Network.AWS.SDB.BatchDeleteAttributes: instance Ord BatchDeleteAttributesResponse
- Network.AWS.SDB.BatchPutAttributes: instance Ord BatchPutAttributesResponse
- Network.AWS.SDB.CreateDomain: instance IsString CreateDomain
- Network.AWS.SDB.CreateDomain: instance Monoid CreateDomain
- Network.AWS.SDB.CreateDomain: instance Ord CreateDomain
- Network.AWS.SDB.CreateDomain: instance Ord CreateDomainResponse
- Network.AWS.SDB.DeleteAttributes: instance Ord DeleteAttributesResponse
- Network.AWS.SDB.DeleteDomain: instance IsString DeleteDomain
- Network.AWS.SDB.DeleteDomain: instance Monoid DeleteDomain
- Network.AWS.SDB.DeleteDomain: instance Ord DeleteDomain
- Network.AWS.SDB.DeleteDomain: instance Ord DeleteDomainResponse
- Network.AWS.SDB.DomainMetadata: dmrAttributeNameCount :: Lens' DomainMetadataResponse (Maybe Int)
- Network.AWS.SDB.DomainMetadata: dmrAttributeNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)
- Network.AWS.SDB.DomainMetadata: dmrAttributeValueCount :: Lens' DomainMetadataResponse (Maybe Int)
- Network.AWS.SDB.DomainMetadata: dmrAttributeValuesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)
- Network.AWS.SDB.DomainMetadata: dmrItemCount :: Lens' DomainMetadataResponse (Maybe Int)
- Network.AWS.SDB.DomainMetadata: dmrItemNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)
- Network.AWS.SDB.DomainMetadata: dmrTimestamp :: Lens' DomainMetadataResponse (Maybe Int)
- Network.AWS.SDB.DomainMetadata: instance FromXML DomainMetadataResponse
- Network.AWS.SDB.DomainMetadata: instance IsString DomainMetadata
- Network.AWS.SDB.DomainMetadata: instance Monoid DomainMetadata
- Network.AWS.SDB.DomainMetadata: instance Ord DomainMetadata
- Network.AWS.SDB.DomainMetadata: instance Ord DomainMetadataResponse
- Network.AWS.SDB.GetAttributes: garAttributes :: Lens' GetAttributesResponse [Attribute]
- Network.AWS.SDB.GetAttributes: instance FromXML GetAttributesResponse
- Network.AWS.SDB.GetAttributes: instance Monoid GetAttributesResponse
- Network.AWS.SDB.GetAttributes: instance Ord GetAttributes
- Network.AWS.SDB.GetAttributes: instance Semigroup GetAttributesResponse
- Network.AWS.SDB.ListDomains: instance FromXML ListDomainsResponse
- Network.AWS.SDB.ListDomains: instance Ord ListDomains
- Network.AWS.SDB.ListDomains: instance Ord ListDomainsResponse
- Network.AWS.SDB.ListDomains: ldrDomainNames :: Lens' ListDomainsResponse [Text]
- Network.AWS.SDB.ListDomains: ldrNextToken :: Lens' ListDomainsResponse (Maybe Text)
- Network.AWS.SDB.PutAttributes: instance Ord PutAttributesResponse
- Network.AWS.SDB.Select: instance FromXML SelectResponse
- Network.AWS.SDB.Select: instance Ord Select
- Network.AWS.SDB.Select: srItems :: Lens' SelectResponse [Item]
- Network.AWS.SDB.Select: srNextToken :: Lens' SelectResponse (Maybe Text)
- Network.AWS.SDB.Types: data RESTError :: *
- Network.AWS.SDB.Types: instance Eq Attribute
- Network.AWS.SDB.Types: instance Eq DeletableItem
- Network.AWS.SDB.Types: instance Eq Item
- Network.AWS.SDB.Types: instance Eq ReplaceableAttribute
- Network.AWS.SDB.Types: instance Eq ReplaceableItem
- Network.AWS.SDB.Types: instance Eq UpdateCondition
- Network.AWS.SDB.Types: instance FromXML Attribute
- Network.AWS.SDB.Types: instance FromXML DeletableItem
- Network.AWS.SDB.Types: instance FromXML Item
- Network.AWS.SDB.Types: instance FromXML ReplaceableAttribute
- Network.AWS.SDB.Types: instance FromXML ReplaceableItem
- Network.AWS.SDB.Types: instance FromXML UpdateCondition
- Network.AWS.SDB.Types: instance Ord Attribute
- Network.AWS.SDB.Types: instance Ord ReplaceableAttribute
- Network.AWS.SDB.Types: instance Ord UpdateCondition
- Network.AWS.SDB.Types: instance Read Attribute
- Network.AWS.SDB.Types: instance Read DeletableItem
- Network.AWS.SDB.Types: instance Read Item
- Network.AWS.SDB.Types: instance Read ReplaceableAttribute
- Network.AWS.SDB.Types: instance Read ReplaceableItem
- Network.AWS.SDB.Types: instance Read UpdateCondition
- Network.AWS.SDB.Types: instance Show Attribute
- Network.AWS.SDB.Types: instance Show DeletableItem
- Network.AWS.SDB.Types: instance Show Item
- Network.AWS.SDB.Types: instance Show ReplaceableAttribute
- Network.AWS.SDB.Types: instance Show ReplaceableItem
- Network.AWS.SDB.Types: instance Show UpdateCondition
- Network.AWS.SDB.Types: instance ToQuery Attribute
- Network.AWS.SDB.Types: instance ToQuery DeletableItem
- Network.AWS.SDB.Types: instance ToQuery Item
- Network.AWS.SDB.Types: instance ToQuery ReplaceableAttribute
- Network.AWS.SDB.Types: instance ToQuery ReplaceableItem
- Network.AWS.SDB.Types: instance ToQuery UpdateCondition
- Network.AWS.SDB.Types: ns :: Text
+ Network.AWS.SDB: _AttributeDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _DuplicateItemName :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _InvalidNumberPredicates :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _InvalidNumberValueTests :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _InvalidParameterValue :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _InvalidQueryExpression :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _MissingParameter :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _NoSuchDomain :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _NumberDomainAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _NumberDomainBytesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _NumberDomainsExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _NumberItemAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _NumberSubmittedAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _NumberSubmittedItemsExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _RequestTimeout :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: _TooManyRequestedAttributes :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB: aAlternateNameEncoding :: Lens' Attribute (Maybe Text)
+ Network.AWS.SDB: aAlternateValueEncoding :: Lens' Attribute (Maybe Text)
+ Network.AWS.SDB: aName :: Lens' Attribute Text
+ Network.AWS.SDB: aValue :: Lens' Attribute Text
+ Network.AWS.SDB: attribute :: Text -> Text -> Attribute
+ Network.AWS.SDB: data Attribute
+ Network.AWS.SDB: data DeletableItem
+ Network.AWS.SDB: data Item
+ Network.AWS.SDB: data ReplaceableAttribute
+ Network.AWS.SDB: data ReplaceableItem
+ Network.AWS.SDB: data SDB
+ Network.AWS.SDB: data UpdateCondition
+ Network.AWS.SDB: deletableItem :: Text -> DeletableItem
+ Network.AWS.SDB: diAttributes :: Lens' DeletableItem [Attribute]
+ Network.AWS.SDB: diName :: Lens' DeletableItem Text
+ Network.AWS.SDB: iAlternateNameEncoding :: Lens' Item (Maybe Text)
+ Network.AWS.SDB: iAttributes :: Lens' Item [Attribute]
+ Network.AWS.SDB: iName :: Lens' Item Text
+ Network.AWS.SDB: item :: Text -> Item
+ Network.AWS.SDB: raName :: Lens' ReplaceableAttribute Text
+ Network.AWS.SDB: raReplace :: Lens' ReplaceableAttribute (Maybe Bool)
+ Network.AWS.SDB: raValue :: Lens' ReplaceableAttribute Text
+ Network.AWS.SDB: replaceableAttribute :: Text -> Text -> ReplaceableAttribute
+ Network.AWS.SDB: replaceableItem :: Text -> ReplaceableItem
+ Network.AWS.SDB: riAttributes :: Lens' ReplaceableItem [ReplaceableAttribute]
+ Network.AWS.SDB: riName :: Lens' ReplaceableItem Text
+ Network.AWS.SDB: ucExists :: Lens' UpdateCondition (Maybe Bool)
+ Network.AWS.SDB: ucName :: Lens' UpdateCondition (Maybe Text)
+ Network.AWS.SDB: ucValue :: Lens' UpdateCondition (Maybe Text)
+ Network.AWS.SDB: updateCondition :: UpdateCondition
+ Network.AWS.SDB.BatchDeleteAttributes: instance Constructor C1_0BatchDeleteAttributes
+ Network.AWS.SDB.BatchDeleteAttributes: instance Data BatchDeleteAttributes
+ Network.AWS.SDB.BatchDeleteAttributes: instance Data BatchDeleteAttributesResponse
+ Network.AWS.SDB.BatchDeleteAttributes: instance Datatype D1BatchDeleteAttributes
+ Network.AWS.SDB.BatchDeleteAttributes: instance Generic BatchDeleteAttributes
+ Network.AWS.SDB.BatchDeleteAttributes: instance Selector S1_0_0BatchDeleteAttributes
+ Network.AWS.SDB.BatchDeleteAttributes: instance Selector S1_0_1BatchDeleteAttributes
+ Network.AWS.SDB.BatchDeleteAttributes: instance Typeable BatchDeleteAttributes
+ Network.AWS.SDB.BatchDeleteAttributes: instance Typeable BatchDeleteAttributesResponse
+ Network.AWS.SDB.BatchPutAttributes: instance Constructor C1_0BatchPutAttributes
+ Network.AWS.SDB.BatchPutAttributes: instance Data BatchPutAttributes
+ Network.AWS.SDB.BatchPutAttributes: instance Data BatchPutAttributesResponse
+ Network.AWS.SDB.BatchPutAttributes: instance Datatype D1BatchPutAttributes
+ Network.AWS.SDB.BatchPutAttributes: instance Generic BatchPutAttributes
+ Network.AWS.SDB.BatchPutAttributes: instance Selector S1_0_0BatchPutAttributes
+ Network.AWS.SDB.BatchPutAttributes: instance Selector S1_0_1BatchPutAttributes
+ Network.AWS.SDB.BatchPutAttributes: instance Typeable BatchPutAttributes
+ Network.AWS.SDB.BatchPutAttributes: instance Typeable BatchPutAttributesResponse
+ Network.AWS.SDB.CreateDomain: instance Constructor C1_0CreateDomain
+ Network.AWS.SDB.CreateDomain: instance Data CreateDomain
+ Network.AWS.SDB.CreateDomain: instance Data CreateDomainResponse
+ Network.AWS.SDB.CreateDomain: instance Datatype D1CreateDomain
+ Network.AWS.SDB.CreateDomain: instance Generic CreateDomain
+ Network.AWS.SDB.CreateDomain: instance Selector S1_0_0CreateDomain
+ Network.AWS.SDB.CreateDomain: instance Typeable CreateDomain
+ Network.AWS.SDB.CreateDomain: instance Typeable CreateDomainResponse
+ Network.AWS.SDB.DeleteAttributes: instance Constructor C1_0DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Data DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Data DeleteAttributesResponse
+ Network.AWS.SDB.DeleteAttributes: instance Datatype D1DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Generic DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Selector S1_0_0DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Selector S1_0_1DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Selector S1_0_2DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Selector S1_0_3DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Typeable DeleteAttributes
+ Network.AWS.SDB.DeleteAttributes: instance Typeable DeleteAttributesResponse
+ Network.AWS.SDB.DeleteDomain: instance Constructor C1_0DeleteDomain
+ Network.AWS.SDB.DeleteDomain: instance Data DeleteDomain
+ Network.AWS.SDB.DeleteDomain: instance Data DeleteDomainResponse
+ Network.AWS.SDB.DeleteDomain: instance Datatype D1DeleteDomain
+ Network.AWS.SDB.DeleteDomain: instance Generic DeleteDomain
+ Network.AWS.SDB.DeleteDomain: instance Selector S1_0_0DeleteDomain
+ Network.AWS.SDB.DeleteDomain: instance Typeable DeleteDomain
+ Network.AWS.SDB.DeleteDomain: instance Typeable DeleteDomainResponse
+ Network.AWS.SDB.DomainMetadata: dmrsAttributeNameCount :: Lens' DomainMetadataResponse (Maybe Int)
+ Network.AWS.SDB.DomainMetadata: dmrsAttributeNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)
+ Network.AWS.SDB.DomainMetadata: dmrsAttributeValueCount :: Lens' DomainMetadataResponse (Maybe Int)
+ Network.AWS.SDB.DomainMetadata: dmrsAttributeValuesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)
+ Network.AWS.SDB.DomainMetadata: dmrsItemCount :: Lens' DomainMetadataResponse (Maybe Int)
+ Network.AWS.SDB.DomainMetadata: dmrsItemNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)
+ Network.AWS.SDB.DomainMetadata: dmrsStatus :: Lens' DomainMetadataResponse Int
+ Network.AWS.SDB.DomainMetadata: dmrsTimestamp :: Lens' DomainMetadataResponse (Maybe Int)
+ Network.AWS.SDB.DomainMetadata: instance Constructor C1_0DomainMetadata
+ Network.AWS.SDB.DomainMetadata: instance Constructor C1_0DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Data DomainMetadata
+ Network.AWS.SDB.DomainMetadata: instance Data DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Datatype D1DomainMetadata
+ Network.AWS.SDB.DomainMetadata: instance Datatype D1DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Generic DomainMetadata
+ Network.AWS.SDB.DomainMetadata: instance Generic DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_0DomainMetadata
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_0DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_1DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_2DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_3DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_4DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_5DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_6DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Selector S1_0_7DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: instance Typeable DomainMetadata
+ Network.AWS.SDB.DomainMetadata: instance Typeable DomainMetadataResponse
+ Network.AWS.SDB.GetAttributes: garsAttributes :: Lens' GetAttributesResponse [Attribute]
+ Network.AWS.SDB.GetAttributes: garsStatus :: Lens' GetAttributesResponse Int
+ Network.AWS.SDB.GetAttributes: instance Constructor C1_0GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Constructor C1_0GetAttributesResponse
+ Network.AWS.SDB.GetAttributes: instance Data GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Data GetAttributesResponse
+ Network.AWS.SDB.GetAttributes: instance Datatype D1GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Datatype D1GetAttributesResponse
+ Network.AWS.SDB.GetAttributes: instance Generic GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Generic GetAttributesResponse
+ Network.AWS.SDB.GetAttributes: instance Selector S1_0_0GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Selector S1_0_0GetAttributesResponse
+ Network.AWS.SDB.GetAttributes: instance Selector S1_0_1GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Selector S1_0_1GetAttributesResponse
+ Network.AWS.SDB.GetAttributes: instance Selector S1_0_2GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Selector S1_0_3GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Typeable GetAttributes
+ Network.AWS.SDB.GetAttributes: instance Typeable GetAttributesResponse
+ Network.AWS.SDB.ListDomains: instance Constructor C1_0ListDomains
+ Network.AWS.SDB.ListDomains: instance Constructor C1_0ListDomainsResponse
+ Network.AWS.SDB.ListDomains: instance Data ListDomains
+ Network.AWS.SDB.ListDomains: instance Data ListDomainsResponse
+ Network.AWS.SDB.ListDomains: instance Datatype D1ListDomains
+ Network.AWS.SDB.ListDomains: instance Datatype D1ListDomainsResponse
+ Network.AWS.SDB.ListDomains: instance Generic ListDomains
+ Network.AWS.SDB.ListDomains: instance Generic ListDomainsResponse
+ Network.AWS.SDB.ListDomains: instance Selector S1_0_0ListDomains
+ Network.AWS.SDB.ListDomains: instance Selector S1_0_0ListDomainsResponse
+ Network.AWS.SDB.ListDomains: instance Selector S1_0_1ListDomains
+ Network.AWS.SDB.ListDomains: instance Selector S1_0_1ListDomainsResponse
+ Network.AWS.SDB.ListDomains: instance Selector S1_0_2ListDomainsResponse
+ Network.AWS.SDB.ListDomains: instance Typeable ListDomains
+ Network.AWS.SDB.ListDomains: instance Typeable ListDomainsResponse
+ Network.AWS.SDB.ListDomains: ldrsDomainNames :: Lens' ListDomainsResponse [Text]
+ Network.AWS.SDB.ListDomains: ldrsNextToken :: Lens' ListDomainsResponse (Maybe Text)
+ Network.AWS.SDB.ListDomains: ldrsStatus :: Lens' ListDomainsResponse Int
+ Network.AWS.SDB.PutAttributes: instance Constructor C1_0PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Data PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Data PutAttributesResponse
+ Network.AWS.SDB.PutAttributes: instance Datatype D1PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Generic PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Selector S1_0_0PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Selector S1_0_1PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Selector S1_0_2PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Selector S1_0_3PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Typeable PutAttributes
+ Network.AWS.SDB.PutAttributes: instance Typeable PutAttributesResponse
+ Network.AWS.SDB.Select: instance Constructor C1_0Select
+ Network.AWS.SDB.Select: instance Constructor C1_0SelectResponse
+ Network.AWS.SDB.Select: instance Data Select
+ Network.AWS.SDB.Select: instance Data SelectResponse
+ Network.AWS.SDB.Select: instance Datatype D1Select
+ Network.AWS.SDB.Select: instance Datatype D1SelectResponse
+ Network.AWS.SDB.Select: instance Generic Select
+ Network.AWS.SDB.Select: instance Generic SelectResponse
+ Network.AWS.SDB.Select: instance Selector S1_0_0Select
+ Network.AWS.SDB.Select: instance Selector S1_0_0SelectResponse
+ Network.AWS.SDB.Select: instance Selector S1_0_1Select
+ Network.AWS.SDB.Select: instance Selector S1_0_1SelectResponse
+ Network.AWS.SDB.Select: instance Selector S1_0_2Select
+ Network.AWS.SDB.Select: instance Selector S1_0_2SelectResponse
+ Network.AWS.SDB.Select: instance Typeable Select
+ Network.AWS.SDB.Select: instance Typeable SelectResponse
+ Network.AWS.SDB.Select: srsItems :: Lens' SelectResponse [Item]
+ Network.AWS.SDB.Select: srsNextToken :: Lens' SelectResponse (Maybe Text)
+ Network.AWS.SDB.Select: srsStatus :: Lens' SelectResponse Int
+ Network.AWS.SDB.Types: _AttributeDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _DuplicateItemName :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _InvalidNumberPredicates :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _InvalidNumberValueTests :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _InvalidParameterValue :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _InvalidQueryExpression :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _MissingParameter :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _NoSuchDomain :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _NumberDomainAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _NumberDomainBytesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _NumberDomainsExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _NumberItemAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _NumberSubmittedAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _NumberSubmittedItemsExceeded :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _RequestTimeout :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.SDB.Types: _TooManyRequestedAttributes :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.SDB.DomainMetadata: domainMetadataResponse :: DomainMetadataResponse
+ Network.AWS.SDB.DomainMetadata: domainMetadataResponse :: Int -> DomainMetadataResponse
- Network.AWS.SDB.GetAttributes: getAttributesResponse :: GetAttributesResponse
+ Network.AWS.SDB.GetAttributes: getAttributesResponse :: Int -> GetAttributesResponse
- Network.AWS.SDB.ListDomains: listDomainsResponse :: ListDomainsResponse
+ Network.AWS.SDB.ListDomains: listDomainsResponse :: Int -> ListDomainsResponse
- Network.AWS.SDB.Select: selectResponse :: SelectResponse
+ Network.AWS.SDB.Select: selectResponse :: Int -> SelectResponse

Files

README.md view
@@ -1,31 +1,47 @@ # Amazon SimpleDB SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## Description -Amazon SimpleDB is a highly available and flexible non-relational data store-that offloads the work of database administration. Developers simply store-and query data items via web services requests and Amazon SimpleDB does the-rest. Unbound by the strict requirements of a relational database, Amazon-SimpleDB is optimized to provide high availability and flexibility, with-little or no administrative burden. Behind the scenes, Amazon SimpleDB-creates and manages multiple geographically distributed replicas of your data-automatically to enable high availability and data durability. The service-charges you only for the resources actually consumed in storing your data and-serving your requests. You can change your data model on the fly, and data is-automatically indexed for you. With Amazon SimpleDB, you can focus on-application development without worrying about infrastructure provisioning,-high availability, software maintenance, schema and index management, or-performance tuning.+Amazon SimpleDB is a web service providing the core database functions+of data indexing and querying in the cloud. By offloading the time and+effort associated with building and operating a web-scale database,+SimpleDB provides developers the freedom to focus on application+development. +A traditional, clustered relational database requires a sizable upfront+capital outlay, is complex to design, and often requires extensive and+repetitive database administration. Amazon SimpleDB is dramatically+simpler, requiring no schema, automatically indexing your data and+providing a simple API for storage and access. This approach eliminates+the administrative burden of data modeling, index maintenance, and+performance tuning. Developers gain access to this functionality within+Amazon\'s proven computing environment, are able to scale instantly, and+pay only for what they use.++Visit <http://aws.amazon.com/simpledb/> for more information.+ Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-sdb) and the [AWS API Reference](http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html). +The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).  ## Contribute 
amazonka-sdb.cabal view
@@ -1,38 +1,49 @@ name:                  amazonka-sdb-version:               0.3.6+version:               1.0.0 synopsis:              Amazon SimpleDB SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2014 Brendan Hay+copyright:             Copyright (c) 2013-2015 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple extra-source-files:    README.md cabal-version:         >= 1.10  description:-    Amazon SimpleDB is a highly available and flexible non-relational data store-    that offloads the work of database administration. Developers simply store-    and query data items via web services requests and Amazon SimpleDB does the-    rest. Unbound by the strict requirements of a relational database, Amazon-    SimpleDB is optimized to provide high availability and flexibility, with-    little or no administrative burden. Behind the scenes, Amazon SimpleDB-    creates and manages multiple geographically distributed replicas of your data-    automatically to enable high availability and data durability. The service-    charges you only for the resources actually consumed in storing your data and-    serving your requests. You can change your data model on the fly, and data is-    automatically indexed for you. With Amazon SimpleDB, you can focus on-    application development without worrying about infrastructure provisioning,-    high availability, software maintenance, schema and index management, or-    performance tuning.+    Amazon SimpleDB is a web service providing the core database functions+    of data indexing and querying in the cloud. By offloading the time and+    effort associated with building and operating a web-scale database,+    SimpleDB provides developers the freedom to focus on application+    development. +    A traditional, clustered relational database requires a sizable upfront+    capital outlay, is complex to design, and often requires extensive and+    repetitive database administration. Amazon SimpleDB is dramatically+    simpler, requiring no schema, automatically indexing your data and+    providing a simple API for storage and access. This approach eliminates+    the administrative burden of data modeling, index maintenance, and+    performance tuning. Developers gain access to this functionality within+    Amazon\'s proven computing environment, are able to scale instantly, and+    pay only for what they use.++    Visit <http://aws.amazon.com/simpledb/> for more information.     .-    /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html AWS API Reference>+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information and sending requests.     .-    /Warning:/ This is an experimental preview release which is still under-    heavy development and not intended for public consumption, caveat emptor!+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.SDB" and the <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html AWS API Reference>+    to get started.  source-repository head     type:     git@@ -57,9 +68,40 @@         , Network.AWS.SDB.PutAttributes         , Network.AWS.SDB.Select         , Network.AWS.SDB.Types+        , Network.AWS.SDB.Waiters      other-modules:+          Network.AWS.SDB.Types.Product+        , Network.AWS.SDB.Types.Sum      build-depends:-          amazonka-core == 0.3.6.*+          amazonka-core == 1.0.0.*         , base          >= 4.7     && < 5++test-suite amazonka-sdb-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This is not comprehensive if modules have manually been added.+    -- It exists to ensure cabal 'somewhat' detects test module changes.+    other-modules:+          Test.AWS.SDB+        , Test.AWS.Gen.SDB+        , Test.AWS.SDB.Internal++    build-depends:+          amazonka-core == 1.0.0+        , amazonka-test == 1.0.0+        , amazonka-sdb == 1.0.0+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
gen/Network/AWS/SDB.hs view
@@ -1,51 +1,213 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Amazon SimpleDB is a highly available and flexible non-relational data store--- that offloads the work of database administration. Developers simply store--- and query data items via web services requests and Amazon SimpleDB does the--- rest. Unbound by the strict requirements of a relational database, Amazon--- SimpleDB is optimized to provide high availability and flexibility, with--- little or no administrative burden. Behind the scenes, Amazon SimpleDB--- creates and manages multiple geographically distributed replicas of your data--- automatically to enable high availability and data durability. The service--- charges you only for the resources actually consumed in storing your data and--- serving your requests. You can change your data model on the fly, and data is--- automatically indexed for you. With Amazon SimpleDB, you can focus on--- application development without worrying about infrastructure provisioning,--- high availability, software maintenance, schema and index management, or--- performance tuning.+-- Amazon SimpleDB is a web service providing the core database functions+-- of data indexing and querying in the cloud. By offloading the time and+-- effort associated with building and operating a web-scale database,+-- SimpleDB provides developers the freedom to focus on application+-- development.+--+-- A traditional, clustered relational database requires a sizable upfront+-- capital outlay, is complex to design, and often requires extensive and+-- repetitive database administration. Amazon SimpleDB is dramatically+-- simpler, requiring no schema, automatically indexing your data and+-- providing a simple API for storage and access. This approach eliminates+-- the administrative burden of data modeling, index maintenance, and+-- performance tuning. Developers gain access to this functionality within+-- Amazon\'s proven computing environment, are able to scale instantly, and+-- pay only for what they use.+--+-- Visit <http://aws.amazon.com/simpledb/> for more information.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html AWS API Reference> module Network.AWS.SDB-    ( module Network.AWS.SDB.BatchDeleteAttributes+    (+    -- * Service+      SDB++    -- * Errors+    -- $errors++    -- ** InvalidNumberValueTests+    , _InvalidNumberValueTests++    -- ** NoSuchDomain+    , _NoSuchDomain++    -- ** NumberDomainAttributesExceeded+    , _NumberDomainAttributesExceeded++    -- ** NumberSubmittedItemsExceeded+    , _NumberSubmittedItemsExceeded++    -- ** AttributeDoesNotExist+    , _AttributeDoesNotExist++    -- ** InvalidNextToken+    , _InvalidNextToken++    -- ** MissingParameter+    , _MissingParameter++    -- ** DuplicateItemName+    , _DuplicateItemName++    -- ** InvalidParameterValue+    , _InvalidParameterValue++    -- ** NumberItemAttributesExceeded+    , _NumberItemAttributesExceeded++    -- ** RequestTimeout+    , _RequestTimeout++    -- ** TooManyRequestedAttributes+    , _TooManyRequestedAttributes++    -- ** InvalidNumberPredicates+    , _InvalidNumberPredicates++    -- ** NumberDomainsExceeded+    , _NumberDomainsExceeded++    -- ** NumberSubmittedAttributesExceeded+    , _NumberSubmittedAttributesExceeded++    -- ** InvalidQueryExpression+    , _InvalidQueryExpression++    -- ** NumberDomainBytesExceeded+    , _NumberDomainBytesExceeded++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** BatchDeleteAttributes+    , module Network.AWS.SDB.BatchDeleteAttributes++    -- ** BatchPutAttributes     , module Network.AWS.SDB.BatchPutAttributes++    -- ** GetAttributes+    , module Network.AWS.SDB.GetAttributes++    -- ** CreateDomain     , module Network.AWS.SDB.CreateDomain-    , module Network.AWS.SDB.DeleteAttributes-    , module Network.AWS.SDB.DeleteDomain++    -- ** DomainMetadata     , module Network.AWS.SDB.DomainMetadata-    , module Network.AWS.SDB.GetAttributes-    , module Network.AWS.SDB.ListDomains-    , module Network.AWS.SDB.PutAttributes++    -- ** Select (Paginated)     , module Network.AWS.SDB.Select-    , module Network.AWS.SDB.Types++    -- ** PutAttributes+    , module Network.AWS.SDB.PutAttributes++    -- ** DeleteAttributes+    , module Network.AWS.SDB.DeleteAttributes++    -- ** ListDomains (Paginated)+    , module Network.AWS.SDB.ListDomains++    -- ** DeleteDomain+    , module Network.AWS.SDB.DeleteDomain++    -- * Types++    -- ** Attribute+    , Attribute+    , attribute+    , aAlternateValueEncoding+    , aAlternateNameEncoding+    , aName+    , aValue++    -- ** DeletableItem+    , DeletableItem+    , deletableItem+    , diAttributes+    , diName++    -- ** Item+    , Item+    , item+    , iAlternateNameEncoding+    , iName+    , iAttributes++    -- ** ReplaceableAttribute+    , ReplaceableAttribute+    , replaceableAttribute+    , raReplace+    , raName+    , raValue++    -- ** ReplaceableItem+    , ReplaceableItem+    , replaceableItem+    , riName+    , riAttributes++    -- ** UpdateCondition+    , UpdateCondition+    , updateCondition+    , ucExists+    , ucValue+    , ucName     ) where -import Network.AWS.SDB.BatchDeleteAttributes-import Network.AWS.SDB.BatchPutAttributes-import Network.AWS.SDB.CreateDomain-import Network.AWS.SDB.DeleteAttributes-import Network.AWS.SDB.DeleteDomain-import Network.AWS.SDB.DomainMetadata-import Network.AWS.SDB.GetAttributes-import Network.AWS.SDB.ListDomains-import Network.AWS.SDB.PutAttributes-import Network.AWS.SDB.Select-import Network.AWS.SDB.Types+import           Network.AWS.SDB.BatchDeleteAttributes+import           Network.AWS.SDB.BatchPutAttributes+import           Network.AWS.SDB.CreateDomain+import           Network.AWS.SDB.DeleteAttributes+import           Network.AWS.SDB.DeleteDomain+import           Network.AWS.SDB.DomainMetadata+import           Network.AWS.SDB.GetAttributes+import           Network.AWS.SDB.ListDomains+import           Network.AWS.SDB.PutAttributes+import           Network.AWS.SDB.Select+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'SDB'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
gen/Network/AWS/SDB/BatchDeleteAttributes.hs view
@@ -1,105 +1,111 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.BatchDeleteAttributes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Performs multiple DeleteAttributes operations in a single call, which--- reduces round trips and latencies. This enables Amazon SimpleDB to optimize--- requests, which generally yields better throughput.+-- Performs multiple DeleteAttributes operations in a single call, which+-- reduces round trips and latencies. This enables Amazon SimpleDB to+-- optimize requests, which generally yields better throughput. ----- The following limitations are enforced for this operation:  1 MB request--- size 25 item limit per BatchDeleteAttributes operation+-- The following limitations are enforced for this operation: ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_BatchDeleteAttributes.html>+-- -   1 MB request size+-- -   25 item limit per BatchDeleteAttributes operation+--+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_BatchDeleteAttributes.html AWS API Reference> for BatchDeleteAttributes. module Network.AWS.SDB.BatchDeleteAttributes     (-    -- * Request-      BatchDeleteAttributes-    -- ** Request constructor-    , batchDeleteAttributes-    -- ** Request lenses+    -- * Creating a Request+      batchDeleteAttributes+    , BatchDeleteAttributes+    -- * Request Lenses     , bdaDomainName     , bdaItems -    -- * Response-    , BatchDeleteAttributesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , batchDeleteAttributesResponse+    , BatchDeleteAttributesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -data BatchDeleteAttributes = BatchDeleteAttributes-    { _bdaDomainName :: Text-    , _bdaItems      :: List "member" DeletableItem-    } deriving (Eq, Read, Show)+-- | /See:/ 'batchDeleteAttributes' smart constructor.+data BatchDeleteAttributes = BatchDeleteAttributes'+    { _bdaDomainName :: !Text+    , _bdaItems      :: ![DeletableItem]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'BatchDeleteAttributes' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'BatchDeleteAttributes' with the minimum fields required to make a request. ----- * 'bdaDomainName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'bdaItems' @::@ ['DeletableItem']+-- * 'bdaDomainName' ---batchDeleteAttributes :: Text -- ^ 'bdaDomainName'-                      -> BatchDeleteAttributes-batchDeleteAttributes p1 = BatchDeleteAttributes-    { _bdaDomainName = p1-    , _bdaItems      = mempty+-- * 'bdaItems'+batchDeleteAttributes+    :: Text -- ^ 'bdaDomainName'+    -> BatchDeleteAttributes+batchDeleteAttributes pDomainName_ =+    BatchDeleteAttributes'+    { _bdaDomainName = pDomainName_+    , _bdaItems = mempty     }  -- | The name of the domain in which the attributes are being deleted. bdaDomainName :: Lens' BatchDeleteAttributes Text-bdaDomainName = lens _bdaDomainName (\s a -> s { _bdaDomainName = a })+bdaDomainName = lens _bdaDomainName (\ s a -> s{_bdaDomainName = a});  -- | A list of items on which to perform the operation. bdaItems :: Lens' BatchDeleteAttributes [DeletableItem]-bdaItems = lens _bdaItems (\s a -> s { _bdaItems = a }) . _List+bdaItems = lens _bdaItems (\ s a -> s{_bdaItems = a}) . _Coerce; -data BatchDeleteAttributesResponse = BatchDeleteAttributesResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest BatchDeleteAttributes where+        type Sv BatchDeleteAttributes = SDB+        type Rs BatchDeleteAttributes =+             BatchDeleteAttributesResponse+        request = postQuery+        response = receiveNull BatchDeleteAttributesResponse' --- | 'BatchDeleteAttributesResponse' constructor.-batchDeleteAttributesResponse :: BatchDeleteAttributesResponse-batchDeleteAttributesResponse = BatchDeleteAttributesResponse+instance ToHeaders BatchDeleteAttributes where+        toHeaders = const mempty  instance ToPath BatchDeleteAttributes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery BatchDeleteAttributes where-    toQuery BatchDeleteAttributes{..} = mconcat-        [ "DomainName" =? _bdaDomainName-        , toQuery     _bdaItems-        ]--instance ToHeaders BatchDeleteAttributes+        toQuery BatchDeleteAttributes'{..}+          = mconcat+              ["Action" =: ("BatchDeleteAttributes" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "DomainName" =: _bdaDomainName,+               toQueryList "Item" _bdaItems] -instance AWSRequest BatchDeleteAttributes where-    type Sv BatchDeleteAttributes = SDB-    type Rs BatchDeleteAttributes = BatchDeleteAttributesResponse+-- | /See:/ 'batchDeleteAttributesResponse' smart constructor.+data BatchDeleteAttributesResponse =+    BatchDeleteAttributesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "BatchDeleteAttributes"-    response = nullResponse BatchDeleteAttributesResponse+-- | Creates a value of 'BatchDeleteAttributesResponse' with the minimum fields required to make a request.+--+batchDeleteAttributesResponse+    :: BatchDeleteAttributesResponse+batchDeleteAttributesResponse = BatchDeleteAttributesResponse'
gen/Network/AWS/SDB/BatchPutAttributes.hs view
@@ -1,134 +1,151 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.BatchPutAttributes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | The 'BatchPutAttributes' operation creates or replaces attributes within one--- or more items. By using this operation, the client can perform multiple 'PutAttribute' operation with a single call. This helps yield savings in round trips and--- latencies, enabling Amazon SimpleDB to optimize requests and generally--- produce better throughput.+-- The 'BatchPutAttributes' operation creates or replaces attributes within+-- one or more items. By using this operation, the client can perform+-- multiple PutAttribute operation with a single call. This helps yield+-- savings in round trips and latencies, enabling Amazon SimpleDB to+-- optimize requests and generally produce better throughput. ----- The client may specify the item name with the 'Item.X.ItemName' parameter.--- The client may specify new attributes using a combination of the 'Item.X.Attribute.Y.Name' and 'Item.X.Attribute.Y.Value' parameters. The client may specify the first--- attribute for the first item using the parameters 'Item.0.Attribute.0.Name' and 'Item.0.Attribute.0.Value', and for the second attribute for the first item by--- the parameters 'Item.0.Attribute.1.Name' and 'Item.0.Attribute.1.Value', and so--- on.+-- The client may specify the item name with the 'Item.X.ItemName'+-- parameter. The client may specify new attributes using a combination of+-- the 'Item.X.Attribute.Y.Name' and 'Item.X.Attribute.Y.Value' parameters.+-- The client may specify the first attribute for the first item using the+-- parameters 'Item.0.Attribute.0.Name' and 'Item.0.Attribute.0.Value', and+-- for the second attribute for the first item by the parameters+-- 'Item.0.Attribute.1.Name' and 'Item.0.Attribute.1.Value', and so on. ----- Attributes are uniquely identified within 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 'Item.X.Attribute.Y.Name'--- and 'Item.X.Attribute.Y.Value' are the same.+-- Attributes are uniquely identified within 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 'Item.X.Attribute.Y.Name' and+-- 'Item.X.Attribute.Y.Value' are the same. -- -- Optionally, the requester can supply the 'Replace' parameter for each--- individual value. Setting this value to 'true' will cause the new attribute--- values to replace the existing attribute values. For example, if an item 'I'--- has the attributes '{ 'a', '1' }, { 'b', '2'}' and '{ 'b', '3' }' and the--- requester does a BatchPutAttributes of '{'I', 'b', '4' }' with the Replace--- parameter set to true, the final attributes of the item will be '{ 'a', '1' }'--- and '{ 'b', '4' }', replacing the previous values of the 'b' attribute with the--- new value.+-- individual value. Setting this value to 'true' will cause the new+-- attribute values to replace the existing attribute values. For example,+-- if an item 'I' has the attributes '{ \'a\', \'1\' }, { \'b\', \'2\'}'+-- and '{ \'b\', \'3\' }' and the requester does a BatchPutAttributes of+-- '{\'I\', \'b\', \'4\' }' with the Replace parameter set to true, the+-- final attributes of the item will be '{ \'a\', \'1\' }' and+-- '{ \'b\', \'4\' }', replacing the previous values of the \'b\' attribute+-- with the new value. ----- This operation is vulnerable to exceeding the maximum URL size when making--- a REST request using the HTTP GET method. This operation does not support--- conditions using 'Expected.X.Name', 'Expected.X.Value', or 'Expected.X.Exists'.--- You can execute multiple 'BatchPutAttributes' operations and other operations--- in parallel. However, large numbers of concurrent 'BatchPutAttributes' calls--- can result in Service Unavailable (503) responses.+-- This operation is vulnerable to exceeding the maximum URL size when+-- making a REST request using the HTTP GET method. This operation does not+-- support conditions using 'Expected.X.Name', 'Expected.X.Value', or+-- 'Expected.X.Exists'. ----- The following limitations are enforced for this operation:  256 attribute--- name-value pairs per item 1 MB request size 1 billion attributes per domain 10 GB of total user data storage per domain--- 25 item limit per 'BatchPutAttributes' operation+-- You can execute multiple 'BatchPutAttributes' operations and other+-- operations in parallel. However, large numbers of concurrent+-- 'BatchPutAttributes' calls can result in Service Unavailable (503)+-- responses. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_BatchPutAttributes.html>+-- The following limitations are enforced for this operation:+--+-- -   256 attribute name-value pairs per item+-- -   1 MB request size+-- -   1 billion attributes per domain+-- -   10 GB of total user data storage per domain+-- -   25 item limit per 'BatchPutAttributes' operation+--+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_BatchPutAttributes.html AWS API Reference> for BatchPutAttributes. module Network.AWS.SDB.BatchPutAttributes     (-    -- * Request-      BatchPutAttributes-    -- ** Request constructor-    , batchPutAttributes-    -- ** Request lenses+    -- * Creating a Request+      batchPutAttributes+    , BatchPutAttributes+    -- * Request Lenses     , bpaDomainName     , bpaItems -    -- * Response-    , BatchPutAttributesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , batchPutAttributesResponse+    , BatchPutAttributesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -data BatchPutAttributes = BatchPutAttributes-    { _bpaDomainName :: Text-    , _bpaItems      :: List "member" ReplaceableItem-    } deriving (Eq, Read, Show)+-- | /See:/ 'batchPutAttributes' smart constructor.+data BatchPutAttributes = BatchPutAttributes'+    { _bpaDomainName :: !Text+    , _bpaItems      :: ![ReplaceableItem]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'BatchPutAttributes' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'BatchPutAttributes' with the minimum fields required to make a request. ----- * 'bpaDomainName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'bpaItems' @::@ ['ReplaceableItem']+-- * 'bpaDomainName' ---batchPutAttributes :: Text -- ^ 'bpaDomainName'-                   -> BatchPutAttributes-batchPutAttributes p1 = BatchPutAttributes-    { _bpaDomainName = p1-    , _bpaItems      = mempty+-- * 'bpaItems'+batchPutAttributes+    :: Text -- ^ 'bpaDomainName'+    -> BatchPutAttributes+batchPutAttributes pDomainName_ =+    BatchPutAttributes'+    { _bpaDomainName = pDomainName_+    , _bpaItems = mempty     }  -- | The name of the domain in which the attributes are being stored. bpaDomainName :: Lens' BatchPutAttributes Text-bpaDomainName = lens _bpaDomainName (\s a -> s { _bpaDomainName = a })+bpaDomainName = lens _bpaDomainName (\ s a -> s{_bpaDomainName = a});  -- | A list of items on which to perform the operation. bpaItems :: Lens' BatchPutAttributes [ReplaceableItem]-bpaItems = lens _bpaItems (\s a -> s { _bpaItems = a }) . _List+bpaItems = lens _bpaItems (\ s a -> s{_bpaItems = a}) . _Coerce; -data BatchPutAttributesResponse = BatchPutAttributesResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest BatchPutAttributes where+        type Sv BatchPutAttributes = SDB+        type Rs BatchPutAttributes =+             BatchPutAttributesResponse+        request = postQuery+        response = receiveNull BatchPutAttributesResponse' --- | 'BatchPutAttributesResponse' constructor.-batchPutAttributesResponse :: BatchPutAttributesResponse-batchPutAttributesResponse = BatchPutAttributesResponse+instance ToHeaders BatchPutAttributes where+        toHeaders = const mempty  instance ToPath BatchPutAttributes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery BatchPutAttributes where-    toQuery BatchPutAttributes{..} = mconcat-        [ "DomainName" =? _bpaDomainName-        , toQuery     _bpaItems-        ]--instance ToHeaders BatchPutAttributes+        toQuery BatchPutAttributes'{..}+          = mconcat+              ["Action" =: ("BatchPutAttributes" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "DomainName" =: _bpaDomainName,+               toQueryList "Item" _bpaItems] -instance AWSRequest BatchPutAttributes where-    type Sv BatchPutAttributes = SDB-    type Rs BatchPutAttributes = BatchPutAttributesResponse+-- | /See:/ 'batchPutAttributesResponse' smart constructor.+data BatchPutAttributesResponse =+    BatchPutAttributesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "BatchPutAttributes"-    response = nullResponse BatchPutAttributesResponse+-- | Creates a value of 'BatchPutAttributesResponse' with the minimum fields required to make a request.+--+batchPutAttributesResponse+    :: BatchPutAttributesResponse+batchPutAttributesResponse = BatchPutAttributesResponse'
gen/Network/AWS/SDB/CreateDomain.hs view
@@ -1,98 +1,103 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.CreateDomain--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | The 'CreateDomain' operation creates a new domain. The domain name should be--- unique among the domains associated with the Access Key ID provided in the--- request. The 'CreateDomain' operation may take 10 or more seconds to complete.+-- The 'CreateDomain' operation creates a new domain. The domain name+-- should be unique among the domains associated with the Access Key ID+-- provided in the request. The 'CreateDomain' operation may take 10 or+-- more seconds to complete. -- -- The client can create up to 100 domains per account. ----- If the client requires additional domains, go to <http://aws.amazon.com/contact-us/simpledb-limit-request/ http://aws.amazon.com/contact-us/simpledb-limit-request/>.+-- If the client requires additional domains, go to+-- <http://aws.amazon.com/contact-us/simpledb-limit-request/>. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_CreateDomain.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_CreateDomain.html AWS API Reference> for CreateDomain. module Network.AWS.SDB.CreateDomain     (-    -- * Request-      CreateDomain-    -- ** Request constructor-    , createDomain-    -- ** Request lenses+    -- * Creating a Request+      createDomain+    , CreateDomain+    -- * Request Lenses     , cdDomainName -    -- * Response-    , CreateDomainResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createDomainResponse+    , CreateDomainResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -newtype CreateDomain = CreateDomain+-- | /See:/ 'createDomain' smart constructor.+newtype CreateDomain = CreateDomain'     { _cdDomainName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateDomain' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateDomain' with the minimum fields required to make a request. ----- * 'cdDomainName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---createDomain :: Text -- ^ 'cdDomainName'-             -> CreateDomain-createDomain p1 = CreateDomain-    { _cdDomainName = p1+-- * 'cdDomainName'+createDomain+    :: Text -- ^ 'cdDomainName'+    -> CreateDomain+createDomain pDomainName_ =+    CreateDomain'+    { _cdDomainName = pDomainName_     }  -- | The name of the domain to create. The name can range between 3 and 255--- characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-',--- and '.'.+-- characters and can contain the following characters: a-z, A-Z, 0-9,+-- \'_\', \'-\', and \'.\'. cdDomainName :: Lens' CreateDomain Text-cdDomainName = lens _cdDomainName (\s a -> s { _cdDomainName = a })+cdDomainName = lens _cdDomainName (\ s a -> s{_cdDomainName = a}); -data CreateDomainResponse = CreateDomainResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CreateDomain where+        type Sv CreateDomain = SDB+        type Rs CreateDomain = CreateDomainResponse+        request = postQuery+        response = receiveNull CreateDomainResponse' --- | 'CreateDomainResponse' constructor.-createDomainResponse :: CreateDomainResponse-createDomainResponse = CreateDomainResponse+instance ToHeaders CreateDomain where+        toHeaders = const mempty  instance ToPath CreateDomain where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateDomain where-    toQuery CreateDomain{..} = mconcat-        [ "DomainName" =? _cdDomainName-        ]--instance ToHeaders CreateDomain+        toQuery CreateDomain'{..}+          = mconcat+              ["Action" =: ("CreateDomain" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "DomainName" =: _cdDomainName] -instance AWSRequest CreateDomain where-    type Sv CreateDomain = SDB-    type Rs CreateDomain = CreateDomainResponse+-- | /See:/ 'createDomainResponse' smart constructor.+data CreateDomainResponse =+    CreateDomainResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CreateDomain"-    response = nullResponse CreateDomainResponse+-- | Creates a value of 'CreateDomainResponse' with the minimum fields required to make a request.+--+createDomainResponse+    :: CreateDomainResponse+createDomainResponse = CreateDomainResponse'
gen/Network/AWS/SDB/DeleteAttributes.hs view
@@ -1,134 +1,138 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.DeleteAttributes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes one or more attributes associated with an item. If all attributes of--- the item are deleted, the item is deleted.+-- Deletes one or more attributes associated with an item. If all+-- attributes of the item are deleted, the item is deleted. ----- 'DeleteAttributes' is an idempotent operation; running it multiple times on--- the same item or attribute does not result in an error response.+-- 'DeleteAttributes' is an idempotent operation; running it multiple times+-- on the same item or attribute does not result in an error response. -- -- Because Amazon SimpleDB makes multiple copies of item data and uses an--- eventual consistency update model, performing a 'GetAttributes' or 'Select'--- operation (read) immediately after a 'DeleteAttributes' or 'PutAttributes'+-- eventual consistency update model, performing a GetAttributes or Select+-- operation (read) immediately after a 'DeleteAttributes' or PutAttributes -- operation (write) might not return updated item data. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_DeleteAttributes.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_DeleteAttributes.html AWS API Reference> for DeleteAttributes. module Network.AWS.SDB.DeleteAttributes     (-    -- * Request-      DeleteAttributes-    -- ** Request constructor-    , deleteAttributes-    -- ** Request lenses+    -- * Creating a Request+      deleteAttributes+    , DeleteAttributes+    -- * Request Lenses     , daAttributes-    , daDomainName     , daExpected+    , daDomainName     , daItemName -    -- * Response-    , DeleteAttributesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteAttributesResponse+    , DeleteAttributesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -data DeleteAttributes = DeleteAttributes-    { _daAttributes :: List "member" Attribute-    , _daDomainName :: Text-    , _daExpected   :: Maybe UpdateCondition-    , _daItemName   :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'deleteAttributes' smart constructor.+data DeleteAttributes = DeleteAttributes'+    { _daAttributes :: !(Maybe [Attribute])+    , _daExpected   :: !(Maybe UpdateCondition)+    , _daDomainName :: !Text+    , _daItemName   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteAttributes' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteAttributes' with the minimum fields required to make a request. ----- * 'daAttributes' @::@ ['Attribute']+-- Use one of the following lenses to modify other fields as desired: ----- * 'daDomainName' @::@ 'Text'+-- * 'daAttributes' ----- * 'daExpected' @::@ 'Maybe' 'UpdateCondition'+-- * 'daExpected' ----- * 'daItemName' @::@ 'Text'+-- * 'daDomainName' ---deleteAttributes :: Text -- ^ 'daDomainName'-                 -> Text -- ^ 'daItemName'-                 -> DeleteAttributes-deleteAttributes p1 p2 = DeleteAttributes-    { _daDomainName = p1-    , _daItemName   = p2-    , _daAttributes = mempty-    , _daExpected   = Nothing+-- * 'daItemName'+deleteAttributes+    :: Text -- ^ 'daDomainName'+    -> Text -- ^ 'daItemName'+    -> DeleteAttributes+deleteAttributes pDomainName_ pItemName_ =+    DeleteAttributes'+    { _daAttributes = Nothing+    , _daExpected = Nothing+    , _daDomainName = pDomainName_+    , _daItemName = pItemName_     }  -- | A list of Attributes. Similar to columns on a spreadsheet, attributes -- represent categories of data that can be assigned to items. daAttributes :: Lens' DeleteAttributes [Attribute]-daAttributes = lens _daAttributes (\s a -> s { _daAttributes = a }) . _List+daAttributes = lens _daAttributes (\ s a -> s{_daAttributes = a}) . _Default . _Coerce; +-- | The update condition which, if specified, determines whether the+-- specified attributes will be deleted or not. The update condition must+-- be satisfied in order for this request to be processed and the+-- attributes to be deleted.+daExpected :: Lens' DeleteAttributes (Maybe UpdateCondition)+daExpected = lens _daExpected (\ s a -> s{_daExpected = a});+ -- | The name of the domain in which to perform the operation. daDomainName :: Lens' DeleteAttributes Text-daDomainName = lens _daDomainName (\s a -> s { _daDomainName = a })---- | The update condition which, if specified, determines whether the specified--- attributes will be deleted or not. The update condition must be satisfied in--- order for this request to be processed and the attributes to be deleted.-daExpected :: Lens' DeleteAttributes (Maybe UpdateCondition)-daExpected = lens _daExpected (\s a -> s { _daExpected = a })+daDomainName = lens _daDomainName (\ s a -> s{_daDomainName = a});  -- | The name of the item. Similar to rows on a spreadsheet, items represent -- individual objects that contain one or more value-attribute pairs. daItemName :: Lens' DeleteAttributes Text-daItemName = lens _daItemName (\s a -> s { _daItemName = a })+daItemName = lens _daItemName (\ s a -> s{_daItemName = a}); -data DeleteAttributesResponse = DeleteAttributesResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteAttributes where+        type Sv DeleteAttributes = SDB+        type Rs DeleteAttributes = DeleteAttributesResponse+        request = postQuery+        response = receiveNull DeleteAttributesResponse' --- | 'DeleteAttributesResponse' constructor.-deleteAttributesResponse :: DeleteAttributesResponse-deleteAttributesResponse = DeleteAttributesResponse+instance ToHeaders DeleteAttributes where+        toHeaders = const mempty  instance ToPath DeleteAttributes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteAttributes where-    toQuery DeleteAttributes{..} = mconcat-        [ toQuery     _daAttributes-        , "DomainName" =? _daDomainName-        , "Expected"   =? _daExpected-        , "ItemName"   =? _daItemName-        ]--instance ToHeaders DeleteAttributes+        toQuery DeleteAttributes'{..}+          = mconcat+              ["Action" =: ("DeleteAttributes" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               toQuery (toQueryList "Attribute" <$> _daAttributes),+               "Expected" =: _daExpected,+               "DomainName" =: _daDomainName,+               "ItemName" =: _daItemName] -instance AWSRequest DeleteAttributes where-    type Sv DeleteAttributes = SDB-    type Rs DeleteAttributes = DeleteAttributesResponse+-- | /See:/ 'deleteAttributesResponse' smart constructor.+data DeleteAttributesResponse =+    DeleteAttributesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteAttributes"-    response = nullResponse DeleteAttributesResponse+-- | Creates a value of 'DeleteAttributesResponse' with the minimum fields required to make a request.+--+deleteAttributesResponse+    :: DeleteAttributesResponse+deleteAttributesResponse = DeleteAttributesResponse'
gen/Network/AWS/SDB/DeleteDomain.hs view
@@ -1,92 +1,95 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.DeleteDomain--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_DeleteDomain.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_DeleteDomain.html AWS API Reference> for DeleteDomain. module Network.AWS.SDB.DeleteDomain     (-    -- * Request-      DeleteDomain-    -- ** Request constructor-    , deleteDomain-    -- ** Request lenses+    -- * Creating a Request+      deleteDomain+    , DeleteDomain+    -- * Request Lenses     , ddDomainName -    -- * Response-    , DeleteDomainResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteDomainResponse+    , DeleteDomainResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -newtype DeleteDomain = DeleteDomain+-- | /See:/ 'deleteDomain' smart constructor.+newtype DeleteDomain = DeleteDomain'     { _ddDomainName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteDomain' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteDomain' with the minimum fields required to make a request. ----- * 'ddDomainName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteDomain :: Text -- ^ 'ddDomainName'-             -> DeleteDomain-deleteDomain p1 = DeleteDomain-    { _ddDomainName = p1+-- * 'ddDomainName'+deleteDomain+    :: Text -- ^ 'ddDomainName'+    -> DeleteDomain+deleteDomain pDomainName_ =+    DeleteDomain'+    { _ddDomainName = pDomainName_     }  -- | The name of the domain to delete. ddDomainName :: Lens' DeleteDomain Text-ddDomainName = lens _ddDomainName (\s a -> s { _ddDomainName = a })+ddDomainName = lens _ddDomainName (\ s a -> s{_ddDomainName = a}); -data DeleteDomainResponse = DeleteDomainResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteDomain where+        type Sv DeleteDomain = SDB+        type Rs DeleteDomain = DeleteDomainResponse+        request = postQuery+        response = receiveNull DeleteDomainResponse' --- | 'DeleteDomainResponse' constructor.-deleteDomainResponse :: DeleteDomainResponse-deleteDomainResponse = DeleteDomainResponse+instance ToHeaders DeleteDomain where+        toHeaders = const mempty  instance ToPath DeleteDomain where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteDomain where-    toQuery DeleteDomain{..} = mconcat-        [ "DomainName" =? _ddDomainName-        ]--instance ToHeaders DeleteDomain+        toQuery DeleteDomain'{..}+          = mconcat+              ["Action" =: ("DeleteDomain" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "DomainName" =: _ddDomainName] -instance AWSRequest DeleteDomain where-    type Sv DeleteDomain = SDB-    type Rs DeleteDomain = DeleteDomainResponse+-- | /See:/ 'deleteDomainResponse' smart constructor.+data DeleteDomainResponse =+    DeleteDomainResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteDomain"-    response = nullResponse DeleteDomainResponse+-- | Creates a value of 'DeleteDomainResponse' with the minimum fields required to make a request.+--+deleteDomainResponse+    :: DeleteDomainResponse+deleteDomainResponse = DeleteDomainResponse'
gen/Network/AWS/SDB/DomainMetadata.hs view
@@ -1,177 +1,182 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.DomainMetadata--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns information about the domain, including when the domain was created,--- the number of items and attributes in the domain, and the size of the--- attribute names and values.+-- Returns information about the domain, including when the domain was+-- created, the number of items and attributes in the domain, and the size+-- of the attribute names and values. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_DomainMetadata.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_DomainMetadata.html AWS API Reference> for DomainMetadata. module Network.AWS.SDB.DomainMetadata     (-    -- * Request-      DomainMetadata-    -- ** Request constructor-    , domainMetadata-    -- ** Request lenses+    -- * Creating a Request+      domainMetadata+    , DomainMetadata+    -- * Request Lenses     , dmDomainName -    -- * Response-    , DomainMetadataResponse-    -- ** Response constructor+    -- * Destructuring the Response     , domainMetadataResponse-    -- ** Response lenses-    , dmrAttributeNameCount-    , dmrAttributeNamesSizeBytes-    , dmrAttributeValueCount-    , dmrAttributeValuesSizeBytes-    , dmrItemCount-    , dmrItemNamesSizeBytes-    , dmrTimestamp+    , DomainMetadataResponse+    -- * Response Lenses+    , dmrsItemNamesSizeBytes+    , dmrsAttributeNameCount+    , dmrsAttributeValuesSizeBytes+    , dmrsAttributeValueCount+    , dmrsAttributeNamesSizeBytes+    , dmrsTimestamp+    , dmrsItemCount+    , dmrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -newtype DomainMetadata = DomainMetadata+-- | /See:/ 'domainMetadata' smart constructor.+newtype DomainMetadata = DomainMetadata'     { _dmDomainName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DomainMetadata' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DomainMetadata' with the minimum fields required to make a request. ----- * 'dmDomainName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---domainMetadata :: Text -- ^ 'dmDomainName'-               -> DomainMetadata-domainMetadata p1 = DomainMetadata-    { _dmDomainName = p1+-- * 'dmDomainName'+domainMetadata+    :: Text -- ^ 'dmDomainName'+    -> DomainMetadata+domainMetadata pDomainName_ =+    DomainMetadata'+    { _dmDomainName = pDomainName_     }  -- | The name of the domain for which to display the metadata of. dmDomainName :: Lens' DomainMetadata Text-dmDomainName = lens _dmDomainName (\s a -> s { _dmDomainName = a })+dmDomainName = lens _dmDomainName (\ s a -> s{_dmDomainName = a}); -data DomainMetadataResponse = DomainMetadataResponse-    { _dmrAttributeNameCount       :: Maybe Int-    , _dmrAttributeNamesSizeBytes  :: Maybe Integer-    , _dmrAttributeValueCount      :: Maybe Int-    , _dmrAttributeValuesSizeBytes :: Maybe Integer-    , _dmrItemCount                :: Maybe Int-    , _dmrItemNamesSizeBytes       :: Maybe Integer-    , _dmrTimestamp                :: Maybe Int-    } deriving (Eq, Ord, Read, Show)+instance AWSRequest DomainMetadata where+        type Sv DomainMetadata = SDB+        type Rs DomainMetadata = DomainMetadataResponse+        request = postQuery+        response+          = receiveXMLWrapper "DomainMetadataResult"+              (\ s h x ->+                 DomainMetadataResponse' <$>+                   (x .@? "ItemNamesSizeBytes") <*>+                     (x .@? "AttributeNameCount")+                     <*> (x .@? "AttributeValuesSizeBytes")+                     <*> (x .@? "AttributeValueCount")+                     <*> (x .@? "AttributeNamesSizeBytes")+                     <*> (x .@? "Timestamp")+                     <*> (x .@? "ItemCount")+                     <*> (pure (fromEnum s))) --- | 'DomainMetadataResponse' constructor.+instance ToHeaders DomainMetadata where+        toHeaders = const mempty++instance ToPath DomainMetadata where+        toPath = const "/"++instance ToQuery DomainMetadata where+        toQuery DomainMetadata'{..}+          = mconcat+              ["Action" =: ("DomainMetadata" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "DomainName" =: _dmDomainName]++-- | /See:/ 'domainMetadataResponse' smart constructor.+data DomainMetadataResponse = DomainMetadataResponse'+    { _dmrsItemNamesSizeBytes       :: !(Maybe Integer)+    , _dmrsAttributeNameCount       :: !(Maybe Int)+    , _dmrsAttributeValuesSizeBytes :: !(Maybe Integer)+    , _dmrsAttributeValueCount      :: !(Maybe Int)+    , _dmrsAttributeNamesSizeBytes  :: !(Maybe Integer)+    , _dmrsTimestamp                :: !(Maybe Int)+    , _dmrsItemCount                :: !(Maybe Int)+    , _dmrsStatus                   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DomainMetadataResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dmrAttributeNameCount' @::@ 'Maybe' 'Int'+-- * 'dmrsItemNamesSizeBytes' ----- * 'dmrAttributeNamesSizeBytes' @::@ 'Maybe' 'Integer'+-- * 'dmrsAttributeNameCount' ----- * 'dmrAttributeValueCount' @::@ 'Maybe' 'Int'+-- * 'dmrsAttributeValuesSizeBytes' ----- * 'dmrAttributeValuesSizeBytes' @::@ 'Maybe' 'Integer'+-- * 'dmrsAttributeValueCount' ----- * 'dmrItemCount' @::@ 'Maybe' 'Int'+-- * 'dmrsAttributeNamesSizeBytes' ----- * 'dmrItemNamesSizeBytes' @::@ 'Maybe' 'Integer'+-- * 'dmrsTimestamp' ----- * 'dmrTimestamp' @::@ 'Maybe' 'Int'+-- * 'dmrsItemCount' ---domainMetadataResponse :: DomainMetadataResponse-domainMetadataResponse = DomainMetadataResponse-    { _dmrItemCount                = Nothing-    , _dmrItemNamesSizeBytes       = Nothing-    , _dmrAttributeNameCount       = Nothing-    , _dmrAttributeNamesSizeBytes  = Nothing-    , _dmrAttributeValueCount      = Nothing-    , _dmrAttributeValuesSizeBytes = Nothing-    , _dmrTimestamp                = Nothing+-- * 'dmrsStatus'+domainMetadataResponse+    :: Int -- ^ 'dmrsStatus'+    -> DomainMetadataResponse+domainMetadataResponse pStatus_ =+    DomainMetadataResponse'+    { _dmrsItemNamesSizeBytes = Nothing+    , _dmrsAttributeNameCount = Nothing+    , _dmrsAttributeValuesSizeBytes = Nothing+    , _dmrsAttributeValueCount = Nothing+    , _dmrsAttributeNamesSizeBytes = Nothing+    , _dmrsTimestamp = Nothing+    , _dmrsItemCount = Nothing+    , _dmrsStatus = pStatus_     } --- | The number of unique attribute names in the domain.-dmrAttributeNameCount :: Lens' DomainMetadataResponse (Maybe Int)-dmrAttributeNameCount =-    lens _dmrAttributeNameCount (\s a -> s { _dmrAttributeNameCount = a })---- | The total size of all unique attribute names in the domain, in bytes.-dmrAttributeNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)-dmrAttributeNamesSizeBytes =-    lens _dmrAttributeNamesSizeBytes-        (\s a -> s { _dmrAttributeNamesSizeBytes = a })+-- | The total size of all item names in the domain, in bytes.+dmrsItemNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)+dmrsItemNamesSizeBytes = lens _dmrsItemNamesSizeBytes (\ s a -> s{_dmrsItemNamesSizeBytes = a}); --- | The number of all attribute name/value pairs in the domain.-dmrAttributeValueCount :: Lens' DomainMetadataResponse (Maybe Int)-dmrAttributeValueCount =-    lens _dmrAttributeValueCount (\s a -> s { _dmrAttributeValueCount = a })+-- | The number of unique attribute names in the domain.+dmrsAttributeNameCount :: Lens' DomainMetadataResponse (Maybe Int)+dmrsAttributeNameCount = lens _dmrsAttributeNameCount (\ s a -> s{_dmrsAttributeNameCount = a});  -- | The total size of all attribute values in the domain, in bytes.-dmrAttributeValuesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)-dmrAttributeValuesSizeBytes =-    lens _dmrAttributeValuesSizeBytes-        (\s a -> s { _dmrAttributeValuesSizeBytes = a })+dmrsAttributeValuesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)+dmrsAttributeValuesSizeBytes = lens _dmrsAttributeValuesSizeBytes (\ s a -> s{_dmrsAttributeValuesSizeBytes = a}); --- | The number of all items in the domain.-dmrItemCount :: Lens' DomainMetadataResponse (Maybe Int)-dmrItemCount = lens _dmrItemCount (\s a -> s { _dmrItemCount = a })+-- | The number of all attribute name\/value pairs in the domain.+dmrsAttributeValueCount :: Lens' DomainMetadataResponse (Maybe Int)+dmrsAttributeValueCount = lens _dmrsAttributeValueCount (\ s a -> s{_dmrsAttributeValueCount = a}); --- | The total size of all item names in the domain, in bytes.-dmrItemNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)-dmrItemNamesSizeBytes =-    lens _dmrItemNamesSizeBytes (\s a -> s { _dmrItemNamesSizeBytes = a })+-- | The total size of all unique attribute names in the domain, in bytes.+dmrsAttributeNamesSizeBytes :: Lens' DomainMetadataResponse (Maybe Integer)+dmrsAttributeNamesSizeBytes = lens _dmrsAttributeNamesSizeBytes (\ s a -> s{_dmrsAttributeNamesSizeBytes = a});  -- | The data and time when metadata was calculated, in Epoch (UNIX) seconds.-dmrTimestamp :: Lens' DomainMetadataResponse (Maybe Int)-dmrTimestamp = lens _dmrTimestamp (\s a -> s { _dmrTimestamp = a })--instance ToPath DomainMetadata where-    toPath = const "/"--instance ToQuery DomainMetadata where-    toQuery DomainMetadata{..} = mconcat-        [ "DomainName" =? _dmDomainName-        ]--instance ToHeaders DomainMetadata--instance AWSRequest DomainMetadata where-    type Sv DomainMetadata = SDB-    type Rs DomainMetadata = DomainMetadataResponse+dmrsTimestamp :: Lens' DomainMetadataResponse (Maybe Int)+dmrsTimestamp = lens _dmrsTimestamp (\ s a -> s{_dmrsTimestamp = a}); -    request  = post "DomainMetadata"-    response = xmlResponse+-- | The number of all items in the domain.+dmrsItemCount :: Lens' DomainMetadataResponse (Maybe Int)+dmrsItemCount = lens _dmrsItemCount (\ s a -> s{_dmrsItemCount = a}); -instance FromXML DomainMetadataResponse where-    parseXML = withElement "DomainMetadataResult" $ \x -> DomainMetadataResponse-        <$> x .@? "AttributeNameCount"-        <*> x .@? "AttributeNamesSizeBytes"-        <*> x .@? "AttributeValueCount"-        <*> x .@? "AttributeValuesSizeBytes"-        <*> x .@? "ItemCount"-        <*> x .@? "ItemNamesSizeBytes"-        <*> x .@? "Timestamp"+-- | The response status code.+dmrsStatus :: Lens' DomainMetadataResponse Int+dmrsStatus = lens _dmrsStatus (\ s a -> s{_dmrsStatus = a});
gen/Network/AWS/SDB/GetAttributes.hs view
@@ -1,148 +1,162 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.GetAttributes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns all of the attributes associated with the specified item.--- Optionally, the attributes returned can be limited to one or more attributes--- by specifying an attribute name parameter.+-- Returns all of the attributes associated with the specified item.+-- Optionally, the attributes returned can be limited to one or more+-- attributes by specifying an attribute name parameter. -- -- 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.+-- 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. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_GetAttributes.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_GetAttributes.html AWS API Reference> for GetAttributes. module Network.AWS.SDB.GetAttributes     (-    -- * Request-      GetAttributes-    -- ** Request constructor-    , getAttributes-    -- ** Request lenses-    , gaAttributeNames+    -- * Creating a Request+      getAttributes+    , GetAttributes+    -- * Request Lenses     , gaConsistentRead+    , gaAttributeNames     , gaDomainName     , gaItemName -    -- * Response-    , GetAttributesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getAttributesResponse-    -- ** Response lenses-    , garAttributes+    , GetAttributesResponse+    -- * Response Lenses+    , garsAttributes+    , garsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -data GetAttributes = GetAttributes-    { _gaAttributeNames :: List "member" Text-    , _gaConsistentRead :: Maybe Bool-    , _gaDomainName     :: Text-    , _gaItemName       :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'getAttributes' smart constructor.+data GetAttributes = GetAttributes'+    { _gaConsistentRead :: !(Maybe Bool)+    , _gaAttributeNames :: !(Maybe [Text])+    , _gaDomainName     :: !Text+    , _gaItemName       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetAttributes' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetAttributes' with the minimum fields required to make a request. ----- * 'gaAttributeNames' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'gaConsistentRead' @::@ 'Maybe' 'Bool'+-- * 'gaConsistentRead' ----- * 'gaDomainName' @::@ 'Text'+-- * 'gaAttributeNames' ----- * 'gaItemName' @::@ 'Text'+-- * 'gaDomainName' ---getAttributes :: Text -- ^ 'gaDomainName'-              -> Text -- ^ 'gaItemName'-              -> GetAttributes-getAttributes p1 p2 = GetAttributes-    { _gaDomainName     = p1-    , _gaItemName       = p2-    , _gaAttributeNames = mempty-    , _gaConsistentRead = Nothing+-- * 'gaItemName'+getAttributes+    :: Text -- ^ 'gaDomainName'+    -> Text -- ^ 'gaItemName'+    -> GetAttributes+getAttributes pDomainName_ pItemName_ =+    GetAttributes'+    { _gaConsistentRead = Nothing+    , _gaAttributeNames = Nothing+    , _gaDomainName = pDomainName_+    , _gaItemName = pItemName_     } +-- | Determines whether or not strong consistency should be enforced when+-- data is read from SimpleDB. If 'true', any data previously written to+-- SimpleDB will be returned. Otherwise, results will be consistent+-- eventually, and the client may not see data that was written immediately+-- before your read.+gaConsistentRead :: Lens' GetAttributes (Maybe Bool)+gaConsistentRead = lens _gaConsistentRead (\ s a -> s{_gaConsistentRead = a});+ -- | The names of the attributes. gaAttributeNames :: Lens' GetAttributes [Text]-gaAttributeNames = lens _gaAttributeNames (\s a -> s { _gaAttributeNames = a }) . _List---- | Determines whether or not strong consistency should be enforced when data is--- read from SimpleDB. If 'true', any data previously written to SimpleDB will be--- returned. Otherwise, results will be consistent eventually, and the client--- may not see data that was written immediately before your read.-gaConsistentRead :: Lens' GetAttributes (Maybe Bool)-gaConsistentRead = lens _gaConsistentRead (\s a -> s { _gaConsistentRead = a })+gaAttributeNames = lens _gaAttributeNames (\ s a -> s{_gaAttributeNames = a}) . _Default . _Coerce;  -- | The name of the domain in which to perform the operation. gaDomainName :: Lens' GetAttributes Text-gaDomainName = lens _gaDomainName (\s a -> s { _gaDomainName = a })+gaDomainName = lens _gaDomainName (\ s a -> s{_gaDomainName = a});  -- | The name of the item. gaItemName :: Lens' GetAttributes Text-gaItemName = lens _gaItemName (\s a -> s { _gaItemName = a })--newtype GetAttributesResponse = GetAttributesResponse-    { _garAttributes :: List "member" Attribute-    } deriving (Eq, Read, Show, Monoid, Semigroup)+gaItemName = lens _gaItemName (\ s a -> s{_gaItemName = a}); --- | 'GetAttributesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'garAttributes' @::@ ['Attribute']----getAttributesResponse :: GetAttributesResponse-getAttributesResponse = GetAttributesResponse-    { _garAttributes = mempty-    }+instance AWSRequest GetAttributes where+        type Sv GetAttributes = SDB+        type Rs GetAttributes = GetAttributesResponse+        request = postQuery+        response+          = receiveXMLWrapper "GetAttributesResult"+              (\ s h x ->+                 GetAttributesResponse' <$>+                   (may (parseXMLList "Attribute") x) <*>+                     (pure (fromEnum s))) --- | The list of attributes returned by the operation.-garAttributes :: Lens' GetAttributesResponse [Attribute]-garAttributes = lens _garAttributes (\s a -> s { _garAttributes = a }) . _List+instance ToHeaders GetAttributes where+        toHeaders = const mempty  instance ToPath GetAttributes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery GetAttributes where-    toQuery GetAttributes{..} = mconcat-        [ toQuery         _gaAttributeNames-        , "ConsistentRead" =? _gaConsistentRead-        , "DomainName"     =? _gaDomainName-        , "ItemName"       =? _gaItemName-        ]+        toQuery GetAttributes'{..}+          = mconcat+              ["Action" =: ("GetAttributes" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "ConsistentRead" =: _gaConsistentRead,+               toQuery+                 (toQueryList "AttributeName" <$> _gaAttributeNames),+               "DomainName" =: _gaDomainName,+               "ItemName" =: _gaItemName] -instance ToHeaders GetAttributes+-- | /See:/ 'getAttributesResponse' smart constructor.+data GetAttributesResponse = GetAttributesResponse'+    { _garsAttributes :: !(Maybe [Attribute])+    , _garsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetAttributes where-    type Sv GetAttributes = SDB-    type Rs GetAttributes = GetAttributesResponse+-- | Creates a value of 'GetAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'garsAttributes'+--+-- * 'garsStatus'+getAttributesResponse+    :: Int -- ^ 'garsStatus'+    -> GetAttributesResponse+getAttributesResponse pStatus_ =+    GetAttributesResponse'+    { _garsAttributes = Nothing+    , _garsStatus = pStatus_+    } -    request  = post "GetAttributes"-    response = xmlResponse+-- | The list of attributes returned by the operation.+garsAttributes :: Lens' GetAttributesResponse [Attribute]+garsAttributes = lens _garsAttributes (\ s a -> s{_garsAttributes = a}) . _Default . _Coerce; -instance FromXML GetAttributesResponse where-    parseXML = withElement "GetAttributesResult" $ \x -> GetAttributesResponse-        <$> parseXML x+-- | The response status code.+garsStatus :: Lens' GetAttributesResponse Int+garsStatus = lens _garsStatus (\ s a -> s{_garsStatus = a});
gen/Network/AWS/SDB/ListDomains.hs view
@@ -1,137 +1,158 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.ListDomains--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | The 'ListDomains' operation lists all domains associated with the Access Key--- ID. It returns domain names up to the limit set by <#MaxNumberOfDomains MaxNumberOfDomains>. A <#NextToken NextToken> is returned if there are more than 'MaxNumberOfDomains' domains. Calling 'ListDomains' successive times with the 'NextToken' provided by the operation returns up to 'MaxNumberOfDomains' more domain names with each successive operation call.+-- The 'ListDomains' operation lists all domains associated with the Access+-- Key ID. It returns domain names up to the limit set by+-- <#MaxNumberOfDomains MaxNumberOfDomains>. A <#NextToken NextToken> is+-- returned if there are more than 'MaxNumberOfDomains' domains. Calling+-- 'ListDomains' successive times with the 'NextToken' provided by the+-- operation returns up to 'MaxNumberOfDomains' more domain names with each+-- successive operation call. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_ListDomains.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_ListDomains.html AWS API Reference> for ListDomains.+--+-- This operation returns paginated results. module Network.AWS.SDB.ListDomains     (-    -- * Request-      ListDomains-    -- ** Request constructor-    , listDomains-    -- ** Request lenses+    -- * Creating a Request+      listDomains+    , ListDomains+    -- * Request Lenses     , ldMaxNumberOfDomains     , ldNextToken -    -- * Response-    , ListDomainsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listDomainsResponse-    -- ** Response lenses-    , ldrDomainNames-    , ldrNextToken+    , ListDomainsResponse+    -- * Response Lenses+    , ldrsDomainNames+    , ldrsNextToken+    , ldrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -data ListDomains = ListDomains-    { _ldMaxNumberOfDomains :: Maybe Int-    , _ldNextToken          :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'listDomains' smart constructor.+data ListDomains = ListDomains'+    { _ldMaxNumberOfDomains :: !(Maybe Int)+    , _ldNextToken          :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListDomains' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListDomains' with the minimum fields required to make a request. ----- * 'ldMaxNumberOfDomains' @::@ 'Maybe' 'Int'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ldNextToken' @::@ 'Maybe' 'Text'+-- * 'ldMaxNumberOfDomains' ---listDomains :: ListDomains-listDomains = ListDomains+-- * 'ldNextToken'+listDomains+    :: ListDomains+listDomains =+    ListDomains'     { _ldMaxNumberOfDomains = Nothing-    , _ldNextToken          = Nothing+    , _ldNextToken = Nothing     } --- | The maximum number of domain names you want returned. The range is 1 to 100.--- The default setting is 100.+-- | The maximum number of domain names you want returned. The range is 1 to+-- 100. The default setting is 100. ldMaxNumberOfDomains :: Lens' ListDomains (Maybe Int)-ldMaxNumberOfDomains =-    lens _ldMaxNumberOfDomains (\s a -> s { _ldMaxNumberOfDomains = a })+ldMaxNumberOfDomains = lens _ldMaxNumberOfDomains (\ s a -> s{_ldMaxNumberOfDomains = a}); --- | A string informing Amazon SimpleDB where to start the next list of domain--- names.+-- | A string informing Amazon SimpleDB where to start the next list of+-- domain names. ldNextToken :: Lens' ListDomains (Maybe Text)-ldNextToken = lens _ldNextToken (\s a -> s { _ldNextToken = a })--data ListDomainsResponse = ListDomainsResponse-    { _ldrDomainNames :: List "member" Text-    , _ldrNextToken   :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+ldNextToken = lens _ldNextToken (\ s a -> s{_ldNextToken = a}); --- | 'ListDomainsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ldrDomainNames' @::@ ['Text']------ * 'ldrNextToken' @::@ 'Maybe' 'Text'----listDomainsResponse :: ListDomainsResponse-listDomainsResponse = ListDomainsResponse-    { _ldrDomainNames = mempty-    , _ldrNextToken   = Nothing-    }+instance AWSPager ListDomains where+        page rq rs+          | stop (rs ^. ldrsNextToken) = Nothing+          | stop (rs ^. ldrsDomainNames) = Nothing+          | otherwise =+            Just $ rq & ldNextToken .~ rs ^. ldrsNextToken --- | A list of domain names that match the expression.-ldrDomainNames :: Lens' ListDomainsResponse [Text]-ldrDomainNames = lens _ldrDomainNames (\s a -> s { _ldrDomainNames = a }) . _List+instance AWSRequest ListDomains where+        type Sv ListDomains = SDB+        type Rs ListDomains = ListDomainsResponse+        request = postQuery+        response+          = receiveXMLWrapper "ListDomainsResult"+              (\ s h x ->+                 ListDomainsResponse' <$>+                   (may (parseXMLList "DomainName") x) <*>+                     (x .@? "NextToken")+                     <*> (pure (fromEnum s))) --- | An opaque token indicating that there are more domains than the specified 'MaxNumberOfDomains' still available.-ldrNextToken :: Lens' ListDomainsResponse (Maybe Text)-ldrNextToken = lens _ldrNextToken (\s a -> s { _ldrNextToken = a })+instance ToHeaders ListDomains where+        toHeaders = const mempty  instance ToPath ListDomains where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListDomains where-    toQuery ListDomains{..} = mconcat-        [ "MaxNumberOfDomains" =? _ldMaxNumberOfDomains-        , "NextToken"          =? _ldNextToken-        ]+        toQuery ListDomains'{..}+          = mconcat+              ["Action" =: ("ListDomains" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "MaxNumberOfDomains" =: _ldMaxNumberOfDomains,+               "NextToken" =: _ldNextToken] -instance ToHeaders ListDomains+-- | /See:/ 'listDomainsResponse' smart constructor.+data ListDomainsResponse = ListDomainsResponse'+    { _ldrsDomainNames :: !(Maybe [Text])+    , _ldrsNextToken   :: !(Maybe Text)+    , _ldrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ListDomains where-    type Sv ListDomains = SDB-    type Rs ListDomains = ListDomainsResponse+-- | Creates a value of 'ListDomainsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldrsDomainNames'+--+-- * 'ldrsNextToken'+--+-- * 'ldrsStatus'+listDomainsResponse+    :: Int -- ^ 'ldrsStatus'+    -> ListDomainsResponse+listDomainsResponse pStatus_ =+    ListDomainsResponse'+    { _ldrsDomainNames = Nothing+    , _ldrsNextToken = Nothing+    , _ldrsStatus = pStatus_+    } -    request  = post "ListDomains"-    response = xmlResponse+-- | A list of domain names that match the expression.+ldrsDomainNames :: Lens' ListDomainsResponse [Text]+ldrsDomainNames = lens _ldrsDomainNames (\ s a -> s{_ldrsDomainNames = a}) . _Default . _Coerce; -instance FromXML ListDomainsResponse where-    parseXML = withElement "ListDomainsResult" $ \x -> ListDomainsResponse-        <$> parseXML x-        <*> x .@? "NextToken"+-- | An opaque token indicating that there are more domains than the+-- specified 'MaxNumberOfDomains' still available.+ldrsNextToken :: Lens' ListDomainsResponse (Maybe Text)+ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a}); -instance AWSPager ListDomains where-    page rq rs-        | stop (rs ^. ldrNextToken) = Nothing-        | otherwise = (\x -> rq & ldNextToken ?~ x)-            <$> (rs ^. ldrNextToken)+-- | The response status code.+ldrsStatus :: Lens' ListDomainsResponse Int+ldrsStatus = lens _ldrsStatus (\ s a -> s{_ldrsStatus = a});
gen/Network/AWS/SDB/PutAttributes.hs view
@@ -1,150 +1,162 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.PutAttributes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | The PutAttributes operation creates or replaces attributes in an item. The--- client may specify new attributes using a combination of the 'Attribute.X.Name'--- and 'Attribute.X.Value' parameters. The client specifies the first attribute by--- the parameters 'Attribute.0.Name' and 'Attribute.0.Value', the second attribute--- by the parameters 'Attribute.1.Name' and 'Attribute.1.Value', and so on.+-- The PutAttributes operation creates or replaces attributes in an item.+-- The client may specify new attributes using a combination of the+-- 'Attribute.X.Name' and 'Attribute.X.Value' parameters. The client+-- specifies the first attribute by the parameters 'Attribute.0.Name' and+-- 'Attribute.0.Value', the second attribute by the parameters+-- 'Attribute.1.Name' and 'Attribute.1.Value', and so on. ----- 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 'Attribute.X.Name' and 'Attribute.X.Value' are the same.+-- 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 'Attribute.X.Name' and+-- 'Attribute.X.Value' are the same. -- -- Optionally, the requestor can supply the 'Replace' parameter for each--- individual attribute. Setting this value to 'true' causes the new attribute--- value to replace the existing attribute value(s). For example, if an item has--- the attributes '{ 'a', '1' }', '{ 'b', '2'}' and '{ 'b', '3' }' and the requestor--- calls 'PutAttributes' using the attributes '{ 'b', '4' }' with the 'Replace'--- parameter set to true, the final attributes of the item are changed to '{ 'a','1' }' and '{ 'b', '4' }', which replaces the previous values of the 'b'+-- individual attribute. Setting this value to 'true' causes the new+-- attribute value to replace the existing attribute value(s). For example,+-- if an item has the attributes '{ \'a\', \'1\' }', '{ \'b\', \'2\'}' and+-- '{ \'b\', \'3\' }' and the requestor calls 'PutAttributes' using the+-- attributes '{ \'b\', \'4\' }' with the 'Replace' parameter set to true,+-- the final attributes of the item are changed to '{ \'a\', \'1\' }' and+-- '{ \'b\', \'4\' }', which replaces the previous values of the \'b\' -- attribute with the new value. -- -- You cannot specify an empty string as an attribute name. -- -- Because Amazon SimpleDB makes multiple copies of client data and uses an--- eventual consistency update model, an immediate 'GetAttributes' or 'Select'--- operation (read) immediately after a 'PutAttributes' or 'DeleteAttributes'+-- eventual consistency update model, an immediate GetAttributes or Select+-- operation (read) immediately after a PutAttributes or DeleteAttributes -- operation (write) might not return the updated data. ----- The following limitations are enforced for this operation:  256 total--- attribute name-value pairs per item One billion attributes per domain 10 GB--- of total user data storage per domain+-- The following limitations are enforced for this operation: ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_PutAttributes.html>+-- -   256 total attribute name-value pairs per item+-- -   One billion attributes per domain+-- -   10 GB of total user data storage per domain+--+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_PutAttributes.html AWS API Reference> for PutAttributes. module Network.AWS.SDB.PutAttributes     (-    -- * Request-      PutAttributes-    -- ** Request constructor-    , putAttributes-    -- ** Request lenses-    , paAttributes-    , paDomainName+    -- * Creating a Request+      putAttributes+    , PutAttributes+    -- * Request Lenses     , paExpected+    , paDomainName     , paItemName+    , paAttributes -    -- * Response-    , PutAttributesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putAttributesResponse+    , PutAttributesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -data PutAttributes = PutAttributes-    { _paAttributes :: List "member" ReplaceableAttribute-    , _paDomainName :: Text-    , _paExpected   :: Maybe UpdateCondition-    , _paItemName   :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'putAttributes' smart constructor.+data PutAttributes = PutAttributes'+    { _paExpected   :: !(Maybe UpdateCondition)+    , _paDomainName :: !Text+    , _paItemName   :: !Text+    , _paAttributes :: ![ReplaceableAttribute]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutAttributes' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutAttributes' with the minimum fields required to make a request. ----- * 'paAttributes' @::@ ['ReplaceableAttribute']+-- Use one of the following lenses to modify other fields as desired: ----- * 'paDomainName' @::@ 'Text'+-- * 'paExpected' ----- * 'paExpected' @::@ 'Maybe' 'UpdateCondition'+-- * 'paDomainName' ----- * 'paItemName' @::@ 'Text'+-- * 'paItemName' ---putAttributes :: Text -- ^ 'paDomainName'-              -> Text -- ^ 'paItemName'-              -> PutAttributes-putAttributes p1 p2 = PutAttributes-    { _paDomainName = p1-    , _paItemName   = p2+-- * 'paAttributes'+putAttributes+    :: Text -- ^ 'paDomainName'+    -> Text -- ^ 'paItemName'+    -> PutAttributes+putAttributes pDomainName_ pItemName_ =+    PutAttributes'+    { _paExpected = Nothing+    , _paDomainName = pDomainName_+    , _paItemName = pItemName_     , _paAttributes = mempty-    , _paExpected   = Nothing     } --- | The list of attributes.-paAttributes :: Lens' PutAttributes [ReplaceableAttribute]-paAttributes = lens _paAttributes (\s a -> s { _paAttributes = a }) . _List+-- | The update condition which, if specified, determines whether the+-- specified attributes will be updated or not. The update condition must+-- be satisfied in order for this request to be processed and the+-- attributes to be updated.+paExpected :: Lens' PutAttributes (Maybe UpdateCondition)+paExpected = lens _paExpected (\ s a -> s{_paExpected = a});  -- | The name of the domain in which to perform the operation. paDomainName :: Lens' PutAttributes Text-paDomainName = lens _paDomainName (\s a -> s { _paDomainName = a })---- | The update condition which, if specified, determines whether the specified--- attributes will be updated or not. The update condition must be satisfied in--- order for this request to be processed and the attributes to be updated.-paExpected :: Lens' PutAttributes (Maybe UpdateCondition)-paExpected = lens _paExpected (\s a -> s { _paExpected = a })+paDomainName = lens _paDomainName (\ s a -> s{_paDomainName = a});  -- | The name of the item. paItemName :: Lens' PutAttributes Text-paItemName = lens _paItemName (\s a -> s { _paItemName = a })+paItemName = lens _paItemName (\ s a -> s{_paItemName = a}); -data PutAttributesResponse = PutAttributesResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The list of attributes.+paAttributes :: Lens' PutAttributes [ReplaceableAttribute]+paAttributes = lens _paAttributes (\ s a -> s{_paAttributes = a}) . _Coerce; --- | 'PutAttributesResponse' constructor.-putAttributesResponse :: PutAttributesResponse-putAttributesResponse = PutAttributesResponse+instance AWSRequest PutAttributes where+        type Sv PutAttributes = SDB+        type Rs PutAttributes = PutAttributesResponse+        request = postQuery+        response = receiveNull PutAttributesResponse' +instance ToHeaders PutAttributes where+        toHeaders = const mempty+ instance ToPath PutAttributes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery PutAttributes where-    toQuery PutAttributes{..} = mconcat-        [ toQuery     _paAttributes-        , "DomainName" =? _paDomainName-        , "Expected"   =? _paExpected-        , "ItemName"   =? _paItemName-        ]--instance ToHeaders PutAttributes+        toQuery PutAttributes'{..}+          = mconcat+              ["Action" =: ("PutAttributes" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "Expected" =: _paExpected,+               "DomainName" =: _paDomainName,+               "ItemName" =: _paItemName,+               toQueryList "Attribute" _paAttributes] -instance AWSRequest PutAttributes where-    type Sv PutAttributes = SDB-    type Rs PutAttributes = PutAttributesResponse+-- | /See:/ 'putAttributesResponse' smart constructor.+data PutAttributesResponse =+    PutAttributesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "PutAttributes"-    response = nullResponse PutAttributesResponse+-- | Creates a value of 'PutAttributesResponse' with the minimum fields required to make a request.+--+putAttributesResponse+    :: PutAttributesResponse+putAttributesResponse = PutAttributesResponse'
gen/Network/AWS/SDB/Select.hs view
@@ -1,161 +1,178 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.SDB.Select--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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 '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, if the client asks to retrieve 2500 items,--- but each individual item is 10 kB in size, the system returns 100 items and--- an appropriate 'NextToken' so the client can access the next page of results.+-- enforce this limit. For example, if the client asks to retrieve 2500+-- items, but each individual item is 10 kB in size, the system returns 100+-- items and an appropriate 'NextToken' so the client can access the next+-- page of results. ----- For information on how to construct select expressions, see Using Select to--- Create Amazon SimpleDB Queries in the Developer Guide.+-- For information on how to construct select expressions, see Using Select+-- to Create Amazon SimpleDB Queries in the Developer Guide. ----- <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_Select.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API_Select.html AWS API Reference> for Select.+--+-- This operation returns paginated results. module Network.AWS.SDB.Select     (-    -- * Request-      Select-    -- ** Request constructor-    , select-    -- ** Request lenses+    -- * Creating a Request+      select+    , Select+    -- * Request Lenses     , sConsistentRead     , sNextToken     , sSelectExpression -    -- * Response-    , SelectResponse-    -- ** Response constructor+    -- * Destructuring the Response     , selectResponse-    -- ** Response lenses-    , srItems-    , srNextToken+    , SelectResponse+    -- * Response Lenses+    , srsItems+    , srsNextToken+    , srsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.SDB.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.SDB.Types+import           Network.AWS.SDB.Types.Product -data Select = Select-    { _sConsistentRead   :: Maybe Bool-    , _sNextToken        :: Maybe Text-    , _sSelectExpression :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'select' smart constructor.+data Select = Select'+    { _sConsistentRead   :: !(Maybe Bool)+    , _sNextToken        :: !(Maybe Text)+    , _sSelectExpression :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'Select' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'Select' with the minimum fields required to make a request. ----- * 'sConsistentRead' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'sNextToken' @::@ 'Maybe' 'Text'+-- * 'sConsistentRead' ----- * 'sSelectExpression' @::@ 'Text'+-- * 'sNextToken' ---select :: Text -- ^ 'sSelectExpression'-       -> Select-select p1 = Select-    { _sSelectExpression = p1-    , _sNextToken        = Nothing-    , _sConsistentRead   = Nothing+-- * 'sSelectExpression'+select+    :: Text -- ^ 'sSelectExpression'+    -> Select+select pSelectExpression_ =+    Select'+    { _sConsistentRead = Nothing+    , _sNextToken = Nothing+    , _sSelectExpression = pSelectExpression_     } --- | Determines whether or not strong consistency should be enforced when data is--- read from SimpleDB. If 'true', any data previously written to SimpleDB will be--- returned. Otherwise, results will be consistent eventually, and the client--- may not see data that was written immediately before your read.+-- | Determines whether or not strong consistency should be enforced when+-- data is read from SimpleDB. If 'true', any data previously written to+-- SimpleDB will be returned. Otherwise, results will be consistent+-- eventually, and the client may not see data that was written immediately+-- before your read. sConsistentRead :: Lens' Select (Maybe Bool)-sConsistentRead = lens _sConsistentRead (\s a -> s { _sConsistentRead = a })+sConsistentRead = lens _sConsistentRead (\ s a -> s{_sConsistentRead = a}); --- | A string informing Amazon SimpleDB where to start the next list of 'ItemNames'.+-- | A string informing Amazon SimpleDB where to start the next list of+-- 'ItemNames'. sNextToken :: Lens' Select (Maybe Text)-sNextToken = lens _sNextToken (\s a -> s { _sNextToken = a })+sNextToken = lens _sNextToken (\ s a -> s{_sNextToken = a});  -- | The expression used to query the domain. sSelectExpression :: Lens' Select Text-sSelectExpression =-    lens _sSelectExpression (\s a -> s { _sSelectExpression = a })+sSelectExpression = lens _sSelectExpression (\ s a -> s{_sSelectExpression = a}); -data SelectResponse = SelectResponse-    { _srItems     :: List "member" Item-    , _srNextToken :: Maybe Text-    } deriving (Eq, Read, Show)+instance AWSPager Select where+        page rq rs+          | stop (rs ^. srsNextToken) = Nothing+          | stop (rs ^. srsItems) = Nothing+          | otherwise =+            Just $ rq & sNextToken .~ rs ^. srsNextToken --- | 'SelectResponse' constructor.+instance AWSRequest Select where+        type Sv Select = SDB+        type Rs Select = SelectResponse+        request = postQuery+        response+          = receiveXMLWrapper "SelectResult"+              (\ s h x ->+                 SelectResponse' <$>+                   (may (parseXMLList "Item") x) <*> (x .@? "NextToken")+                     <*> (pure (fromEnum s)))++instance ToHeaders Select where+        toHeaders = const mempty++instance ToPath Select where+        toPath = const "/"++instance ToQuery Select where+        toQuery Select'{..}+          = mconcat+              ["Action" =: ("Select" :: ByteString),+               "Version" =: ("2009-04-15" :: ByteString),+               "ConsistentRead" =: _sConsistentRead,+               "NextToken" =: _sNextToken,+               "SelectExpression" =: _sSelectExpression]++-- | /See:/ 'selectResponse' smart constructor.+data SelectResponse = SelectResponse'+    { _srsItems     :: !(Maybe [Item])+    , _srsNextToken :: !(Maybe Text)+    , _srsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SelectResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'srItems' @::@ ['Item']+-- * 'srsItems' ----- * 'srNextToken' @::@ 'Maybe' 'Text'+-- * 'srsNextToken' ---selectResponse :: SelectResponse-selectResponse = SelectResponse-    { _srItems     = mempty-    , _srNextToken = Nothing+-- * 'srsStatus'+selectResponse+    :: Int -- ^ 'srsStatus'+    -> SelectResponse+selectResponse pStatus_ =+    SelectResponse'+    { _srsItems = Nothing+    , _srsNextToken = Nothing+    , _srsStatus = pStatus_     }  -- | A list of items that match the select expression.-srItems :: Lens' SelectResponse [Item]-srItems = lens _srItems (\s a -> s { _srItems = a }) . _List+srsItems :: Lens' SelectResponse [Item]+srsItems = lens _srsItems (\ s a -> s{_srsItems = a}) . _Default . _Coerce;  -- | An opaque token indicating that more items than 'MaxNumberOfItems' were -- matched, the response size exceeded 1 megabyte, or the execution time -- exceeded 5 seconds.-srNextToken :: Lens' SelectResponse (Maybe Text)-srNextToken = lens _srNextToken (\s a -> s { _srNextToken = a })--instance ToPath Select where-    toPath = const "/"--instance ToQuery Select where-    toQuery Select{..} = mconcat-        [ "ConsistentRead"   =? _sConsistentRead-        , "NextToken"        =? _sNextToken-        , "SelectExpression" =? _sSelectExpression-        ]--instance ToHeaders Select--instance AWSRequest Select where-    type Sv Select = SDB-    type Rs Select = SelectResponse--    request  = post "Select"-    response = xmlResponse--instance FromXML SelectResponse where-    parseXML = withElement "SelectResult" $ \x -> SelectResponse-        <$> parseXML x-        <*> x .@? "NextToken"+srsNextToken :: Lens' SelectResponse (Maybe Text)+srsNextToken = lens _srsNextToken (\ s a -> s{_srsNextToken = a}); -instance AWSPager Select where-    page rq rs-        | stop (rs ^. srNextToken) = Nothing-        | otherwise = (\x -> rq & sNextToken ?~ x)-            <$> (rs ^. srNextToken)+-- | The response status code.+srsStatus :: Lens' SelectResponse Int+srsStatus = lens _srsStatus (\ s a -> s{_srsStatus = a});
gen/Network/AWS/SDB/Types.hs view
@@ -1,42 +1,45 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}-{-# LANGUAGE ViewPatterns                #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-} -{-# OPTIONS_GHC -fno-warn-unused-imports #-}+-- Derived from AWS service descriptions, licensed under Apache 2.0. +-- | -- Module      : Network.AWS.SDB.Types--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.- module Network.AWS.SDB.Types     (     -- * Service       SDB-    -- ** Error-    , RESTError-    -- ** XML-    , ns +    -- * Errors+    , _InvalidNumberValueTests+    , _NoSuchDomain+    , _NumberDomainAttributesExceeded+    , _NumberSubmittedItemsExceeded+    , _AttributeDoesNotExist+    , _InvalidNextToken+    , _MissingParameter+    , _DuplicateItemName+    , _InvalidParameterValue+    , _NumberItemAttributesExceeded+    , _RequestTimeout+    , _TooManyRequestedAttributes+    , _InvalidNumberPredicates+    , _NumberDomainsExceeded+    , _NumberSubmittedAttributesExceeded+    , _InvalidQueryExpression+    , _NumberDomainBytesExceeded+     -- * Attribute     , Attribute     , attribute-    , aAlternateNameEncoding     , aAlternateValueEncoding+    , aAlternateNameEncoding     , aName     , aValue @@ -46,370 +49,151 @@     , diAttributes     , diName +    -- * Item+    , Item+    , item+    , iAlternateNameEncoding+    , iName+    , iAttributes++    -- * ReplaceableAttribute+    , ReplaceableAttribute+    , replaceableAttribute+    , raReplace+    , raName+    , raValue+     -- * ReplaceableItem     , ReplaceableItem     , replaceableItem-    , riAttributes     , riName+    , riAttributes      -- * UpdateCondition     , UpdateCondition     , updateCondition     , ucExists-    , ucName     , ucValue--    -- * ReplaceableAttribute-    , ReplaceableAttribute-    , replaceableAttribute-    , raName-    , raReplace-    , raValue--    -- * Item-    , Item-    , item-    , iAlternateNameEncoding-    , iAttributes-    , iName+    , ucName     ) where -import Network.AWS.Prelude-import Network.AWS.Signing-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.SDB.Types.Product+import           Network.AWS.SDB.Types.Sum+import           Network.AWS.Sign.V2 --- | Version @2009-04-15@ of the Amazon SimpleDB service.+-- | Version @2009-04-15@ of the Amazon SimpleDB SDK. data SDB  instance AWSService SDB where     type Sg SDB = V2-    type Er SDB = RESTError--    service = service'+    service = const svc       where-        service' :: Service SDB-        service' = Service-            { _svcAbbrev       = "SDB"-            , _svcPrefix       = "sdb"-            , _svcVersion      = "2009-04-15"-            , _svcTargetPrefix = Nothing-            , _svcJSONVersion  = Nothing-            , _svcHandle       = handle-            , _svcRetry        = retry+        svc =+            Service+            { _svcAbbrev = "SDB"+            , _svcPrefix = "sdb"+            , _svcVersion = "2009-04-15"+            , _svcEndpoint = defaultEndpoint svc+            , _svcTimeout = Just 70+            , _svcStatus = statusSuccess+            , _svcError = parseXMLError+            , _svcRetry = retry             }--        handle :: Status-               -> Maybe (LazyByteString -> ServiceError RESTError)-        handle = restError statusSuccess service'--        retry :: Retry SDB-        retry = Exponential-            { _retryBase     = 0.05-            , _retryGrowth   = 2+        retry =+            Exponential+            { _retryBase = 5.0e-2+            , _retryGrowth = 2             , _retryAttempts = 5-            , _retryCheck    = check+            , _retryCheck = check             }--        check :: Status-              -> RESTError-              -> Bool-        check (statusCode -> s) (awsErrorCode -> e)-            | s == 500  = True -- General Server Error-            | s == 509  = True -- Limit Exceeded-            | s == 503  = True -- Service Unavailable-            | otherwise = False--ns :: Text-ns = "http://sdb.amazonaws.com/doc/2009-04-15/"-{-# INLINE ns #-}--data Attribute = Attribute-    { _aAlternateNameEncoding  :: Maybe Text-    , _aAlternateValueEncoding :: Maybe Text-    , _aName                   :: Text-    , _aValue                  :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'Attribute' constructor.------ The fields accessible through corresponding lenses are:------ * 'aAlternateNameEncoding' @::@ 'Maybe' 'Text'------ * 'aAlternateValueEncoding' @::@ 'Maybe' 'Text'------ * 'aName' @::@ 'Text'------ * 'aValue' @::@ 'Text'----attribute :: Text -- ^ 'aName'-          -> Text -- ^ 'aValue'-          -> Attribute-attribute p1 p2 = Attribute-    { _aName                   = p1-    , _aValue                  = p2-    , _aAlternateNameEncoding  = Nothing-    , _aAlternateValueEncoding = Nothing-    }---aAlternateNameEncoding :: Lens' Attribute (Maybe Text)-aAlternateNameEncoding =-    lens _aAlternateNameEncoding (\s a -> s { _aAlternateNameEncoding = a })---aAlternateValueEncoding :: Lens' Attribute (Maybe Text)-aAlternateValueEncoding =-    lens _aAlternateValueEncoding (\s a -> s { _aAlternateValueEncoding = a })---- | The name of the attribute.-aName :: Lens' Attribute Text-aName = lens _aName (\s a -> s { _aName = a })---- | The value of the attribute.-aValue :: Lens' Attribute Text-aValue = lens _aValue (\s a -> s { _aValue = a })--instance FromXML Attribute where-    parseXML x = Attribute-        <$> x .@? "AlternateNameEncoding"-        <*> x .@? "AlternateValueEncoding"-        <*> x .@  "Name"-        <*> x .@  "Value"--instance ToQuery Attribute where-    toQuery Attribute{..} = mconcat-        [ "AlternateNameEncoding"  =? _aAlternateNameEncoding-        , "AlternateValueEncoding" =? _aAlternateValueEncoding-        , "Name"                   =? _aName-        , "Value"                  =? _aValue-        ]--data DeletableItem = DeletableItem-    { _diAttributes :: List "member" Attribute-    , _diName       :: Text-    } deriving (Eq, Read, Show)---- | 'DeletableItem' constructor.------ The fields accessible through corresponding lenses are:------ * 'diAttributes' @::@ ['Attribute']------ * 'diName' @::@ 'Text'----deletableItem :: Text -- ^ 'diName'-              -> DeletableItem-deletableItem p1 = DeletableItem-    { _diName       = p1-    , _diAttributes = mempty-    }--diAttributes :: Lens' DeletableItem [Attribute]-diAttributes = lens _diAttributes (\s a -> s { _diAttributes = a }) . _List--diName :: Lens' DeletableItem Text-diName = lens _diName (\s a -> s { _diName = a })--instance FromXML DeletableItem where-    parseXML x = DeletableItem-        <$> parseXML x-        <*> x .@  "ItemName"--instance ToQuery DeletableItem where-    toQuery DeletableItem{..} = mconcat-        [ toQuery     _diAttributes-        , "ItemName"   =? _diName-        ]--data ReplaceableItem = ReplaceableItem-    { _riAttributes :: List "member" ReplaceableAttribute-    , _riName       :: Text-    } deriving (Eq, Read, Show)---- | 'ReplaceableItem' constructor.------ The fields accessible through corresponding lenses are:------ * 'riAttributes' @::@ ['ReplaceableAttribute']------ * 'riName' @::@ 'Text'----replaceableItem :: Text -- ^ 'riName'-                -> ReplaceableItem-replaceableItem p1 = ReplaceableItem-    { _riName       = p1-    , _riAttributes = mempty-    }---- | The list of attributes for a replaceable item.-riAttributes :: Lens' ReplaceableItem [ReplaceableAttribute]-riAttributes = lens _riAttributes (\s a -> s { _riAttributes = a }) . _List---- | The name of the replaceable item.-riName :: Lens' ReplaceableItem Text-riName = lens _riName (\s a -> s { _riName = a })--instance FromXML ReplaceableItem where-    parseXML x = ReplaceableItem-        <$> parseXML x-        <*> x .@  "ItemName"--instance ToQuery ReplaceableItem where-    toQuery ReplaceableItem{..} = mconcat-        [ toQuery     _riAttributes-        , "ItemName"   =? _riName-        ]--data UpdateCondition = UpdateCondition-    { _ucExists :: Maybe Bool-    , _ucName   :: Maybe Text-    , _ucValue  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'UpdateCondition' constructor.------ The fields accessible through corresponding lenses are:------ * 'ucExists' @::@ 'Maybe' 'Bool'------ * 'ucName' @::@ 'Maybe' 'Text'------ * 'ucValue' @::@ 'Maybe' 'Text'----updateCondition :: UpdateCondition-updateCondition = UpdateCondition-    { _ucName   = Nothing-    , _ucValue  = Nothing-    , _ucExists = Nothing-    }---- | A value specifying whether or not the specified attribute must exist with the--- specified value in order for the update condition to be satisfied. Specify 'true' if the attribute must exist for the update condition to be satisfied.--- Specify 'false' if the attribute should not exist in order for the update--- condition to be satisfied.-ucExists :: Lens' UpdateCondition (Maybe Bool)-ucExists = lens _ucExists (\s a -> s { _ucExists = a })---- | The name of the attribute involved in the condition.-ucName :: Lens' UpdateCondition (Maybe Text)-ucName = lens _ucName (\s a -> s { _ucName = a })---- | The value of an attribute. This value can only be specified when the 'Exists'--- parameter is equal to 'true'.-ucValue :: Lens' UpdateCondition (Maybe Text)-ucValue = lens _ucValue (\s a -> s { _ucValue = a })+        check e+          | has (hasCode "ThrottlingException" . hasStatus 400) e =+              Just "throttling_exception"+          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+          | has (hasStatus 503) e = Just "service_unavailable"+          | has (hasStatus 500) e = Just "general_server_error"+          | has (hasStatus 509) e = Just "limit_exceeded"+          | otherwise = Nothing -instance FromXML UpdateCondition where-    parseXML x = UpdateCondition-        <$> x .@? "Exists"-        <*> x .@? "Name"-        <*> x .@? "Value"+-- | Too many predicates exist in the query expression.+_InvalidNumberValueTests :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNumberValueTests =+    _ServiceError . hasStatus 400 . hasCode "InvalidNumberValueTests" -instance ToQuery UpdateCondition where-    toQuery UpdateCondition{..} = mconcat-        [ "Exists" =? _ucExists-        , "Name"   =? _ucName-        , "Value"  =? _ucValue-        ]+-- | The specified domain does not exist.+_NoSuchDomain :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchDomain = _ServiceError . hasStatus 400 . hasCode "NoSuchDomain" -data ReplaceableAttribute = ReplaceableAttribute-    { _raName    :: Text-    , _raReplace :: Maybe Bool-    , _raValue   :: Text-    } deriving (Eq, Ord, Read, Show)+-- | Too many attributes in this domain.+_NumberDomainAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError+_NumberDomainAttributesExceeded =+    _ServiceError . hasStatus 409 . hasCode "NumberDomainAttributesExceeded" --- | 'ReplaceableAttribute' constructor.------ The fields accessible through corresponding lenses are:------ * 'raName' @::@ 'Text'------ * 'raReplace' @::@ 'Maybe' 'Bool'------ * 'raValue' @::@ 'Text'----replaceableAttribute :: Text -- ^ 'raName'-                     -> Text -- ^ 'raValue'-                     -> ReplaceableAttribute-replaceableAttribute p1 p2 = ReplaceableAttribute-    { _raName    = p1-    , _raValue   = p2-    , _raReplace = Nothing-    }+-- | Too many items exist in a single call.+_NumberSubmittedItemsExceeded :: AsError a => Getting (First ServiceError) a ServiceError+_NumberSubmittedItemsExceeded =+    _ServiceError . hasStatus 409 . hasCode "NumberSubmittedItemsExceeded" --- | The name of the replaceable attribute.-raName :: Lens' ReplaceableAttribute Text-raName = lens _raName (\s a -> s { _raName = a })+-- | The specified attribute does not exist.+_AttributeDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError+_AttributeDoesNotExist =+    _ServiceError . hasStatus 404 . hasCode "AttributeDoesNotExist" --- | A flag specifying whether or not to replace the attribute/value pair or to--- add a new attribute/value pair. The default setting is 'false'.-raReplace :: Lens' ReplaceableAttribute (Maybe Bool)-raReplace = lens _raReplace (\s a -> s { _raReplace = a })+-- | The specified NextToken is not valid.+_InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNextToken = _ServiceError . hasStatus 400 . hasCode "InvalidNextToken" --- | The value of the replaceable attribute.-raValue :: Lens' ReplaceableAttribute Text-raValue = lens _raValue (\s a -> s { _raValue = a })+-- | The request must contain the specified missing parameter.+_MissingParameter :: AsError a => Getting (First ServiceError) a ServiceError+_MissingParameter = _ServiceError . hasStatus 400 . hasCode "MissingParameter" -instance FromXML ReplaceableAttribute where-    parseXML x = ReplaceableAttribute-        <$> x .@  "Name"-        <*> x .@? "Replace"-        <*> x .@  "Value"+-- | The item name was specified more than once.+_DuplicateItemName :: AsError a => Getting (First ServiceError) a ServiceError+_DuplicateItemName =+    _ServiceError . hasStatus 400 . hasCode "DuplicateItemName" -instance ToQuery ReplaceableAttribute where-    toQuery ReplaceableAttribute{..} = mconcat-        [ "Name"    =? _raName-        , "Replace" =? _raReplace-        , "Value"   =? _raValue-        ]+-- | The value for a parameter is invalid.+_InvalidParameterValue :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidParameterValue =+    _ServiceError . hasStatus 400 . hasCode "InvalidParameterValue" -data Item = Item-    { _iAlternateNameEncoding :: Maybe Text-    , _iAttributes            :: List "member" Attribute-    , _iName                  :: Text-    } deriving (Eq, Read, Show)+-- | Too many attributes in this item.+_NumberItemAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError+_NumberItemAttributesExceeded =+    _ServiceError . hasStatus 409 . hasCode "NumberItemAttributesExceeded" --- | 'Item' constructor.------ The fields accessible through corresponding lenses are:------ * 'iAlternateNameEncoding' @::@ 'Maybe' 'Text'------ * 'iAttributes' @::@ ['Attribute']------ * 'iName' @::@ 'Text'----item :: Text -- ^ 'iName'-     -> Item-item p1 = Item-    { _iName                  = p1-    , _iAlternateNameEncoding = Nothing-    , _iAttributes            = mempty-    }+-- | A timeout occurred when attempting to query the specified domain with+-- specified query expression.+_RequestTimeout :: AsError a => Getting (First ServiceError) a ServiceError+_RequestTimeout = _ServiceError . hasStatus 408 . hasCode "RequestTimeout" +-- | Too many attributes requested.+_TooManyRequestedAttributes :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyRequestedAttributes =+    _ServiceError . hasStatus 400 . hasCode "TooManyRequestedAttributes" -iAlternateNameEncoding :: Lens' Item (Maybe Text)-iAlternateNameEncoding =-    lens _iAlternateNameEncoding (\s a -> s { _iAlternateNameEncoding = a })+-- | Too many predicates exist in the query expression.+_InvalidNumberPredicates :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNumberPredicates =+    _ServiceError . hasStatus 400 . hasCode "InvalidNumberPredicates" --- | A list of attributes.-iAttributes :: Lens' Item [Attribute]-iAttributes = lens _iAttributes (\s a -> s { _iAttributes = a }) . _List+-- | Too many domains exist per this account.+_NumberDomainsExceeded :: AsError a => Getting (First ServiceError) a ServiceError+_NumberDomainsExceeded =+    _ServiceError . hasStatus 409 . hasCode "NumberDomainsExceeded" --- | The name of the item.-iName :: Lens' Item Text-iName = lens _iName (\s a -> s { _iName = a })+-- | Too many attributes exist in a single call.+_NumberSubmittedAttributesExceeded :: AsError a => Getting (First ServiceError) a ServiceError+_NumberSubmittedAttributesExceeded =+    _ServiceError . hasStatus 409 . hasCode "NumberSubmittedAttributesExceeded" -instance FromXML Item where-    parseXML x = Item-        <$> x .@? "AlternateNameEncoding"-        <*> parseXML x-        <*> x .@  "Name"+-- | The specified query expression syntax is not valid.+_InvalidQueryExpression :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidQueryExpression =+    _ServiceError . hasStatus 400 . hasCode "InvalidQueryExpression" -instance ToQuery Item where-    toQuery Item{..} = mconcat-        [ "AlternateNameEncoding" =? _iAlternateNameEncoding-        , toQuery                _iAttributes-        , "Name"                  =? _iName-        ]+-- | Too many bytes in this domain.+_NumberDomainBytesExceeded :: AsError a => Getting (First ServiceError) a ServiceError+_NumberDomainBytesExceeded =+    _ServiceError . hasStatus 409 . hasCode "NumberDomainBytesExceeded"
+ gen/Network/AWS/SDB/Types/Product.hs view
@@ -0,0 +1,309 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.SDB.Types.Product+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.SDB.Types.Product where++import           Network.AWS.Prelude+import           Network.AWS.SDB.Types.Sum++-- |+--+-- /See:/ 'attribute' smart constructor.+data Attribute = Attribute'+    { _aAlternateValueEncoding :: !(Maybe Text)+    , _aAlternateNameEncoding  :: !(Maybe Text)+    , _aName                   :: !Text+    , _aValue                  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Attribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAlternateValueEncoding'+--+-- * 'aAlternateNameEncoding'+--+-- * 'aName'+--+-- * 'aValue'+attribute+    :: Text -- ^ 'aName'+    -> Text -- ^ 'aValue'+    -> Attribute+attribute pName_ pValue_ =+    Attribute'+    { _aAlternateValueEncoding = Nothing+    , _aAlternateNameEncoding = Nothing+    , _aName = pName_+    , _aValue = pValue_+    }++-- |+aAlternateValueEncoding :: Lens' Attribute (Maybe Text)+aAlternateValueEncoding = lens _aAlternateValueEncoding (\ s a -> s{_aAlternateValueEncoding = a});++-- |+aAlternateNameEncoding :: Lens' Attribute (Maybe Text)+aAlternateNameEncoding = lens _aAlternateNameEncoding (\ s a -> s{_aAlternateNameEncoding = a});++-- | The name of the attribute.+aName :: Lens' Attribute Text+aName = lens _aName (\ s a -> s{_aName = a});++-- | The value of the attribute.+aValue :: Lens' Attribute Text+aValue = lens _aValue (\ s a -> s{_aValue = a});++instance FromXML Attribute where+        parseXML x+          = Attribute' <$>+              (x .@? "AlternateValueEncoding") <*>+                (x .@? "AlternateNameEncoding")+                <*> (x .@ "Name")+                <*> (x .@ "Value")++instance ToQuery Attribute where+        toQuery Attribute'{..}+          = mconcat+              ["AlternateValueEncoding" =:+                 _aAlternateValueEncoding,+               "AlternateNameEncoding" =: _aAlternateNameEncoding,+               "Name" =: _aName, "Value" =: _aValue]++-- | /See:/ 'deletableItem' smart constructor.+data DeletableItem = DeletableItem'+    { _diAttributes :: !(Maybe [Attribute])+    , _diName       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeletableItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diAttributes'+--+-- * 'diName'+deletableItem+    :: Text -- ^ 'diName'+    -> DeletableItem+deletableItem pName_ =+    DeletableItem'+    { _diAttributes = Nothing+    , _diName = pName_+    }++-- | Undocumented member.+diAttributes :: Lens' DeletableItem [Attribute]+diAttributes = lens _diAttributes (\ s a -> s{_diAttributes = a}) . _Default . _Coerce;++-- | Undocumented member.+diName :: Lens' DeletableItem Text+diName = lens _diName (\ s a -> s{_diName = a});++instance ToQuery DeletableItem where+        toQuery DeletableItem'{..}+          = mconcat+              [toQuery (toQueryList "Attribute" <$> _diAttributes),+               "ItemName" =: _diName]++-- |+--+-- /See:/ 'item' smart constructor.+data Item = Item'+    { _iAlternateNameEncoding :: !(Maybe Text)+    , _iName                  :: !Text+    , _iAttributes            :: ![Attribute]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Item' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iAlternateNameEncoding'+--+-- * 'iName'+--+-- * 'iAttributes'+item+    :: Text -- ^ 'iName'+    -> Item+item pName_ =+    Item'+    { _iAlternateNameEncoding = Nothing+    , _iName = pName_+    , _iAttributes = mempty+    }++-- |+iAlternateNameEncoding :: Lens' Item (Maybe Text)+iAlternateNameEncoding = lens _iAlternateNameEncoding (\ s a -> s{_iAlternateNameEncoding = a});++-- | The name of the item.+iName :: Lens' Item Text+iName = lens _iName (\ s a -> s{_iName = a});++-- | A list of attributes.+iAttributes :: Lens' Item [Attribute]+iAttributes = lens _iAttributes (\ s a -> s{_iAttributes = a}) . _Coerce;++instance FromXML Item where+        parseXML x+          = Item' <$>+              (x .@? "AlternateNameEncoding") <*> (x .@ "Name") <*>+                (parseXMLList "Attribute" x)++-- |+--+-- /See:/ 'replaceableAttribute' smart constructor.+data ReplaceableAttribute = ReplaceableAttribute'+    { _raReplace :: !(Maybe Bool)+    , _raName    :: !Text+    , _raValue   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplaceableAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raReplace'+--+-- * 'raName'+--+-- * 'raValue'+replaceableAttribute+    :: Text -- ^ 'raName'+    -> Text -- ^ 'raValue'+    -> ReplaceableAttribute+replaceableAttribute pName_ pValue_ =+    ReplaceableAttribute'+    { _raReplace = Nothing+    , _raName = pName_+    , _raValue = pValue_+    }++-- | A flag specifying whether or not to replace the attribute\/value pair or+-- to add a new attribute\/value pair. The default setting is 'false'.+raReplace :: Lens' ReplaceableAttribute (Maybe Bool)+raReplace = lens _raReplace (\ s a -> s{_raReplace = a});++-- | The name of the replaceable attribute.+raName :: Lens' ReplaceableAttribute Text+raName = lens _raName (\ s a -> s{_raName = a});++-- | The value of the replaceable attribute.+raValue :: Lens' ReplaceableAttribute Text+raValue = lens _raValue (\ s a -> s{_raValue = a});++instance ToQuery ReplaceableAttribute where+        toQuery ReplaceableAttribute'{..}+          = mconcat+              ["Replace" =: _raReplace, "Name" =: _raName,+               "Value" =: _raValue]++-- |+--+-- /See:/ 'replaceableItem' smart constructor.+data ReplaceableItem = ReplaceableItem'+    { _riName       :: !Text+    , _riAttributes :: ![ReplaceableAttribute]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplaceableItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riName'+--+-- * 'riAttributes'+replaceableItem+    :: Text -- ^ 'riName'+    -> ReplaceableItem+replaceableItem pName_ =+    ReplaceableItem'+    { _riName = pName_+    , _riAttributes = mempty+    }++-- | The name of the replaceable item.+riName :: Lens' ReplaceableItem Text+riName = lens _riName (\ s a -> s{_riName = a});++-- | The list of attributes for a replaceable item.+riAttributes :: Lens' ReplaceableItem [ReplaceableAttribute]+riAttributes = lens _riAttributes (\ s a -> s{_riAttributes = a}) . _Coerce;++instance ToQuery ReplaceableItem where+        toQuery ReplaceableItem'{..}+          = mconcat+              ["ItemName" =: _riName,+               toQueryList "Attribute" _riAttributes]++-- | Specifies the conditions under which data should be updated. If an+-- update condition is specified for a request, the data will only be+-- updated if the condition is satisfied. For example, if an attribute with+-- a specific name and value exists, or if a specific attribute doesn\'t+-- exist.+--+-- /See:/ 'updateCondition' smart constructor.+data UpdateCondition = UpdateCondition'+    { _ucExists :: !(Maybe Bool)+    , _ucValue  :: !(Maybe Text)+    , _ucName   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateCondition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucExists'+--+-- * 'ucValue'+--+-- * 'ucName'+updateCondition+    :: UpdateCondition+updateCondition =+    UpdateCondition'+    { _ucExists = Nothing+    , _ucValue = Nothing+    , _ucName = Nothing+    }++-- | A value specifying whether or not the specified attribute must exist+-- with the specified value in order for the update condition to be+-- satisfied. Specify 'true' if the attribute must exist for the update+-- condition to be satisfied. Specify 'false' if the attribute should not+-- exist in order for the update condition to be satisfied.+ucExists :: Lens' UpdateCondition (Maybe Bool)+ucExists = lens _ucExists (\ s a -> s{_ucExists = a});++-- | The value of an attribute. This value can only be specified when the+-- 'Exists' parameter is equal to 'true'.+ucValue :: Lens' UpdateCondition (Maybe Text)+ucValue = lens _ucValue (\ s a -> s{_ucValue = a});++-- | The name of the attribute involved in the condition.+ucName :: Lens' UpdateCondition (Maybe Text)+ucName = lens _ucName (\ s a -> s{_ucName = a});++instance ToQuery UpdateCondition where+        toQuery UpdateCondition'{..}+          = mconcat+              ["Exists" =: _ucExists, "Value" =: _ucValue,+               "Name" =: _ucName]
+ gen/Network/AWS/SDB/Types/Sum.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.SDB.Types.Sum+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.SDB.Types.Sum where++import           Network.AWS.Prelude
+ gen/Network/AWS/SDB/Waiters.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.SDB.Waiters+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.SDB.Waiters where++import           Network.AWS.Prelude+import           Network.AWS.SDB.Types+import           Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.SDB+import Test.AWS.SDB.Internal++main :: IO ()+main = defaultMain $ testGroup "SDB"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/Gen/SDB.hs view
@@ -0,0 +1,209 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.SDB+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.SDB where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.SDB+import Test.AWS.SDB.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ testBatchDeleteAttributes $+--             batchDeleteAttributes+--+--         , testBatchPutAttributes $+--             batchPutAttributes+--+--         , testGetAttributes $+--             getAttributes+--+--         , testCreateDomain $+--             createDomain+--+--         , testDomainMetadata $+--             domainMetadata+--+--         , testSelect $+--             select+--+--         , testPutAttributes $+--             putAttributes+--+--         , testDeleteAttributes $+--             deleteAttributes+--+--         , testListDomains $+--             listDomains+--+--         , testDeleteDomain $+--             deleteDomain+--+--           ]++--     , testGroup "response"+--         [ testBatchDeleteAttributesResponse $+--             batchDeleteAttributesResponse+--+--         , testBatchPutAttributesResponse $+--             batchPutAttributesResponse+--+--         , testGetAttributesResponse $+--             getAttributesResponse+--+--         , testCreateDomainResponse $+--             createDomainResponse+--+--         , testDomainMetadataResponse $+--             domainMetadataResponse+--+--         , testSelectResponse $+--             selectResponse+--+--         , testPutAttributesResponse $+--             putAttributesResponse+--+--         , testDeleteAttributesResponse $+--             deleteAttributesResponse+--+--         , testListDomainsResponse $+--             listDomainsResponse+--+--         , testDeleteDomainResponse $+--             deleteDomainResponse+--+--           ]+--     ]++-- Requests++testBatchDeleteAttributes :: BatchDeleteAttributes -> TestTree+testBatchDeleteAttributes = req+    "BatchDeleteAttributes"+    "fixture/BatchDeleteAttributes"++testBatchPutAttributes :: BatchPutAttributes -> TestTree+testBatchPutAttributes = req+    "BatchPutAttributes"+    "fixture/BatchPutAttributes"++testGetAttributes :: GetAttributes -> TestTree+testGetAttributes = req+    "GetAttributes"+    "fixture/GetAttributes"++testCreateDomain :: CreateDomain -> TestTree+testCreateDomain = req+    "CreateDomain"+    "fixture/CreateDomain"++testDomainMetadata :: DomainMetadata -> TestTree+testDomainMetadata = req+    "DomainMetadata"+    "fixture/DomainMetadata"++testSelect :: Select -> TestTree+testSelect = req+    "Select"+    "fixture/Select"++testPutAttributes :: PutAttributes -> TestTree+testPutAttributes = req+    "PutAttributes"+    "fixture/PutAttributes"++testDeleteAttributes :: DeleteAttributes -> TestTree+testDeleteAttributes = req+    "DeleteAttributes"+    "fixture/DeleteAttributes"++testListDomains :: ListDomains -> TestTree+testListDomains = req+    "ListDomains"+    "fixture/ListDomains"++testDeleteDomain :: DeleteDomain -> TestTree+testDeleteDomain = req+    "DeleteDomain"+    "fixture/DeleteDomain"++-- Responses++testBatchDeleteAttributesResponse :: BatchDeleteAttributesResponse -> TestTree+testBatchDeleteAttributesResponse = res+    "BatchDeleteAttributesResponse"+    "fixture/BatchDeleteAttributesResponse"+    (Proxy :: Proxy BatchDeleteAttributes)++testBatchPutAttributesResponse :: BatchPutAttributesResponse -> TestTree+testBatchPutAttributesResponse = res+    "BatchPutAttributesResponse"+    "fixture/BatchPutAttributesResponse"+    (Proxy :: Proxy BatchPutAttributes)++testGetAttributesResponse :: GetAttributesResponse -> TestTree+testGetAttributesResponse = res+    "GetAttributesResponse"+    "fixture/GetAttributesResponse"+    (Proxy :: Proxy GetAttributes)++testCreateDomainResponse :: CreateDomainResponse -> TestTree+testCreateDomainResponse = res+    "CreateDomainResponse"+    "fixture/CreateDomainResponse"+    (Proxy :: Proxy CreateDomain)++testDomainMetadataResponse :: DomainMetadataResponse -> TestTree+testDomainMetadataResponse = res+    "DomainMetadataResponse"+    "fixture/DomainMetadataResponse"+    (Proxy :: Proxy DomainMetadata)++testSelectResponse :: SelectResponse -> TestTree+testSelectResponse = res+    "SelectResponse"+    "fixture/SelectResponse"+    (Proxy :: Proxy Select)++testPutAttributesResponse :: PutAttributesResponse -> TestTree+testPutAttributesResponse = res+    "PutAttributesResponse"+    "fixture/PutAttributesResponse"+    (Proxy :: Proxy PutAttributes)++testDeleteAttributesResponse :: DeleteAttributesResponse -> TestTree+testDeleteAttributesResponse = res+    "DeleteAttributesResponse"+    "fixture/DeleteAttributesResponse"+    (Proxy :: Proxy DeleteAttributes)++testListDomainsResponse :: ListDomainsResponse -> TestTree+testListDomainsResponse = res+    "ListDomainsResponse"+    "fixture/ListDomainsResponse"+    (Proxy :: Proxy ListDomains)++testDeleteDomainResponse :: DeleteDomainResponse -> TestTree+testDeleteDomainResponse = res+    "DeleteDomainResponse"+    "fixture/DeleteDomainResponse"+    (Proxy :: Proxy DeleteDomain)
+ test/Test/AWS/SDB.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module      : Test.AWS.SDB+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.SDB+    ( tests+    , fixtures+    ) where++import           Network.AWS.SDB+import           Test.AWS.Gen.SDB+import           Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/SDB/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.SDB.Internal+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.SDB.Internal where++import Test.AWS.Prelude