packages feed

amazonka-cloudsearch (empty) → 0.0.0

raw patch · 30 files changed

+5918/−0 lines, 30 filesdep +amazonka-coredep +basesetup-changed

Dependencies added: amazonka-core, base

Files

+ LICENSE view
@@ -0,0 +1,373 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.++Exhibit B - "Incompatible With Secondary Licenses" Notice+---------------------------------------------------------++  This Source Code Form is "Incompatible With Secondary Licenses", as+  defined by the Mozilla Public License, v. 2.0.
+ README.md view
@@ -0,0 +1,26 @@+# Amazon CloudSearch SDK++> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!++* [description](#description)+* [Contribute](#contribute)+* [Licence](#licence)++## Description++Amazon CloudSearch is a fully-managed service in the AWS Cloud that makes it simple and cost-effective to set up, manage, and scale a search solution for your website or application. Amazon CloudSearch supports 34 languages and popular search features such as highlighting, autocomplete, and geospatial search.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-cloudsearch)+and [AWS API Reference](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/what-is-cloudsearch.html).+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-cloudsearch` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-cloudsearch.cabal view
@@ -0,0 +1,69 @@+name:                  amazonka-cloudsearch+version:               0.0.0+synopsis:              Amazon CloudSearch 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+category:              Network, AWS, Cloud+build-type:            Simple+extra-source-files:    README.md+cabal-version:         >= 1.10++description:+    Amazon CloudSearch is a fully-managed service in the AWS Cloud that+    makes it simple and cost-effective to set up, manage, and scale a+    search solution for your website or application. Amazon CloudSearch+    supports 34 languages and popular search features such as highlighting,+    autocomplete, and geospatial search.+    .+    /See:/ <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/what-is-cloudsearch.html AWS API Reference>+    .+    /Warning:/ This is an experimental preview release which is still under+    heavy development and not intended for public consumption, caveat emptor!++source-repository head+    type:     git+    location: git://github.com/brendanhay/amazonka.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.AWS.CloudSearch+        , Network.AWS.CloudSearch.BuildSuggesters+        , Network.AWS.CloudSearch.CreateDomain+        , Network.AWS.CloudSearch.DefineAnalysisScheme+        , Network.AWS.CloudSearch.DefineExpression+        , Network.AWS.CloudSearch.DefineIndexField+        , Network.AWS.CloudSearch.DefineSuggester+        , Network.AWS.CloudSearch.DeleteAnalysisScheme+        , Network.AWS.CloudSearch.DeleteDomain+        , Network.AWS.CloudSearch.DeleteExpression+        , Network.AWS.CloudSearch.DeleteIndexField+        , Network.AWS.CloudSearch.DeleteSuggester+        , Network.AWS.CloudSearch.DescribeAnalysisSchemes+        , Network.AWS.CloudSearch.DescribeAvailabilityOptions+        , Network.AWS.CloudSearch.DescribeDomains+        , Network.AWS.CloudSearch.DescribeExpressions+        , Network.AWS.CloudSearch.DescribeIndexFields+        , Network.AWS.CloudSearch.DescribeScalingParameters+        , Network.AWS.CloudSearch.DescribeServiceAccessPolicies+        , Network.AWS.CloudSearch.DescribeSuggesters+        , Network.AWS.CloudSearch.IndexDocuments+        , Network.AWS.CloudSearch.ListDomainNames+        , Network.AWS.CloudSearch.Types+        , Network.AWS.CloudSearch.UpdateAvailabilityOptions+        , Network.AWS.CloudSearch.UpdateScalingParameters+        , Network.AWS.CloudSearch.UpdateServiceAccessPolicies++    other-modules:++    build-depends:+          amazonka-core+        , base          >= 4.7 && < 5
+ gen/Network/AWS/CloudSearch.hs view
@@ -0,0 +1,68 @@+-- Module      : Network.AWS.CloudSearch+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Amazon CloudSearch is a fully-managed service in the AWS Cloud that makes+-- it simple and cost-effective to set up, manage, and scale a search solution+-- for your website or application. Amazon CloudSearch supports 34 languages+-- and popular search features such as highlighting, autocomplete, and+-- geospatial search.+module Network.AWS.CloudSearch+    ( module Network.AWS.CloudSearch.BuildSuggesters+    , module Network.AWS.CloudSearch.CreateDomain+    , module Network.AWS.CloudSearch.DefineAnalysisScheme+    , module Network.AWS.CloudSearch.DefineExpression+    , module Network.AWS.CloudSearch.DefineIndexField+    , module Network.AWS.CloudSearch.DefineSuggester+    , module Network.AWS.CloudSearch.DeleteAnalysisScheme+    , module Network.AWS.CloudSearch.DeleteDomain+    , module Network.AWS.CloudSearch.DeleteExpression+    , module Network.AWS.CloudSearch.DeleteIndexField+    , module Network.AWS.CloudSearch.DeleteSuggester+    , module Network.AWS.CloudSearch.DescribeAnalysisSchemes+    , module Network.AWS.CloudSearch.DescribeAvailabilityOptions+    , module Network.AWS.CloudSearch.DescribeDomains+    , module Network.AWS.CloudSearch.DescribeExpressions+    , module Network.AWS.CloudSearch.DescribeIndexFields+    , module Network.AWS.CloudSearch.DescribeScalingParameters+    , module Network.AWS.CloudSearch.DescribeServiceAccessPolicies+    , module Network.AWS.CloudSearch.DescribeSuggesters+    , module Network.AWS.CloudSearch.IndexDocuments+    , module Network.AWS.CloudSearch.ListDomainNames+    , module Network.AWS.CloudSearch.Types+    , module Network.AWS.CloudSearch.UpdateAvailabilityOptions+    , module Network.AWS.CloudSearch.UpdateScalingParameters+    , module Network.AWS.CloudSearch.UpdateServiceAccessPolicies+    ) where++import Network.AWS.CloudSearch.BuildSuggesters+import Network.AWS.CloudSearch.CreateDomain+import Network.AWS.CloudSearch.DefineAnalysisScheme+import Network.AWS.CloudSearch.DefineExpression+import Network.AWS.CloudSearch.DefineIndexField+import Network.AWS.CloudSearch.DefineSuggester+import Network.AWS.CloudSearch.DeleteAnalysisScheme+import Network.AWS.CloudSearch.DeleteDomain+import Network.AWS.CloudSearch.DeleteExpression+import Network.AWS.CloudSearch.DeleteIndexField+import Network.AWS.CloudSearch.DeleteSuggester+import Network.AWS.CloudSearch.DescribeAnalysisSchemes+import Network.AWS.CloudSearch.DescribeAvailabilityOptions+import Network.AWS.CloudSearch.DescribeDomains+import Network.AWS.CloudSearch.DescribeExpressions+import Network.AWS.CloudSearch.DescribeIndexFields+import Network.AWS.CloudSearch.DescribeScalingParameters+import Network.AWS.CloudSearch.DescribeServiceAccessPolicies+import Network.AWS.CloudSearch.DescribeSuggesters+import Network.AWS.CloudSearch.IndexDocuments+import Network.AWS.CloudSearch.ListDomainNames+import Network.AWS.CloudSearch.Types+import Network.AWS.CloudSearch.UpdateAvailabilityOptions+import Network.AWS.CloudSearch.UpdateScalingParameters+import Network.AWS.CloudSearch.UpdateServiceAccessPolicies
+ gen/Network/AWS/CloudSearch/BuildSuggesters.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.BuildSuggesters+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Indexes the search suggestions. For more information, see Configuring+-- Suggesters in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_BuildSuggesters.html>+module Network.AWS.CloudSearch.BuildSuggesters+    (+    -- * Request+      BuildSuggesters+    -- ** Request constructor+    , buildSuggesters+    -- ** Request lenses+    , bsDomainName++    -- * Response+    , BuildSuggestersResponse+    -- ** Response constructor+    , buildSuggestersResponse+    -- ** Response lenses+    , bsrFieldNames+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++newtype BuildSuggesters = BuildSuggesters+    { _bsDomainName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'BuildSuggesters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'bsDomainName' @::@ 'Text'+--+buildSuggesters :: Text -- ^ 'bsDomainName'+                -> BuildSuggesters+buildSuggesters p1 = BuildSuggesters+    { _bsDomainName = p1+    }++bsDomainName :: Lens' BuildSuggesters Text+bsDomainName = lens _bsDomainName (\s a -> s { _bsDomainName = a })++newtype BuildSuggestersResponse = BuildSuggestersResponse+    { _bsrFieldNames :: List "SuggesterNames" Text+    } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList BuildSuggestersResponse where+    type Item BuildSuggestersResponse = Text++    fromList = BuildSuggestersResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _bsrFieldNames++-- | 'BuildSuggestersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'bsrFieldNames' @::@ ['Text']+--+buildSuggestersResponse :: BuildSuggestersResponse+buildSuggestersResponse = BuildSuggestersResponse+    { _bsrFieldNames = mempty+    }++bsrFieldNames :: Lens' BuildSuggestersResponse [Text]+bsrFieldNames = lens _bsrFieldNames (\s a -> s { _bsrFieldNames = a }) . _List++instance ToPath BuildSuggesters where+    toPath = const "/"++instance ToQuery BuildSuggesters where+    toQuery BuildSuggesters{..} = mconcat+        [ "DomainName" =? _bsDomainName+        ]++instance ToHeaders BuildSuggesters++instance AWSRequest BuildSuggesters where+    type Sv BuildSuggesters = CloudSearch+    type Rs BuildSuggesters = BuildSuggestersResponse++    request  = post "BuildSuggesters"+    response = xmlResponse++instance FromXML BuildSuggestersResponse where+    parseXML = withElement "BuildSuggestersResult" $ \x -> BuildSuggestersResponse+        <$> x .@  "FieldNames"
+ gen/Network/AWS/CloudSearch/CreateDomain.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Creates a new search domain. For more information, see Creating a Search+-- Domain in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_CreateDomain.html>+module Network.AWS.CloudSearch.CreateDomain+    (+    -- * Request+      CreateDomain+    -- ** Request constructor+    , createDomain+    -- ** Request lenses+    , cdDomainName++    -- * Response+    , CreateDomainResponse+    -- ** Response constructor+    , createDomainResponse+    -- ** Response lenses+    , cdrDomainStatus+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++newtype CreateDomain = CreateDomain+    { _cdDomainName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'CreateDomain' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdDomainName' @::@ 'Text'+--+createDomain :: Text -- ^ 'cdDomainName'+             -> CreateDomain+createDomain p1 = CreateDomain+    { _cdDomainName = p1+    }++-- | A name for the domain you are creating. Allowed characters are a-z+-- (lower-case letters), 0-9, and hyphen (-). Domain names must start with a+-- letter or number and be at least 3 and no more than 28 characters long.+cdDomainName :: Lens' CreateDomain Text+cdDomainName = lens _cdDomainName (\s a -> s { _cdDomainName = a })++newtype CreateDomainResponse = CreateDomainResponse+    { _cdrDomainStatus :: Maybe DomainStatus+    } deriving (Eq, Show)++-- | 'CreateDomainResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdrDomainStatus' @::@ 'Maybe' 'DomainStatus'+--+createDomainResponse :: CreateDomainResponse+createDomainResponse = CreateDomainResponse+    { _cdrDomainStatus = Nothing+    }++cdrDomainStatus :: Lens' CreateDomainResponse (Maybe DomainStatus)+cdrDomainStatus = lens _cdrDomainStatus (\s a -> s { _cdrDomainStatus = a })++instance ToPath CreateDomain where+    toPath = const "/"++instance ToQuery CreateDomain where+    toQuery CreateDomain{..} = mconcat+        [ "DomainName" =? _cdDomainName+        ]++instance ToHeaders CreateDomain++instance AWSRequest CreateDomain where+    type Sv CreateDomain = CloudSearch+    type Rs CreateDomain = CreateDomainResponse++    request  = post "CreateDomain"+    response = xmlResponse++instance FromXML CreateDomainResponse where+    parseXML = withElement "CreateDomainResult" $ \x -> CreateDomainResponse+        <$> x .@? "DomainStatus"
+ gen/Network/AWS/CloudSearch/DefineAnalysisScheme.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DefineAnalysisScheme+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Configures an analysis scheme that can be applied to a text or text-array+-- field to define language-specific text processing options. For more+-- information, see Configuring Analysis Schemes in the Amazon CloudSearch+-- Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DefineAnalysisScheme.html>+module Network.AWS.CloudSearch.DefineAnalysisScheme+    (+    -- * Request+      DefineAnalysisScheme+    -- ** Request constructor+    , defineAnalysisScheme+    -- ** Request lenses+    , das2AnalysisScheme+    , das2DomainName++    -- * Response+    , DefineAnalysisSchemeResponse+    -- ** Response constructor+    , defineAnalysisSchemeResponse+    -- ** Response lenses+    , dasr1AnalysisScheme+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DefineAnalysisScheme = DefineAnalysisScheme+    { _das2AnalysisScheme :: AnalysisScheme+    , _das2DomainName     :: Text+    } deriving (Eq, Show)++-- | 'DefineAnalysisScheme' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'das2AnalysisScheme' @::@ 'AnalysisScheme'+--+-- * 'das2DomainName' @::@ 'Text'+--+defineAnalysisScheme :: Text -- ^ 'das2DomainName'+                     -> AnalysisScheme -- ^ 'das2AnalysisScheme'+                     -> DefineAnalysisScheme+defineAnalysisScheme p1 p2 = DefineAnalysisScheme+    { _das2DomainName     = p1+    , _das2AnalysisScheme = p2+    }++das2AnalysisScheme :: Lens' DefineAnalysisScheme AnalysisScheme+das2AnalysisScheme =+    lens _das2AnalysisScheme (\s a -> s { _das2AnalysisScheme = a })++das2DomainName :: Lens' DefineAnalysisScheme Text+das2DomainName = lens _das2DomainName (\s a -> s { _das2DomainName = a })++newtype DefineAnalysisSchemeResponse = DefineAnalysisSchemeResponse+    { _dasr1AnalysisScheme :: AnalysisSchemeStatus+    } deriving (Eq, Show)++-- | 'DefineAnalysisSchemeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dasr1AnalysisScheme' @::@ 'AnalysisSchemeStatus'+--+defineAnalysisSchemeResponse :: AnalysisSchemeStatus -- ^ 'dasr1AnalysisScheme'+                             -> DefineAnalysisSchemeResponse+defineAnalysisSchemeResponse p1 = DefineAnalysisSchemeResponse+    { _dasr1AnalysisScheme = p1+    }++dasr1AnalysisScheme :: Lens' DefineAnalysisSchemeResponse AnalysisSchemeStatus+dasr1AnalysisScheme =+    lens _dasr1AnalysisScheme (\s a -> s { _dasr1AnalysisScheme = a })++instance ToPath DefineAnalysisScheme where+    toPath = const "/"++instance ToQuery DefineAnalysisScheme where+    toQuery DefineAnalysisScheme{..} = mconcat+        [ "AnalysisScheme" =? _das2AnalysisScheme+        , "DomainName"     =? _das2DomainName+        ]++instance ToHeaders DefineAnalysisScheme++instance AWSRequest DefineAnalysisScheme where+    type Sv DefineAnalysisScheme = CloudSearch+    type Rs DefineAnalysisScheme = DefineAnalysisSchemeResponse++    request  = post "DefineAnalysisScheme"+    response = xmlResponse++instance FromXML DefineAnalysisSchemeResponse where+    parseXML = withElement "DefineAnalysisSchemeResult" $ \x -> DefineAnalysisSchemeResponse+        <$> x .@  "AnalysisScheme"
+ gen/Network/AWS/CloudSearch/DefineExpression.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DefineExpression+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Configures an Expression for the search domain. Used to create new+-- expressions and modify existing ones. If the expression exists, the new+-- configuration replaces the old one. For more information, see Configuring+-- Expressions in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DefineExpression.html>+module Network.AWS.CloudSearch.DefineExpression+    (+    -- * Request+      DefineExpression+    -- ** Request constructor+    , defineExpression+    -- ** Request lenses+    , de1DomainName+    , de1Expression++    -- * Response+    , DefineExpressionResponse+    -- ** Response constructor+    , defineExpressionResponse+    -- ** Response lenses+    , derExpression+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DefineExpression = DefineExpression+    { _de1DomainName :: Text+    , _de1Expression :: Expression+    } deriving (Eq, Show)++-- | 'DefineExpression' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'de1DomainName' @::@ 'Text'+--+-- * 'de1Expression' @::@ 'Expression'+--+defineExpression :: Text -- ^ 'de1DomainName'+                 -> Expression -- ^ 'de1Expression'+                 -> DefineExpression+defineExpression p1 p2 = DefineExpression+    { _de1DomainName = p1+    , _de1Expression = p2+    }++de1DomainName :: Lens' DefineExpression Text+de1DomainName = lens _de1DomainName (\s a -> s { _de1DomainName = a })++de1Expression :: Lens' DefineExpression Expression+de1Expression = lens _de1Expression (\s a -> s { _de1Expression = a })++newtype DefineExpressionResponse = DefineExpressionResponse+    { _derExpression :: ExpressionStatus+    } deriving (Eq, Show)++-- | 'DefineExpressionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'derExpression' @::@ 'ExpressionStatus'+--+defineExpressionResponse :: ExpressionStatus -- ^ 'derExpression'+                         -> DefineExpressionResponse+defineExpressionResponse p1 = DefineExpressionResponse+    { _derExpression = p1+    }++derExpression :: Lens' DefineExpressionResponse ExpressionStatus+derExpression = lens _derExpression (\s a -> s { _derExpression = a })++instance ToPath DefineExpression where+    toPath = const "/"++instance ToQuery DefineExpression where+    toQuery DefineExpression{..} = mconcat+        [ "DomainName" =? _de1DomainName+        , "Expression" =? _de1Expression+        ]++instance ToHeaders DefineExpression++instance AWSRequest DefineExpression where+    type Sv DefineExpression = CloudSearch+    type Rs DefineExpression = DefineExpressionResponse++    request  = post "DefineExpression"+    response = xmlResponse++instance FromXML DefineExpressionResponse where+    parseXML = withElement "DefineExpressionResult" $ \x -> DefineExpressionResponse+        <$> x .@  "Expression"
+ gen/Network/AWS/CloudSearch/DefineIndexField.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DefineIndexField+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Configures an IndexField for the search domain. Used to create new fields+-- and modify existing ones. You must specify the name of the domain you are+-- configuring and an index field configuration. The index field configuration+-- specifies a unique name, the index field type, and the options you want to+-- configure for the field. The options you can specify depend on the+-- IndexFieldType. If the field exists, the new configuration replaces the old+-- one. For more information, see Configuring Index Fields in the Amazon+-- CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DefineIndexField.html>+module Network.AWS.CloudSearch.DefineIndexField+    (+    -- * Request+      DefineIndexField+    -- ** Request constructor+    , defineIndexField+    -- ** Request lenses+    , dif2DomainName+    , dif2IndexField++    -- * Response+    , DefineIndexFieldResponse+    -- ** Response constructor+    , defineIndexFieldResponse+    -- ** Response lenses+    , difr1IndexField+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DefineIndexField = DefineIndexField+    { _dif2DomainName :: Text+    , _dif2IndexField :: IndexField+    } deriving (Eq, Show)++-- | 'DefineIndexField' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dif2DomainName' @::@ 'Text'+--+-- * 'dif2IndexField' @::@ 'IndexField'+--+defineIndexField :: Text -- ^ 'dif2DomainName'+                 -> IndexField -- ^ 'dif2IndexField'+                 -> DefineIndexField+defineIndexField p1 p2 = DefineIndexField+    { _dif2DomainName = p1+    , _dif2IndexField = p2+    }++dif2DomainName :: Lens' DefineIndexField Text+dif2DomainName = lens _dif2DomainName (\s a -> s { _dif2DomainName = a })++-- | The index field and field options you want to configure.+dif2IndexField :: Lens' DefineIndexField IndexField+dif2IndexField = lens _dif2IndexField (\s a -> s { _dif2IndexField = a })++newtype DefineIndexFieldResponse = DefineIndexFieldResponse+    { _difr1IndexField :: IndexFieldStatus+    } deriving (Eq, Show)++-- | 'DefineIndexFieldResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'difr1IndexField' @::@ 'IndexFieldStatus'+--+defineIndexFieldResponse :: IndexFieldStatus -- ^ 'difr1IndexField'+                         -> DefineIndexFieldResponse+defineIndexFieldResponse p1 = DefineIndexFieldResponse+    { _difr1IndexField = p1+    }++difr1IndexField :: Lens' DefineIndexFieldResponse IndexFieldStatus+difr1IndexField = lens _difr1IndexField (\s a -> s { _difr1IndexField = a })++instance ToPath DefineIndexField where+    toPath = const "/"++instance ToQuery DefineIndexField where+    toQuery DefineIndexField{..} = mconcat+        [ "DomainName" =? _dif2DomainName+        , "IndexField" =? _dif2IndexField+        ]++instance ToHeaders DefineIndexField++instance AWSRequest DefineIndexField where+    type Sv DefineIndexField = CloudSearch+    type Rs DefineIndexField = DefineIndexFieldResponse++    request  = post "DefineIndexField"+    response = xmlResponse++instance FromXML DefineIndexFieldResponse where+    parseXML = withElement "DefineIndexFieldResult" $ \x -> DefineIndexFieldResponse+        <$> x .@  "IndexField"
+ gen/Network/AWS/CloudSearch/DefineSuggester.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DefineSuggester+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Configures a suggester for a domain. A suggester enables you to display+-- possible matches before users finish typing their queries. When you+-- configure a suggester, you must specify the name of the text field you want+-- to search for possible matches and a unique name for the suggester. For+-- more information, see Getting Search Suggestions in the Amazon CloudSearch+-- Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DefineSuggester.html>+module Network.AWS.CloudSearch.DefineSuggester+    (+    -- * Request+      DefineSuggester+    -- ** Request constructor+    , defineSuggester+    -- ** Request lenses+    , ds2DomainName+    , ds2Suggester++    -- * Response+    , DefineSuggesterResponse+    -- ** Response constructor+    , defineSuggesterResponse+    -- ** Response lenses+    , dsrSuggester+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DefineSuggester = DefineSuggester+    { _ds2DomainName :: Text+    , _ds2Suggester  :: Suggester+    } deriving (Eq, Show)++-- | 'DefineSuggester' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ds2DomainName' @::@ 'Text'+--+-- * 'ds2Suggester' @::@ 'Suggester'+--+defineSuggester :: Text -- ^ 'ds2DomainName'+                -> Suggester -- ^ 'ds2Suggester'+                -> DefineSuggester+defineSuggester p1 p2 = DefineSuggester+    { _ds2DomainName = p1+    , _ds2Suggester  = p2+    }++ds2DomainName :: Lens' DefineSuggester Text+ds2DomainName = lens _ds2DomainName (\s a -> s { _ds2DomainName = a })++ds2Suggester :: Lens' DefineSuggester Suggester+ds2Suggester = lens _ds2Suggester (\s a -> s { _ds2Suggester = a })++newtype DefineSuggesterResponse = DefineSuggesterResponse+    { _dsrSuggester :: SuggesterStatus+    } deriving (Eq, Show)++-- | 'DefineSuggesterResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsrSuggester' @::@ 'SuggesterStatus'+--+defineSuggesterResponse :: SuggesterStatus -- ^ 'dsrSuggester'+                        -> DefineSuggesterResponse+defineSuggesterResponse p1 = DefineSuggesterResponse+    { _dsrSuggester = p1+    }++dsrSuggester :: Lens' DefineSuggesterResponse SuggesterStatus+dsrSuggester = lens _dsrSuggester (\s a -> s { _dsrSuggester = a })++instance ToPath DefineSuggester where+    toPath = const "/"++instance ToQuery DefineSuggester where+    toQuery DefineSuggester{..} = mconcat+        [ "DomainName" =? _ds2DomainName+        , "Suggester"  =? _ds2Suggester+        ]++instance ToHeaders DefineSuggester++instance AWSRequest DefineSuggester where+    type Sv DefineSuggester = CloudSearch+    type Rs DefineSuggester = DefineSuggesterResponse++    request  = post "DefineSuggester"+    response = xmlResponse++instance FromXML DefineSuggesterResponse where+    parseXML = withElement "DefineSuggesterResult" $ \x -> DefineSuggesterResponse+        <$> x .@  "Suggester"
+ gen/Network/AWS/CloudSearch/DeleteAnalysisScheme.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DeleteAnalysisScheme+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes an analysis scheme. For more information, see Configuring Analysis+-- Schemes in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DeleteAnalysisScheme.html>+module Network.AWS.CloudSearch.DeleteAnalysisScheme+    (+    -- * Request+      DeleteAnalysisScheme+    -- ** Request constructor+    , deleteAnalysisScheme+    -- ** Request lenses+    , dasAnalysisSchemeName+    , dasDomainName++    -- * Response+    , DeleteAnalysisSchemeResponse+    -- ** Response constructor+    , deleteAnalysisSchemeResponse+    -- ** Response lenses+    , dasrAnalysisScheme+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DeleteAnalysisScheme = DeleteAnalysisScheme+    { _dasAnalysisSchemeName :: Text+    , _dasDomainName         :: Text+    } deriving (Eq, Ord, Show)++-- | 'DeleteAnalysisScheme' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dasAnalysisSchemeName' @::@ 'Text'+--+-- * 'dasDomainName' @::@ 'Text'+--+deleteAnalysisScheme :: Text -- ^ 'dasDomainName'+                     -> Text -- ^ 'dasAnalysisSchemeName'+                     -> DeleteAnalysisScheme+deleteAnalysisScheme p1 p2 = DeleteAnalysisScheme+    { _dasDomainName         = p1+    , _dasAnalysisSchemeName = p2+    }++-- | The name of the analysis scheme you want to delete.+dasAnalysisSchemeName :: Lens' DeleteAnalysisScheme Text+dasAnalysisSchemeName =+    lens _dasAnalysisSchemeName (\s a -> s { _dasAnalysisSchemeName = a })++dasDomainName :: Lens' DeleteAnalysisScheme Text+dasDomainName = lens _dasDomainName (\s a -> s { _dasDomainName = a })++newtype DeleteAnalysisSchemeResponse = DeleteAnalysisSchemeResponse+    { _dasrAnalysisScheme :: AnalysisSchemeStatus+    } deriving (Eq, Show)++-- | 'DeleteAnalysisSchemeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dasrAnalysisScheme' @::@ 'AnalysisSchemeStatus'+--+deleteAnalysisSchemeResponse :: AnalysisSchemeStatus -- ^ 'dasrAnalysisScheme'+                             -> DeleteAnalysisSchemeResponse+deleteAnalysisSchemeResponse p1 = DeleteAnalysisSchemeResponse+    { _dasrAnalysisScheme = p1+    }++-- | The status of the analysis scheme being deleted.+dasrAnalysisScheme :: Lens' DeleteAnalysisSchemeResponse AnalysisSchemeStatus+dasrAnalysisScheme =+    lens _dasrAnalysisScheme (\s a -> s { _dasrAnalysisScheme = a })++instance ToPath DeleteAnalysisScheme where+    toPath = const "/"++instance ToQuery DeleteAnalysisScheme where+    toQuery DeleteAnalysisScheme{..} = mconcat+        [ "AnalysisSchemeName" =? _dasAnalysisSchemeName+        , "DomainName"         =? _dasDomainName+        ]++instance ToHeaders DeleteAnalysisScheme++instance AWSRequest DeleteAnalysisScheme where+    type Sv DeleteAnalysisScheme = CloudSearch+    type Rs DeleteAnalysisScheme = DeleteAnalysisSchemeResponse++    request  = post "DeleteAnalysisScheme"+    response = xmlResponse++instance FromXML DeleteAnalysisSchemeResponse where+    parseXML = withElement "DeleteAnalysisSchemeResult" $ \x -> DeleteAnalysisSchemeResponse+        <$> x .@  "AnalysisScheme"
+ gen/Network/AWS/CloudSearch/DeleteDomain.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Permanently deletes a search domain and all of its data. Once a domain has+-- been deleted, it cannot be recovered. For more information, see Deleting a+-- Search Domain in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DeleteDomain.html>+module Network.AWS.CloudSearch.DeleteDomain+    (+    -- * Request+      DeleteDomain+    -- ** Request constructor+    , deleteDomain+    -- ** Request lenses+    , ddDomainName++    -- * Response+    , DeleteDomainResponse+    -- ** Response constructor+    , deleteDomainResponse+    -- ** Response lenses+    , ddrDomainStatus+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++newtype DeleteDomain = DeleteDomain+    { _ddDomainName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteDomain' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddDomainName' @::@ 'Text'+--+deleteDomain :: Text -- ^ 'ddDomainName'+             -> DeleteDomain+deleteDomain p1 = DeleteDomain+    { _ddDomainName = p1+    }++-- | The name of the domain you want to permanently delete.+ddDomainName :: Lens' DeleteDomain Text+ddDomainName = lens _ddDomainName (\s a -> s { _ddDomainName = a })++newtype DeleteDomainResponse = DeleteDomainResponse+    { _ddrDomainStatus :: Maybe DomainStatus+    } deriving (Eq, Show)++-- | 'DeleteDomainResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddrDomainStatus' @::@ 'Maybe' 'DomainStatus'+--+deleteDomainResponse :: DeleteDomainResponse+deleteDomainResponse = DeleteDomainResponse+    { _ddrDomainStatus = Nothing+    }++ddrDomainStatus :: Lens' DeleteDomainResponse (Maybe DomainStatus)+ddrDomainStatus = lens _ddrDomainStatus (\s a -> s { _ddrDomainStatus = a })++instance ToPath DeleteDomain where+    toPath = const "/"++instance ToQuery DeleteDomain where+    toQuery DeleteDomain{..} = mconcat+        [ "DomainName" =? _ddDomainName+        ]++instance ToHeaders DeleteDomain++instance AWSRequest DeleteDomain where+    type Sv DeleteDomain = CloudSearch+    type Rs DeleteDomain = DeleteDomainResponse++    request  = post "DeleteDomain"+    response = xmlResponse++instance FromXML DeleteDomainResponse where+    parseXML = withElement "DeleteDomainResult" $ \x -> DeleteDomainResponse+        <$> x .@? "DomainStatus"
+ gen/Network/AWS/CloudSearch/DeleteExpression.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DeleteExpression+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Removes an Expression from the search domain. For more information, see+-- Configuring Expressions in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DeleteExpression.html>+module Network.AWS.CloudSearch.DeleteExpression+    (+    -- * Request+      DeleteExpression+    -- ** Request constructor+    , deleteExpression+    -- ** Request lenses+    , de2DomainName+    , de2ExpressionName++    -- * Response+    , DeleteExpressionResponse+    -- ** Response constructor+    , deleteExpressionResponse+    -- ** Response lenses+    , der1Expression+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DeleteExpression = DeleteExpression+    { _de2DomainName     :: Text+    , _de2ExpressionName :: Text+    } deriving (Eq, Ord, Show)++-- | 'DeleteExpression' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'de2DomainName' @::@ 'Text'+--+-- * 'de2ExpressionName' @::@ 'Text'+--+deleteExpression :: Text -- ^ 'de2DomainName'+                 -> Text -- ^ 'de2ExpressionName'+                 -> DeleteExpression+deleteExpression p1 p2 = DeleteExpression+    { _de2DomainName     = p1+    , _de2ExpressionName = p2+    }++de2DomainName :: Lens' DeleteExpression Text+de2DomainName = lens _de2DomainName (\s a -> s { _de2DomainName = a })++-- | The name of the Expression to delete.+de2ExpressionName :: Lens' DeleteExpression Text+de2ExpressionName =+    lens _de2ExpressionName (\s a -> s { _de2ExpressionName = a })++newtype DeleteExpressionResponse = DeleteExpressionResponse+    { _der1Expression :: ExpressionStatus+    } deriving (Eq, Show)++-- | 'DeleteExpressionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'der1Expression' @::@ 'ExpressionStatus'+--+deleteExpressionResponse :: ExpressionStatus -- ^ 'der1Expression'+                         -> DeleteExpressionResponse+deleteExpressionResponse p1 = DeleteExpressionResponse+    { _der1Expression = p1+    }++-- | The status of the expression being deleted.+der1Expression :: Lens' DeleteExpressionResponse ExpressionStatus+der1Expression = lens _der1Expression (\s a -> s { _der1Expression = a })++instance ToPath DeleteExpression where+    toPath = const "/"++instance ToQuery DeleteExpression where+    toQuery DeleteExpression{..} = mconcat+        [ "DomainName"     =? _de2DomainName+        , "ExpressionName" =? _de2ExpressionName+        ]++instance ToHeaders DeleteExpression++instance AWSRequest DeleteExpression where+    type Sv DeleteExpression = CloudSearch+    type Rs DeleteExpression = DeleteExpressionResponse++    request  = post "DeleteExpression"+    response = xmlResponse++instance FromXML DeleteExpressionResponse where+    parseXML = withElement "DeleteExpressionResult" $ \x -> DeleteExpressionResponse+        <$> x .@  "Expression"
+ gen/Network/AWS/CloudSearch/DeleteIndexField.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DeleteIndexField+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Removes an IndexField from the search domain. For more information, see+-- Configuring Index Fields in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DeleteIndexField.html>+module Network.AWS.CloudSearch.DeleteIndexField+    (+    -- * Request+      DeleteIndexField+    -- ** Request constructor+    , deleteIndexField+    -- ** Request lenses+    , dif1DomainName+    , dif1IndexFieldName++    -- * Response+    , DeleteIndexFieldResponse+    -- ** Response constructor+    , deleteIndexFieldResponse+    -- ** Response lenses+    , difrIndexField+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DeleteIndexField = DeleteIndexField+    { _dif1DomainName     :: Text+    , _dif1IndexFieldName :: Text+    } deriving (Eq, Ord, Show)++-- | 'DeleteIndexField' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dif1DomainName' @::@ 'Text'+--+-- * 'dif1IndexFieldName' @::@ 'Text'+--+deleteIndexField :: Text -- ^ 'dif1DomainName'+                 -> Text -- ^ 'dif1IndexFieldName'+                 -> DeleteIndexField+deleteIndexField p1 p2 = DeleteIndexField+    { _dif1DomainName     = p1+    , _dif1IndexFieldName = p2+    }++dif1DomainName :: Lens' DeleteIndexField Text+dif1DomainName = lens _dif1DomainName (\s a -> s { _dif1DomainName = a })++-- | The name of the index field your want to remove from the domain's+-- indexing options.+dif1IndexFieldName :: Lens' DeleteIndexField Text+dif1IndexFieldName =+    lens _dif1IndexFieldName (\s a -> s { _dif1IndexFieldName = a })++newtype DeleteIndexFieldResponse = DeleteIndexFieldResponse+    { _difrIndexField :: IndexFieldStatus+    } deriving (Eq, Show)++-- | 'DeleteIndexFieldResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'difrIndexField' @::@ 'IndexFieldStatus'+--+deleteIndexFieldResponse :: IndexFieldStatus -- ^ 'difrIndexField'+                         -> DeleteIndexFieldResponse+deleteIndexFieldResponse p1 = DeleteIndexFieldResponse+    { _difrIndexField = p1+    }++-- | The status of the index field being deleted.+difrIndexField :: Lens' DeleteIndexFieldResponse IndexFieldStatus+difrIndexField = lens _difrIndexField (\s a -> s { _difrIndexField = a })++instance ToPath DeleteIndexField where+    toPath = const "/"++instance ToQuery DeleteIndexField where+    toQuery DeleteIndexField{..} = mconcat+        [ "DomainName"     =? _dif1DomainName+        , "IndexFieldName" =? _dif1IndexFieldName+        ]++instance ToHeaders DeleteIndexField++instance AWSRequest DeleteIndexField where+    type Sv DeleteIndexField = CloudSearch+    type Rs DeleteIndexField = DeleteIndexFieldResponse++    request  = post "DeleteIndexField"+    response = xmlResponse++instance FromXML DeleteIndexFieldResponse where+    parseXML = withElement "DeleteIndexFieldResult" $ \x -> DeleteIndexFieldResponse+        <$> x .@  "IndexField"
+ gen/Network/AWS/CloudSearch/DeleteSuggester.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DeleteSuggester+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Deletes a suggester. For more information, see Getting Search Suggestions+-- in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DeleteSuggester.html>+module Network.AWS.CloudSearch.DeleteSuggester+    (+    -- * Request+      DeleteSuggester+    -- ** Request constructor+    , deleteSuggester+    -- ** Request lenses+    , ds3DomainName+    , ds3SuggesterName++    -- * Response+    , DeleteSuggesterResponse+    -- ** Response constructor+    , deleteSuggesterResponse+    -- ** Response lenses+    , dsr1Suggester+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DeleteSuggester = DeleteSuggester+    { _ds3DomainName    :: Text+    , _ds3SuggesterName :: Text+    } deriving (Eq, Ord, Show)++-- | 'DeleteSuggester' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ds3DomainName' @::@ 'Text'+--+-- * 'ds3SuggesterName' @::@ 'Text'+--+deleteSuggester :: Text -- ^ 'ds3DomainName'+                -> Text -- ^ 'ds3SuggesterName'+                -> DeleteSuggester+deleteSuggester p1 p2 = DeleteSuggester+    { _ds3DomainName    = p1+    , _ds3SuggesterName = p2+    }++ds3DomainName :: Lens' DeleteSuggester Text+ds3DomainName = lens _ds3DomainName (\s a -> s { _ds3DomainName = a })++-- | Specifies the name of the suggester you want to delete.+ds3SuggesterName :: Lens' DeleteSuggester Text+ds3SuggesterName = lens _ds3SuggesterName (\s a -> s { _ds3SuggesterName = a })++newtype DeleteSuggesterResponse = DeleteSuggesterResponse+    { _dsr1Suggester :: SuggesterStatus+    } deriving (Eq, Show)++-- | 'DeleteSuggesterResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsr1Suggester' @::@ 'SuggesterStatus'+--+deleteSuggesterResponse :: SuggesterStatus -- ^ 'dsr1Suggester'+                        -> DeleteSuggesterResponse+deleteSuggesterResponse p1 = DeleteSuggesterResponse+    { _dsr1Suggester = p1+    }++-- | The status of the suggester being deleted.+dsr1Suggester :: Lens' DeleteSuggesterResponse SuggesterStatus+dsr1Suggester = lens _dsr1Suggester (\s a -> s { _dsr1Suggester = a })++instance ToPath DeleteSuggester where+    toPath = const "/"++instance ToQuery DeleteSuggester where+    toQuery DeleteSuggester{..} = mconcat+        [ "DomainName"    =? _ds3DomainName+        , "SuggesterName" =? _ds3SuggesterName+        ]++instance ToHeaders DeleteSuggester++instance AWSRequest DeleteSuggester where+    type Sv DeleteSuggester = CloudSearch+    type Rs DeleteSuggester = DeleteSuggesterResponse++    request  = post "DeleteSuggester"+    response = xmlResponse++instance FromXML DeleteSuggesterResponse where+    parseXML = withElement "DeleteSuggesterResult" $ \x -> DeleteSuggesterResponse+        <$> x .@  "Suggester"
+ gen/Network/AWS/CloudSearch/DescribeAnalysisSchemes.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeAnalysisSchemes+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets the analysis schemes configured for a domain. An analysis scheme+-- defines language-specific text processing options for a text field. Can be+-- limited to specific analysis schemes by name. By default, shows all+-- analysis schemes and includes any pending changes to the configuration. Set+-- the Deployed option to true to show the active configuration and exclude+-- pending changes. For more information, see Configuring Analysis Schemes in+-- the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeAnalysisSchemes.html>+module Network.AWS.CloudSearch.DescribeAnalysisSchemes+    (+    -- * Request+      DescribeAnalysisSchemes+    -- ** Request constructor+    , describeAnalysisSchemes+    -- ** Request lenses+    , das1AnalysisSchemeNames+    , das1Deployed+    , das1DomainName++    -- * Response+    , DescribeAnalysisSchemesResponse+    -- ** Response constructor+    , describeAnalysisSchemesResponse+    -- ** Response lenses+    , dasrAnalysisSchemes+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DescribeAnalysisSchemes = DescribeAnalysisSchemes+    { _das1AnalysisSchemeNames :: List "SuggesterNames" Text+    , _das1Deployed            :: Maybe Bool+    , _das1DomainName          :: Text+    } deriving (Eq, Ord, Show)++-- | 'DescribeAnalysisSchemes' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'das1AnalysisSchemeNames' @::@ ['Text']+--+-- * 'das1Deployed' @::@ 'Maybe' 'Bool'+--+-- * 'das1DomainName' @::@ 'Text'+--+describeAnalysisSchemes :: Text -- ^ 'das1DomainName'+                        -> DescribeAnalysisSchemes+describeAnalysisSchemes p1 = DescribeAnalysisSchemes+    { _das1DomainName          = p1+    , _das1AnalysisSchemeNames = mempty+    , _das1Deployed            = Nothing+    }++-- | The analysis schemes you want to describe.+das1AnalysisSchemeNames :: Lens' DescribeAnalysisSchemes [Text]+das1AnalysisSchemeNames =+    lens _das1AnalysisSchemeNames (\s a -> s { _das1AnalysisSchemeNames = a })+        . _List++-- | Whether to display the deployed configuration (true) or include any+-- pending changes (false). Defaults to false.+das1Deployed :: Lens' DescribeAnalysisSchemes (Maybe Bool)+das1Deployed = lens _das1Deployed (\s a -> s { _das1Deployed = a })++-- | The name of the domain you want to describe.+das1DomainName :: Lens' DescribeAnalysisSchemes Text+das1DomainName = lens _das1DomainName (\s a -> s { _das1DomainName = a })++newtype DescribeAnalysisSchemesResponse = DescribeAnalysisSchemesResponse+    { _dasrAnalysisSchemes :: List "AnalysisSchemes" AnalysisSchemeStatus+    } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeAnalysisSchemesResponse where+    type Item DescribeAnalysisSchemesResponse = AnalysisSchemeStatus++    fromList = DescribeAnalysisSchemesResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _dasrAnalysisSchemes++-- | 'DescribeAnalysisSchemesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dasrAnalysisSchemes' @::@ ['AnalysisSchemeStatus']+--+describeAnalysisSchemesResponse :: DescribeAnalysisSchemesResponse+describeAnalysisSchemesResponse = DescribeAnalysisSchemesResponse+    { _dasrAnalysisSchemes = mempty+    }++-- | The analysis scheme descriptions.+dasrAnalysisSchemes :: Lens' DescribeAnalysisSchemesResponse [AnalysisSchemeStatus]+dasrAnalysisSchemes =+    lens _dasrAnalysisSchemes (\s a -> s { _dasrAnalysisSchemes = a })+        . _List++instance ToPath DescribeAnalysisSchemes where+    toPath = const "/"++instance ToQuery DescribeAnalysisSchemes where+    toQuery DescribeAnalysisSchemes{..} = mconcat+        [ "AnalysisSchemeNames" =? _das1AnalysisSchemeNames+        , "Deployed"            =? _das1Deployed+        , "DomainName"          =? _das1DomainName+        ]++instance ToHeaders DescribeAnalysisSchemes++instance AWSRequest DescribeAnalysisSchemes where+    type Sv DescribeAnalysisSchemes = CloudSearch+    type Rs DescribeAnalysisSchemes = DescribeAnalysisSchemesResponse++    request  = post "DescribeAnalysisSchemes"+    response = xmlResponse++instance FromXML DescribeAnalysisSchemesResponse where+    parseXML = withElement "DescribeAnalysisSchemesResult" $ \x -> DescribeAnalysisSchemesResponse+        <$> x .@  "AnalysisSchemes"
+ gen/Network/AWS/CloudSearch/DescribeAvailabilityOptions.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeAvailabilityOptions+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets the availability options configured for a domain. By default, shows+-- the configuration with any pending changes. Set the Deployed option to true+-- to show the active configuration and exclude pending changes. For more+-- information, see Configuring Availability Options in the Amazon CloudSearch+-- Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeAvailabilityOptions.html>+module Network.AWS.CloudSearch.DescribeAvailabilityOptions+    (+    -- * Request+      DescribeAvailabilityOptions+    -- ** Request constructor+    , describeAvailabilityOptions+    -- ** Request lenses+    , daoDeployed+    , daoDomainName++    -- * Response+    , DescribeAvailabilityOptionsResponse+    -- ** Response constructor+    , describeAvailabilityOptionsResponse+    -- ** Response lenses+    , daorAvailabilityOptions+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DescribeAvailabilityOptions = DescribeAvailabilityOptions+    { _daoDeployed   :: Maybe Bool+    , _daoDomainName :: Text+    } deriving (Eq, Ord, Show)++-- | 'DescribeAvailabilityOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'daoDeployed' @::@ 'Maybe' 'Bool'+--+-- * 'daoDomainName' @::@ 'Text'+--+describeAvailabilityOptions :: Text -- ^ 'daoDomainName'+                            -> DescribeAvailabilityOptions+describeAvailabilityOptions p1 = DescribeAvailabilityOptions+    { _daoDomainName = p1+    , _daoDeployed   = Nothing+    }++-- | Whether to display the deployed configuration (true) or include any+-- pending changes (false). Defaults to false.+daoDeployed :: Lens' DescribeAvailabilityOptions (Maybe Bool)+daoDeployed = lens _daoDeployed (\s a -> s { _daoDeployed = a })++-- | The name of the domain you want to describe.+daoDomainName :: Lens' DescribeAvailabilityOptions Text+daoDomainName = lens _daoDomainName (\s a -> s { _daoDomainName = a })++newtype DescribeAvailabilityOptionsResponse = DescribeAvailabilityOptionsResponse+    { _daorAvailabilityOptions :: Maybe AvailabilityOptionsStatus+    } deriving (Eq, Show)++-- | 'DescribeAvailabilityOptionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'daorAvailabilityOptions' @::@ 'Maybe' 'AvailabilityOptionsStatus'+--+describeAvailabilityOptionsResponse :: DescribeAvailabilityOptionsResponse+describeAvailabilityOptionsResponse = DescribeAvailabilityOptionsResponse+    { _daorAvailabilityOptions = Nothing+    }++-- | The availability options configured for the domain. Indicates whether+-- Multi-AZ is enabled for the domain.+daorAvailabilityOptions :: Lens' DescribeAvailabilityOptionsResponse (Maybe AvailabilityOptionsStatus)+daorAvailabilityOptions =+    lens _daorAvailabilityOptions (\s a -> s { _daorAvailabilityOptions = a })++instance ToPath DescribeAvailabilityOptions where+    toPath = const "/"++instance ToQuery DescribeAvailabilityOptions where+    toQuery DescribeAvailabilityOptions{..} = mconcat+        [ "Deployed"   =? _daoDeployed+        , "DomainName" =? _daoDomainName+        ]++instance ToHeaders DescribeAvailabilityOptions++instance AWSRequest DescribeAvailabilityOptions where+    type Sv DescribeAvailabilityOptions = CloudSearch+    type Rs DescribeAvailabilityOptions = DescribeAvailabilityOptionsResponse++    request  = post "DescribeAvailabilityOptions"+    response = xmlResponse++instance FromXML DescribeAvailabilityOptionsResponse where+    parseXML = withElement "DescribeAvailabilityOptionsResult" $ \x -> DescribeAvailabilityOptionsResponse+        <$> x .@? "AvailabilityOptions"
+ gen/Network/AWS/CloudSearch/DescribeDomains.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeDomains+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets information about the search domains owned by this account. Can be+-- limited to specific domains. Shows all domains by default. To get the+-- number of searchable documents in a domain, use the console or submit a+-- matchall request to your domain's search endpoint:+-- q=matchall&amp;amp;q.parser=structured&amp;amp;size=0. For more+-- information, see Getting Information about a Search Domain in the Amazon+-- CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeDomains.html>+module Network.AWS.CloudSearch.DescribeDomains+    (+    -- * Request+      DescribeDomains+    -- ** Request constructor+    , describeDomains+    -- ** Request lenses+    , ddDomainNames++    -- * Response+    , DescribeDomainsResponse+    -- ** Response constructor+    , describeDomainsResponse+    -- ** Response lenses+    , ddrDomainStatusList+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++newtype DescribeDomains = DescribeDomains+    { _ddDomainNames :: List "DomainNames" Text+    } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeDomains where+    type Item DescribeDomains = Text++    fromList = DescribeDomains . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _ddDomainNames++-- | 'DescribeDomains' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddDomainNames' @::@ ['Text']+--+describeDomains :: DescribeDomains+describeDomains = DescribeDomains+    { _ddDomainNames = mempty+    }++-- | The names of the domains you want to include in the response.+ddDomainNames :: Lens' DescribeDomains [Text]+ddDomainNames = lens _ddDomainNames (\s a -> s { _ddDomainNames = a }) . _List++newtype DescribeDomainsResponse = DescribeDomainsResponse+    { _ddrDomainStatusList :: List "DomainStatusList" DomainStatus+    } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeDomainsResponse where+    type Item DescribeDomainsResponse = DomainStatus++    fromList = DescribeDomainsResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _ddrDomainStatusList++-- | 'DescribeDomainsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddrDomainStatusList' @::@ ['DomainStatus']+--+describeDomainsResponse :: DescribeDomainsResponse+describeDomainsResponse = DescribeDomainsResponse+    { _ddrDomainStatusList = mempty+    }++ddrDomainStatusList :: Lens' DescribeDomainsResponse [DomainStatus]+ddrDomainStatusList =+    lens _ddrDomainStatusList (\s a -> s { _ddrDomainStatusList = a })+        . _List++instance ToPath DescribeDomains where+    toPath = const "/"++instance ToQuery DescribeDomains where+    toQuery DescribeDomains{..} = mconcat+        [ "DomainNames" =? _ddDomainNames+        ]++instance ToHeaders DescribeDomains++instance AWSRequest DescribeDomains where+    type Sv DescribeDomains = CloudSearch+    type Rs DescribeDomains = DescribeDomainsResponse++    request  = post "DescribeDomains"+    response = xmlResponse++instance FromXML DescribeDomainsResponse where+    parseXML = withElement "DescribeDomainsResult" $ \x -> DescribeDomainsResponse+        <$> x .@  "DomainStatusList"
+ gen/Network/AWS/CloudSearch/DescribeExpressions.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeExpressions+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets the expressions configured for the search domain. Can be limited to+-- specific expressions by name. By default, shows all expressions and+-- includes any pending changes to the configuration. Set the Deployed option+-- to true to show the active configuration and exclude pending changes. For+-- more information, see Configuring Expressions in the Amazon CloudSearch+-- Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeExpressions.html>+module Network.AWS.CloudSearch.DescribeExpressions+    (+    -- * Request+      DescribeExpressions+    -- ** Request constructor+    , describeExpressions+    -- ** Request lenses+    , deDeployed+    , deDomainName+    , deExpressionNames++    -- * Response+    , DescribeExpressionsResponse+    -- ** Response constructor+    , describeExpressionsResponse+    -- ** Response lenses+    , derExpressions+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DescribeExpressions = DescribeExpressions+    { _deDeployed        :: Maybe Bool+    , _deDomainName      :: Text+    , _deExpressionNames :: List "SuggesterNames" Text+    } deriving (Eq, Ord, Show)++-- | 'DescribeExpressions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'deDeployed' @::@ 'Maybe' 'Bool'+--+-- * 'deDomainName' @::@ 'Text'+--+-- * 'deExpressionNames' @::@ ['Text']+--+describeExpressions :: Text -- ^ 'deDomainName'+                    -> DescribeExpressions+describeExpressions p1 = DescribeExpressions+    { _deDomainName      = p1+    , _deExpressionNames = mempty+    , _deDeployed        = Nothing+    }++-- | Whether to display the deployed configuration (true) or include any+-- pending changes (false). Defaults to false.+deDeployed :: Lens' DescribeExpressions (Maybe Bool)+deDeployed = lens _deDeployed (\s a -> s { _deDeployed = a })++-- | The name of the domain you want to describe.+deDomainName :: Lens' DescribeExpressions Text+deDomainName = lens _deDomainName (\s a -> s { _deDomainName = a })++-- | Limits the DescribeExpressions response to the specified expressions. If+-- not specified, all expressions are shown.+deExpressionNames :: Lens' DescribeExpressions [Text]+deExpressionNames =+    lens _deExpressionNames (\s a -> s { _deExpressionNames = a })+        . _List++newtype DescribeExpressionsResponse = DescribeExpressionsResponse+    { _derExpressions :: List "Expressions" ExpressionStatus+    } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeExpressionsResponse where+    type Item DescribeExpressionsResponse = ExpressionStatus++    fromList = DescribeExpressionsResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _derExpressions++-- | 'DescribeExpressionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'derExpressions' @::@ ['ExpressionStatus']+--+describeExpressionsResponse :: DescribeExpressionsResponse+describeExpressionsResponse = DescribeExpressionsResponse+    { _derExpressions = mempty+    }++-- | The expressions configured for the domain.+derExpressions :: Lens' DescribeExpressionsResponse [ExpressionStatus]+derExpressions = lens _derExpressions (\s a -> s { _derExpressions = a }) . _List++instance ToPath DescribeExpressions where+    toPath = const "/"++instance ToQuery DescribeExpressions where+    toQuery DescribeExpressions{..} = mconcat+        [ "Deployed"        =? _deDeployed+        , "DomainName"      =? _deDomainName+        , "ExpressionNames" =? _deExpressionNames+        ]++instance ToHeaders DescribeExpressions++instance AWSRequest DescribeExpressions where+    type Sv DescribeExpressions = CloudSearch+    type Rs DescribeExpressions = DescribeExpressionsResponse++    request  = post "DescribeExpressions"+    response = xmlResponse++instance FromXML DescribeExpressionsResponse where+    parseXML = withElement "DescribeExpressionsResult" $ \x -> DescribeExpressionsResponse+        <$> x .@  "Expressions"
+ gen/Network/AWS/CloudSearch/DescribeIndexFields.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeIndexFields+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets information about the index fields configured for the search domain.+-- Can be limited to specific fields by name. By default, shows all fields and+-- includes any pending changes to the configuration. Set the Deployed option+-- to true to show the active configuration and exclude pending changes. For+-- more information, see Getting Domain Information in the Amazon CloudSearch+-- Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeIndexFields.html>+module Network.AWS.CloudSearch.DescribeIndexFields+    (+    -- * Request+      DescribeIndexFields+    -- ** Request constructor+    , describeIndexFields+    -- ** Request lenses+    , difDeployed+    , difDomainName+    , difFieldNames++    -- * Response+    , DescribeIndexFieldsResponse+    -- ** Response constructor+    , describeIndexFieldsResponse+    -- ** Response lenses+    , difrIndexFields+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DescribeIndexFields = DescribeIndexFields+    { _difDeployed   :: Maybe Bool+    , _difDomainName :: Text+    , _difFieldNames :: List "SuggesterNames" Text+    } deriving (Eq, Ord, Show)++-- | 'DescribeIndexFields' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'difDeployed' @::@ 'Maybe' 'Bool'+--+-- * 'difDomainName' @::@ 'Text'+--+-- * 'difFieldNames' @::@ ['Text']+--+describeIndexFields :: Text -- ^ 'difDomainName'+                    -> DescribeIndexFields+describeIndexFields p1 = DescribeIndexFields+    { _difDomainName = p1+    , _difFieldNames = mempty+    , _difDeployed   = Nothing+    }++-- | Whether to display the deployed configuration (true) or include any+-- pending changes (false). Defaults to false.+difDeployed :: Lens' DescribeIndexFields (Maybe Bool)+difDeployed = lens _difDeployed (\s a -> s { _difDeployed = a })++-- | The name of the domain you want to describe.+difDomainName :: Lens' DescribeIndexFields Text+difDomainName = lens _difDomainName (\s a -> s { _difDomainName = a })++-- | A list of the index fields you want to describe. If not specified,+-- information is returned for all configured index fields.+difFieldNames :: Lens' DescribeIndexFields [Text]+difFieldNames = lens _difFieldNames (\s a -> s { _difFieldNames = a }) . _List++newtype DescribeIndexFieldsResponse = DescribeIndexFieldsResponse+    { _difrIndexFields :: List "IndexFields" IndexFieldStatus+    } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeIndexFieldsResponse where+    type Item DescribeIndexFieldsResponse = IndexFieldStatus++    fromList = DescribeIndexFieldsResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _difrIndexFields++-- | 'DescribeIndexFieldsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'difrIndexFields' @::@ ['IndexFieldStatus']+--+describeIndexFieldsResponse :: DescribeIndexFieldsResponse+describeIndexFieldsResponse = DescribeIndexFieldsResponse+    { _difrIndexFields = mempty+    }++-- | The index fields configured for the domain.+difrIndexFields :: Lens' DescribeIndexFieldsResponse [IndexFieldStatus]+difrIndexFields = lens _difrIndexFields (\s a -> s { _difrIndexFields = a }) . _List++instance ToPath DescribeIndexFields where+    toPath = const "/"++instance ToQuery DescribeIndexFields where+    toQuery DescribeIndexFields{..} = mconcat+        [ "Deployed"   =? _difDeployed+        , "DomainName" =? _difDomainName+        , "FieldNames" =? _difFieldNames+        ]++instance ToHeaders DescribeIndexFields++instance AWSRequest DescribeIndexFields where+    type Sv DescribeIndexFields = CloudSearch+    type Rs DescribeIndexFields = DescribeIndexFieldsResponse++    request  = post "DescribeIndexFields"+    response = xmlResponse++instance FromXML DescribeIndexFieldsResponse where+    parseXML = withElement "DescribeIndexFieldsResult" $ \x -> DescribeIndexFieldsResponse+        <$> x .@  "IndexFields"
+ gen/Network/AWS/CloudSearch/DescribeScalingParameters.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeScalingParameters+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets the scaling parameters configured for a domain. A domain's scaling+-- parameters specify the desired search instance type and replication count.+-- For more information, see Configuring Scaling Options in the Amazon+-- CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeScalingParameters.html>+module Network.AWS.CloudSearch.DescribeScalingParameters+    (+    -- * Request+      DescribeScalingParameters+    -- ** Request constructor+    , describeScalingParameters+    -- ** Request lenses+    , dspDomainName++    -- * Response+    , DescribeScalingParametersResponse+    -- ** Response constructor+    , describeScalingParametersResponse+    -- ** Response lenses+    , dsprScalingParameters+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++newtype DescribeScalingParameters = DescribeScalingParameters+    { _dspDomainName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DescribeScalingParameters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dspDomainName' @::@ 'Text'+--+describeScalingParameters :: Text -- ^ 'dspDomainName'+                          -> DescribeScalingParameters+describeScalingParameters p1 = DescribeScalingParameters+    { _dspDomainName = p1+    }++dspDomainName :: Lens' DescribeScalingParameters Text+dspDomainName = lens _dspDomainName (\s a -> s { _dspDomainName = a })++newtype DescribeScalingParametersResponse = DescribeScalingParametersResponse+    { _dsprScalingParameters :: ScalingParametersStatus+    } deriving (Eq, Show)++-- | 'DescribeScalingParametersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsprScalingParameters' @::@ 'ScalingParametersStatus'+--+describeScalingParametersResponse :: ScalingParametersStatus -- ^ 'dsprScalingParameters'+                                  -> DescribeScalingParametersResponse+describeScalingParametersResponse p1 = DescribeScalingParametersResponse+    { _dsprScalingParameters = p1+    }++dsprScalingParameters :: Lens' DescribeScalingParametersResponse ScalingParametersStatus+dsprScalingParameters =+    lens _dsprScalingParameters (\s a -> s { _dsprScalingParameters = a })++instance ToPath DescribeScalingParameters where+    toPath = const "/"++instance ToQuery DescribeScalingParameters where+    toQuery DescribeScalingParameters{..} = mconcat+        [ "DomainName" =? _dspDomainName+        ]++instance ToHeaders DescribeScalingParameters++instance AWSRequest DescribeScalingParameters where+    type Sv DescribeScalingParameters = CloudSearch+    type Rs DescribeScalingParameters = DescribeScalingParametersResponse++    request  = post "DescribeScalingParameters"+    response = xmlResponse++instance FromXML DescribeScalingParametersResponse where+    parseXML = withElement "DescribeScalingParametersResult" $ \x -> DescribeScalingParametersResponse+        <$> x .@  "ScalingParameters"
+ gen/Network/AWS/CloudSearch/DescribeServiceAccessPolicies.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeServiceAccessPolicies+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets information about the access policies that control access to the+-- domain's document and search endpoints. By default, shows the configuration+-- with any pending changes. Set the Deployed option to true to show the+-- active configuration and exclude pending changes. For more information, see+-- Configuring Access for a Search Domain in the Amazon CloudSearch Developer+-- Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeServiceAccessPolicies.html>+module Network.AWS.CloudSearch.DescribeServiceAccessPolicies+    (+    -- * Request+      DescribeServiceAccessPolicies+    -- ** Request constructor+    , describeServiceAccessPolicies+    -- ** Request lenses+    , dsapDeployed+    , dsapDomainName++    -- * Response+    , DescribeServiceAccessPoliciesResponse+    -- ** Response constructor+    , describeServiceAccessPoliciesResponse+    -- ** Response lenses+    , dsaprAccessPolicies+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DescribeServiceAccessPolicies = DescribeServiceAccessPolicies+    { _dsapDeployed   :: Maybe Bool+    , _dsapDomainName :: Text+    } deriving (Eq, Ord, Show)++-- | 'DescribeServiceAccessPolicies' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsapDeployed' @::@ 'Maybe' 'Bool'+--+-- * 'dsapDomainName' @::@ 'Text'+--+describeServiceAccessPolicies :: Text -- ^ 'dsapDomainName'+                              -> DescribeServiceAccessPolicies+describeServiceAccessPolicies p1 = DescribeServiceAccessPolicies+    { _dsapDomainName = p1+    , _dsapDeployed   = Nothing+    }++-- | Whether to display the deployed configuration (true) or include any+-- pending changes (false). Defaults to false.+dsapDeployed :: Lens' DescribeServiceAccessPolicies (Maybe Bool)+dsapDeployed = lens _dsapDeployed (\s a -> s { _dsapDeployed = a })++-- | The name of the domain you want to describe.+dsapDomainName :: Lens' DescribeServiceAccessPolicies Text+dsapDomainName = lens _dsapDomainName (\s a -> s { _dsapDomainName = a })++newtype DescribeServiceAccessPoliciesResponse = DescribeServiceAccessPoliciesResponse+    { _dsaprAccessPolicies :: AccessPoliciesStatus+    } deriving (Eq, Show)++-- | 'DescribeServiceAccessPoliciesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsaprAccessPolicies' @::@ 'AccessPoliciesStatus'+--+describeServiceAccessPoliciesResponse :: AccessPoliciesStatus -- ^ 'dsaprAccessPolicies'+                                      -> DescribeServiceAccessPoliciesResponse+describeServiceAccessPoliciesResponse p1 = DescribeServiceAccessPoliciesResponse+    { _dsaprAccessPolicies = p1+    }++-- | The access rules configured for the domain specified in the request.+dsaprAccessPolicies :: Lens' DescribeServiceAccessPoliciesResponse AccessPoliciesStatus+dsaprAccessPolicies =+    lens _dsaprAccessPolicies (\s a -> s { _dsaprAccessPolicies = a })++instance ToPath DescribeServiceAccessPolicies where+    toPath = const "/"++instance ToQuery DescribeServiceAccessPolicies where+    toQuery DescribeServiceAccessPolicies{..} = mconcat+        [ "Deployed"   =? _dsapDeployed+        , "DomainName" =? _dsapDomainName+        ]++instance ToHeaders DescribeServiceAccessPolicies++instance AWSRequest DescribeServiceAccessPolicies where+    type Sv DescribeServiceAccessPolicies = CloudSearch+    type Rs DescribeServiceAccessPolicies = DescribeServiceAccessPoliciesResponse++    request  = post "DescribeServiceAccessPolicies"+    response = xmlResponse++instance FromXML DescribeServiceAccessPoliciesResponse where+    parseXML = withElement "DescribeServiceAccessPoliciesResult" $ \x -> DescribeServiceAccessPoliciesResponse+        <$> x .@  "AccessPolicies"
+ gen/Network/AWS/CloudSearch/DescribeSuggesters.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.DescribeSuggesters+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Gets the suggesters configured for a domain. A suggester enables you to+-- display possible matches before users finish typing their queries. Can be+-- limited to specific suggesters by name. By default, shows all suggesters+-- and includes any pending changes to the configuration. Set the Deployed+-- option to true to show the active configuration and exclude pending+-- changes. For more information, see Getting Search Suggestions in the Amazon+-- CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_DescribeSuggesters.html>+module Network.AWS.CloudSearch.DescribeSuggesters+    (+    -- * Request+      DescribeSuggesters+    -- ** Request constructor+    , describeSuggesters+    -- ** Request lenses+    , ds1Deployed+    , ds1DomainName+    , ds1SuggesterNames++    -- * Response+    , DescribeSuggestersResponse+    -- ** Response constructor+    , describeSuggestersResponse+    -- ** Response lenses+    , dsrSuggesters+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data DescribeSuggesters = DescribeSuggesters+    { _ds1Deployed       :: Maybe Bool+    , _ds1DomainName     :: Text+    , _ds1SuggesterNames :: List "SuggesterNames" Text+    } deriving (Eq, Ord, Show)++-- | 'DescribeSuggesters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ds1Deployed' @::@ 'Maybe' 'Bool'+--+-- * 'ds1DomainName' @::@ 'Text'+--+-- * 'ds1SuggesterNames' @::@ ['Text']+--+describeSuggesters :: Text -- ^ 'ds1DomainName'+                   -> DescribeSuggesters+describeSuggesters p1 = DescribeSuggesters+    { _ds1DomainName     = p1+    , _ds1SuggesterNames = mempty+    , _ds1Deployed       = Nothing+    }++-- | Whether to display the deployed configuration (true) or include any+-- pending changes (false). Defaults to false.+ds1Deployed :: Lens' DescribeSuggesters (Maybe Bool)+ds1Deployed = lens _ds1Deployed (\s a -> s { _ds1Deployed = a })++-- | The name of the domain you want to describe.+ds1DomainName :: Lens' DescribeSuggesters Text+ds1DomainName = lens _ds1DomainName (\s a -> s { _ds1DomainName = a })++-- | The suggesters you want to describe.+ds1SuggesterNames :: Lens' DescribeSuggesters [Text]+ds1SuggesterNames =+    lens _ds1SuggesterNames (\s a -> s { _ds1SuggesterNames = a })+        . _List++newtype DescribeSuggestersResponse = DescribeSuggestersResponse+    { _dsrSuggesters :: List "Suggesters" SuggesterStatus+    } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeSuggestersResponse where+    type Item DescribeSuggestersResponse = SuggesterStatus++    fromList = DescribeSuggestersResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _dsrSuggesters++-- | 'DescribeSuggestersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsrSuggesters' @::@ ['SuggesterStatus']+--+describeSuggestersResponse :: DescribeSuggestersResponse+describeSuggestersResponse = DescribeSuggestersResponse+    { _dsrSuggesters = mempty+    }++-- | The suggesters configured for the domain specified in the request.+dsrSuggesters :: Lens' DescribeSuggestersResponse [SuggesterStatus]+dsrSuggesters = lens _dsrSuggesters (\s a -> s { _dsrSuggesters = a }) . _List++instance ToPath DescribeSuggesters where+    toPath = const "/"++instance ToQuery DescribeSuggesters where+    toQuery DescribeSuggesters{..} = mconcat+        [ "Deployed"       =? _ds1Deployed+        , "DomainName"     =? _ds1DomainName+        , "SuggesterNames" =? _ds1SuggesterNames+        ]++instance ToHeaders DescribeSuggesters++instance AWSRequest DescribeSuggesters where+    type Sv DescribeSuggesters = CloudSearch+    type Rs DescribeSuggesters = DescribeSuggestersResponse++    request  = post "DescribeSuggesters"+    response = xmlResponse++instance FromXML DescribeSuggestersResponse where+    parseXML = withElement "DescribeSuggestersResult" $ \x -> DescribeSuggestersResponse+        <$> x .@  "Suggesters"
+ gen/Network/AWS/CloudSearch/IndexDocuments.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.IndexDocuments+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Tells the search domain to start indexing its documents using the latest+-- indexing options. This operation must be invoked to activate options whose+-- OptionStatus is RequiresIndexDocuments.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_IndexDocuments.html>+module Network.AWS.CloudSearch.IndexDocuments+    (+    -- * Request+      IndexDocuments+    -- ** Request constructor+    , indexDocuments+    -- ** Request lenses+    , idDomainName++    -- * Response+    , IndexDocumentsResponse+    -- ** Response constructor+    , indexDocumentsResponse+    -- ** Response lenses+    , idrFieldNames+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++newtype IndexDocuments = IndexDocuments+    { _idDomainName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'IndexDocuments' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'idDomainName' @::@ 'Text'+--+indexDocuments :: Text -- ^ 'idDomainName'+               -> IndexDocuments+indexDocuments p1 = IndexDocuments+    { _idDomainName = p1+    }++idDomainName :: Lens' IndexDocuments Text+idDomainName = lens _idDomainName (\s a -> s { _idDomainName = a })++newtype IndexDocumentsResponse = IndexDocumentsResponse+    { _idrFieldNames :: List "SuggesterNames" Text+    } deriving (Eq, Ord, Show, Monoid, Semigroup)++instance GHC.Exts.IsList IndexDocumentsResponse where+    type Item IndexDocumentsResponse = Text++    fromList = IndexDocumentsResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _idrFieldNames++-- | 'IndexDocumentsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'idrFieldNames' @::@ ['Text']+--+indexDocumentsResponse :: IndexDocumentsResponse+indexDocumentsResponse = IndexDocumentsResponse+    { _idrFieldNames = mempty+    }++-- | The names of the fields that are currently being indexed.+idrFieldNames :: Lens' IndexDocumentsResponse [Text]+idrFieldNames = lens _idrFieldNames (\s a -> s { _idrFieldNames = a }) . _List++instance ToPath IndexDocuments where+    toPath = const "/"++instance ToQuery IndexDocuments where+    toQuery IndexDocuments{..} = mconcat+        [ "DomainName" =? _idDomainName+        ]++instance ToHeaders IndexDocuments++instance AWSRequest IndexDocuments where+    type Sv IndexDocuments = CloudSearch+    type Rs IndexDocuments = IndexDocumentsResponse++    request  = post "IndexDocuments"+    response = xmlResponse++instance FromXML IndexDocumentsResponse where+    parseXML = withElement "IndexDocumentsResult" $ \x -> IndexDocumentsResponse+        <$> x .@  "FieldNames"
+ gen/Network/AWS/CloudSearch/ListDomainNames.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.ListDomainNames+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Lists all search domains owned by an account.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_ListDomainNames.html>+module Network.AWS.CloudSearch.ListDomainNames+    (+    -- * Request+      ListDomainNames+    -- ** Request constructor+    , listDomainNames++    -- * Response+    , ListDomainNamesResponse+    -- ** Response constructor+    , listDomainNamesResponse+    -- ** Response lenses+    , ldnrDomainNames+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data ListDomainNames = ListDomainNames+    deriving (Eq, Ord, Show, Generic)++-- | 'ListDomainNames' constructor.+listDomainNames :: ListDomainNames+listDomainNames = ListDomainNames++newtype ListDomainNamesResponse = ListDomainNamesResponse+    { _ldnrDomainNames :: EMap "entry" "key" "value" Text Text+    } deriving (Eq, Show, Monoid, Semigroup)++-- | 'ListDomainNamesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ldnrDomainNames' @::@ 'HashMap' 'Text' 'Text'+--+listDomainNamesResponse :: ListDomainNamesResponse+listDomainNamesResponse = ListDomainNamesResponse+    { _ldnrDomainNames = mempty+    }++-- | The names of the search domains owned by an account.+ldnrDomainNames :: Lens' ListDomainNamesResponse (HashMap Text Text)+ldnrDomainNames = lens _ldnrDomainNames (\s a -> s { _ldnrDomainNames = a }) . _EMap++instance ToPath ListDomainNames where+    toPath = const "/"++instance ToQuery ListDomainNames where+    toQuery = const mempty++instance ToHeaders ListDomainNames++instance AWSRequest ListDomainNames where+    type Sv ListDomainNames = CloudSearch+    type Rs ListDomainNames = ListDomainNamesResponse++    request  = post "ListDomainNames"+    response = xmlResponse++instance FromXML ListDomainNamesResponse where+    parseXML = withElement "ListDomainNamesResult" $ \x -> ListDomainNamesResponse+        <$> x .@  "DomainNames"
+ gen/Network/AWS/CloudSearch/Types.hs view
@@ -0,0 +1,2479 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Network.AWS.CloudSearch.Types+    (+    -- * Service+      CloudSearch+    -- ** Error+    , RESTError+    -- ** XML+    , ns++    -- * DomainStatus+    , DomainStatus+    , domainStatus+    , dsARN+    , dsCreated+    , dsDeleted+    , dsDocService+    , dsDomainId+    , dsDomainName+    , dsLimits+    , dsProcessing+    , dsRequiresIndexDocuments+    , dsSearchInstanceCount+    , dsSearchInstanceType+    , dsSearchPartitionCount+    , dsSearchService++    -- * DocumentSuggesterOptions+    , DocumentSuggesterOptions+    , documentSuggesterOptions+    , dsoFuzzyMatching+    , dsoSortExpression+    , dsoSourceField++    -- * DoubleArrayOptions+    , DoubleArrayOptions+    , doubleArrayOptions+    , daoDefaultValue+    , daoFacetEnabled+    , daoReturnEnabled+    , daoSearchEnabled+    , daoSourceFields++    -- * IndexField+    , IndexField+    , indexField+    , ifDateArrayOptions+    , ifDateOptions+    , ifDoubleArrayOptions+    , ifDoubleOptions+    , ifIndexFieldName+    , ifIndexFieldType+    , ifIntArrayOptions+    , ifIntOptions+    , ifLatLonOptions+    , ifLiteralArrayOptions+    , ifLiteralOptions+    , ifTextArrayOptions+    , ifTextOptions++    -- * DateOptions+    , DateOptions+    , dateOptions+    , doDefaultValue+    , doFacetEnabled+    , doReturnEnabled+    , doSearchEnabled+    , doSortEnabled+    , doSourceField++    -- * OptionState+    , OptionState (..)++    -- * TextArrayOptions+    , TextArrayOptions+    , textArrayOptions+    , taoAnalysisScheme+    , taoDefaultValue+    , taoHighlightEnabled+    , taoReturnEnabled+    , taoSourceFields++    -- * AlgorithmicStemming+    , AlgorithmicStemming (..)++    -- * AnalysisScheme+    , AnalysisScheme+    , analysisScheme+    , asAnalysisOptions+    , asAnalysisSchemeLanguage+    , asAnalysisSchemeName++    -- * ScalingParameters+    , ScalingParameters+    , scalingParameters+    , spDesiredInstanceType+    , spDesiredPartitionCount+    , spDesiredReplicationCount++    -- * AnalysisOptions+    , AnalysisOptions+    , analysisOptions+    , aoAlgorithmicStemming+    , aoJapaneseTokenizationDictionary+    , aoStemmingDictionary+    , aoStopwords+    , aoSynonyms++    -- * DoubleOptions+    , DoubleOptions+    , doubleOptions+    , do1DefaultValue+    , do1FacetEnabled+    , do1ReturnEnabled+    , do1SearchEnabled+    , do1SortEnabled+    , do1SourceField++    -- * TextOptions+    , TextOptions+    , textOptions+    , toAnalysisScheme+    , toDefaultValue+    , toHighlightEnabled+    , toReturnEnabled+    , toSortEnabled+    , toSourceField++    -- * AvailabilityOptionsStatus+    , AvailabilityOptionsStatus+    , availabilityOptionsStatus+    , aosOptions+    , aosStatus++    -- * IndexFieldStatus+    , IndexFieldStatus+    , indexFieldStatus+    , ifsOptions+    , ifsStatus++    -- * ScalingParametersStatus+    , ScalingParametersStatus+    , scalingParametersStatus+    , spsOptions+    , spsStatus++    -- * AnalysisSchemeStatus+    , AnalysisSchemeStatus+    , analysisSchemeStatus+    , assOptions+    , assStatus++    -- * ServiceEndpoint+    , ServiceEndpoint+    , serviceEndpoint+    , seEndpoint++    -- * Limits+    , Limits+    , limits+    , lMaximumPartitionCount+    , lMaximumReplicationCount++    -- * ExpressionStatus+    , ExpressionStatus+    , expressionStatus+    , esOptions+    , esStatus++    -- * IndexFieldType+    , IndexFieldType (..)++    -- * LatLonOptions+    , LatLonOptions+    , latLonOptions+    , lloDefaultValue+    , lloFacetEnabled+    , lloReturnEnabled+    , lloSearchEnabled+    , lloSortEnabled+    , lloSourceField++    -- * SuggesterStatus+    , SuggesterStatus+    , suggesterStatus+    , ssOptions+    , ssStatus++    -- * OptionStatus+    , OptionStatus+    , optionStatus+    , osCreationDate+    , osPendingDeletion+    , osState+    , osUpdateDate+    , osUpdateVersion++    -- * LiteralArrayOptions+    , LiteralArrayOptions+    , literalArrayOptions+    , laoDefaultValue+    , laoFacetEnabled+    , laoReturnEnabled+    , laoSearchEnabled+    , laoSourceFields++    -- * IntArrayOptions+    , IntArrayOptions+    , intArrayOptions+    , iaoDefaultValue+    , iaoFacetEnabled+    , iaoReturnEnabled+    , iaoSearchEnabled+    , iaoSourceFields++    -- * Expression+    , Expression+    , expression+    , eExpressionName+    , eExpressionValue++    -- * SuggesterFuzzyMatching+    , SuggesterFuzzyMatching (..)++    -- * DateArrayOptions+    , DateArrayOptions+    , dateArrayOptions+    , dao1DefaultValue+    , dao1FacetEnabled+    , dao1ReturnEnabled+    , dao1SearchEnabled+    , dao1SourceFields++    -- * AnalysisSchemeLanguage+    , AnalysisSchemeLanguage (..)++    -- * PartitionInstanceType+    , PartitionInstanceType (..)++    -- * Suggester+    , Suggester+    , suggester+    , sDocumentSuggesterOptions+    , sSuggesterName++    -- * IntOptions+    , IntOptions+    , intOptions+    , ioDefaultValue+    , ioFacetEnabled+    , ioReturnEnabled+    , ioSearchEnabled+    , ioSortEnabled+    , ioSourceField++    -- * LiteralOptions+    , LiteralOptions+    , literalOptions+    , loDefaultValue+    , loFacetEnabled+    , loReturnEnabled+    , loSearchEnabled+    , loSortEnabled+    , loSourceField++    -- * AccessPoliciesStatus+    , AccessPoliciesStatus+    , accessPoliciesStatus+    , apsOptions+    , apsStatus+    ) where++import Network.AWS.Error+import Network.AWS.Prelude+import Network.AWS.Signing.V4+import qualified GHC.Exts++-- | Version @2013-01-01@ of the Amazon CloudSearch service.+data CloudSearch++instance AWSService CloudSearch where+    type Sg CloudSearch = V4+    type Er CloudSearch = RESTError++    service = Service+        { _svcEndpoint     = regional+        , _svcAbbrev       = "CloudSearch"+        , _svcPrefix       = "cloudsearch"+        , _svcVersion      = "2013-01-01"+        , _svcTargetPrefix = Nothing+        , _svcJSONVersion  = Nothing+        }++    handle = restError statusSuccess++ns :: Text+ns = "http://cloudsearch.amazonaws.com/doc/2013-01-01/"++data DomainStatus = DomainStatus+    { _dsARN                    :: Maybe Text+    , _dsCreated                :: Maybe Bool+    , _dsDeleted                :: Maybe Bool+    , _dsDocService             :: Maybe ServiceEndpoint+    , _dsDomainId               :: Text+    , _dsDomainName             :: Text+    , _dsLimits                 :: Maybe Limits+    , _dsProcessing             :: Maybe Bool+    , _dsRequiresIndexDocuments :: Bool+    , _dsSearchInstanceCount    :: Maybe Nat+    , _dsSearchInstanceType     :: Maybe Text+    , _dsSearchPartitionCount   :: Maybe Nat+    , _dsSearchService          :: Maybe ServiceEndpoint+    } deriving (Eq, Show)++-- | 'DomainStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsARN' @::@ 'Maybe' 'Text'+--+-- * 'dsCreated' @::@ 'Maybe' 'Bool'+--+-- * 'dsDeleted' @::@ 'Maybe' 'Bool'+--+-- * 'dsDocService' @::@ 'Maybe' 'ServiceEndpoint'+--+-- * 'dsDomainId' @::@ 'Text'+--+-- * 'dsDomainName' @::@ 'Text'+--+-- * 'dsLimits' @::@ 'Maybe' 'Limits'+--+-- * 'dsProcessing' @::@ 'Maybe' 'Bool'+--+-- * 'dsRequiresIndexDocuments' @::@ 'Bool'+--+-- * 'dsSearchInstanceCount' @::@ 'Maybe' 'Natural'+--+-- * 'dsSearchInstanceType' @::@ 'Maybe' 'Text'+--+-- * 'dsSearchPartitionCount' @::@ 'Maybe' 'Natural'+--+-- * 'dsSearchService' @::@ 'Maybe' 'ServiceEndpoint'+--+domainStatus :: Text -- ^ 'dsDomainId'+             -> Text -- ^ 'dsDomainName'+             -> Bool -- ^ 'dsRequiresIndexDocuments'+             -> DomainStatus+domainStatus p1 p2 p3 = DomainStatus+    { _dsDomainId               = p1+    , _dsDomainName             = p2+    , _dsRequiresIndexDocuments = p3+    , _dsARN                    = Nothing+    , _dsCreated                = Nothing+    , _dsDeleted                = Nothing+    , _dsDocService             = Nothing+    , _dsSearchService          = Nothing+    , _dsProcessing             = Nothing+    , _dsSearchInstanceType     = Nothing+    , _dsSearchPartitionCount   = Nothing+    , _dsSearchInstanceCount    = Nothing+    , _dsLimits                 = Nothing+    }++dsARN :: Lens' DomainStatus (Maybe Text)+dsARN = lens _dsARN (\s a -> s { _dsARN = a })++-- | True if the search domain is created. It can take several minutes to+-- initialize a domain when CreateDomain is called. Newly created search+-- domains are returned from DescribeDomains with a false value for Created+-- until domain creation is complete.+dsCreated :: Lens' DomainStatus (Maybe Bool)+dsCreated = lens _dsCreated (\s a -> s { _dsCreated = a })++-- | True if the search domain has been deleted. The system must clean up+-- resources dedicated to the search domain when DeleteDomain is called.+-- Newly deleted search domains are returned from DescribeDomains with a+-- true value for IsDeleted for several minutes until resource cleanup is+-- complete.+dsDeleted :: Lens' DomainStatus (Maybe Bool)+dsDeleted = lens _dsDeleted (\s a -> s { _dsDeleted = a })++-- | The service endpoint for updating documents in a search domain.+dsDocService :: Lens' DomainStatus (Maybe ServiceEndpoint)+dsDocService = lens _dsDocService (\s a -> s { _dsDocService = a })++dsDomainId :: Lens' DomainStatus Text+dsDomainId = lens _dsDomainId (\s a -> s { _dsDomainId = a })++dsDomainName :: Lens' DomainStatus Text+dsDomainName = lens _dsDomainName (\s a -> s { _dsDomainName = a })++dsLimits :: Lens' DomainStatus (Maybe Limits)+dsLimits = lens _dsLimits (\s a -> s { _dsLimits = a })++-- | True if processing is being done to activate the current domain+-- configuration.+dsProcessing :: Lens' DomainStatus (Maybe Bool)+dsProcessing = lens _dsProcessing (\s a -> s { _dsProcessing = a })++-- | True if IndexDocuments needs to be called to activate the current domain+-- configuration.+dsRequiresIndexDocuments :: Lens' DomainStatus Bool+dsRequiresIndexDocuments =+    lens _dsRequiresIndexDocuments+        (\s a -> s { _dsRequiresIndexDocuments = a })++-- | The number of search instances that are available to process search+-- requests.+dsSearchInstanceCount :: Lens' DomainStatus (Maybe Natural)+dsSearchInstanceCount =+    lens _dsSearchInstanceCount (\s a -> s { _dsSearchInstanceCount = a })+        . mapping _Nat++-- | The instance type that is being used to process search requests.+dsSearchInstanceType :: Lens' DomainStatus (Maybe Text)+dsSearchInstanceType =+    lens _dsSearchInstanceType (\s a -> s { _dsSearchInstanceType = a })++-- | The number of partitions across which the search index is spread.+dsSearchPartitionCount :: Lens' DomainStatus (Maybe Natural)+dsSearchPartitionCount =+    lens _dsSearchPartitionCount (\s a -> s { _dsSearchPartitionCount = a })+        . mapping _Nat++-- | The service endpoint for requesting search results from a search domain.+dsSearchService :: Lens' DomainStatus (Maybe ServiceEndpoint)+dsSearchService = lens _dsSearchService (\s a -> s { _dsSearchService = a })++instance FromXML DomainStatus where+    parseXML x = DomainStatus+        <$> x .@? "ARN"+        <*> x .@? "Created"+        <*> x .@? "Deleted"+        <*> x .@? "DocService"+        <*> x .@  "DomainId"+        <*> x .@  "DomainName"+        <*> x .@? "Limits"+        <*> x .@? "Processing"+        <*> x .@  "RequiresIndexDocuments"+        <*> x .@? "SearchInstanceCount"+        <*> x .@? "SearchInstanceType"+        <*> x .@? "SearchPartitionCount"+        <*> x .@? "SearchService"++instance ToQuery DomainStatus where+    toQuery DomainStatus{..} = mconcat+        [ "ARN"                    =? _dsARN+        , "Created"                =? _dsCreated+        , "Deleted"                =? _dsDeleted+        , "DocService"             =? _dsDocService+        , "DomainId"               =? _dsDomainId+        , "DomainName"             =? _dsDomainName+        , "Limits"                 =? _dsLimits+        , "Processing"             =? _dsProcessing+        , "RequiresIndexDocuments" =? _dsRequiresIndexDocuments+        , "SearchInstanceCount"    =? _dsSearchInstanceCount+        , "SearchInstanceType"     =? _dsSearchInstanceType+        , "SearchPartitionCount"   =? _dsSearchPartitionCount+        , "SearchService"          =? _dsSearchService+        ]++data DocumentSuggesterOptions = DocumentSuggesterOptions+    { _dsoFuzzyMatching  :: Maybe Text+    , _dsoSortExpression :: Maybe Text+    , _dsoSourceField    :: Text+    } deriving (Eq, Ord, Show)++-- | 'DocumentSuggesterOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dsoFuzzyMatching' @::@ 'Maybe' 'Text'+--+-- * 'dsoSortExpression' @::@ 'Maybe' 'Text'+--+-- * 'dsoSourceField' @::@ 'Text'+--+documentSuggesterOptions :: Text -- ^ 'dsoSourceField'+                         -> DocumentSuggesterOptions+documentSuggesterOptions p1 = DocumentSuggesterOptions+    { _dsoSourceField    = p1+    , _dsoFuzzyMatching  = Nothing+    , _dsoSortExpression = Nothing+    }++-- | The level of fuzziness allowed when suggesting matches for a string:+-- none, low, or high. With none, the specified string is treated as an+-- exact prefix. With low, suggestions must differ from the specified string+-- by no more than one character. With high, suggestions can differ by up to+-- two characters. The default is none.+dsoFuzzyMatching :: Lens' DocumentSuggesterOptions (Maybe Text)+dsoFuzzyMatching = lens _dsoFuzzyMatching (\s a -> s { _dsoFuzzyMatching = a })++-- | An expression that computes a score for each suggestion to control how+-- they are sorted. The scores are rounded to the nearest integer, with a+-- floor of 0 and a ceiling of 2^31-1. A document's relevance score is not+-- computed for suggestions, so sort expressions cannot reference the _score+-- value. To sort suggestions using a numeric field or existing expression,+-- simply specify the name of the field or expression. If no expression is+-- configured for the suggester, the suggestions are sorted with the closest+-- matches listed first.+dsoSortExpression :: Lens' DocumentSuggesterOptions (Maybe Text)+dsoSortExpression =+    lens _dsoSortExpression (\s a -> s { _dsoSortExpression = a })++-- | The name of the index field you want to use for suggestions.+dsoSourceField :: Lens' DocumentSuggesterOptions Text+dsoSourceField = lens _dsoSourceField (\s a -> s { _dsoSourceField = a })++instance FromXML DocumentSuggesterOptions where+    parseXML x = DocumentSuggesterOptions+        <$> x .@? "FuzzyMatching"+        <*> x .@? "SortExpression"+        <*> x .@  "SourceField"++instance ToQuery DocumentSuggesterOptions where+    toQuery DocumentSuggesterOptions{..} = mconcat+        [ "FuzzyMatching"  =? _dsoFuzzyMatching+        , "SortExpression" =? _dsoSortExpression+        , "SourceField"    =? _dsoSourceField+        ]++data DoubleArrayOptions = DoubleArrayOptions+    { _daoDefaultValue  :: Maybe Double+    , _daoFacetEnabled  :: Maybe Bool+    , _daoReturnEnabled :: Maybe Bool+    , _daoSearchEnabled :: Maybe Bool+    , _daoSourceFields  :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DoubleArrayOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'daoDefaultValue' @::@ 'Maybe' 'Double'+--+-- * 'daoFacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'daoReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'daoSearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'daoSourceFields' @::@ 'Maybe' 'Text'+--+doubleArrayOptions :: DoubleArrayOptions+doubleArrayOptions = DoubleArrayOptions+    { _daoDefaultValue  = Nothing+    , _daoSourceFields  = Nothing+    , _daoFacetEnabled  = Nothing+    , _daoSearchEnabled = Nothing+    , _daoReturnEnabled = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+daoDefaultValue :: Lens' DoubleArrayOptions (Maybe Double)+daoDefaultValue = lens _daoDefaultValue (\s a -> s { _daoDefaultValue = a })++-- | Whether facet information can be returned for the field.+daoFacetEnabled :: Lens' DoubleArrayOptions (Maybe Bool)+daoFacetEnabled = lens _daoFacetEnabled (\s a -> s { _daoFacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+daoReturnEnabled :: Lens' DoubleArrayOptions (Maybe Bool)+daoReturnEnabled = lens _daoReturnEnabled (\s a -> s { _daoReturnEnabled = a })++-- | Whether the contents of the field are searchable.+daoSearchEnabled :: Lens' DoubleArrayOptions (Maybe Bool)+daoSearchEnabled = lens _daoSearchEnabled (\s a -> s { _daoSearchEnabled = a })++-- | A list of source fields to map to the field.+daoSourceFields :: Lens' DoubleArrayOptions (Maybe Text)+daoSourceFields = lens _daoSourceFields (\s a -> s { _daoSourceFields = a })++instance FromXML DoubleArrayOptions where+    parseXML x = DoubleArrayOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SourceFields"++instance ToQuery DoubleArrayOptions where+    toQuery DoubleArrayOptions{..} = mconcat+        [ "DefaultValue"  =? _daoDefaultValue+        , "FacetEnabled"  =? _daoFacetEnabled+        , "ReturnEnabled" =? _daoReturnEnabled+        , "SearchEnabled" =? _daoSearchEnabled+        , "SourceFields"  =? _daoSourceFields+        ]++data IndexField = IndexField+    { _ifDateArrayOptions    :: Maybe DateArrayOptions+    , _ifDateOptions         :: Maybe DateOptions+    , _ifDoubleArrayOptions  :: Maybe DoubleArrayOptions+    , _ifDoubleOptions       :: Maybe DoubleOptions+    , _ifIndexFieldName      :: Text+    , _ifIndexFieldType      :: Text+    , _ifIntArrayOptions     :: Maybe IntArrayOptions+    , _ifIntOptions          :: Maybe IntOptions+    , _ifLatLonOptions       :: Maybe LatLonOptions+    , _ifLiteralArrayOptions :: Maybe LiteralArrayOptions+    , _ifLiteralOptions      :: Maybe LiteralOptions+    , _ifTextArrayOptions    :: Maybe TextArrayOptions+    , _ifTextOptions         :: Maybe TextOptions+    } deriving (Eq, Show)++-- | 'IndexField' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ifDateArrayOptions' @::@ 'Maybe' 'DateArrayOptions'+--+-- * 'ifDateOptions' @::@ 'Maybe' 'DateOptions'+--+-- * 'ifDoubleArrayOptions' @::@ 'Maybe' 'DoubleArrayOptions'+--+-- * 'ifDoubleOptions' @::@ 'Maybe' 'DoubleOptions'+--+-- * 'ifIndexFieldName' @::@ 'Text'+--+-- * 'ifIndexFieldType' @::@ 'Text'+--+-- * 'ifIntArrayOptions' @::@ 'Maybe' 'IntArrayOptions'+--+-- * 'ifIntOptions' @::@ 'Maybe' 'IntOptions'+--+-- * 'ifLatLonOptions' @::@ 'Maybe' 'LatLonOptions'+--+-- * 'ifLiteralArrayOptions' @::@ 'Maybe' 'LiteralArrayOptions'+--+-- * 'ifLiteralOptions' @::@ 'Maybe' 'LiteralOptions'+--+-- * 'ifTextArrayOptions' @::@ 'Maybe' 'TextArrayOptions'+--+-- * 'ifTextOptions' @::@ 'Maybe' 'TextOptions'+--+indexField :: Text -- ^ 'ifIndexFieldName'+           -> Text -- ^ 'ifIndexFieldType'+           -> IndexField+indexField p1 p2 = IndexField+    { _ifIndexFieldName      = p1+    , _ifIndexFieldType      = p2+    , _ifIntOptions          = Nothing+    , _ifDoubleOptions       = Nothing+    , _ifLiteralOptions      = Nothing+    , _ifTextOptions         = Nothing+    , _ifDateOptions         = Nothing+    , _ifLatLonOptions       = Nothing+    , _ifIntArrayOptions     = Nothing+    , _ifDoubleArrayOptions  = Nothing+    , _ifLiteralArrayOptions = Nothing+    , _ifTextArrayOptions    = Nothing+    , _ifDateArrayOptions    = Nothing+    }++ifDateArrayOptions :: Lens' IndexField (Maybe DateArrayOptions)+ifDateArrayOptions =+    lens _ifDateArrayOptions (\s a -> s { _ifDateArrayOptions = a })++ifDateOptions :: Lens' IndexField (Maybe DateOptions)+ifDateOptions = lens _ifDateOptions (\s a -> s { _ifDateOptions = a })++ifDoubleArrayOptions :: Lens' IndexField (Maybe DoubleArrayOptions)+ifDoubleArrayOptions =+    lens _ifDoubleArrayOptions (\s a -> s { _ifDoubleArrayOptions = a })++ifDoubleOptions :: Lens' IndexField (Maybe DoubleOptions)+ifDoubleOptions = lens _ifDoubleOptions (\s a -> s { _ifDoubleOptions = a })++-- | The name of a field in the search index. Field names must begin with a+-- letter and can contain the following characters: a-z (lowercase), 0-9,+-- and _ (underscore). Uppercase letters and hyphens are not allowed. The+-- name "score" is reserved and cannot be specified as field or expression+-- name.+ifIndexFieldName :: Lens' IndexField Text+ifIndexFieldName = lens _ifIndexFieldName (\s a -> s { _ifIndexFieldName = a })++ifIndexFieldType :: Lens' IndexField Text+ifIndexFieldType = lens _ifIndexFieldType (\s a -> s { _ifIndexFieldType = a })++ifIntArrayOptions :: Lens' IndexField (Maybe IntArrayOptions)+ifIntArrayOptions =+    lens _ifIntArrayOptions (\s a -> s { _ifIntArrayOptions = a })++ifIntOptions :: Lens' IndexField (Maybe IntOptions)+ifIntOptions = lens _ifIntOptions (\s a -> s { _ifIntOptions = a })++ifLatLonOptions :: Lens' IndexField (Maybe LatLonOptions)+ifLatLonOptions = lens _ifLatLonOptions (\s a -> s { _ifLatLonOptions = a })++ifLiteralArrayOptions :: Lens' IndexField (Maybe LiteralArrayOptions)+ifLiteralArrayOptions =+    lens _ifLiteralArrayOptions (\s a -> s { _ifLiteralArrayOptions = a })++ifLiteralOptions :: Lens' IndexField (Maybe LiteralOptions)+ifLiteralOptions = lens _ifLiteralOptions (\s a -> s { _ifLiteralOptions = a })++ifTextArrayOptions :: Lens' IndexField (Maybe TextArrayOptions)+ifTextArrayOptions =+    lens _ifTextArrayOptions (\s a -> s { _ifTextArrayOptions = a })++ifTextOptions :: Lens' IndexField (Maybe TextOptions)+ifTextOptions = lens _ifTextOptions (\s a -> s { _ifTextOptions = a })++instance FromXML IndexField where+    parseXML x = IndexField+        <$> x .@? "DateArrayOptions"+        <*> x .@? "DateOptions"+        <*> x .@? "DoubleArrayOptions"+        <*> x .@? "DoubleOptions"+        <*> x .@  "IndexFieldName"+        <*> x .@  "IndexFieldType"+        <*> x .@? "IntArrayOptions"+        <*> x .@? "IntOptions"+        <*> x .@? "LatLonOptions"+        <*> x .@? "LiteralArrayOptions"+        <*> x .@? "LiteralOptions"+        <*> x .@? "TextArrayOptions"+        <*> x .@? "TextOptions"++instance ToQuery IndexField where+    toQuery IndexField{..} = mconcat+        [ "DateArrayOptions"    =? _ifDateArrayOptions+        , "DateOptions"         =? _ifDateOptions+        , "DoubleArrayOptions"  =? _ifDoubleArrayOptions+        , "DoubleOptions"       =? _ifDoubleOptions+        , "IndexFieldName"      =? _ifIndexFieldName+        , "IndexFieldType"      =? _ifIndexFieldType+        , "IntArrayOptions"     =? _ifIntArrayOptions+        , "IntOptions"          =? _ifIntOptions+        , "LatLonOptions"       =? _ifLatLonOptions+        , "LiteralArrayOptions" =? _ifLiteralArrayOptions+        , "LiteralOptions"      =? _ifLiteralOptions+        , "TextArrayOptions"    =? _ifTextArrayOptions+        , "TextOptions"         =? _ifTextOptions+        ]++data DateOptions = DateOptions+    { _doDefaultValue  :: Maybe Text+    , _doFacetEnabled  :: Maybe Bool+    , _doReturnEnabled :: Maybe Bool+    , _doSearchEnabled :: Maybe Bool+    , _doSortEnabled   :: Maybe Bool+    , _doSourceField   :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DateOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'doDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'doFacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'doReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'doSearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'doSortEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'doSourceField' @::@ 'Maybe' 'Text'+--+dateOptions :: DateOptions+dateOptions = DateOptions+    { _doDefaultValue  = Nothing+    , _doSourceField   = Nothing+    , _doFacetEnabled  = Nothing+    , _doSearchEnabled = Nothing+    , _doReturnEnabled = Nothing+    , _doSortEnabled   = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+doDefaultValue :: Lens' DateOptions (Maybe Text)+doDefaultValue = lens _doDefaultValue (\s a -> s { _doDefaultValue = a })++-- | Whether facet information can be returned for the field.+doFacetEnabled :: Lens' DateOptions (Maybe Bool)+doFacetEnabled = lens _doFacetEnabled (\s a -> s { _doFacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+doReturnEnabled :: Lens' DateOptions (Maybe Bool)+doReturnEnabled = lens _doReturnEnabled (\s a -> s { _doReturnEnabled = a })++-- | Whether the contents of the field are searchable.+doSearchEnabled :: Lens' DateOptions (Maybe Bool)+doSearchEnabled = lens _doSearchEnabled (\s a -> s { _doSearchEnabled = a })++-- | Whether the field can be used to sort the search results.+doSortEnabled :: Lens' DateOptions (Maybe Bool)+doSortEnabled = lens _doSortEnabled (\s a -> s { _doSortEnabled = a })++doSourceField :: Lens' DateOptions (Maybe Text)+doSourceField = lens _doSourceField (\s a -> s { _doSourceField = a })++instance FromXML DateOptions where+    parseXML x = DateOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SortEnabled"+        <*> x .@? "SourceField"++instance ToQuery DateOptions where+    toQuery DateOptions{..} = mconcat+        [ "DefaultValue"  =? _doDefaultValue+        , "FacetEnabled"  =? _doFacetEnabled+        , "ReturnEnabled" =? _doReturnEnabled+        , "SearchEnabled" =? _doSearchEnabled+        , "SortEnabled"   =? _doSortEnabled+        , "SourceField"   =? _doSourceField+        ]++data OptionState+    = Active                 -- ^ Active+    | FailedToValidate       -- ^ FailedToValidate+    | Processing             -- ^ Processing+    | RequiresIndexDocuments -- ^ RequiresIndexDocuments+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable OptionState++instance FromText OptionState where+    parser = match "Active"                 Active+         <|> match "FailedToValidate"       FailedToValidate+         <|> match "Processing"             Processing+         <|> match "RequiresIndexDocuments" RequiresIndexDocuments++instance ToText OptionState where+    toText = \case+        Active                 -> "Active"+        FailedToValidate       -> "FailedToValidate"+        Processing             -> "Processing"+        RequiresIndexDocuments -> "RequiresIndexDocuments"++instance FromXML OptionState where+    parseXML = parseXMLText "OptionState"++instance ToQuery OptionState where+    toQuery = toQuery . toText++data TextArrayOptions = TextArrayOptions+    { _taoAnalysisScheme   :: Maybe Text+    , _taoDefaultValue     :: Maybe Text+    , _taoHighlightEnabled :: Maybe Bool+    , _taoReturnEnabled    :: Maybe Bool+    , _taoSourceFields     :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'TextArrayOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'taoAnalysisScheme' @::@ 'Maybe' 'Text'+--+-- * 'taoDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'taoHighlightEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'taoReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'taoSourceFields' @::@ 'Maybe' 'Text'+--+textArrayOptions :: TextArrayOptions+textArrayOptions = TextArrayOptions+    { _taoDefaultValue     = Nothing+    , _taoSourceFields     = Nothing+    , _taoReturnEnabled    = Nothing+    , _taoHighlightEnabled = Nothing+    , _taoAnalysisScheme   = Nothing+    }++-- | The name of an analysis scheme for a text-array field.+taoAnalysisScheme :: Lens' TextArrayOptions (Maybe Text)+taoAnalysisScheme =+    lens _taoAnalysisScheme (\s a -> s { _taoAnalysisScheme = a })++-- | A value to use for the field if the field isn't specified for a document.+taoDefaultValue :: Lens' TextArrayOptions (Maybe Text)+taoDefaultValue = lens _taoDefaultValue (\s a -> s { _taoDefaultValue = a })++-- | Whether highlights can be returned for the field.+taoHighlightEnabled :: Lens' TextArrayOptions (Maybe Bool)+taoHighlightEnabled =+    lens _taoHighlightEnabled (\s a -> s { _taoHighlightEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+taoReturnEnabled :: Lens' TextArrayOptions (Maybe Bool)+taoReturnEnabled = lens _taoReturnEnabled (\s a -> s { _taoReturnEnabled = a })++-- | A list of source fields to map to the field.+taoSourceFields :: Lens' TextArrayOptions (Maybe Text)+taoSourceFields = lens _taoSourceFields (\s a -> s { _taoSourceFields = a })++instance FromXML TextArrayOptions where+    parseXML x = TextArrayOptions+        <$> x .@? "AnalysisScheme"+        <*> x .@? "DefaultValue"+        <*> x .@? "HighlightEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SourceFields"++instance ToQuery TextArrayOptions where+    toQuery TextArrayOptions{..} = mconcat+        [ "AnalysisScheme"   =? _taoAnalysisScheme+        , "DefaultValue"     =? _taoDefaultValue+        , "HighlightEnabled" =? _taoHighlightEnabled+        , "ReturnEnabled"    =? _taoReturnEnabled+        , "SourceFields"     =? _taoSourceFields+        ]++data AlgorithmicStemming+    = Full    -- ^ full+    | Light   -- ^ light+    | Minimal -- ^ minimal+    | None    -- ^ none+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable AlgorithmicStemming++instance FromText AlgorithmicStemming where+    parser = match "full"    Full+         <|> match "light"   Light+         <|> match "minimal" Minimal+         <|> match "none"    None++instance ToText AlgorithmicStemming where+    toText = \case+        Full    -> "full"+        Light   -> "light"+        Minimal -> "minimal"+        None    -> "none"++instance FromXML AlgorithmicStemming where+    parseXML = parseXMLText "AlgorithmicStemming"++instance ToQuery AlgorithmicStemming where+    toQuery = toQuery . toText++data AnalysisScheme = AnalysisScheme+    { _asAnalysisOptions        :: Maybe AnalysisOptions+    , _asAnalysisSchemeLanguage :: Text+    , _asAnalysisSchemeName     :: Text+    } deriving (Eq, Show)++-- | 'AnalysisScheme' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'asAnalysisOptions' @::@ 'Maybe' 'AnalysisOptions'+--+-- * 'asAnalysisSchemeLanguage' @::@ 'Text'+--+-- * 'asAnalysisSchemeName' @::@ 'Text'+--+analysisScheme :: Text -- ^ 'asAnalysisSchemeName'+               -> Text -- ^ 'asAnalysisSchemeLanguage'+               -> AnalysisScheme+analysisScheme p1 p2 = AnalysisScheme+    { _asAnalysisSchemeName     = p1+    , _asAnalysisSchemeLanguage = p2+    , _asAnalysisOptions        = Nothing+    }++asAnalysisOptions :: Lens' AnalysisScheme (Maybe AnalysisOptions)+asAnalysisOptions =+    lens _asAnalysisOptions (\s a -> s { _asAnalysisOptions = a })++asAnalysisSchemeLanguage :: Lens' AnalysisScheme Text+asAnalysisSchemeLanguage =+    lens _asAnalysisSchemeLanguage+        (\s a -> s { _asAnalysisSchemeLanguage = a })++asAnalysisSchemeName :: Lens' AnalysisScheme Text+asAnalysisSchemeName =+    lens _asAnalysisSchemeName (\s a -> s { _asAnalysisSchemeName = a })++instance FromXML AnalysisScheme where+    parseXML x = AnalysisScheme+        <$> x .@? "AnalysisOptions"+        <*> x .@  "AnalysisSchemeLanguage"+        <*> x .@  "AnalysisSchemeName"++instance ToQuery AnalysisScheme where+    toQuery AnalysisScheme{..} = mconcat+        [ "AnalysisOptions"        =? _asAnalysisOptions+        , "AnalysisSchemeLanguage" =? _asAnalysisSchemeLanguage+        , "AnalysisSchemeName"     =? _asAnalysisSchemeName+        ]++data ScalingParameters = ScalingParameters+    { _spDesiredInstanceType     :: Maybe Text+    , _spDesiredPartitionCount   :: Maybe Nat+    , _spDesiredReplicationCount :: Maybe Nat+    } deriving (Eq, Ord, Show)++-- | 'ScalingParameters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'spDesiredInstanceType' @::@ 'Maybe' 'Text'+--+-- * 'spDesiredPartitionCount' @::@ 'Maybe' 'Natural'+--+-- * 'spDesiredReplicationCount' @::@ 'Maybe' 'Natural'+--+scalingParameters :: ScalingParameters+scalingParameters = ScalingParameters+    { _spDesiredInstanceType     = Nothing+    , _spDesiredReplicationCount = Nothing+    , _spDesiredPartitionCount   = Nothing+    }++-- | The instance type that you want to preconfigure for your domain. For+-- example, search.m1.small.+spDesiredInstanceType :: Lens' ScalingParameters (Maybe Text)+spDesiredInstanceType =+    lens _spDesiredInstanceType (\s a -> s { _spDesiredInstanceType = a })++-- | The number of partitions you want to preconfigure for your domain. Only+-- valid when you select m2.2xlarge as the desired instance type.+spDesiredPartitionCount :: Lens' ScalingParameters (Maybe Natural)+spDesiredPartitionCount =+    lens _spDesiredPartitionCount (\s a -> s { _spDesiredPartitionCount = a })+        . mapping _Nat++-- | The number of replicas you want to preconfigure for each index partition.+spDesiredReplicationCount :: Lens' ScalingParameters (Maybe Natural)+spDesiredReplicationCount =+    lens _spDesiredReplicationCount+        (\s a -> s { _spDesiredReplicationCount = a })+            . mapping _Nat++instance FromXML ScalingParameters where+    parseXML x = ScalingParameters+        <$> x .@? "DesiredInstanceType"+        <*> x .@? "DesiredPartitionCount"+        <*> x .@? "DesiredReplicationCount"++instance ToQuery ScalingParameters where+    toQuery ScalingParameters{..} = mconcat+        [ "DesiredInstanceType"     =? _spDesiredInstanceType+        , "DesiredPartitionCount"   =? _spDesiredPartitionCount+        , "DesiredReplicationCount" =? _spDesiredReplicationCount+        ]++data AnalysisOptions = AnalysisOptions+    { _aoAlgorithmicStemming            :: Maybe Text+    , _aoJapaneseTokenizationDictionary :: Maybe Text+    , _aoStemmingDictionary             :: Maybe Text+    , _aoStopwords                      :: Maybe Text+    , _aoSynonyms                       :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'AnalysisOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aoAlgorithmicStemming' @::@ 'Maybe' 'Text'+--+-- * 'aoJapaneseTokenizationDictionary' @::@ 'Maybe' 'Text'+--+-- * 'aoStemmingDictionary' @::@ 'Maybe' 'Text'+--+-- * 'aoStopwords' @::@ 'Maybe' 'Text'+--+-- * 'aoSynonyms' @::@ 'Maybe' 'Text'+--+analysisOptions :: AnalysisOptions+analysisOptions = AnalysisOptions+    { _aoSynonyms                       = Nothing+    , _aoStopwords                      = Nothing+    , _aoStemmingDictionary             = Nothing+    , _aoJapaneseTokenizationDictionary = Nothing+    , _aoAlgorithmicStemming            = Nothing+    }++-- | The level of algorithmic stemming to perform: none, minimal, light, or+-- full. The available levels vary depending on the language. For more+-- information, see Language Specific Text Processing Settings in the Amazon+-- CloudSearch Developer Guide.+aoAlgorithmicStemming :: Lens' AnalysisOptions (Maybe Text)+aoAlgorithmicStemming =+    lens _aoAlgorithmicStemming (\s a -> s { _aoAlgorithmicStemming = a })++-- | A JSON array that contains a collection of terms, tokens, readings and+-- part of speech for Japanese Tokenizaiton. The Japanese tokenization+-- dictionary enables you to override the default tokenization for selected+-- terms. This is only valid for Japanese language fields.+aoJapaneseTokenizationDictionary :: Lens' AnalysisOptions (Maybe Text)+aoJapaneseTokenizationDictionary =+    lens _aoJapaneseTokenizationDictionary+        (\s a -> s { _aoJapaneseTokenizationDictionary = a })++-- | A JSON object that contains a collection of string:value pairs that each+-- map a term to its stem. For example, {"term1": "stem1", "term2": "stem2",+-- "term3": "stem3"}. The stemming dictionary is applied in addition to any+-- algorithmic stemming. This enables you to override the results of the+-- algorithmic stemming to correct specific cases of overstemming or+-- understemming. The maximum size of a stemming dictionary is 500 KB.+aoStemmingDictionary :: Lens' AnalysisOptions (Maybe Text)+aoStemmingDictionary =+    lens _aoStemmingDictionary (\s a -> s { _aoStemmingDictionary = a })++-- | A JSON array of terms to ignore during indexing and searching. For+-- example, ["a", "an", "the", "of"]. The stopwords dictionary must+-- explicitly list each word you want to ignore. Wildcards and regular+-- expressions are not supported.+aoStopwords :: Lens' AnalysisOptions (Maybe Text)+aoStopwords = lens _aoStopwords (\s a -> s { _aoStopwords = a })++-- | A JSON object that defines synonym groups and aliases. A synonym group is+-- an array of arrays, where each sub-array is a group of terms where each+-- term in the group is considered a synonym of every other term in the+-- group. The aliases value is an object that contains a collection of+-- string:value pairs where the string specifies a term and the array of+-- values specifies each of the aliases for that term. An alias is+-- considered a synonym of the specified term, but the term is not+-- considered a synonym of the alias. For more information about specifying+-- synonyms, see Synonyms in the Amazon CloudSearch Developer Guide.+aoSynonyms :: Lens' AnalysisOptions (Maybe Text)+aoSynonyms = lens _aoSynonyms (\s a -> s { _aoSynonyms = a })++instance FromXML AnalysisOptions where+    parseXML x = AnalysisOptions+        <$> x .@? "AlgorithmicStemming"+        <*> x .@? "JapaneseTokenizationDictionary"+        <*> x .@? "StemmingDictionary"+        <*> x .@? "Stopwords"+        <*> x .@? "Synonyms"++instance ToQuery AnalysisOptions where+    toQuery AnalysisOptions{..} = mconcat+        [ "AlgorithmicStemming"            =? _aoAlgorithmicStemming+        , "JapaneseTokenizationDictionary" =? _aoJapaneseTokenizationDictionary+        , "StemmingDictionary"             =? _aoStemmingDictionary+        , "Stopwords"                      =? _aoStopwords+        , "Synonyms"                       =? _aoSynonyms+        ]++data DoubleOptions = DoubleOptions+    { _do1DefaultValue  :: Maybe Double+    , _do1FacetEnabled  :: Maybe Bool+    , _do1ReturnEnabled :: Maybe Bool+    , _do1SearchEnabled :: Maybe Bool+    , _do1SortEnabled   :: Maybe Bool+    , _do1SourceField   :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DoubleOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'do1DefaultValue' @::@ 'Maybe' 'Double'+--+-- * 'do1FacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'do1ReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'do1SearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'do1SortEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'do1SourceField' @::@ 'Maybe' 'Text'+--+doubleOptions :: DoubleOptions+doubleOptions = DoubleOptions+    { _do1DefaultValue  = Nothing+    , _do1SourceField   = Nothing+    , _do1FacetEnabled  = Nothing+    , _do1SearchEnabled = Nothing+    , _do1ReturnEnabled = Nothing+    , _do1SortEnabled   = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+-- This can be important if you are using the field in an expression and+-- that field is not present in every document.+do1DefaultValue :: Lens' DoubleOptions (Maybe Double)+do1DefaultValue = lens _do1DefaultValue (\s a -> s { _do1DefaultValue = a })++-- | Whether facet information can be returned for the field.+do1FacetEnabled :: Lens' DoubleOptions (Maybe Bool)+do1FacetEnabled = lens _do1FacetEnabled (\s a -> s { _do1FacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+do1ReturnEnabled :: Lens' DoubleOptions (Maybe Bool)+do1ReturnEnabled = lens _do1ReturnEnabled (\s a -> s { _do1ReturnEnabled = a })++-- | Whether the contents of the field are searchable.+do1SearchEnabled :: Lens' DoubleOptions (Maybe Bool)+do1SearchEnabled = lens _do1SearchEnabled (\s a -> s { _do1SearchEnabled = a })++-- | Whether the field can be used to sort the search results.+do1SortEnabled :: Lens' DoubleOptions (Maybe Bool)+do1SortEnabled = lens _do1SortEnabled (\s a -> s { _do1SortEnabled = a })++-- | The name of the source field to map to the field.+do1SourceField :: Lens' DoubleOptions (Maybe Text)+do1SourceField = lens _do1SourceField (\s a -> s { _do1SourceField = a })++instance FromXML DoubleOptions where+    parseXML x = DoubleOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SortEnabled"+        <*> x .@? "SourceField"++instance ToQuery DoubleOptions where+    toQuery DoubleOptions{..} = mconcat+        [ "DefaultValue"  =? _do1DefaultValue+        , "FacetEnabled"  =? _do1FacetEnabled+        , "ReturnEnabled" =? _do1ReturnEnabled+        , "SearchEnabled" =? _do1SearchEnabled+        , "SortEnabled"   =? _do1SortEnabled+        , "SourceField"   =? _do1SourceField+        ]++data TextOptions = TextOptions+    { _toAnalysisScheme   :: Maybe Text+    , _toDefaultValue     :: Maybe Text+    , _toHighlightEnabled :: Maybe Bool+    , _toReturnEnabled    :: Maybe Bool+    , _toSortEnabled      :: Maybe Bool+    , _toSourceField      :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'TextOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'toAnalysisScheme' @::@ 'Maybe' 'Text'+--+-- * 'toDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'toHighlightEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'toReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'toSortEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'toSourceField' @::@ 'Maybe' 'Text'+--+textOptions :: TextOptions+textOptions = TextOptions+    { _toDefaultValue     = Nothing+    , _toSourceField      = Nothing+    , _toReturnEnabled    = Nothing+    , _toSortEnabled      = Nothing+    , _toHighlightEnabled = Nothing+    , _toAnalysisScheme   = Nothing+    }++-- | The name of an analysis scheme for a text field.+toAnalysisScheme :: Lens' TextOptions (Maybe Text)+toAnalysisScheme = lens _toAnalysisScheme (\s a -> s { _toAnalysisScheme = a })++-- | A value to use for the field if the field isn't specified for a document.+toDefaultValue :: Lens' TextOptions (Maybe Text)+toDefaultValue = lens _toDefaultValue (\s a -> s { _toDefaultValue = a })++-- | Whether highlights can be returned for the field.+toHighlightEnabled :: Lens' TextOptions (Maybe Bool)+toHighlightEnabled =+    lens _toHighlightEnabled (\s a -> s { _toHighlightEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+toReturnEnabled :: Lens' TextOptions (Maybe Bool)+toReturnEnabled = lens _toReturnEnabled (\s a -> s { _toReturnEnabled = a })++-- | Whether the field can be used to sort the search results.+toSortEnabled :: Lens' TextOptions (Maybe Bool)+toSortEnabled = lens _toSortEnabled (\s a -> s { _toSortEnabled = a })++toSourceField :: Lens' TextOptions (Maybe Text)+toSourceField = lens _toSourceField (\s a -> s { _toSourceField = a })++instance FromXML TextOptions where+    parseXML x = TextOptions+        <$> x .@? "AnalysisScheme"+        <*> x .@? "DefaultValue"+        <*> x .@? "HighlightEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SortEnabled"+        <*> x .@? "SourceField"++instance ToQuery TextOptions where+    toQuery TextOptions{..} = mconcat+        [ "AnalysisScheme"   =? _toAnalysisScheme+        , "DefaultValue"     =? _toDefaultValue+        , "HighlightEnabled" =? _toHighlightEnabled+        , "ReturnEnabled"    =? _toReturnEnabled+        , "SortEnabled"      =? _toSortEnabled+        , "SourceField"      =? _toSourceField+        ]++data AvailabilityOptionsStatus = AvailabilityOptionsStatus+    { _aosOptions :: Bool+    , _aosStatus  :: OptionStatus+    } deriving (Eq, Show)++-- | 'AvailabilityOptionsStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'aosOptions' @::@ 'Bool'+--+-- * 'aosStatus' @::@ 'OptionStatus'+--+availabilityOptionsStatus :: Bool -- ^ 'aosOptions'+                          -> OptionStatus -- ^ 'aosStatus'+                          -> AvailabilityOptionsStatus+availabilityOptionsStatus p1 p2 = AvailabilityOptionsStatus+    { _aosOptions = p1+    , _aosStatus  = p2+    }++-- | The availability options configured for the domain.+aosOptions :: Lens' AvailabilityOptionsStatus Bool+aosOptions = lens _aosOptions (\s a -> s { _aosOptions = a })++aosStatus :: Lens' AvailabilityOptionsStatus OptionStatus+aosStatus = lens _aosStatus (\s a -> s { _aosStatus = a })++instance FromXML AvailabilityOptionsStatus where+    parseXML x = AvailabilityOptionsStatus+        <$> x .@  "Options"+        <*> x .@  "Status"++instance ToQuery AvailabilityOptionsStatus where+    toQuery AvailabilityOptionsStatus{..} = mconcat+        [ "Options" =? _aosOptions+        , "Status"  =? _aosStatus+        ]++data IndexFieldStatus = IndexFieldStatus+    { _ifsOptions :: IndexField+    , _ifsStatus  :: OptionStatus+    } deriving (Eq, Show)++-- | 'IndexFieldStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ifsOptions' @::@ 'IndexField'+--+-- * 'ifsStatus' @::@ 'OptionStatus'+--+indexFieldStatus :: IndexField -- ^ 'ifsOptions'+                 -> OptionStatus -- ^ 'ifsStatus'+                 -> IndexFieldStatus+indexFieldStatus p1 p2 = IndexFieldStatus+    { _ifsOptions = p1+    , _ifsStatus  = p2+    }++ifsOptions :: Lens' IndexFieldStatus IndexField+ifsOptions = lens _ifsOptions (\s a -> s { _ifsOptions = a })++ifsStatus :: Lens' IndexFieldStatus OptionStatus+ifsStatus = lens _ifsStatus (\s a -> s { _ifsStatus = a })++instance FromXML IndexFieldStatus where+    parseXML x = IndexFieldStatus+        <$> x .@  "Options"+        <*> x .@  "Status"++instance ToQuery IndexFieldStatus where+    toQuery IndexFieldStatus{..} = mconcat+        [ "Options" =? _ifsOptions+        , "Status"  =? _ifsStatus+        ]++data ScalingParametersStatus = ScalingParametersStatus+    { _spsOptions :: ScalingParameters+    , _spsStatus  :: OptionStatus+    } deriving (Eq, Show)++-- | 'ScalingParametersStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'spsOptions' @::@ 'ScalingParameters'+--+-- * 'spsStatus' @::@ 'OptionStatus'+--+scalingParametersStatus :: ScalingParameters -- ^ 'spsOptions'+                        -> OptionStatus -- ^ 'spsStatus'+                        -> ScalingParametersStatus+scalingParametersStatus p1 p2 = ScalingParametersStatus+    { _spsOptions = p1+    , _spsStatus  = p2+    }++spsOptions :: Lens' ScalingParametersStatus ScalingParameters+spsOptions = lens _spsOptions (\s a -> s { _spsOptions = a })++spsStatus :: Lens' ScalingParametersStatus OptionStatus+spsStatus = lens _spsStatus (\s a -> s { _spsStatus = a })++instance FromXML ScalingParametersStatus where+    parseXML x = ScalingParametersStatus+        <$> x .@  "Options"+        <*> x .@  "Status"++instance ToQuery ScalingParametersStatus where+    toQuery ScalingParametersStatus{..} = mconcat+        [ "Options" =? _spsOptions+        , "Status"  =? _spsStatus+        ]++data AnalysisSchemeStatus = AnalysisSchemeStatus+    { _assOptions :: AnalysisScheme+    , _assStatus  :: OptionStatus+    } deriving (Eq, Show)++-- | 'AnalysisSchemeStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'assOptions' @::@ 'AnalysisScheme'+--+-- * 'assStatus' @::@ 'OptionStatus'+--+analysisSchemeStatus :: AnalysisScheme -- ^ 'assOptions'+                     -> OptionStatus -- ^ 'assStatus'+                     -> AnalysisSchemeStatus+analysisSchemeStatus p1 p2 = AnalysisSchemeStatus+    { _assOptions = p1+    , _assStatus  = p2+    }++assOptions :: Lens' AnalysisSchemeStatus AnalysisScheme+assOptions = lens _assOptions (\s a -> s { _assOptions = a })++assStatus :: Lens' AnalysisSchemeStatus OptionStatus+assStatus = lens _assStatus (\s a -> s { _assStatus = a })++instance FromXML AnalysisSchemeStatus where+    parseXML x = AnalysisSchemeStatus+        <$> x .@  "Options"+        <*> x .@  "Status"++instance ToQuery AnalysisSchemeStatus where+    toQuery AnalysisSchemeStatus{..} = mconcat+        [ "Options" =? _assOptions+        , "Status"  =? _assStatus+        ]++newtype ServiceEndpoint = ServiceEndpoint+    { _seEndpoint :: Maybe Text+    } deriving (Eq, Ord, Show, Monoid)++-- | 'ServiceEndpoint' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'seEndpoint' @::@ 'Maybe' 'Text'+--+serviceEndpoint :: ServiceEndpoint+serviceEndpoint = ServiceEndpoint+    { _seEndpoint = Nothing+    }++seEndpoint :: Lens' ServiceEndpoint (Maybe Text)+seEndpoint = lens _seEndpoint (\s a -> s { _seEndpoint = a })++instance FromXML ServiceEndpoint where+    parseXML x = ServiceEndpoint+        <$> x .@? "Endpoint"++instance ToQuery ServiceEndpoint where+    toQuery ServiceEndpoint{..} = mconcat+        [ "Endpoint" =? _seEndpoint+        ]++data Limits = Limits+    { _lMaximumPartitionCount   :: Nat+    , _lMaximumReplicationCount :: Nat+    } deriving (Eq, Ord, Show)++-- | 'Limits' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lMaximumPartitionCount' @::@ 'Natural'+--+-- * 'lMaximumReplicationCount' @::@ 'Natural'+--+limits :: Natural -- ^ 'lMaximumReplicationCount'+       -> Natural -- ^ 'lMaximumPartitionCount'+       -> Limits+limits p1 p2 = Limits+    { _lMaximumReplicationCount = withIso _Nat (const id) p1+    , _lMaximumPartitionCount   = withIso _Nat (const id) p2+    }++lMaximumPartitionCount :: Lens' Limits Natural+lMaximumPartitionCount =+    lens _lMaximumPartitionCount (\s a -> s { _lMaximumPartitionCount = a })+        . _Nat++lMaximumReplicationCount :: Lens' Limits Natural+lMaximumReplicationCount =+    lens _lMaximumReplicationCount+        (\s a -> s { _lMaximumReplicationCount = a })+            . _Nat++instance FromXML Limits where+    parseXML x = Limits+        <$> x .@  "MaximumPartitionCount"+        <*> x .@  "MaximumReplicationCount"++instance ToQuery Limits where+    toQuery Limits{..} = mconcat+        [ "MaximumPartitionCount"   =? _lMaximumPartitionCount+        , "MaximumReplicationCount" =? _lMaximumReplicationCount+        ]++data ExpressionStatus = ExpressionStatus+    { _esOptions :: Expression+    , _esStatus  :: OptionStatus+    } deriving (Eq, Show)++-- | 'ExpressionStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'esOptions' @::@ 'Expression'+--+-- * 'esStatus' @::@ 'OptionStatus'+--+expressionStatus :: Expression -- ^ 'esOptions'+                 -> OptionStatus -- ^ 'esStatus'+                 -> ExpressionStatus+expressionStatus p1 p2 = ExpressionStatus+    { _esOptions = p1+    , _esStatus  = p2+    }++-- | The expression that is evaluated for sorting while processing a search+-- request.+esOptions :: Lens' ExpressionStatus Expression+esOptions = lens _esOptions (\s a -> s { _esOptions = a })++esStatus :: Lens' ExpressionStatus OptionStatus+esStatus = lens _esStatus (\s a -> s { _esStatus = a })++instance FromXML ExpressionStatus where+    parseXML x = ExpressionStatus+        <$> x .@  "Options"+        <*> x .@  "Status"++instance ToQuery ExpressionStatus where+    toQuery ExpressionStatus{..} = mconcat+        [ "Options" =? _esOptions+        , "Status"  =? _esStatus+        ]++data IndexFieldType+    = IFTDate         -- ^ date+    | IFTDateArray    -- ^ date-array+    | IFTDouble       -- ^ double+    | IFTDoubleArray  -- ^ double-array+    | IFTInt          -- ^ int+    | IFTIntArray     -- ^ int-array+    | IFTLatlon       -- ^ latlon+    | IFTLiteral      -- ^ literal+    | IFTLiteralArray -- ^ literal-array+    | IFTText         -- ^ text+    | IFTTextArray    -- ^ text-array+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable IndexFieldType++instance FromText IndexFieldType where+    parser = match "date"          IFTDate+         <|> match "date-array"    IFTDateArray+         <|> match "double"        IFTDouble+         <|> match "double-array"  IFTDoubleArray+         <|> match "int"           IFTInt+         <|> match "int-array"     IFTIntArray+         <|> match "latlon"        IFTLatlon+         <|> match "literal"       IFTLiteral+         <|> match "literal-array" IFTLiteralArray+         <|> match "text"          IFTText+         <|> match "text-array"    IFTTextArray++instance ToText IndexFieldType where+    toText = \case+        IFTDate         -> "date"+        IFTDateArray    -> "date-array"+        IFTDouble       -> "double"+        IFTDoubleArray  -> "double-array"+        IFTInt          -> "int"+        IFTIntArray     -> "int-array"+        IFTLatlon       -> "latlon"+        IFTLiteral      -> "literal"+        IFTLiteralArray -> "literal-array"+        IFTText         -> "text"+        IFTTextArray    -> "text-array"++instance FromXML IndexFieldType where+    parseXML = parseXMLText "IndexFieldType"++instance ToQuery IndexFieldType where+    toQuery = toQuery . toText++data LatLonOptions = LatLonOptions+    { _lloDefaultValue  :: Maybe Text+    , _lloFacetEnabled  :: Maybe Bool+    , _lloReturnEnabled :: Maybe Bool+    , _lloSearchEnabled :: Maybe Bool+    , _lloSortEnabled   :: Maybe Bool+    , _lloSourceField   :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'LatLonOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'lloDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'lloFacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'lloReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'lloSearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'lloSortEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'lloSourceField' @::@ 'Maybe' 'Text'+--+latLonOptions :: LatLonOptions+latLonOptions = LatLonOptions+    { _lloDefaultValue  = Nothing+    , _lloSourceField   = Nothing+    , _lloFacetEnabled  = Nothing+    , _lloSearchEnabled = Nothing+    , _lloReturnEnabled = Nothing+    , _lloSortEnabled   = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+lloDefaultValue :: Lens' LatLonOptions (Maybe Text)+lloDefaultValue = lens _lloDefaultValue (\s a -> s { _lloDefaultValue = a })++-- | Whether facet information can be returned for the field.+lloFacetEnabled :: Lens' LatLonOptions (Maybe Bool)+lloFacetEnabled = lens _lloFacetEnabled (\s a -> s { _lloFacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+lloReturnEnabled :: Lens' LatLonOptions (Maybe Bool)+lloReturnEnabled = lens _lloReturnEnabled (\s a -> s { _lloReturnEnabled = a })++-- | Whether the contents of the field are searchable.+lloSearchEnabled :: Lens' LatLonOptions (Maybe Bool)+lloSearchEnabled = lens _lloSearchEnabled (\s a -> s { _lloSearchEnabled = a })++-- | Whether the field can be used to sort the search results.+lloSortEnabled :: Lens' LatLonOptions (Maybe Bool)+lloSortEnabled = lens _lloSortEnabled (\s a -> s { _lloSortEnabled = a })++lloSourceField :: Lens' LatLonOptions (Maybe Text)+lloSourceField = lens _lloSourceField (\s a -> s { _lloSourceField = a })++instance FromXML LatLonOptions where+    parseXML x = LatLonOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SortEnabled"+        <*> x .@? "SourceField"++instance ToQuery LatLonOptions where+    toQuery LatLonOptions{..} = mconcat+        [ "DefaultValue"  =? _lloDefaultValue+        , "FacetEnabled"  =? _lloFacetEnabled+        , "ReturnEnabled" =? _lloReturnEnabled+        , "SearchEnabled" =? _lloSearchEnabled+        , "SortEnabled"   =? _lloSortEnabled+        , "SourceField"   =? _lloSourceField+        ]++data SuggesterStatus = SuggesterStatus+    { _ssOptions :: Suggester+    , _ssStatus  :: OptionStatus+    } deriving (Eq, Show)++-- | 'SuggesterStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ssOptions' @::@ 'Suggester'+--+-- * 'ssStatus' @::@ 'OptionStatus'+--+suggesterStatus :: Suggester -- ^ 'ssOptions'+                -> OptionStatus -- ^ 'ssStatus'+                -> SuggesterStatus+suggesterStatus p1 p2 = SuggesterStatus+    { _ssOptions = p1+    , _ssStatus  = p2+    }++ssOptions :: Lens' SuggesterStatus Suggester+ssOptions = lens _ssOptions (\s a -> s { _ssOptions = a })++ssStatus :: Lens' SuggesterStatus OptionStatus+ssStatus = lens _ssStatus (\s a -> s { _ssStatus = a })++instance FromXML SuggesterStatus where+    parseXML x = SuggesterStatus+        <$> x .@  "Options"+        <*> x .@  "Status"++instance ToQuery SuggesterStatus where+    toQuery SuggesterStatus{..} = mconcat+        [ "Options" =? _ssOptions+        , "Status"  =? _ssStatus+        ]++data OptionStatus = OptionStatus+    { _osCreationDate    :: RFC822+    , _osPendingDeletion :: Maybe Bool+    , _osState           :: Text+    , _osUpdateDate      :: RFC822+    , _osUpdateVersion   :: Maybe Nat+    } deriving (Eq, Ord, Show)++-- | 'OptionStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'osCreationDate' @::@ 'UTCTime'+--+-- * 'osPendingDeletion' @::@ 'Maybe' 'Bool'+--+-- * 'osState' @::@ 'Text'+--+-- * 'osUpdateDate' @::@ 'UTCTime'+--+-- * 'osUpdateVersion' @::@ 'Maybe' 'Natural'+--+optionStatus :: UTCTime -- ^ 'osCreationDate'+             -> UTCTime -- ^ 'osUpdateDate'+             -> Text -- ^ 'osState'+             -> OptionStatus+optionStatus p1 p2 p3 = OptionStatus+    { _osCreationDate    = withIso _Time (const id) p1+    , _osUpdateDate      = withIso _Time (const id) p2+    , _osState           = p3+    , _osUpdateVersion   = Nothing+    , _osPendingDeletion = Nothing+    }++-- | A timestamp for when this option was created.+osCreationDate :: Lens' OptionStatus UTCTime+osCreationDate = lens _osCreationDate (\s a -> s { _osCreationDate = a }) . _Time++-- | Indicates that the option will be deleted once processing is complete.+osPendingDeletion :: Lens' OptionStatus (Maybe Bool)+osPendingDeletion =+    lens _osPendingDeletion (\s a -> s { _osPendingDeletion = a })++-- | The state of processing a change to an option. Possible values:+-- RequiresIndexDocuments: the option's latest value will not be deployed+-- until IndexDocuments has been called and indexing is complete.+-- Processing: the option's latest value is in the process of being+-- activated. Active: the option's latest value is completely deployed.+-- FailedToValidate: the option value is not compatible with the domain's+-- data and cannot be used to index the data. You must either modify the+-- option value or update or remove the incompatible documents.+osState :: Lens' OptionStatus Text+osState = lens _osState (\s a -> s { _osState = a })++-- | A timestamp for when this option was last updated.+osUpdateDate :: Lens' OptionStatus UTCTime+osUpdateDate = lens _osUpdateDate (\s a -> s { _osUpdateDate = a }) . _Time++-- | A unique integer that indicates when this option was last updated.+osUpdateVersion :: Lens' OptionStatus (Maybe Natural)+osUpdateVersion = lens _osUpdateVersion (\s a -> s { _osUpdateVersion = a }) . mapping _Nat++instance FromXML OptionStatus where+    parseXML x = OptionStatus+        <$> x .@  "CreationDate"+        <*> x .@? "PendingDeletion"+        <*> x .@  "State"+        <*> x .@  "UpdateDate"+        <*> x .@? "UpdateVersion"++instance ToQuery OptionStatus where+    toQuery OptionStatus{..} = mconcat+        [ "CreationDate"    =? _osCreationDate+        , "PendingDeletion" =? _osPendingDeletion+        , "State"           =? _osState+        , "UpdateDate"      =? _osUpdateDate+        , "UpdateVersion"   =? _osUpdateVersion+        ]++data LiteralArrayOptions = LiteralArrayOptions+    { _laoDefaultValue  :: Maybe Text+    , _laoFacetEnabled  :: Maybe Bool+    , _laoReturnEnabled :: Maybe Bool+    , _laoSearchEnabled :: Maybe Bool+    , _laoSourceFields  :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'LiteralArrayOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'laoDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'laoFacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'laoReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'laoSearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'laoSourceFields' @::@ 'Maybe' 'Text'+--+literalArrayOptions :: LiteralArrayOptions+literalArrayOptions = LiteralArrayOptions+    { _laoDefaultValue  = Nothing+    , _laoSourceFields  = Nothing+    , _laoFacetEnabled  = Nothing+    , _laoSearchEnabled = Nothing+    , _laoReturnEnabled = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+laoDefaultValue :: Lens' LiteralArrayOptions (Maybe Text)+laoDefaultValue = lens _laoDefaultValue (\s a -> s { _laoDefaultValue = a })++-- | Whether facet information can be returned for the field.+laoFacetEnabled :: Lens' LiteralArrayOptions (Maybe Bool)+laoFacetEnabled = lens _laoFacetEnabled (\s a -> s { _laoFacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+laoReturnEnabled :: Lens' LiteralArrayOptions (Maybe Bool)+laoReturnEnabled = lens _laoReturnEnabled (\s a -> s { _laoReturnEnabled = a })++-- | Whether the contents of the field are searchable.+laoSearchEnabled :: Lens' LiteralArrayOptions (Maybe Bool)+laoSearchEnabled = lens _laoSearchEnabled (\s a -> s { _laoSearchEnabled = a })++-- | A list of source fields to map to the field.+laoSourceFields :: Lens' LiteralArrayOptions (Maybe Text)+laoSourceFields = lens _laoSourceFields (\s a -> s { _laoSourceFields = a })++instance FromXML LiteralArrayOptions where+    parseXML x = LiteralArrayOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SourceFields"++instance ToQuery LiteralArrayOptions where+    toQuery LiteralArrayOptions{..} = mconcat+        [ "DefaultValue"  =? _laoDefaultValue+        , "FacetEnabled"  =? _laoFacetEnabled+        , "ReturnEnabled" =? _laoReturnEnabled+        , "SearchEnabled" =? _laoSearchEnabled+        , "SourceFields"  =? _laoSourceFields+        ]++data IntArrayOptions = IntArrayOptions+    { _iaoDefaultValue  :: Maybe Integer+    , _iaoFacetEnabled  :: Maybe Bool+    , _iaoReturnEnabled :: Maybe Bool+    , _iaoSearchEnabled :: Maybe Bool+    , _iaoSourceFields  :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'IntArrayOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'iaoDefaultValue' @::@ 'Maybe' 'Integer'+--+-- * 'iaoFacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'iaoReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'iaoSearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'iaoSourceFields' @::@ 'Maybe' 'Text'+--+intArrayOptions :: IntArrayOptions+intArrayOptions = IntArrayOptions+    { _iaoDefaultValue  = Nothing+    , _iaoSourceFields  = Nothing+    , _iaoFacetEnabled  = Nothing+    , _iaoSearchEnabled = Nothing+    , _iaoReturnEnabled = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+iaoDefaultValue :: Lens' IntArrayOptions (Maybe Integer)+iaoDefaultValue = lens _iaoDefaultValue (\s a -> s { _iaoDefaultValue = a })++-- | Whether facet information can be returned for the field.+iaoFacetEnabled :: Lens' IntArrayOptions (Maybe Bool)+iaoFacetEnabled = lens _iaoFacetEnabled (\s a -> s { _iaoFacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+iaoReturnEnabled :: Lens' IntArrayOptions (Maybe Bool)+iaoReturnEnabled = lens _iaoReturnEnabled (\s a -> s { _iaoReturnEnabled = a })++-- | Whether the contents of the field are searchable.+iaoSearchEnabled :: Lens' IntArrayOptions (Maybe Bool)+iaoSearchEnabled = lens _iaoSearchEnabled (\s a -> s { _iaoSearchEnabled = a })++-- | A list of source fields to map to the field.+iaoSourceFields :: Lens' IntArrayOptions (Maybe Text)+iaoSourceFields = lens _iaoSourceFields (\s a -> s { _iaoSourceFields = a })++instance FromXML IntArrayOptions where+    parseXML x = IntArrayOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SourceFields"++instance ToQuery IntArrayOptions where+    toQuery IntArrayOptions{..} = mconcat+        [ "DefaultValue"  =? _iaoDefaultValue+        , "FacetEnabled"  =? _iaoFacetEnabled+        , "ReturnEnabled" =? _iaoReturnEnabled+        , "SearchEnabled" =? _iaoSearchEnabled+        , "SourceFields"  =? _iaoSourceFields+        ]++data Expression = Expression+    { _eExpressionName  :: Text+    , _eExpressionValue :: Text+    } deriving (Eq, Ord, Show)++-- | 'Expression' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'eExpressionName' @::@ 'Text'+--+-- * 'eExpressionValue' @::@ 'Text'+--+expression :: Text -- ^ 'eExpressionName'+           -> Text -- ^ 'eExpressionValue'+           -> Expression+expression p1 p2 = Expression+    { _eExpressionName  = p1+    , _eExpressionValue = p2+    }++eExpressionName :: Lens' Expression Text+eExpressionName = lens _eExpressionName (\s a -> s { _eExpressionName = a })++eExpressionValue :: Lens' Expression Text+eExpressionValue = lens _eExpressionValue (\s a -> s { _eExpressionValue = a })++instance FromXML Expression where+    parseXML x = Expression+        <$> x .@  "ExpressionName"+        <*> x .@  "ExpressionValue"++instance ToQuery Expression where+    toQuery Expression{..} = mconcat+        [ "ExpressionName"  =? _eExpressionName+        , "ExpressionValue" =? _eExpressionValue+        ]++data SuggesterFuzzyMatching+    = SFMHigh -- ^ high+    | SFMLow  -- ^ low+    | SFMNone -- ^ none+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable SuggesterFuzzyMatching++instance FromText SuggesterFuzzyMatching where+    parser = match "high" SFMHigh+         <|> match "low"  SFMLow+         <|> match "none" SFMNone++instance ToText SuggesterFuzzyMatching where+    toText = \case+        SFMHigh -> "high"+        SFMLow  -> "low"+        SFMNone -> "none"++instance FromXML SuggesterFuzzyMatching where+    parseXML = parseXMLText "SuggesterFuzzyMatching"++instance ToQuery SuggesterFuzzyMatching where+    toQuery = toQuery . toText++data DateArrayOptions = DateArrayOptions+    { _dao1DefaultValue  :: Maybe Text+    , _dao1FacetEnabled  :: Maybe Bool+    , _dao1ReturnEnabled :: Maybe Bool+    , _dao1SearchEnabled :: Maybe Bool+    , _dao1SourceFields  :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DateArrayOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dao1DefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'dao1FacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'dao1ReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'dao1SearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'dao1SourceFields' @::@ 'Maybe' 'Text'+--+dateArrayOptions :: DateArrayOptions+dateArrayOptions = DateArrayOptions+    { _dao1DefaultValue  = Nothing+    , _dao1SourceFields  = Nothing+    , _dao1FacetEnabled  = Nothing+    , _dao1SearchEnabled = Nothing+    , _dao1ReturnEnabled = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+dao1DefaultValue :: Lens' DateArrayOptions (Maybe Text)+dao1DefaultValue = lens _dao1DefaultValue (\s a -> s { _dao1DefaultValue = a })++-- | Whether facet information can be returned for the field.+dao1FacetEnabled :: Lens' DateArrayOptions (Maybe Bool)+dao1FacetEnabled = lens _dao1FacetEnabled (\s a -> s { _dao1FacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+dao1ReturnEnabled :: Lens' DateArrayOptions (Maybe Bool)+dao1ReturnEnabled =+    lens _dao1ReturnEnabled (\s a -> s { _dao1ReturnEnabled = a })++-- | Whether the contents of the field are searchable.+dao1SearchEnabled :: Lens' DateArrayOptions (Maybe Bool)+dao1SearchEnabled =+    lens _dao1SearchEnabled (\s a -> s { _dao1SearchEnabled = a })++-- | A list of source fields to map to the field.+dao1SourceFields :: Lens' DateArrayOptions (Maybe Text)+dao1SourceFields = lens _dao1SourceFields (\s a -> s { _dao1SourceFields = a })++instance FromXML DateArrayOptions where+    parseXML x = DateArrayOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SourceFields"++instance ToQuery DateArrayOptions where+    toQuery DateArrayOptions{..} = mconcat+        [ "DefaultValue"  =? _dao1DefaultValue+        , "FacetEnabled"  =? _dao1FacetEnabled+        , "ReturnEnabled" =? _dao1ReturnEnabled+        , "SearchEnabled" =? _dao1SearchEnabled+        , "SourceFields"  =? _dao1SourceFields+        ]++data AnalysisSchemeLanguage+    = Ar     -- ^ ar+    | Bg     -- ^ bg+    | Ca     -- ^ ca+    | Cs     -- ^ cs+    | Da     -- ^ da+    | De     -- ^ de+    | El     -- ^ el+    | En     -- ^ en+    | Es     -- ^ es+    | Eu     -- ^ eu+    | Fa     -- ^ fa+    | Fi     -- ^ fi+    | Fr     -- ^ fr+    | Ga     -- ^ ga+    | Gl     -- ^ gl+    | He     -- ^ he+    | Hi     -- ^ hi+    | Hu     -- ^ hu+    | Hy     -- ^ hy+    | Id     -- ^ id+    | It     -- ^ it+    | Ja     -- ^ ja+    | Ko     -- ^ ko+    | Lv     -- ^ lv+    | Mul    -- ^ mul+    | Nl     -- ^ nl+    | No     -- ^ no+    | Pt     -- ^ pt+    | Ro     -- ^ ro+    | Ru     -- ^ ru+    | Sv     -- ^ sv+    | Th     -- ^ th+    | Tr     -- ^ tr+    | ZhHans -- ^ zh-Hans+    | ZhHant -- ^ zh-Hant+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable AnalysisSchemeLanguage++instance FromText AnalysisSchemeLanguage where+    parser = match "ar"      Ar+         <|> match "bg"      Bg+         <|> match "ca"      Ca+         <|> match "cs"      Cs+         <|> match "da"      Da+         <|> match "de"      De+         <|> match "el"      El+         <|> match "en"      En+         <|> match "es"      Es+         <|> match "eu"      Eu+         <|> match "fa"      Fa+         <|> match "fi"      Fi+         <|> match "fr"      Fr+         <|> match "ga"      Ga+         <|> match "gl"      Gl+         <|> match "he"      He+         <|> match "hi"      Hi+         <|> match "hu"      Hu+         <|> match "hy"      Hy+         <|> match "id"      Id+         <|> match "it"      It+         <|> match "ja"      Ja+         <|> match "ko"      Ko+         <|> match "lv"      Lv+         <|> match "mul"     Mul+         <|> match "nl"      Nl+         <|> match "no"      No+         <|> match "pt"      Pt+         <|> match "ro"      Ro+         <|> match "ru"      Ru+         <|> match "sv"      Sv+         <|> match "th"      Th+         <|> match "tr"      Tr+         <|> match "zh-Hans" ZhHans+         <|> match "zh-Hant" ZhHant++instance ToText AnalysisSchemeLanguage where+    toText = \case+        Ar     -> "ar"+        Bg     -> "bg"+        Ca     -> "ca"+        Cs     -> "cs"+        Da     -> "da"+        De     -> "de"+        El     -> "el"+        En     -> "en"+        Es     -> "es"+        Eu     -> "eu"+        Fa     -> "fa"+        Fi     -> "fi"+        Fr     -> "fr"+        Ga     -> "ga"+        Gl     -> "gl"+        He     -> "he"+        Hi     -> "hi"+        Hu     -> "hu"+        Hy     -> "hy"+        Id     -> "id"+        It     -> "it"+        Ja     -> "ja"+        Ko     -> "ko"+        Lv     -> "lv"+        Mul    -> "mul"+        Nl     -> "nl"+        No     -> "no"+        Pt     -> "pt"+        Ro     -> "ro"+        Ru     -> "ru"+        Sv     -> "sv"+        Th     -> "th"+        Tr     -> "tr"+        ZhHans -> "zh-Hans"+        ZhHant -> "zh-Hant"++instance FromXML AnalysisSchemeLanguage where+    parseXML = parseXMLText "AnalysisSchemeLanguage"++instance ToQuery AnalysisSchemeLanguage where+    toQuery = toQuery . toText++data PartitionInstanceType+    = SearchM1Large   -- ^ search.m1.large+    | SearchM1Small   -- ^ search.m1.small+    | SearchM22XLarge -- ^ search.m2.2xlarge+    | SearchM2XLarge  -- ^ search.m2.xlarge+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable PartitionInstanceType++instance FromText PartitionInstanceType where+    parser = match "search.m1.large"   SearchM1Large+         <|> match "search.m1.small"   SearchM1Small+         <|> match "search.m2.2xlarge" SearchM22XLarge+         <|> match "search.m2.xlarge"  SearchM2XLarge++instance ToText PartitionInstanceType where+    toText = \case+        SearchM1Large   -> "search.m1.large"+        SearchM1Small   -> "search.m1.small"+        SearchM22XLarge -> "search.m2.2xlarge"+        SearchM2XLarge  -> "search.m2.xlarge"++instance FromXML PartitionInstanceType where+    parseXML = parseXMLText "PartitionInstanceType"++instance ToQuery PartitionInstanceType where+    toQuery = toQuery . toText++data Suggester = Suggester+    { _sDocumentSuggesterOptions :: DocumentSuggesterOptions+    , _sSuggesterName            :: Text+    } deriving (Eq, Show)++-- | 'Suggester' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sDocumentSuggesterOptions' @::@ 'DocumentSuggesterOptions'+--+-- * 'sSuggesterName' @::@ 'Text'+--+suggester :: Text -- ^ 'sSuggesterName'+          -> DocumentSuggesterOptions -- ^ 'sDocumentSuggesterOptions'+          -> Suggester+suggester p1 p2 = Suggester+    { _sSuggesterName            = p1+    , _sDocumentSuggesterOptions = p2+    }++sDocumentSuggesterOptions :: Lens' Suggester DocumentSuggesterOptions+sDocumentSuggesterOptions =+    lens _sDocumentSuggesterOptions+        (\s a -> s { _sDocumentSuggesterOptions = a })++sSuggesterName :: Lens' Suggester Text+sSuggesterName = lens _sSuggesterName (\s a -> s { _sSuggesterName = a })++instance FromXML Suggester where+    parseXML x = Suggester+        <$> x .@  "DocumentSuggesterOptions"+        <*> x .@  "SuggesterName"++instance ToQuery Suggester where+    toQuery Suggester{..} = mconcat+        [ "DocumentSuggesterOptions" =? _sDocumentSuggesterOptions+        , "SuggesterName"            =? _sSuggesterName+        ]++data IntOptions = IntOptions+    { _ioDefaultValue  :: Maybe Integer+    , _ioFacetEnabled  :: Maybe Bool+    , _ioReturnEnabled :: Maybe Bool+    , _ioSearchEnabled :: Maybe Bool+    , _ioSortEnabled   :: Maybe Bool+    , _ioSourceField   :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'IntOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ioDefaultValue' @::@ 'Maybe' 'Integer'+--+-- * 'ioFacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'ioReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'ioSearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'ioSortEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'ioSourceField' @::@ 'Maybe' 'Text'+--+intOptions :: IntOptions+intOptions = IntOptions+    { _ioDefaultValue  = Nothing+    , _ioSourceField   = Nothing+    , _ioFacetEnabled  = Nothing+    , _ioSearchEnabled = Nothing+    , _ioReturnEnabled = Nothing+    , _ioSortEnabled   = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+-- This can be important if you are using the field in an expression and+-- that field is not present in every document.+ioDefaultValue :: Lens' IntOptions (Maybe Integer)+ioDefaultValue = lens _ioDefaultValue (\s a -> s { _ioDefaultValue = a })++-- | Whether facet information can be returned for the field.+ioFacetEnabled :: Lens' IntOptions (Maybe Bool)+ioFacetEnabled = lens _ioFacetEnabled (\s a -> s { _ioFacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+ioReturnEnabled :: Lens' IntOptions (Maybe Bool)+ioReturnEnabled = lens _ioReturnEnabled (\s a -> s { _ioReturnEnabled = a })++-- | Whether the contents of the field are searchable.+ioSearchEnabled :: Lens' IntOptions (Maybe Bool)+ioSearchEnabled = lens _ioSearchEnabled (\s a -> s { _ioSearchEnabled = a })++-- | Whether the field can be used to sort the search results.+ioSortEnabled :: Lens' IntOptions (Maybe Bool)+ioSortEnabled = lens _ioSortEnabled (\s a -> s { _ioSortEnabled = a })++-- | The name of the source field to map to the field.+ioSourceField :: Lens' IntOptions (Maybe Text)+ioSourceField = lens _ioSourceField (\s a -> s { _ioSourceField = a })++instance FromXML IntOptions where+    parseXML x = IntOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SortEnabled"+        <*> x .@? "SourceField"++instance ToQuery IntOptions where+    toQuery IntOptions{..} = mconcat+        [ "DefaultValue"  =? _ioDefaultValue+        , "FacetEnabled"  =? _ioFacetEnabled+        , "ReturnEnabled" =? _ioReturnEnabled+        , "SearchEnabled" =? _ioSearchEnabled+        , "SortEnabled"   =? _ioSortEnabled+        , "SourceField"   =? _ioSourceField+        ]++data LiteralOptions = LiteralOptions+    { _loDefaultValue  :: Maybe Text+    , _loFacetEnabled  :: Maybe Bool+    , _loReturnEnabled :: Maybe Bool+    , _loSearchEnabled :: Maybe Bool+    , _loSortEnabled   :: Maybe Bool+    , _loSourceField   :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'LiteralOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'loDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'loFacetEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'loReturnEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'loSearchEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'loSortEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'loSourceField' @::@ 'Maybe' 'Text'+--+literalOptions :: LiteralOptions+literalOptions = LiteralOptions+    { _loDefaultValue  = Nothing+    , _loSourceField   = Nothing+    , _loFacetEnabled  = Nothing+    , _loSearchEnabled = Nothing+    , _loReturnEnabled = Nothing+    , _loSortEnabled   = Nothing+    }++-- | A value to use for the field if the field isn't specified for a document.+loDefaultValue :: Lens' LiteralOptions (Maybe Text)+loDefaultValue = lens _loDefaultValue (\s a -> s { _loDefaultValue = a })++-- | Whether facet information can be returned for the field.+loFacetEnabled :: Lens' LiteralOptions (Maybe Bool)+loFacetEnabled = lens _loFacetEnabled (\s a -> s { _loFacetEnabled = a })++-- | Whether the contents of the field can be returned in the search results.+loReturnEnabled :: Lens' LiteralOptions (Maybe Bool)+loReturnEnabled = lens _loReturnEnabled (\s a -> s { _loReturnEnabled = a })++-- | Whether the contents of the field are searchable.+loSearchEnabled :: Lens' LiteralOptions (Maybe Bool)+loSearchEnabled = lens _loSearchEnabled (\s a -> s { _loSearchEnabled = a })++-- | Whether the field can be used to sort the search results.+loSortEnabled :: Lens' LiteralOptions (Maybe Bool)+loSortEnabled = lens _loSortEnabled (\s a -> s { _loSortEnabled = a })++loSourceField :: Lens' LiteralOptions (Maybe Text)+loSourceField = lens _loSourceField (\s a -> s { _loSourceField = a })++instance FromXML LiteralOptions where+    parseXML x = LiteralOptions+        <$> x .@? "DefaultValue"+        <*> x .@? "FacetEnabled"+        <*> x .@? "ReturnEnabled"+        <*> x .@? "SearchEnabled"+        <*> x .@? "SortEnabled"+        <*> x .@? "SourceField"++instance ToQuery LiteralOptions where+    toQuery LiteralOptions{..} = mconcat+        [ "DefaultValue"  =? _loDefaultValue+        , "FacetEnabled"  =? _loFacetEnabled+        , "ReturnEnabled" =? _loReturnEnabled+        , "SearchEnabled" =? _loSearchEnabled+        , "SortEnabled"   =? _loSortEnabled+        , "SourceField"   =? _loSourceField+        ]++data AccessPoliciesStatus = AccessPoliciesStatus+    { _apsOptions :: Text+    , _apsStatus  :: OptionStatus+    } deriving (Eq, Show)++-- | 'AccessPoliciesStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'apsOptions' @::@ 'Text'+--+-- * 'apsStatus' @::@ 'OptionStatus'+--+accessPoliciesStatus :: Text -- ^ 'apsOptions'+                     -> OptionStatus -- ^ 'apsStatus'+                     -> AccessPoliciesStatus+accessPoliciesStatus p1 p2 = AccessPoliciesStatus+    { _apsOptions = p1+    , _apsStatus  = p2+    }++apsOptions :: Lens' AccessPoliciesStatus Text+apsOptions = lens _apsOptions (\s a -> s { _apsOptions = a })++apsStatus :: Lens' AccessPoliciesStatus OptionStatus+apsStatus = lens _apsStatus (\s a -> s { _apsStatus = a })++instance FromXML AccessPoliciesStatus where+    parseXML x = AccessPoliciesStatus+        <$> x .@  "Options"+        <*> x .@  "Status"++instance ToQuery AccessPoliciesStatus where+    toQuery AccessPoliciesStatus{..} = mconcat+        [ "Options" =? _apsOptions+        , "Status"  =? _apsStatus+        ]
+ gen/Network/AWS/CloudSearch/UpdateAvailabilityOptions.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.UpdateAvailabilityOptions+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Configures the availability options for a domain. Enabling the Multi-AZ+-- option expands an Amazon CloudSearch domain to an additional Availability+-- Zone in the same Region to increase fault tolerance in the event of a+-- service disruption. Changes to the Multi-AZ option can take about half an+-- hour to become active. For more information, see Configuring Availability+-- Options in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_UpdateAvailabilityOptions.html>+module Network.AWS.CloudSearch.UpdateAvailabilityOptions+    (+    -- * Request+      UpdateAvailabilityOptions+    -- ** Request constructor+    , updateAvailabilityOptions+    -- ** Request lenses+    , uaoDomainName+    , uaoMultiAZ++    -- * Response+    , UpdateAvailabilityOptionsResponse+    -- ** Response constructor+    , updateAvailabilityOptionsResponse+    -- ** Response lenses+    , uaorAvailabilityOptions+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data UpdateAvailabilityOptions = UpdateAvailabilityOptions+    { _uaoDomainName :: Text+    , _uaoMultiAZ    :: Bool+    } deriving (Eq, Ord, Show)++-- | 'UpdateAvailabilityOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uaoDomainName' @::@ 'Text'+--+-- * 'uaoMultiAZ' @::@ 'Bool'+--+updateAvailabilityOptions :: Text -- ^ 'uaoDomainName'+                          -> Bool -- ^ 'uaoMultiAZ'+                          -> UpdateAvailabilityOptions+updateAvailabilityOptions p1 p2 = UpdateAvailabilityOptions+    { _uaoDomainName = p1+    , _uaoMultiAZ    = p2+    }++uaoDomainName :: Lens' UpdateAvailabilityOptions Text+uaoDomainName = lens _uaoDomainName (\s a -> s { _uaoDomainName = a })++-- | You expand an existing search domain to a second Availability Zone by+-- setting the Multi-AZ option to true. Similarly, you can turn off the+-- Multi-AZ option to downgrade the domain to a single Availability Zone by+-- setting the Multi-AZ option to false.+uaoMultiAZ :: Lens' UpdateAvailabilityOptions Bool+uaoMultiAZ = lens _uaoMultiAZ (\s a -> s { _uaoMultiAZ = a })++newtype UpdateAvailabilityOptionsResponse = UpdateAvailabilityOptionsResponse+    { _uaorAvailabilityOptions :: Maybe AvailabilityOptionsStatus+    } deriving (Eq, Show)++-- | 'UpdateAvailabilityOptionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uaorAvailabilityOptions' @::@ 'Maybe' 'AvailabilityOptionsStatus'+--+updateAvailabilityOptionsResponse :: UpdateAvailabilityOptionsResponse+updateAvailabilityOptionsResponse = UpdateAvailabilityOptionsResponse+    { _uaorAvailabilityOptions = Nothing+    }++-- | The newly-configured availability options. Indicates whether Multi-AZ is+-- enabled for the domain.+uaorAvailabilityOptions :: Lens' UpdateAvailabilityOptionsResponse (Maybe AvailabilityOptionsStatus)+uaorAvailabilityOptions =+    lens _uaorAvailabilityOptions (\s a -> s { _uaorAvailabilityOptions = a })++instance ToPath UpdateAvailabilityOptions where+    toPath = const "/"++instance ToQuery UpdateAvailabilityOptions where+    toQuery UpdateAvailabilityOptions{..} = mconcat+        [ "DomainName" =? _uaoDomainName+        , "MultiAZ"    =? _uaoMultiAZ+        ]++instance ToHeaders UpdateAvailabilityOptions++instance AWSRequest UpdateAvailabilityOptions where+    type Sv UpdateAvailabilityOptions = CloudSearch+    type Rs UpdateAvailabilityOptions = UpdateAvailabilityOptionsResponse++    request  = post "UpdateAvailabilityOptions"+    response = xmlResponse++instance FromXML UpdateAvailabilityOptionsResponse where+    parseXML = withElement "UpdateAvailabilityOptionsResult" $ \x -> UpdateAvailabilityOptionsResponse+        <$> x .@? "AvailabilityOptions"
+ gen/Network/AWS/CloudSearch/UpdateScalingParameters.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.UpdateScalingParameters+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Configures scaling parameters for a domain. A domain's scaling parameters+-- specify the desired search instance type and replication count. Amazon+-- CloudSearch will still automatically scale your domain based on the volume+-- of data and traffic, but not below the desired instance type and+-- replication count. If the Multi-AZ option is enabled, these values control+-- the resources used per Availability Zone. For more information, see+-- Configuring Scaling Options in the Amazon CloudSearch Developer Guide.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_UpdateScalingParameters.html>+module Network.AWS.CloudSearch.UpdateScalingParameters+    (+    -- * Request+      UpdateScalingParameters+    -- ** Request constructor+    , updateScalingParameters+    -- ** Request lenses+    , uspDomainName+    , uspScalingParameters++    -- * Response+    , UpdateScalingParametersResponse+    -- ** Response constructor+    , updateScalingParametersResponse+    -- ** Response lenses+    , usprScalingParameters+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data UpdateScalingParameters = UpdateScalingParameters+    { _uspDomainName        :: Text+    , _uspScalingParameters :: ScalingParameters+    } deriving (Eq, Show)++-- | 'UpdateScalingParameters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'uspDomainName' @::@ 'Text'+--+-- * 'uspScalingParameters' @::@ 'ScalingParameters'+--+updateScalingParameters :: Text -- ^ 'uspDomainName'+                        -> ScalingParameters -- ^ 'uspScalingParameters'+                        -> UpdateScalingParameters+updateScalingParameters p1 p2 = UpdateScalingParameters+    { _uspDomainName        = p1+    , _uspScalingParameters = p2+    }++uspDomainName :: Lens' UpdateScalingParameters Text+uspDomainName = lens _uspDomainName (\s a -> s { _uspDomainName = a })++uspScalingParameters :: Lens' UpdateScalingParameters ScalingParameters+uspScalingParameters =+    lens _uspScalingParameters (\s a -> s { _uspScalingParameters = a })++newtype UpdateScalingParametersResponse = UpdateScalingParametersResponse+    { _usprScalingParameters :: ScalingParametersStatus+    } deriving (Eq, Show)++-- | 'UpdateScalingParametersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'usprScalingParameters' @::@ 'ScalingParametersStatus'+--+updateScalingParametersResponse :: ScalingParametersStatus -- ^ 'usprScalingParameters'+                                -> UpdateScalingParametersResponse+updateScalingParametersResponse p1 = UpdateScalingParametersResponse+    { _usprScalingParameters = p1+    }++usprScalingParameters :: Lens' UpdateScalingParametersResponse ScalingParametersStatus+usprScalingParameters =+    lens _usprScalingParameters (\s a -> s { _usprScalingParameters = a })++instance ToPath UpdateScalingParameters where+    toPath = const "/"++instance ToQuery UpdateScalingParameters where+    toQuery UpdateScalingParameters{..} = mconcat+        [ "DomainName"        =? _uspDomainName+        , "ScalingParameters" =? _uspScalingParameters+        ]++instance ToHeaders UpdateScalingParameters++instance AWSRequest UpdateScalingParameters where+    type Sv UpdateScalingParameters = CloudSearch+    type Rs UpdateScalingParameters = UpdateScalingParametersResponse++    request  = post "UpdateScalingParameters"+    response = xmlResponse++instance FromXML UpdateScalingParametersResponse where+    parseXML = withElement "UpdateScalingParametersResult" $ \x -> UpdateScalingParametersResponse+        <$> x .@  "ScalingParameters"
+ gen/Network/AWS/CloudSearch/UpdateServiceAccessPolicies.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds                   #-}+{-# LANGUAGE DeriveGeneric               #-}+{-# LANGUAGE FlexibleInstances           #-}+{-# LANGUAGE GeneralizedNewtypeDeriving  #-}+{-# LANGUAGE LambdaCase                  #-}+{-# LANGUAGE NoImplicitPrelude           #-}+{-# LANGUAGE OverloadedStrings           #-}+{-# LANGUAGE RecordWildCards             #-}+{-# LANGUAGE TypeFamilies                #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Network.AWS.CloudSearch.UpdateServiceAccessPolicies+-- 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/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++-- | Configures the access rules that control access to the domain's document+-- and search endpoints. For more information, see Configuring Access for an+-- Amazon CloudSearch Domain.+--+-- <http://docs.aws.amazon.com/cloudsearch/latest/developerguide/API_UpdateServiceAccessPolicies.html>+module Network.AWS.CloudSearch.UpdateServiceAccessPolicies+    (+    -- * Request+      UpdateServiceAccessPolicies+    -- ** Request constructor+    , updateServiceAccessPolicies+    -- ** Request lenses+    , usapAccessPolicies+    , usapDomainName++    -- * Response+    , UpdateServiceAccessPoliciesResponse+    -- ** Response constructor+    , updateServiceAccessPoliciesResponse+    -- ** Response lenses+    , usaprAccessPolicies+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.CloudSearch.Types+import qualified GHC.Exts++data UpdateServiceAccessPolicies = UpdateServiceAccessPolicies+    { _usapAccessPolicies :: Text+    , _usapDomainName     :: Text+    } deriving (Eq, Ord, Show)++-- | 'UpdateServiceAccessPolicies' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'usapAccessPolicies' @::@ 'Text'+--+-- * 'usapDomainName' @::@ 'Text'+--+updateServiceAccessPolicies :: Text -- ^ 'usapDomainName'+                            -> Text -- ^ 'usapAccessPolicies'+                            -> UpdateServiceAccessPolicies+updateServiceAccessPolicies p1 p2 = UpdateServiceAccessPolicies+    { _usapDomainName     = p1+    , _usapAccessPolicies = p2+    }++-- | The access rules you want to configure. These rules replace any existing+-- rules.+usapAccessPolicies :: Lens' UpdateServiceAccessPolicies Text+usapAccessPolicies =+    lens _usapAccessPolicies (\s a -> s { _usapAccessPolicies = a })++usapDomainName :: Lens' UpdateServiceAccessPolicies Text+usapDomainName = lens _usapDomainName (\s a -> s { _usapDomainName = a })++newtype UpdateServiceAccessPoliciesResponse = UpdateServiceAccessPoliciesResponse+    { _usaprAccessPolicies :: AccessPoliciesStatus+    } deriving (Eq, Show)++-- | 'UpdateServiceAccessPoliciesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'usaprAccessPolicies' @::@ 'AccessPoliciesStatus'+--+updateServiceAccessPoliciesResponse :: AccessPoliciesStatus -- ^ 'usaprAccessPolicies'+                                    -> UpdateServiceAccessPoliciesResponse+updateServiceAccessPoliciesResponse p1 = UpdateServiceAccessPoliciesResponse+    { _usaprAccessPolicies = p1+    }++-- | The access rules configured for the domain.+usaprAccessPolicies :: Lens' UpdateServiceAccessPoliciesResponse AccessPoliciesStatus+usaprAccessPolicies =+    lens _usaprAccessPolicies (\s a -> s { _usaprAccessPolicies = a })++instance ToPath UpdateServiceAccessPolicies where+    toPath = const "/"++instance ToQuery UpdateServiceAccessPolicies where+    toQuery UpdateServiceAccessPolicies{..} = mconcat+        [ "AccessPolicies" =? _usapAccessPolicies+        , "DomainName"     =? _usapDomainName+        ]++instance ToHeaders UpdateServiceAccessPolicies++instance AWSRequest UpdateServiceAccessPolicies where+    type Sv UpdateServiceAccessPolicies = CloudSearch+    type Rs UpdateServiceAccessPolicies = UpdateServiceAccessPoliciesResponse++    request  = post "UpdateServiceAccessPolicies"+    response = xmlResponse++instance FromXML UpdateServiceAccessPoliciesResponse where+    parseXML = withElement "UpdateServiceAccessPoliciesResult" $ \x -> UpdateServiceAccessPoliciesResponse+        <$> x .@  "AccessPolicies"