packages feed

amazonka-rds (empty) → 0.0.0

raw patch · 60 files changed

+13875/−0 lines, 60 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 Relational Database Service 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 Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-rds)+and [AWS API Reference](http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/Welcome.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-rds` 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-rds.cabal view
@@ -0,0 +1,99 @@+name:                  amazonka-rds+version:               0.0.0+synopsis:              Amazon Relational Database Service 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 Relational Database Service (Amazon RDS) is a web service that+    makes it easy to set up, operate, and scale a relational database in+    the cloud. It provides cost-efficient and resizable capacity while+    managing time-consuming database administration tasks, freeing you up+    to focus on your applications and business.+    .+    /See:/ <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/Welcome.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.RDS+        , Network.AWS.RDS.AddSourceIdentifierToSubscription+        , Network.AWS.RDS.AddTagsToResource+        , Network.AWS.RDS.AuthorizeDBSecurityGroupIngress+        , Network.AWS.RDS.CopyDBParameterGroup+        , Network.AWS.RDS.CopyDBSnapshot+        , Network.AWS.RDS.CopyOptionGroup+        , Network.AWS.RDS.CreateDBInstance+        , Network.AWS.RDS.CreateDBInstanceReadReplica+        , Network.AWS.RDS.CreateDBParameterGroup+        , Network.AWS.RDS.CreateDBSecurityGroup+        , Network.AWS.RDS.CreateDBSnapshot+        , Network.AWS.RDS.CreateDBSubnetGroup+        , Network.AWS.RDS.CreateEventSubscription+        , Network.AWS.RDS.CreateOptionGroup+        , Network.AWS.RDS.DeleteDBInstance+        , Network.AWS.RDS.DeleteDBParameterGroup+        , Network.AWS.RDS.DeleteDBSecurityGroup+        , Network.AWS.RDS.DeleteDBSnapshot+        , Network.AWS.RDS.DeleteDBSubnetGroup+        , Network.AWS.RDS.DeleteEventSubscription+        , Network.AWS.RDS.DeleteOptionGroup+        , Network.AWS.RDS.DescribeDBEngineVersions+        , Network.AWS.RDS.DescribeDBInstances+        , Network.AWS.RDS.DescribeDBLogFiles+        , Network.AWS.RDS.DescribeDBParameterGroups+        , Network.AWS.RDS.DescribeDBParameters+        , Network.AWS.RDS.DescribeDBSecurityGroups+        , Network.AWS.RDS.DescribeDBSnapshots+        , Network.AWS.RDS.DescribeDBSubnetGroups+        , Network.AWS.RDS.DescribeEngineDefaultParameters+        , Network.AWS.RDS.DescribeEventCategories+        , Network.AWS.RDS.DescribeEventSubscriptions+        , Network.AWS.RDS.DescribeEvents+        , Network.AWS.RDS.DescribeOptionGroupOptions+        , Network.AWS.RDS.DescribeOptionGroups+        , Network.AWS.RDS.DescribeOrderableDBInstanceOptions+        , Network.AWS.RDS.DescribeReservedDBInstances+        , Network.AWS.RDS.DescribeReservedDBInstancesOfferings+        , Network.AWS.RDS.DownloadDBLogFilePortion+        , Network.AWS.RDS.ListTagsForResource+        , Network.AWS.RDS.ModifyDBInstance+        , Network.AWS.RDS.ModifyDBParameterGroup+        , Network.AWS.RDS.ModifyDBSubnetGroup+        , Network.AWS.RDS.ModifyEventSubscription+        , Network.AWS.RDS.ModifyOptionGroup+        , Network.AWS.RDS.PromoteReadReplica+        , Network.AWS.RDS.PurchaseReservedDBInstancesOffering+        , Network.AWS.RDS.RebootDBInstance+        , Network.AWS.RDS.RemoveSourceIdentifierFromSubscription+        , Network.AWS.RDS.RemoveTagsFromResource+        , Network.AWS.RDS.ResetDBParameterGroup+        , Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot+        , Network.AWS.RDS.RestoreDBInstanceToPointInTime+        , Network.AWS.RDS.RevokeDBSecurityGroupIngress+        , Network.AWS.RDS.Types++    other-modules:++    build-depends:+          amazonka-core+        , base          >= 4.7 && < 5
+ gen/Network/AWS/RDS.hs view
@@ -0,0 +1,128 @@+-- Module      : Network.AWS.RDS+-- 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 Relational Database Service (Amazon RDS) is a web service that makes+-- it easy to set up, operate, and scale a relational database in the cloud.+-- It provides cost-efficient and resizable capacity while managing+-- time-consuming database administration tasks, freeing you up to focus on+-- your applications and business.+module Network.AWS.RDS+    ( module Network.AWS.RDS.AddSourceIdentifierToSubscription+    , module Network.AWS.RDS.AddTagsToResource+    , module Network.AWS.RDS.AuthorizeDBSecurityGroupIngress+    , module Network.AWS.RDS.CopyDBParameterGroup+    , module Network.AWS.RDS.CopyDBSnapshot+    , module Network.AWS.RDS.CopyOptionGroup+    , module Network.AWS.RDS.CreateDBInstance+    , module Network.AWS.RDS.CreateDBInstanceReadReplica+    , module Network.AWS.RDS.CreateDBParameterGroup+    , module Network.AWS.RDS.CreateDBSecurityGroup+    , module Network.AWS.RDS.CreateDBSnapshot+    , module Network.AWS.RDS.CreateDBSubnetGroup+    , module Network.AWS.RDS.CreateEventSubscription+    , module Network.AWS.RDS.CreateOptionGroup+    , module Network.AWS.RDS.DeleteDBInstance+    , module Network.AWS.RDS.DeleteDBParameterGroup+    , module Network.AWS.RDS.DeleteDBSecurityGroup+    , module Network.AWS.RDS.DeleteDBSnapshot+    , module Network.AWS.RDS.DeleteDBSubnetGroup+    , module Network.AWS.RDS.DeleteEventSubscription+    , module Network.AWS.RDS.DeleteOptionGroup+    , module Network.AWS.RDS.DescribeDBEngineVersions+    , module Network.AWS.RDS.DescribeDBInstances+    , module Network.AWS.RDS.DescribeDBLogFiles+    , module Network.AWS.RDS.DescribeDBParameterGroups+    , module Network.AWS.RDS.DescribeDBParameters+    , module Network.AWS.RDS.DescribeDBSecurityGroups+    , module Network.AWS.RDS.DescribeDBSnapshots+    , module Network.AWS.RDS.DescribeDBSubnetGroups+    , module Network.AWS.RDS.DescribeEngineDefaultParameters+    , module Network.AWS.RDS.DescribeEventCategories+    , module Network.AWS.RDS.DescribeEventSubscriptions+    , module Network.AWS.RDS.DescribeEvents+    , module Network.AWS.RDS.DescribeOptionGroupOptions+    , module Network.AWS.RDS.DescribeOptionGroups+    , module Network.AWS.RDS.DescribeOrderableDBInstanceOptions+    , module Network.AWS.RDS.DescribeReservedDBInstances+    , module Network.AWS.RDS.DescribeReservedDBInstancesOfferings+    , module Network.AWS.RDS.DownloadDBLogFilePortion+    , module Network.AWS.RDS.ListTagsForResource+    , module Network.AWS.RDS.ModifyDBInstance+    , module Network.AWS.RDS.ModifyDBParameterGroup+    , module Network.AWS.RDS.ModifyDBSubnetGroup+    , module Network.AWS.RDS.ModifyEventSubscription+    , module Network.AWS.RDS.ModifyOptionGroup+    , module Network.AWS.RDS.PromoteReadReplica+    , module Network.AWS.RDS.PurchaseReservedDBInstancesOffering+    , module Network.AWS.RDS.RebootDBInstance+    , module Network.AWS.RDS.RemoveSourceIdentifierFromSubscription+    , module Network.AWS.RDS.RemoveTagsFromResource+    , module Network.AWS.RDS.ResetDBParameterGroup+    , module Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot+    , module Network.AWS.RDS.RestoreDBInstanceToPointInTime+    , module Network.AWS.RDS.RevokeDBSecurityGroupIngress+    , module Network.AWS.RDS.Types+    ) where++import Network.AWS.RDS.AddSourceIdentifierToSubscription+import Network.AWS.RDS.AddTagsToResource+import Network.AWS.RDS.AuthorizeDBSecurityGroupIngress+import Network.AWS.RDS.CopyDBParameterGroup+import Network.AWS.RDS.CopyDBSnapshot+import Network.AWS.RDS.CopyOptionGroup+import Network.AWS.RDS.CreateDBInstance+import Network.AWS.RDS.CreateDBInstanceReadReplica+import Network.AWS.RDS.CreateDBParameterGroup+import Network.AWS.RDS.CreateDBSecurityGroup+import Network.AWS.RDS.CreateDBSnapshot+import Network.AWS.RDS.CreateDBSubnetGroup+import Network.AWS.RDS.CreateEventSubscription+import Network.AWS.RDS.CreateOptionGroup+import Network.AWS.RDS.DeleteDBInstance+import Network.AWS.RDS.DeleteDBParameterGroup+import Network.AWS.RDS.DeleteDBSecurityGroup+import Network.AWS.RDS.DeleteDBSnapshot+import Network.AWS.RDS.DeleteDBSubnetGroup+import Network.AWS.RDS.DeleteEventSubscription+import Network.AWS.RDS.DeleteOptionGroup+import Network.AWS.RDS.DescribeDBEngineVersions+import Network.AWS.RDS.DescribeDBInstances+import Network.AWS.RDS.DescribeDBLogFiles+import Network.AWS.RDS.DescribeDBParameterGroups+import Network.AWS.RDS.DescribeDBParameters+import Network.AWS.RDS.DescribeDBSecurityGroups+import Network.AWS.RDS.DescribeDBSnapshots+import Network.AWS.RDS.DescribeDBSubnetGroups+import Network.AWS.RDS.DescribeEngineDefaultParameters+import Network.AWS.RDS.DescribeEventCategories+import Network.AWS.RDS.DescribeEventSubscriptions+import Network.AWS.RDS.DescribeEvents+import Network.AWS.RDS.DescribeOptionGroupOptions+import Network.AWS.RDS.DescribeOptionGroups+import Network.AWS.RDS.DescribeOrderableDBInstanceOptions+import Network.AWS.RDS.DescribeReservedDBInstances+import Network.AWS.RDS.DescribeReservedDBInstancesOfferings+import Network.AWS.RDS.DownloadDBLogFilePortion+import Network.AWS.RDS.ListTagsForResource+import Network.AWS.RDS.ModifyDBInstance+import Network.AWS.RDS.ModifyDBParameterGroup+import Network.AWS.RDS.ModifyDBSubnetGroup+import Network.AWS.RDS.ModifyEventSubscription+import Network.AWS.RDS.ModifyOptionGroup+import Network.AWS.RDS.PromoteReadReplica+import Network.AWS.RDS.PurchaseReservedDBInstancesOffering+import Network.AWS.RDS.RebootDBInstance+import Network.AWS.RDS.RemoveSourceIdentifierFromSubscription+import Network.AWS.RDS.RemoveTagsFromResource+import Network.AWS.RDS.ResetDBParameterGroup+import Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot+import Network.AWS.RDS.RestoreDBInstanceToPointInTime+import Network.AWS.RDS.RevokeDBSecurityGroupIngress+import Network.AWS.RDS.Types
+ gen/Network/AWS/RDS/AddSourceIdentifierToSubscription.hs view
@@ -0,0 +1,129 @@+{-# 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.RDS.AddSourceIdentifierToSubscription+-- 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)++-- | Adds a source identifier to an existing RDS event notification+-- subscription.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddSourceIdentifierToSubscription.html>+module Network.AWS.RDS.AddSourceIdentifierToSubscription+    (+    -- * Request+      AddSourceIdentifierToSubscription+    -- ** Request constructor+    , addSourceIdentifierToSubscription+    -- ** Request lenses+    , asitsSourceIdentifier+    , asitsSubscriptionName++    -- * Response+    , AddSourceIdentifierToSubscriptionResponse+    -- ** Response constructor+    , addSourceIdentifierToSubscriptionResponse+    -- ** Response lenses+    , asitsrEventSubscription+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data AddSourceIdentifierToSubscription = AddSourceIdentifierToSubscription+    { _asitsSourceIdentifier :: Text+    , _asitsSubscriptionName :: Text+    } deriving (Eq, Ord, Show)++-- | 'AddSourceIdentifierToSubscription' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'asitsSourceIdentifier' @::@ 'Text'+--+-- * 'asitsSubscriptionName' @::@ 'Text'+--+addSourceIdentifierToSubscription :: Text -- ^ 'asitsSubscriptionName'+                                  -> Text -- ^ 'asitsSourceIdentifier'+                                  -> AddSourceIdentifierToSubscription+addSourceIdentifierToSubscription p1 p2 = AddSourceIdentifierToSubscription+    { _asitsSubscriptionName = p1+    , _asitsSourceIdentifier = p2+    }++-- | The identifier of the event source to be added. An identifier must begin+-- with a letter and must contain only ASCII letters, digits, and hyphens;+-- it cannot end with a hyphen or contain two consecutive hyphens.+-- Constraints: If the source type is a DB instance, then a+-- DBInstanceIdentifier must be supplied. If the source type is a DB+-- security group, a DBSecurityGroupName must be supplied. If the source+-- type is a DB parameter group, a DBParameterGroupName must be supplied. If+-- the source type is a DB snapshot, a DBSnapshotIdentifier must be+-- supplied.+asitsSourceIdentifier :: Lens' AddSourceIdentifierToSubscription Text+asitsSourceIdentifier =+    lens _asitsSourceIdentifier (\s a -> s { _asitsSourceIdentifier = a })++-- | The name of the RDS event notification subscription you want to add a+-- source identifier to.+asitsSubscriptionName :: Lens' AddSourceIdentifierToSubscription Text+asitsSubscriptionName =+    lens _asitsSubscriptionName (\s a -> s { _asitsSubscriptionName = a })++newtype AddSourceIdentifierToSubscriptionResponse = AddSourceIdentifierToSubscriptionResponse+    { _asitsrEventSubscription :: Maybe EventSubscription+    } deriving (Eq, Show)++-- | 'AddSourceIdentifierToSubscriptionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'asitsrEventSubscription' @::@ 'Maybe' 'EventSubscription'+--+addSourceIdentifierToSubscriptionResponse :: AddSourceIdentifierToSubscriptionResponse+addSourceIdentifierToSubscriptionResponse = AddSourceIdentifierToSubscriptionResponse+    { _asitsrEventSubscription = Nothing+    }++asitsrEventSubscription :: Lens' AddSourceIdentifierToSubscriptionResponse (Maybe EventSubscription)+asitsrEventSubscription =+    lens _asitsrEventSubscription (\s a -> s { _asitsrEventSubscription = a })++instance ToPath AddSourceIdentifierToSubscription where+    toPath = const "/"++instance ToQuery AddSourceIdentifierToSubscription where+    toQuery AddSourceIdentifierToSubscription{..} = mconcat+        [ "SourceIdentifier" =? _asitsSourceIdentifier+        , "SubscriptionName" =? _asitsSubscriptionName+        ]++instance ToHeaders AddSourceIdentifierToSubscription++instance AWSRequest AddSourceIdentifierToSubscription where+    type Sv AddSourceIdentifierToSubscription = RDS+    type Rs AddSourceIdentifierToSubscription = AddSourceIdentifierToSubscriptionResponse++    request  = post "AddSourceIdentifierToSubscription"+    response = xmlResponse++instance FromXML AddSourceIdentifierToSubscriptionResponse where+    parseXML = withElement "AddSourceIdentifierToSubscriptionResult" $ \x -> AddSourceIdentifierToSubscriptionResponse+        <$> x .@? "EventSubscription"
+ gen/Network/AWS/RDS/AddTagsToResource.hs view
@@ -0,0 +1,104 @@+{-# 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.RDS.AddTagsToResource+-- 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)++-- | Adds metadata tags to an Amazon RDS resource. These tags can also be used+-- with cost allocation reporting to track cost associated with Amazon RDS+-- resources, or used in Condition statement in IAM policy for Amazon RDS. For+-- an overview on tagging Amazon RDS resources, see Tagging Amazon RDS+-- Resources.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddTagsToResource.html>+module Network.AWS.RDS.AddTagsToResource+    (+    -- * Request+      AddTagsToResource+    -- ** Request constructor+    , addTagsToResource+    -- ** Request lenses+    , attrResourceName+    , attrTags++    -- * Response+    , AddTagsToResourceResponse+    -- ** Response constructor+    , addTagsToResourceResponse+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data AddTagsToResource = AddTagsToResource+    { _attrResourceName :: Text+    , _attrTags         :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'AddTagsToResource' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'attrResourceName' @::@ 'Text'+--+-- * 'attrTags' @::@ ['Tag']+--+addTagsToResource :: Text -- ^ 'attrResourceName'+                  -> AddTagsToResource+addTagsToResource p1 = AddTagsToResource+    { _attrResourceName = p1+    , _attrTags         = mempty+    }++-- | The Amazon RDS resource the tags will be added to. This value is an+-- Amazon Resource Name (ARN). For information about creating an ARN, see+-- Constructing an RDS Amazon Resource Name (ARN).+attrResourceName :: Lens' AddTagsToResource Text+attrResourceName = lens _attrResourceName (\s a -> s { _attrResourceName = a })++-- | The tags to be assigned to the Amazon RDS resource.+attrTags :: Lens' AddTagsToResource [Tag]+attrTags = lens _attrTags (\s a -> s { _attrTags = a }) . _List++data AddTagsToResourceResponse = AddTagsToResourceResponse+    deriving (Eq, Ord, Show, Generic)++-- | 'AddTagsToResourceResponse' constructor.+addTagsToResourceResponse :: AddTagsToResourceResponse+addTagsToResourceResponse = AddTagsToResourceResponse++instance ToPath AddTagsToResource where+    toPath = const "/"++instance ToQuery AddTagsToResource where+    toQuery AddTagsToResource{..} = mconcat+        [ "ResourceName" =? _attrResourceName+        , "Tags"         =? _attrTags+        ]++instance ToHeaders AddTagsToResource++instance AWSRequest AddTagsToResource where+    type Sv AddTagsToResource = RDS+    type Rs AddTagsToResource = AddTagsToResourceResponse++    request  = post "AddTagsToResource"+    response = nullResponse AddTagsToResourceResponse
+ gen/Network/AWS/RDS/AuthorizeDBSecurityGroupIngress.hs view
@@ -0,0 +1,170 @@+{-# 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.RDS.AuthorizeDBSecurityGroupIngress+-- 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)++-- | Enables ingress to a DBSecurityGroup using one of two forms of+-- authorization. First, EC2 or VPC security groups can be added to the+-- DBSecurityGroup if the application using the database is running on EC2 or+-- VPC instances. Second, IP ranges are available if the application accessing+-- your database is running on the Internet. Required parameters for this API+-- are one of CIDR range, EC2SecurityGroupId for VPC, or+-- (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or+-- EC2SecurityGroupId for non-VPC). For an overview of CIDR ranges, go to the+-- Wikipedia Tutorial.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AuthorizeDBSecurityGroupIngress.html>+module Network.AWS.RDS.AuthorizeDBSecurityGroupIngress+    (+    -- * Request+      AuthorizeDBSecurityGroupIngress+    -- ** Request constructor+    , authorizeDBSecurityGroupIngress+    -- ** Request lenses+    , adbsgiCIDRIP+    , adbsgiDBSecurityGroupName+    , adbsgiEC2SecurityGroupId+    , adbsgiEC2SecurityGroupName+    , adbsgiEC2SecurityGroupOwnerId++    -- * Response+    , AuthorizeDBSecurityGroupIngressResponse+    -- ** Response constructor+    , authorizeDBSecurityGroupIngressResponse+    -- ** Response lenses+    , adbsgirDBSecurityGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data AuthorizeDBSecurityGroupIngress = AuthorizeDBSecurityGroupIngress+    { _adbsgiCIDRIP                  :: Maybe Text+    , _adbsgiDBSecurityGroupName     :: Text+    , _adbsgiEC2SecurityGroupId      :: Maybe Text+    , _adbsgiEC2SecurityGroupName    :: Maybe Text+    , _adbsgiEC2SecurityGroupOwnerId :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'AuthorizeDBSecurityGroupIngress' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'adbsgiCIDRIP' @::@ 'Maybe' 'Text'+--+-- * 'adbsgiDBSecurityGroupName' @::@ 'Text'+--+-- * 'adbsgiEC2SecurityGroupId' @::@ 'Maybe' 'Text'+--+-- * 'adbsgiEC2SecurityGroupName' @::@ 'Maybe' 'Text'+--+-- * 'adbsgiEC2SecurityGroupOwnerId' @::@ 'Maybe' 'Text'+--+authorizeDBSecurityGroupIngress :: Text -- ^ 'adbsgiDBSecurityGroupName'+                                -> AuthorizeDBSecurityGroupIngress+authorizeDBSecurityGroupIngress p1 = AuthorizeDBSecurityGroupIngress+    { _adbsgiDBSecurityGroupName     = p1+    , _adbsgiCIDRIP                  = Nothing+    , _adbsgiEC2SecurityGroupName    = Nothing+    , _adbsgiEC2SecurityGroupId      = Nothing+    , _adbsgiEC2SecurityGroupOwnerId = Nothing+    }++-- | The IP range to authorize.+adbsgiCIDRIP :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)+adbsgiCIDRIP = lens _adbsgiCIDRIP (\s a -> s { _adbsgiCIDRIP = a })++-- | The name of the DB security group to add authorization to.+adbsgiDBSecurityGroupName :: Lens' AuthorizeDBSecurityGroupIngress Text+adbsgiDBSecurityGroupName =+    lens _adbsgiDBSecurityGroupName+        (\s a -> s { _adbsgiDBSecurityGroupName = a })++-- | Id of the EC2 security group to authorize. For VPC DB security groups,+-- EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId+-- and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.+adbsgiEC2SecurityGroupId :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)+adbsgiEC2SecurityGroupId =+    lens _adbsgiEC2SecurityGroupId+        (\s a -> s { _adbsgiEC2SecurityGroupId = a })++-- | Name of the EC2 security group to authorize. For VPC DB security groups,+-- EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId+-- and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.+adbsgiEC2SecurityGroupName :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)+adbsgiEC2SecurityGroupName =+    lens _adbsgiEC2SecurityGroupName+        (\s a -> s { _adbsgiEC2SecurityGroupName = a })++-- | AWS Account Number of the owner of the EC2 security group specified in+-- the EC2SecurityGroupName parameter. The AWS Access Key ID is not an+-- acceptable value. For VPC DB security groups, EC2SecurityGroupId must be+-- provided. Otherwise, EC2SecurityGroupOwnerId and either+-- EC2SecurityGroupName or EC2SecurityGroupId must be provided.+adbsgiEC2SecurityGroupOwnerId :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)+adbsgiEC2SecurityGroupOwnerId =+    lens _adbsgiEC2SecurityGroupOwnerId+        (\s a -> s { _adbsgiEC2SecurityGroupOwnerId = a })++newtype AuthorizeDBSecurityGroupIngressResponse = AuthorizeDBSecurityGroupIngressResponse+    { _adbsgirDBSecurityGroup :: Maybe DBSecurityGroup+    } deriving (Eq, Show)++-- | 'AuthorizeDBSecurityGroupIngressResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'adbsgirDBSecurityGroup' @::@ 'Maybe' 'DBSecurityGroup'+--+authorizeDBSecurityGroupIngressResponse :: AuthorizeDBSecurityGroupIngressResponse+authorizeDBSecurityGroupIngressResponse = AuthorizeDBSecurityGroupIngressResponse+    { _adbsgirDBSecurityGroup = Nothing+    }++adbsgirDBSecurityGroup :: Lens' AuthorizeDBSecurityGroupIngressResponse (Maybe DBSecurityGroup)+adbsgirDBSecurityGroup =+    lens _adbsgirDBSecurityGroup (\s a -> s { _adbsgirDBSecurityGroup = a })++instance ToPath AuthorizeDBSecurityGroupIngress where+    toPath = const "/"++instance ToQuery AuthorizeDBSecurityGroupIngress where+    toQuery AuthorizeDBSecurityGroupIngress{..} = mconcat+        [ "CIDRIP"                  =? _adbsgiCIDRIP+        , "DBSecurityGroupName"     =? _adbsgiDBSecurityGroupName+        , "EC2SecurityGroupId"      =? _adbsgiEC2SecurityGroupId+        , "EC2SecurityGroupName"    =? _adbsgiEC2SecurityGroupName+        , "EC2SecurityGroupOwnerId" =? _adbsgiEC2SecurityGroupOwnerId+        ]++instance ToHeaders AuthorizeDBSecurityGroupIngress++instance AWSRequest AuthorizeDBSecurityGroupIngress where+    type Sv AuthorizeDBSecurityGroupIngress = RDS+    type Rs AuthorizeDBSecurityGroupIngress = AuthorizeDBSecurityGroupIngressResponse++    request  = post "AuthorizeDBSecurityGroupIngress"+    response = xmlResponse++instance FromXML AuthorizeDBSecurityGroupIngressResponse where+    parseXML = withElement "AuthorizeDBSecurityGroupIngressResult" $ \x -> AuthorizeDBSecurityGroupIngressResponse+        <$> x .@? "DBSecurityGroup"
+ gen/Network/AWS/RDS/CopyDBParameterGroup.hs view
@@ -0,0 +1,152 @@+{-# 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.RDS.CopyDBParameterGroup+-- 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)++-- | Copies the specified DBParameterGroup.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html>+module Network.AWS.RDS.CopyDBParameterGroup+    (+    -- * Request+      CopyDBParameterGroup+    -- ** Request constructor+    , copyDBParameterGroup+    -- ** Request lenses+    , cdbpgSourceDBParameterGroupIdentifier+    , cdbpgTags+    , cdbpgTargetDBParameterGroupDescription+    , cdbpgTargetDBParameterGroupIdentifier++    -- * Response+    , CopyDBParameterGroupResponse+    -- ** Response constructor+    , copyDBParameterGroupResponse+    -- ** Response lenses+    , cdbpgr1DBParameterGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CopyDBParameterGroup = CopyDBParameterGroup+    { _cdbpgSourceDBParameterGroupIdentifier  :: Text+    , _cdbpgTags                              :: List "Tag" Tag+    , _cdbpgTargetDBParameterGroupDescription :: Text+    , _cdbpgTargetDBParameterGroupIdentifier  :: Text+    } deriving (Eq, Show)++-- | 'CopyDBParameterGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbpgSourceDBParameterGroupIdentifier' @::@ 'Text'+--+-- * 'cdbpgTags' @::@ ['Tag']+--+-- * 'cdbpgTargetDBParameterGroupDescription' @::@ 'Text'+--+-- * 'cdbpgTargetDBParameterGroupIdentifier' @::@ 'Text'+--+copyDBParameterGroup :: Text -- ^ 'cdbpgSourceDBParameterGroupIdentifier'+                     -> Text -- ^ 'cdbpgTargetDBParameterGroupIdentifier'+                     -> Text -- ^ 'cdbpgTargetDBParameterGroupDescription'+                     -> CopyDBParameterGroup+copyDBParameterGroup p1 p2 p3 = CopyDBParameterGroup+    { _cdbpgSourceDBParameterGroupIdentifier  = p1+    , _cdbpgTargetDBParameterGroupIdentifier  = p2+    , _cdbpgTargetDBParameterGroupDescription = p3+    , _cdbpgTags                              = mempty+    }++-- | The identifier or ARN for the source DB Parameter Group. Constraints:+-- Must specify a valid DB Parameter Group. If the source DB Parameter Group+-- is in the same region as the copy, specify a valid DB Parameter Group+-- identifier, or a valid ARN. If the source DB Parameter Group is in a+-- different region than the copy, specify a valid DB parameter group ARN.+-- Example: my-db-param-group Example:+-- arn:aws:rds:us-west-2:123456789012:pg:special-parameters.+cdbpgSourceDBParameterGroupIdentifier :: Lens' CopyDBParameterGroup Text+cdbpgSourceDBParameterGroupIdentifier =+    lens _cdbpgSourceDBParameterGroupIdentifier+        (\s a -> s { _cdbpgSourceDBParameterGroupIdentifier = a })++cdbpgTags :: Lens' CopyDBParameterGroup [Tag]+cdbpgTags = lens _cdbpgTags (\s a -> s { _cdbpgTags = a }) . _List++-- | The description for the copied DB Parameter Group.+cdbpgTargetDBParameterGroupDescription :: Lens' CopyDBParameterGroup Text+cdbpgTargetDBParameterGroupDescription =+    lens _cdbpgTargetDBParameterGroupDescription+        (\s a -> s { _cdbpgTargetDBParameterGroupDescription = a })++-- | The identifier for the copied DB Parameter Group. Constraints: Cannot be+-- null, empty, or blank Must contain from 1 to 255 alphanumeric characters+-- or hyphens First character must be a letter Cannot end with a hyphen or+-- contain two consecutive hyphens Example: my-db-parameter-group.+cdbpgTargetDBParameterGroupIdentifier :: Lens' CopyDBParameterGroup Text+cdbpgTargetDBParameterGroupIdentifier =+    lens _cdbpgTargetDBParameterGroupIdentifier+        (\s a -> s { _cdbpgTargetDBParameterGroupIdentifier = a })++newtype CopyDBParameterGroupResponse = CopyDBParameterGroupResponse+    { _cdbpgr1DBParameterGroup :: Maybe DBParameterGroup+    } deriving (Eq, Show)++-- | 'CopyDBParameterGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbpgr1DBParameterGroup' @::@ 'Maybe' 'DBParameterGroup'+--+copyDBParameterGroupResponse :: CopyDBParameterGroupResponse+copyDBParameterGroupResponse = CopyDBParameterGroupResponse+    { _cdbpgr1DBParameterGroup = Nothing+    }++cdbpgr1DBParameterGroup :: Lens' CopyDBParameterGroupResponse (Maybe DBParameterGroup)+cdbpgr1DBParameterGroup =+    lens _cdbpgr1DBParameterGroup (\s a -> s { _cdbpgr1DBParameterGroup = a })++instance ToPath CopyDBParameterGroup where+    toPath = const "/"++instance ToQuery CopyDBParameterGroup where+    toQuery CopyDBParameterGroup{..} = mconcat+        [ "SourceDBParameterGroupIdentifier"  =? _cdbpgSourceDBParameterGroupIdentifier+        , "Tags"                              =? _cdbpgTags+        , "TargetDBParameterGroupDescription" =? _cdbpgTargetDBParameterGroupDescription+        , "TargetDBParameterGroupIdentifier"  =? _cdbpgTargetDBParameterGroupIdentifier+        ]++instance ToHeaders CopyDBParameterGroup++instance AWSRequest CopyDBParameterGroup where+    type Sv CopyDBParameterGroup = RDS+    type Rs CopyDBParameterGroup = CopyDBParameterGroupResponse++    request  = post "CopyDBParameterGroup"+    response = xmlResponse++instance FromXML CopyDBParameterGroupResponse where+    parseXML = withElement "CopyDBParameterGroupResult" $ \x -> CopyDBParameterGroupResponse+        <$> x .@? "DBParameterGroup"
+ gen/Network/AWS/RDS/CopyDBSnapshot.hs view
@@ -0,0 +1,140 @@+{-# 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.RDS.CopyDBSnapshot+-- 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)++-- | Copies the specified DBSnapshot. The source DBSnapshot must be in the+-- "available" state.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBSnapshot.html>+module Network.AWS.RDS.CopyDBSnapshot+    (+    -- * Request+      CopyDBSnapshot+    -- ** Request constructor+    , copyDBSnapshot+    -- ** Request lenses+    , cdbsSourceDBSnapshotIdentifier+    , cdbsTags+    , cdbsTargetDBSnapshotIdentifier++    -- * Response+    , CopyDBSnapshotResponse+    -- ** Response constructor+    , copyDBSnapshotResponse+    -- ** Response lenses+    , cdbsrDBSnapshot+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CopyDBSnapshot = CopyDBSnapshot+    { _cdbsSourceDBSnapshotIdentifier :: Text+    , _cdbsTags                       :: List "Tag" Tag+    , _cdbsTargetDBSnapshotIdentifier :: Text+    } deriving (Eq, Show)++-- | 'CopyDBSnapshot' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbsSourceDBSnapshotIdentifier' @::@ 'Text'+--+-- * 'cdbsTags' @::@ ['Tag']+--+-- * 'cdbsTargetDBSnapshotIdentifier' @::@ 'Text'+--+copyDBSnapshot :: Text -- ^ 'cdbsSourceDBSnapshotIdentifier'+               -> Text -- ^ 'cdbsTargetDBSnapshotIdentifier'+               -> CopyDBSnapshot+copyDBSnapshot p1 p2 = CopyDBSnapshot+    { _cdbsSourceDBSnapshotIdentifier = p1+    , _cdbsTargetDBSnapshotIdentifier = p2+    , _cdbsTags                       = mempty+    }++-- | The identifier for the source DB snapshot. Constraints: Must specify a+-- valid system snapshot in the "available" state. If the source snapshot is+-- in the same region as the copy, specify a valid DB snapshot identifier.+-- If the source snapshot is in a different region than the copy, specify a+-- valid DB snapshot ARN. For more information, go to Copying a DB Snapshot.+-- Example: rds:mydb-2012-04-02-00-01 Example:+-- arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805.+-- +cdbsSourceDBSnapshotIdentifier :: Lens' CopyDBSnapshot Text+cdbsSourceDBSnapshotIdentifier =+    lens _cdbsSourceDBSnapshotIdentifier+        (\s a -> s { _cdbsSourceDBSnapshotIdentifier = a })++cdbsTags :: Lens' CopyDBSnapshot [Tag]+cdbsTags = lens _cdbsTags (\s a -> s { _cdbsTags = a }) . _List++-- | The identifier for the copied snapshot. Constraints: Cannot be null,+-- empty, or blank Must contain from 1 to 255 alphanumeric characters or+-- hyphens First character must be a letter Cannot end with a hyphen or+-- contain two consecutive hyphens Example: my-db-snapshot.+cdbsTargetDBSnapshotIdentifier :: Lens' CopyDBSnapshot Text+cdbsTargetDBSnapshotIdentifier =+    lens _cdbsTargetDBSnapshotIdentifier+        (\s a -> s { _cdbsTargetDBSnapshotIdentifier = a })++newtype CopyDBSnapshotResponse = CopyDBSnapshotResponse+    { _cdbsrDBSnapshot :: Maybe DBSnapshot+    } deriving (Eq, Show)++-- | 'CopyDBSnapshotResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbsrDBSnapshot' @::@ 'Maybe' 'DBSnapshot'+--+copyDBSnapshotResponse :: CopyDBSnapshotResponse+copyDBSnapshotResponse = CopyDBSnapshotResponse+    { _cdbsrDBSnapshot = Nothing+    }++cdbsrDBSnapshot :: Lens' CopyDBSnapshotResponse (Maybe DBSnapshot)+cdbsrDBSnapshot = lens _cdbsrDBSnapshot (\s a -> s { _cdbsrDBSnapshot = a })++instance ToPath CopyDBSnapshot where+    toPath = const "/"++instance ToQuery CopyDBSnapshot where+    toQuery CopyDBSnapshot{..} = mconcat+        [ "SourceDBSnapshotIdentifier" =? _cdbsSourceDBSnapshotIdentifier+        , "Tags"                       =? _cdbsTags+        , "TargetDBSnapshotIdentifier" =? _cdbsTargetDBSnapshotIdentifier+        ]++instance ToHeaders CopyDBSnapshot++instance AWSRequest CopyDBSnapshot where+    type Sv CopyDBSnapshot = RDS+    type Rs CopyDBSnapshot = CopyDBSnapshotResponse++    request  = post "CopyDBSnapshot"+    response = xmlResponse++instance FromXML CopyDBSnapshotResponse where+    parseXML = withElement "CopyDBSnapshotResult" $ \x -> CopyDBSnapshotResponse+        <$> x .@? "DBSnapshot"
+ gen/Network/AWS/RDS/CopyOptionGroup.hs view
@@ -0,0 +1,150 @@+{-# 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.RDS.CopyOptionGroup+-- 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)++-- | Copies the specified Option Group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyOptionGroup.html>+module Network.AWS.RDS.CopyOptionGroup+    (+    -- * Request+      CopyOptionGroup+    -- ** Request constructor+    , copyOptionGroup+    -- ** Request lenses+    , cog1SourceOptionGroupIdentifier+    , cog1Tags+    , cog1TargetOptionGroupDescription+    , cog1TargetOptionGroupIdentifier++    -- * Response+    , CopyOptionGroupResponse+    -- ** Response constructor+    , copyOptionGroupResponse+    -- ** Response lenses+    , cogrOptionGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CopyOptionGroup = CopyOptionGroup+    { _cog1SourceOptionGroupIdentifier  :: Text+    , _cog1Tags                         :: List "Tag" Tag+    , _cog1TargetOptionGroupDescription :: Text+    , _cog1TargetOptionGroupIdentifier  :: Text+    } deriving (Eq, Show)++-- | 'CopyOptionGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cog1SourceOptionGroupIdentifier' @::@ 'Text'+--+-- * 'cog1Tags' @::@ ['Tag']+--+-- * 'cog1TargetOptionGroupDescription' @::@ 'Text'+--+-- * 'cog1TargetOptionGroupIdentifier' @::@ 'Text'+--+copyOptionGroup :: Text -- ^ 'cog1SourceOptionGroupIdentifier'+                -> Text -- ^ 'cog1TargetOptionGroupIdentifier'+                -> Text -- ^ 'cog1TargetOptionGroupDescription'+                -> CopyOptionGroup+copyOptionGroup p1 p2 p3 = CopyOptionGroup+    { _cog1SourceOptionGroupIdentifier  = p1+    , _cog1TargetOptionGroupIdentifier  = p2+    , _cog1TargetOptionGroupDescription = p3+    , _cog1Tags                         = mempty+    }++-- | The identifier or ARN for the source Option Group. Constraints: Must+-- specify a valid Option Group. If the source Option Group is in the same+-- region as the copy, specify a valid Option Group identifier, or a valid+-- ARN. If the source Option Group is in a different region than the copy,+-- specify a valid Option group ARN. Example: my-option-group Example:+-- arn:aws:rds:us-west-2:123456789012:og:special-options.+cog1SourceOptionGroupIdentifier :: Lens' CopyOptionGroup Text+cog1SourceOptionGroupIdentifier =+    lens _cog1SourceOptionGroupIdentifier+        (\s a -> s { _cog1SourceOptionGroupIdentifier = a })++cog1Tags :: Lens' CopyOptionGroup [Tag]+cog1Tags = lens _cog1Tags (\s a -> s { _cog1Tags = a }) . _List++-- | The description for the copied Option Group.+cog1TargetOptionGroupDescription :: Lens' CopyOptionGroup Text+cog1TargetOptionGroupDescription =+    lens _cog1TargetOptionGroupDescription+        (\s a -> s { _cog1TargetOptionGroupDescription = a })++-- | The identifier for the copied Option Group. Constraints: Cannot be null,+-- empty, or blank Must contain from 1 to 255 alphanumeric characters or+-- hyphens First character must be a letter Cannot end with a hyphen or+-- contain two consecutive hyphens Example: my-option-group.+cog1TargetOptionGroupIdentifier :: Lens' CopyOptionGroup Text+cog1TargetOptionGroupIdentifier =+    lens _cog1TargetOptionGroupIdentifier+        (\s a -> s { _cog1TargetOptionGroupIdentifier = a })++newtype CopyOptionGroupResponse = CopyOptionGroupResponse+    { _cogrOptionGroup :: Maybe OptionGroup+    } deriving (Eq, Show)++-- | 'CopyOptionGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cogrOptionGroup' @::@ 'Maybe' 'OptionGroup'+--+copyOptionGroupResponse :: CopyOptionGroupResponse+copyOptionGroupResponse = CopyOptionGroupResponse+    { _cogrOptionGroup = Nothing+    }++cogrOptionGroup :: Lens' CopyOptionGroupResponse (Maybe OptionGroup)+cogrOptionGroup = lens _cogrOptionGroup (\s a -> s { _cogrOptionGroup = a })++instance ToPath CopyOptionGroup where+    toPath = const "/"++instance ToQuery CopyOptionGroup where+    toQuery CopyOptionGroup{..} = mconcat+        [ "SourceOptionGroupIdentifier"  =? _cog1SourceOptionGroupIdentifier+        , "Tags"                         =? _cog1Tags+        , "TargetOptionGroupDescription" =? _cog1TargetOptionGroupDescription+        , "TargetOptionGroupIdentifier"  =? _cog1TargetOptionGroupIdentifier+        ]++instance ToHeaders CopyOptionGroup++instance AWSRequest CopyOptionGroup where+    type Sv CopyOptionGroup = RDS+    type Rs CopyOptionGroup = CopyOptionGroupResponse++    request  = post "CopyOptionGroup"+    response = xmlResponse++instance FromXML CopyOptionGroupResponse where+    parseXML = withElement "CopyOptionGroupResult" $ \x -> CopyOptionGroupResponse+        <$> x .@? "OptionGroup"
+ gen/Network/AWS/RDS/CreateDBInstance.hs view
@@ -0,0 +1,508 @@+{-# 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.RDS.CreateDBInstance+-- 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 DB instance.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html>+module Network.AWS.RDS.CreateDBInstance+    (+    -- * Request+      CreateDBInstance+    -- ** Request constructor+    , createDBInstance+    -- ** Request lenses+    , cdbiAllocatedStorage+    , cdbiAutoMinorVersionUpgrade+    , cdbiAvailabilityZone+    , cdbiBackupRetentionPeriod+    , cdbiCharacterSetName+    , cdbiDBInstanceClass+    , cdbiDBInstanceIdentifier+    , cdbiDBName+    , cdbiDBParameterGroupName+    , cdbiDBSecurityGroups+    , cdbiDBSubnetGroupName+    , cdbiEngine+    , cdbiEngineVersion+    , cdbiIops+    , cdbiLicenseModel+    , cdbiMasterUserPassword+    , cdbiMasterUsername+    , cdbiMultiAZ+    , cdbiOptionGroupName+    , cdbiPort+    , cdbiPreferredBackupWindow+    , cdbiPreferredMaintenanceWindow+    , cdbiPubliclyAccessible+    , cdbiStorageType+    , cdbiTags+    , cdbiTdeCredentialArn+    , cdbiTdeCredentialPassword+    , cdbiVpcSecurityGroupIds++    -- * Response+    , CreateDBInstanceResponse+    -- ** Response constructor+    , createDBInstanceResponse+    -- ** Response lenses+    , cdbirDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateDBInstance = CreateDBInstance+    { _cdbiAllocatedStorage           :: Int+    , _cdbiAutoMinorVersionUpgrade    :: Maybe Bool+    , _cdbiAvailabilityZone           :: Maybe Text+    , _cdbiBackupRetentionPeriod      :: Maybe Int+    , _cdbiCharacterSetName           :: Maybe Text+    , _cdbiDBInstanceClass            :: Text+    , _cdbiDBInstanceIdentifier       :: Text+    , _cdbiDBName                     :: Maybe Text+    , _cdbiDBParameterGroupName       :: Maybe Text+    , _cdbiDBSecurityGroups           :: List "DBSecurityGroupName" Text+    , _cdbiDBSubnetGroupName          :: Maybe Text+    , _cdbiEngine                     :: Text+    , _cdbiEngineVersion              :: Maybe Text+    , _cdbiIops                       :: Maybe Int+    , _cdbiLicenseModel               :: Maybe Text+    , _cdbiMasterUserPassword         :: Text+    , _cdbiMasterUsername             :: Text+    , _cdbiMultiAZ                    :: Maybe Bool+    , _cdbiOptionGroupName            :: Maybe Text+    , _cdbiPort                       :: Maybe Int+    , _cdbiPreferredBackupWindow      :: Maybe Text+    , _cdbiPreferredMaintenanceWindow :: Maybe Text+    , _cdbiPubliclyAccessible         :: Maybe Bool+    , _cdbiStorageType                :: Maybe Text+    , _cdbiTags                       :: List "Tag" Tag+    , _cdbiTdeCredentialArn           :: Maybe Text+    , _cdbiTdeCredentialPassword      :: Maybe Text+    , _cdbiVpcSecurityGroupIds        :: List "VpcSecurityGroupId" Text+    } deriving (Eq, Show)++-- | 'CreateDBInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbiAllocatedStorage' @::@ 'Int'+--+-- * 'cdbiAutoMinorVersionUpgrade' @::@ 'Maybe' 'Bool'+--+-- * 'cdbiAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'cdbiBackupRetentionPeriod' @::@ 'Maybe' 'Int'+--+-- * 'cdbiCharacterSetName' @::@ 'Maybe' 'Text'+--+-- * 'cdbiDBInstanceClass' @::@ 'Text'+--+-- * 'cdbiDBInstanceIdentifier' @::@ 'Text'+--+-- * 'cdbiDBName' @::@ 'Maybe' 'Text'+--+-- * 'cdbiDBParameterGroupName' @::@ 'Maybe' 'Text'+--+-- * 'cdbiDBSecurityGroups' @::@ ['Text']+--+-- * 'cdbiDBSubnetGroupName' @::@ 'Maybe' 'Text'+--+-- * 'cdbiEngine' @::@ 'Text'+--+-- * 'cdbiEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'cdbiIops' @::@ 'Maybe' 'Int'+--+-- * 'cdbiLicenseModel' @::@ 'Maybe' 'Text'+--+-- * 'cdbiMasterUserPassword' @::@ 'Text'+--+-- * 'cdbiMasterUsername' @::@ 'Text'+--+-- * 'cdbiMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'cdbiOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'cdbiPort' @::@ 'Maybe' 'Int'+--+-- * 'cdbiPreferredBackupWindow' @::@ 'Maybe' 'Text'+--+-- * 'cdbiPreferredMaintenanceWindow' @::@ 'Maybe' 'Text'+--+-- * 'cdbiPubliclyAccessible' @::@ 'Maybe' 'Bool'+--+-- * 'cdbiStorageType' @::@ 'Maybe' 'Text'+--+-- * 'cdbiTags' @::@ ['Tag']+--+-- * 'cdbiTdeCredentialArn' @::@ 'Maybe' 'Text'+--+-- * 'cdbiTdeCredentialPassword' @::@ 'Maybe' 'Text'+--+-- * 'cdbiVpcSecurityGroupIds' @::@ ['Text']+--+createDBInstance :: Text -- ^ 'cdbiDBInstanceIdentifier'+                 -> Int -- ^ 'cdbiAllocatedStorage'+                 -> Text -- ^ 'cdbiDBInstanceClass'+                 -> Text -- ^ 'cdbiEngine'+                 -> Text -- ^ 'cdbiMasterUsername'+                 -> Text -- ^ 'cdbiMasterUserPassword'+                 -> CreateDBInstance+createDBInstance p1 p2 p3 p4 p5 p6 = CreateDBInstance+    { _cdbiDBInstanceIdentifier       = p1+    , _cdbiAllocatedStorage           = p2+    , _cdbiDBInstanceClass            = p3+    , _cdbiEngine                     = p4+    , _cdbiMasterUsername             = p5+    , _cdbiMasterUserPassword         = p6+    , _cdbiDBName                     = Nothing+    , _cdbiDBSecurityGroups           = mempty+    , _cdbiVpcSecurityGroupIds        = mempty+    , _cdbiAvailabilityZone           = Nothing+    , _cdbiDBSubnetGroupName          = Nothing+    , _cdbiPreferredMaintenanceWindow = Nothing+    , _cdbiDBParameterGroupName       = Nothing+    , _cdbiBackupRetentionPeriod      = Nothing+    , _cdbiPreferredBackupWindow      = Nothing+    , _cdbiPort                       = Nothing+    , _cdbiMultiAZ                    = Nothing+    , _cdbiEngineVersion              = Nothing+    , _cdbiAutoMinorVersionUpgrade    = Nothing+    , _cdbiLicenseModel               = Nothing+    , _cdbiIops                       = Nothing+    , _cdbiOptionGroupName            = Nothing+    , _cdbiCharacterSetName           = Nothing+    , _cdbiPubliclyAccessible         = Nothing+    , _cdbiTags                       = mempty+    , _cdbiStorageType                = Nothing+    , _cdbiTdeCredentialArn           = Nothing+    , _cdbiTdeCredentialPassword      = Nothing+    }++-- | The amount of storage (in gigabytes) to be initially allocated for the+-- database instance. Type: Integer MySQL Constraints: Must be an integer+-- from 5 to 3072. PostgreSQL Constraints: Must be an integer from 5 to+-- 3072. Oracle Constraints: Must be an integer from 10 to 3072. SQL Server+-- Constraints: Must be an integer from 200 to 1024 (Standard Edition and+-- Enterprise Edition) or from 30 to 1024 (Express Edition and Web Edition).+cdbiAllocatedStorage :: Lens' CreateDBInstance Int+cdbiAllocatedStorage =+    lens _cdbiAllocatedStorage (\s a -> s { _cdbiAllocatedStorage = a })++-- | Indicates that minor engine upgrades will be applied automatically to the+-- DB instance during the maintenance window. Default: true.+cdbiAutoMinorVersionUpgrade :: Lens' CreateDBInstance (Maybe Bool)+cdbiAutoMinorVersionUpgrade =+    lens _cdbiAutoMinorVersionUpgrade+        (\s a -> s { _cdbiAutoMinorVersionUpgrade = a })++-- | The EC2 Availability Zone that the database instance will be created in.+-- Default: A random, system-chosen Availability Zone in the endpoint's+-- region. Example: us-east-1d Constraint: The AvailabilityZone parameter+-- cannot be specified if the MultiAZ parameter is set to true. The+-- specified Availability Zone must be in the same region as the current+-- endpoint.+cdbiAvailabilityZone :: Lens' CreateDBInstance (Maybe Text)+cdbiAvailabilityZone =+    lens _cdbiAvailabilityZone (\s a -> s { _cdbiAvailabilityZone = a })++-- | The number of days for which automated backups are retained. Setting this+-- parameter to a positive number enables backups. Setting this parameter to+-- 0 disables automated backups. Default: 1 Constraints: Must be a value+-- from 0 to 35 Cannot be set to 0 if the DB instance is a source to read+-- replicas.+cdbiBackupRetentionPeriod :: Lens' CreateDBInstance (Maybe Int)+cdbiBackupRetentionPeriod =+    lens _cdbiBackupRetentionPeriod+        (\s a -> s { _cdbiBackupRetentionPeriod = a })++-- | For supported engines, indicates that the DB instance should be+-- associated with the specified CharacterSet.+cdbiCharacterSetName :: Lens' CreateDBInstance (Maybe Text)+cdbiCharacterSetName =+    lens _cdbiCharacterSetName (\s a -> s { _cdbiCharacterSetName = a })++-- | The compute and memory capacity of the DB instance. Valid Values:+-- db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge |+-- db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large+-- | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge |+-- db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small+-- | db.t2.medium.+cdbiDBInstanceClass :: Lens' CreateDBInstance Text+cdbiDBInstanceClass =+    lens _cdbiDBInstanceClass (\s a -> s { _cdbiDBInstanceClass = a })++-- | The DB instance identifier. This parameter is stored as a lowercase+-- string. Constraints: Must contain from 1 to 63 alphanumeric characters or+-- hyphens (1 to 15 for SQL Server). First character must be a letter.+-- Cannot end with a hyphen or contain two consecutive hyphens. Example:+-- mydbinstance.+cdbiDBInstanceIdentifier :: Lens' CreateDBInstance Text+cdbiDBInstanceIdentifier =+    lens _cdbiDBInstanceIdentifier+        (\s a -> s { _cdbiDBInstanceIdentifier = a })++-- | The meaning of this parameter differs according to the database engine+-- you use. Type: String MySQL The name of the database to create when the+-- DB instance is created. If this parameter is not specified, no database+-- is created in the DB instance. Constraints: Must contain 1 to 64+-- alphanumeric characters Cannot be a word reserved by the specified+-- database engine PostgreSQL The name of the database to create when the DB+-- instance is created. If this parameter is not specified, no database is+-- created in the DB instance. Constraints: Must contain 1 to 63+-- alphanumeric characters Must begin with a letter or an underscore.+-- Subsequent characters can be letters, underscores, or digits (0-9).+-- Cannot be a word reserved by the specified database engine Oracle The+-- Oracle System ID (SID) of the created DB instance. Default: ORCL+-- Constraints: Cannot be longer than 8 characters SQL Server Not+-- applicable. Must be null.+cdbiDBName :: Lens' CreateDBInstance (Maybe Text)+cdbiDBName = lens _cdbiDBName (\s a -> s { _cdbiDBName = a })++-- | The name of the DB parameter group to associate with this DB instance. If+-- this argument is omitted, the default DBParameterGroup for the specified+-- engine will be used. Constraints: Must be 1 to 255 alphanumeric+-- characters First character must be a letter Cannot end with a hyphen or+-- contain two consecutive hyphens.+cdbiDBParameterGroupName :: Lens' CreateDBInstance (Maybe Text)+cdbiDBParameterGroupName =+    lens _cdbiDBParameterGroupName+        (\s a -> s { _cdbiDBParameterGroupName = a })++-- | A list of DB security groups to associate with this DB instance. Default:+-- The default DB security group for the database engine.+cdbiDBSecurityGroups :: Lens' CreateDBInstance [Text]+cdbiDBSecurityGroups =+    lens _cdbiDBSecurityGroups (\s a -> s { _cdbiDBSecurityGroups = a })+        . _List++-- | A DB subnet group to associate with this DB instance. If there is no DB+-- subnet group, then it is a non-VPC DB instance.+cdbiDBSubnetGroupName :: Lens' CreateDBInstance (Maybe Text)+cdbiDBSubnetGroupName =+    lens _cdbiDBSubnetGroupName (\s a -> s { _cdbiDBSubnetGroupName = a })++-- | The name of the database engine to be used for this instance. Valid+-- Values: MySQL | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee |+-- sqlserver-se | sqlserver-ex | sqlserver-web | postgres.+cdbiEngine :: Lens' CreateDBInstance Text+cdbiEngine = lens _cdbiEngine (\s a -> s { _cdbiEngine = a })++-- | The version number of the database engine to use. MySQL Example: 5.1.42+-- Type: String PostgreSQL Example: 9.3 Type: String Oracle Example:+-- 11.2.0.2.v2 Type: String SQL Server Example: 10.50.2789.0.v1.+cdbiEngineVersion :: Lens' CreateDBInstance (Maybe Text)+cdbiEngineVersion =+    lens _cdbiEngineVersion (\s a -> s { _cdbiEngineVersion = a })++-- | The amount of Provisioned IOPS (input/output operations per second) to be+-- initially allocated for the DB instance. Constraints: To use PIOPS, this+-- value must be an integer greater than 1000.+cdbiIops :: Lens' CreateDBInstance (Maybe Int)+cdbiIops = lens _cdbiIops (\s a -> s { _cdbiIops = a })++-- | License model information for this DB instance. Valid values:+-- license-included | bring-your-own-license | general-public-license.+cdbiLicenseModel :: Lens' CreateDBInstance (Maybe Text)+cdbiLicenseModel = lens _cdbiLicenseModel (\s a -> s { _cdbiLicenseModel = a })++-- | The password for the master database user. Can be any printable ASCII+-- character except "/", """, or "@". Type: String MySQL Constraints: Must+-- contain from 8 to 41 characters. Oracle Constraints: Must contain from 8+-- to 30 characters. SQL Server Constraints: Must contain from 8 to 128+-- characters.+cdbiMasterUserPassword :: Lens' CreateDBInstance Text+cdbiMasterUserPassword =+    lens _cdbiMasterUserPassword (\s a -> s { _cdbiMasterUserPassword = a })++-- | The name of master user for the client DB instance. MySQL Constraints:+-- Must be 1 to 16 alphanumeric characters. First character must be a+-- letter. Cannot be a reserved word for the chosen database engine. Type:+-- String Oracle Constraints: Must be 1 to 30 alphanumeric characters. First+-- character must be a letter. Cannot be a reserved word for the chosen+-- database engine. SQL Server Constraints: Must be 1 to 128 alphanumeric+-- characters. First character must be a letter. Cannot be a reserved word+-- for the chosen database engine.+cdbiMasterUsername :: Lens' CreateDBInstance Text+cdbiMasterUsername =+    lens _cdbiMasterUsername (\s a -> s { _cdbiMasterUsername = a })++-- | Specifies if the DB instance is a Multi-AZ deployment. You cannot set the+-- AvailabilityZone parameter if the MultiAZ parameter is set to true.+cdbiMultiAZ :: Lens' CreateDBInstance (Maybe Bool)+cdbiMultiAZ = lens _cdbiMultiAZ (\s a -> s { _cdbiMultiAZ = a })++-- | Indicates that the DB instance should be associated with the specified+-- option group. Permanent options, such as the TDE option for Oracle+-- Advanced Security TDE, cannot be removed from an option group, and that+-- option group cannot be removed from a DB instance once it is associated+-- with a DB instance.+cdbiOptionGroupName :: Lens' CreateDBInstance (Maybe Text)+cdbiOptionGroupName =+    lens _cdbiOptionGroupName (\s a -> s { _cdbiOptionGroupName = a })++-- | The port number on which the database accepts connections. MySQL Default:+-- 3306 Valid Values: 1150-65535 Type: Integer PostgreSQL Default: 5432+-- Valid Values: 1150-65535 Type: Integer Oracle Default: 1521 Valid Values:+-- 1150-65535 SQL Server Default: 1433 Valid Values: 1150-65535 except for+-- 1434, 3389, 47001, 49152, and 49152 through 49156.+cdbiPort :: Lens' CreateDBInstance (Maybe Int)+cdbiPort = lens _cdbiPort (\s a -> s { _cdbiPort = a })++-- | The daily time range during which automated backups are created if+-- automated backups are enabled, using the BackupRetentionPeriod parameter.+-- Default: A 30-minute window selected at random from an 8-hour block of+-- time per region. See the Amazon RDS User Guide for the time blocks for+-- each region from which the default backup windows are assigned.+-- Constraints: Must be in the format hh24:mi-hh24:mi. Times should be+-- Universal Time Coordinated (UTC). Must not conflict with the preferred+-- maintenance window. Must be at least 30 minutes.+cdbiPreferredBackupWindow :: Lens' CreateDBInstance (Maybe Text)+cdbiPreferredBackupWindow =+    lens _cdbiPreferredBackupWindow+        (\s a -> s { _cdbiPreferredBackupWindow = a })++-- | The weekly time range (in UTC) during which system maintenance can occur.+-- Format: ddd:hh24:mi-ddd:hh24:mi Default: A 30-minute window selected at+-- random from an 8-hour block of time per region, occurring on a random day+-- of the week. To see the time blocks available, see Adjusting the+-- Preferred Maintenance Window in the Amazon RDS User Guide. Valid Days:+-- Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.+cdbiPreferredMaintenanceWindow :: Lens' CreateDBInstance (Maybe Text)+cdbiPreferredMaintenanceWindow =+    lens _cdbiPreferredMaintenanceWindow+        (\s a -> s { _cdbiPreferredMaintenanceWindow = a })++-- | Specifies the accessibility options for the DB instance. A value of true+-- specifies an Internet-facing instance with a publicly resolvable DNS+-- name, which resolves to a public IP address. A value of false specifies+-- an internal instance with a DNS name that resolves to a private IP+-- address. Default: The default behavior varies depending on whether a VPC+-- has been requested or not. The following list shows the default behavior+-- in each case. Default VPC:true VPC:false If no DB subnet group has been+-- specified as part of the request and the PubliclyAccessible value has not+-- been set, the DB instance will be publicly accessible. If a specific DB+-- subnet group has been specified as part of the request and the+-- PubliclyAccessible value has not been set, the DB instance will be+-- private.+cdbiPubliclyAccessible :: Lens' CreateDBInstance (Maybe Bool)+cdbiPubliclyAccessible =+    lens _cdbiPubliclyAccessible (\s a -> s { _cdbiPubliclyAccessible = a })++-- | Specifies storage type to be associated with the DB Instance. Valid+-- values: standard | gp2 | io1 If you specify io1, you must also include a+-- value for the Iops parameter.+cdbiStorageType :: Lens' CreateDBInstance (Maybe Text)+cdbiStorageType = lens _cdbiStorageType (\s a -> s { _cdbiStorageType = a })++cdbiTags :: Lens' CreateDBInstance [Tag]+cdbiTags = lens _cdbiTags (\s a -> s { _cdbiTags = a }) . _List++-- | The ARN from the Key Store with which to associate the instance for TDE+-- encryption.+cdbiTdeCredentialArn :: Lens' CreateDBInstance (Maybe Text)+cdbiTdeCredentialArn =+    lens _cdbiTdeCredentialArn (\s a -> s { _cdbiTdeCredentialArn = a })++-- | The password for the given ARN from the Key Store in order to access the+-- device.+cdbiTdeCredentialPassword :: Lens' CreateDBInstance (Maybe Text)+cdbiTdeCredentialPassword =+    lens _cdbiTdeCredentialPassword+        (\s a -> s { _cdbiTdeCredentialPassword = a })++-- | A list of EC2 VPC security groups to associate with this DB instance.+-- Default: The default EC2 VPC security group for the DB subnet group's+-- VPC.+cdbiVpcSecurityGroupIds :: Lens' CreateDBInstance [Text]+cdbiVpcSecurityGroupIds =+    lens _cdbiVpcSecurityGroupIds (\s a -> s { _cdbiVpcSecurityGroupIds = a })+        . _List++newtype CreateDBInstanceResponse = CreateDBInstanceResponse+    { _cdbirDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'CreateDBInstanceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbirDBInstance' @::@ 'Maybe' 'DBInstance'+--+createDBInstanceResponse :: CreateDBInstanceResponse+createDBInstanceResponse = CreateDBInstanceResponse+    { _cdbirDBInstance = Nothing+    }++cdbirDBInstance :: Lens' CreateDBInstanceResponse (Maybe DBInstance)+cdbirDBInstance = lens _cdbirDBInstance (\s a -> s { _cdbirDBInstance = a })++instance ToPath CreateDBInstance where+    toPath = const "/"++instance ToQuery CreateDBInstance where+    toQuery CreateDBInstance{..} = mconcat+        [ "AllocatedStorage"           =? _cdbiAllocatedStorage+        , "AutoMinorVersionUpgrade"    =? _cdbiAutoMinorVersionUpgrade+        , "AvailabilityZone"           =? _cdbiAvailabilityZone+        , "BackupRetentionPeriod"      =? _cdbiBackupRetentionPeriod+        , "CharacterSetName"           =? _cdbiCharacterSetName+        , "DBInstanceClass"            =? _cdbiDBInstanceClass+        , "DBInstanceIdentifier"       =? _cdbiDBInstanceIdentifier+        , "DBName"                     =? _cdbiDBName+        , "DBParameterGroupName"       =? _cdbiDBParameterGroupName+        , "DBSecurityGroups"           =? _cdbiDBSecurityGroups+        , "DBSubnetGroupName"          =? _cdbiDBSubnetGroupName+        , "Engine"                     =? _cdbiEngine+        , "EngineVersion"              =? _cdbiEngineVersion+        , "Iops"                       =? _cdbiIops+        , "LicenseModel"               =? _cdbiLicenseModel+        , "MasterUserPassword"         =? _cdbiMasterUserPassword+        , "MasterUsername"             =? _cdbiMasterUsername+        , "MultiAZ"                    =? _cdbiMultiAZ+        , "OptionGroupName"            =? _cdbiOptionGroupName+        , "Port"                       =? _cdbiPort+        , "PreferredBackupWindow"      =? _cdbiPreferredBackupWindow+        , "PreferredMaintenanceWindow" =? _cdbiPreferredMaintenanceWindow+        , "PubliclyAccessible"         =? _cdbiPubliclyAccessible+        , "StorageType"                =? _cdbiStorageType+        , "Tags"                       =? _cdbiTags+        , "TdeCredentialArn"           =? _cdbiTdeCredentialArn+        , "TdeCredentialPassword"      =? _cdbiTdeCredentialPassword+        , "VpcSecurityGroupIds"        =? _cdbiVpcSecurityGroupIds+        ]++instance ToHeaders CreateDBInstance++instance AWSRequest CreateDBInstance where+    type Sv CreateDBInstance = RDS+    type Rs CreateDBInstance = CreateDBInstanceResponse++    request  = post "CreateDBInstance"+    response = xmlResponse++instance FromXML CreateDBInstanceResponse where+    parseXML = withElement "CreateDBInstanceResult" $ \x -> CreateDBInstanceResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/CreateDBInstanceReadReplica.hs view
@@ -0,0 +1,280 @@+{-# 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.RDS.CreateDBInstanceReadReplica+-- 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 DB instance that acts as a read replica of a source DB instance.+-- All read replica DB instances are created as Single-AZ deployments with+-- backups disabled. All other DB instance attributes (including DB security+-- groups and DB parameter groups) are inherited from the source DB instance,+-- except as specified below. The source DB instance must have backup+-- retention enabled.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html>+module Network.AWS.RDS.CreateDBInstanceReadReplica+    (+    -- * Request+      CreateDBInstanceReadReplica+    -- ** Request constructor+    , createDBInstanceReadReplica+    -- ** Request lenses+    , cdbirrAutoMinorVersionUpgrade+    , cdbirrAvailabilityZone+    , cdbirrDBInstanceClass+    , cdbirrDBInstanceIdentifier+    , cdbirrDBSubnetGroupName+    , cdbirrIops+    , cdbirrOptionGroupName+    , cdbirrPort+    , cdbirrPubliclyAccessible+    , cdbirrSourceDBInstanceIdentifier+    , cdbirrStorageType+    , cdbirrTags++    -- * Response+    , CreateDBInstanceReadReplicaResponse+    -- ** Response constructor+    , createDBInstanceReadReplicaResponse+    -- ** Response lenses+    , cdbirrrDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateDBInstanceReadReplica = CreateDBInstanceReadReplica+    { _cdbirrAutoMinorVersionUpgrade    :: Maybe Bool+    , _cdbirrAvailabilityZone           :: Maybe Text+    , _cdbirrDBInstanceClass            :: Maybe Text+    , _cdbirrDBInstanceIdentifier       :: Text+    , _cdbirrDBSubnetGroupName          :: Maybe Text+    , _cdbirrIops                       :: Maybe Int+    , _cdbirrOptionGroupName            :: Maybe Text+    , _cdbirrPort                       :: Maybe Int+    , _cdbirrPubliclyAccessible         :: Maybe Bool+    , _cdbirrSourceDBInstanceIdentifier :: Text+    , _cdbirrStorageType                :: Maybe Text+    , _cdbirrTags                       :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'CreateDBInstanceReadReplica' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbirrAutoMinorVersionUpgrade' @::@ 'Maybe' 'Bool'+--+-- * 'cdbirrAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'cdbirrDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'cdbirrDBInstanceIdentifier' @::@ 'Text'+--+-- * 'cdbirrDBSubnetGroupName' @::@ 'Maybe' 'Text'+--+-- * 'cdbirrIops' @::@ 'Maybe' 'Int'+--+-- * 'cdbirrOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'cdbirrPort' @::@ 'Maybe' 'Int'+--+-- * 'cdbirrPubliclyAccessible' @::@ 'Maybe' 'Bool'+--+-- * 'cdbirrSourceDBInstanceIdentifier' @::@ 'Text'+--+-- * 'cdbirrStorageType' @::@ 'Maybe' 'Text'+--+-- * 'cdbirrTags' @::@ ['Tag']+--+createDBInstanceReadReplica :: Text -- ^ 'cdbirrDBInstanceIdentifier'+                            -> Text -- ^ 'cdbirrSourceDBInstanceIdentifier'+                            -> CreateDBInstanceReadReplica+createDBInstanceReadReplica p1 p2 = CreateDBInstanceReadReplica+    { _cdbirrDBInstanceIdentifier       = p1+    , _cdbirrSourceDBInstanceIdentifier = p2+    , _cdbirrDBInstanceClass            = Nothing+    , _cdbirrAvailabilityZone           = Nothing+    , _cdbirrPort                       = Nothing+    , _cdbirrAutoMinorVersionUpgrade    = Nothing+    , _cdbirrIops                       = Nothing+    , _cdbirrOptionGroupName            = Nothing+    , _cdbirrPubliclyAccessible         = Nothing+    , _cdbirrTags                       = mempty+    , _cdbirrDBSubnetGroupName          = Nothing+    , _cdbirrStorageType                = Nothing+    }++-- | Indicates that minor engine upgrades will be applied automatically to the+-- read replica during the maintenance window. Default: Inherits from the+-- source DB instance.+cdbirrAutoMinorVersionUpgrade :: Lens' CreateDBInstanceReadReplica (Maybe Bool)+cdbirrAutoMinorVersionUpgrade =+    lens _cdbirrAutoMinorVersionUpgrade+        (\s a -> s { _cdbirrAutoMinorVersionUpgrade = a })++-- | The Amazon EC2 Availability Zone that the read replica will be created+-- in. Default: A random, system-chosen Availability Zone in the endpoint's+-- region. Example: us-east-1d.+cdbirrAvailabilityZone :: Lens' CreateDBInstanceReadReplica (Maybe Text)+cdbirrAvailabilityZone =+    lens _cdbirrAvailabilityZone (\s a -> s { _cdbirrAvailabilityZone = a })++-- | The compute and memory capacity of the read replica. Valid Values:+-- db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge+-- |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large |+-- db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge+-- | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small |+-- db.t2.medium Default: Inherits from the source DB instance.+cdbirrDBInstanceClass :: Lens' CreateDBInstanceReadReplica (Maybe Text)+cdbirrDBInstanceClass =+    lens _cdbirrDBInstanceClass (\s a -> s { _cdbirrDBInstanceClass = a })++-- | The DB instance identifier of the read replica. This is the unique key+-- that identifies a DB instance. This parameter is stored as a lowercase+-- string.+cdbirrDBInstanceIdentifier :: Lens' CreateDBInstanceReadReplica Text+cdbirrDBInstanceIdentifier =+    lens _cdbirrDBInstanceIdentifier+        (\s a -> s { _cdbirrDBInstanceIdentifier = a })++-- | Specifies a DB subnet group for the DB instance. The new DB instance will+-- be created in the VPC associated with the DB subnet group. If no DB+-- subnet group is specified, then the new DB instance is not created in a+-- VPC. Constraints: Can only be specified if the source DB instance+-- identifier specifies a DB instance in another region. The specified DB+-- subnet group must be in the same region in which the operation is+-- running. All read replicas in one region that are created from the same+-- source DB instance must either: Specify DB subnet groups from the same+-- VPC. All these read replicas will be created in the same VPC. Not specify+-- a DB subnet group. All these read replicas will be created outside of any+-- VPC.+cdbirrDBSubnetGroupName :: Lens' CreateDBInstanceReadReplica (Maybe Text)+cdbirrDBSubnetGroupName =+    lens _cdbirrDBSubnetGroupName (\s a -> s { _cdbirrDBSubnetGroupName = a })++-- | The amount of Provisioned IOPS (input/output operations per second) to be+-- initially allocated for the DB instance.+cdbirrIops :: Lens' CreateDBInstanceReadReplica (Maybe Int)+cdbirrIops = lens _cdbirrIops (\s a -> s { _cdbirrIops = a })++-- | The option group the DB instance will be associated with. If omitted, the+-- default option group for the engine specified will be used.+cdbirrOptionGroupName :: Lens' CreateDBInstanceReadReplica (Maybe Text)+cdbirrOptionGroupName =+    lens _cdbirrOptionGroupName (\s a -> s { _cdbirrOptionGroupName = a })++-- | The port number that the DB instance uses for connections. Default:+-- Inherits from the source DB instance Valid Values: 1150-65535.+cdbirrPort :: Lens' CreateDBInstanceReadReplica (Maybe Int)+cdbirrPort = lens _cdbirrPort (\s a -> s { _cdbirrPort = a })++-- | Specifies the accessibility options for the DB instance. A value of true+-- specifies an Internet-facing instance with a publicly resolvable DNS+-- name, which resolves to a public IP address. A value of false specifies+-- an internal instance with a DNS name that resolves to a private IP+-- address. Default: The default behavior varies depending on whether a VPC+-- has been requested or not. The following list shows the default behavior+-- in each case. Default VPC:true VPC:false If no DB subnet group has been+-- specified as part of the request and the PubliclyAccessible value has not+-- been set, the DB instance will be publicly accessible. If a specific DB+-- subnet group has been specified as part of the request and the+-- PubliclyAccessible value has not been set, the DB instance will be+-- private.+cdbirrPubliclyAccessible :: Lens' CreateDBInstanceReadReplica (Maybe Bool)+cdbirrPubliclyAccessible =+    lens _cdbirrPubliclyAccessible+        (\s a -> s { _cdbirrPubliclyAccessible = a })++-- | The identifier of the DB instance that will act as the source for the+-- read replica. Each DB instance can have up to five read replicas.+-- Constraints: Must be the identifier of an existing DB instance. Can+-- specify a DB instance that is a read replica only if the source is+-- running MySQL 5.6. The specified DB instance must have automatic backups+-- enabled, its backup retention period must be greater than 0. If the+-- source DB instance is in the same region as the read replica, specify a+-- valid DB instance identifier. If the source DB instance is in a different+-- region than the read replica, specify a valid DB instance ARN. For more+-- information, go to Constructing a Amazon RDS Amazon Resource Name (ARN).+cdbirrSourceDBInstanceIdentifier :: Lens' CreateDBInstanceReadReplica Text+cdbirrSourceDBInstanceIdentifier =+    lens _cdbirrSourceDBInstanceIdentifier+        (\s a -> s { _cdbirrSourceDBInstanceIdentifier = a })++-- | Specifies storage type to be associated with the DB Instance read+-- replica. Valid values: standard | gp2 | io1 If you specify io1, you must+-- also include a value for the Iops parameter.+cdbirrStorageType :: Lens' CreateDBInstanceReadReplica (Maybe Text)+cdbirrStorageType =+    lens _cdbirrStorageType (\s a -> s { _cdbirrStorageType = a })++cdbirrTags :: Lens' CreateDBInstanceReadReplica [Tag]+cdbirrTags = lens _cdbirrTags (\s a -> s { _cdbirrTags = a }) . _List++newtype CreateDBInstanceReadReplicaResponse = CreateDBInstanceReadReplicaResponse+    { _cdbirrrDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'CreateDBInstanceReadReplicaResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbirrrDBInstance' @::@ 'Maybe' 'DBInstance'+--+createDBInstanceReadReplicaResponse :: CreateDBInstanceReadReplicaResponse+createDBInstanceReadReplicaResponse = CreateDBInstanceReadReplicaResponse+    { _cdbirrrDBInstance = Nothing+    }++cdbirrrDBInstance :: Lens' CreateDBInstanceReadReplicaResponse (Maybe DBInstance)+cdbirrrDBInstance =+    lens _cdbirrrDBInstance (\s a -> s { _cdbirrrDBInstance = a })++instance ToPath CreateDBInstanceReadReplica where+    toPath = const "/"++instance ToQuery CreateDBInstanceReadReplica where+    toQuery CreateDBInstanceReadReplica{..} = mconcat+        [ "AutoMinorVersionUpgrade"    =? _cdbirrAutoMinorVersionUpgrade+        , "AvailabilityZone"           =? _cdbirrAvailabilityZone+        , "DBInstanceClass"            =? _cdbirrDBInstanceClass+        , "DBInstanceIdentifier"       =? _cdbirrDBInstanceIdentifier+        , "DBSubnetGroupName"          =? _cdbirrDBSubnetGroupName+        , "Iops"                       =? _cdbirrIops+        , "OptionGroupName"            =? _cdbirrOptionGroupName+        , "Port"                       =? _cdbirrPort+        , "PubliclyAccessible"         =? _cdbirrPubliclyAccessible+        , "SourceDBInstanceIdentifier" =? _cdbirrSourceDBInstanceIdentifier+        , "StorageType"                =? _cdbirrStorageType+        , "Tags"                       =? _cdbirrTags+        ]++instance ToHeaders CreateDBInstanceReadReplica++instance AWSRequest CreateDBInstanceReadReplica where+    type Sv CreateDBInstanceReadReplica = RDS+    type Rs CreateDBInstanceReadReplica = CreateDBInstanceReadReplicaResponse++    request  = post "CreateDBInstanceReadReplica"+    response = xmlResponse++instance FromXML CreateDBInstanceReadReplicaResponse where+    parseXML = withElement "CreateDBInstanceReadReplicaResult" $ \x -> CreateDBInstanceReadReplicaResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/CreateDBParameterGroup.hs view
@@ -0,0 +1,164 @@+{-# 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.RDS.CreateDBParameterGroup+-- 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 DB parameter group. A DB parameter group is initially created+-- with the default parameters for the database engine used by the DB+-- instance. To provide custom values for any of the parameters, you must+-- modify the group after creating it using ModifyDBParameterGroup. Once+-- you've created a DB parameter group, you need to associate it with your DB+-- instance using ModifyDBInstance. When you associate a new DB parameter+-- group with a running DB instance, you need to reboot the DB instance+-- without failover for the new DB parameter group and associated settings to+-- take effect. After you create a DB parameter group, you should wait at+-- least 5 minutes before creating your first DB instance that uses that DB+-- parameter group as the default parameter group. This allows Amazon RDS to+-- fully complete the create action before the parameter group is used as the+-- default for a new DB instance. This is especially important for parameters+-- that are critical when creating the default database for a DB instance,+-- such as the character set for the default database defined by the+-- character_set_database parameter. You can use the Parameter Groups option+-- of the Amazon RDS console or the DescribeDBParameters command to verify+-- that your DB parameter group has been created or modified.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html>+module Network.AWS.RDS.CreateDBParameterGroup+    (+    -- * Request+      CreateDBParameterGroup+    -- ** Request constructor+    , createDBParameterGroup+    -- ** Request lenses+    , cdbpg1DBParameterGroupFamily+    , cdbpg1DBParameterGroupName+    , cdbpg1Description+    , cdbpg1Tags++    -- * Response+    , CreateDBParameterGroupResponse+    -- ** Response constructor+    , createDBParameterGroupResponse+    -- ** Response lenses+    , cdbpgrDBParameterGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateDBParameterGroup = CreateDBParameterGroup+    { _cdbpg1DBParameterGroupFamily :: Text+    , _cdbpg1DBParameterGroupName   :: Text+    , _cdbpg1Description            :: Text+    , _cdbpg1Tags                   :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'CreateDBParameterGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbpg1DBParameterGroupFamily' @::@ 'Text'+--+-- * 'cdbpg1DBParameterGroupName' @::@ 'Text'+--+-- * 'cdbpg1Description' @::@ 'Text'+--+-- * 'cdbpg1Tags' @::@ ['Tag']+--+createDBParameterGroup :: Text -- ^ 'cdbpg1DBParameterGroupName'+                       -> Text -- ^ 'cdbpg1DBParameterGroupFamily'+                       -> Text -- ^ 'cdbpg1Description'+                       -> CreateDBParameterGroup+createDBParameterGroup p1 p2 p3 = CreateDBParameterGroup+    { _cdbpg1DBParameterGroupName   = p1+    , _cdbpg1DBParameterGroupFamily = p2+    , _cdbpg1Description            = p3+    , _cdbpg1Tags                   = mempty+    }++-- | The DB parameter group family name. A DB parameter group can be+-- associated with one and only one DB parameter group family, and can be+-- applied only to a DB instance running a database engine and engine+-- version compatible with that DB parameter group family.+cdbpg1DBParameterGroupFamily :: Lens' CreateDBParameterGroup Text+cdbpg1DBParameterGroupFamily =+    lens _cdbpg1DBParameterGroupFamily+        (\s a -> s { _cdbpg1DBParameterGroupFamily = a })++-- | The name of the DB parameter group. Constraints: Must be 1 to 255+-- alphanumeric characters First character must be a letter Cannot end with+-- a hyphen or contain two consecutive hyphens.+cdbpg1DBParameterGroupName :: Lens' CreateDBParameterGroup Text+cdbpg1DBParameterGroupName =+    lens _cdbpg1DBParameterGroupName+        (\s a -> s { _cdbpg1DBParameterGroupName = a })++-- | The description for the DB parameter group.+cdbpg1Description :: Lens' CreateDBParameterGroup Text+cdbpg1Description =+    lens _cdbpg1Description (\s a -> s { _cdbpg1Description = a })++cdbpg1Tags :: Lens' CreateDBParameterGroup [Tag]+cdbpg1Tags = lens _cdbpg1Tags (\s a -> s { _cdbpg1Tags = a }) . _List++newtype CreateDBParameterGroupResponse = CreateDBParameterGroupResponse+    { _cdbpgrDBParameterGroup :: Maybe DBParameterGroup+    } deriving (Eq, Show)++-- | 'CreateDBParameterGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbpgrDBParameterGroup' @::@ 'Maybe' 'DBParameterGroup'+--+createDBParameterGroupResponse :: CreateDBParameterGroupResponse+createDBParameterGroupResponse = CreateDBParameterGroupResponse+    { _cdbpgrDBParameterGroup = Nothing+    }++cdbpgrDBParameterGroup :: Lens' CreateDBParameterGroupResponse (Maybe DBParameterGroup)+cdbpgrDBParameterGroup =+    lens _cdbpgrDBParameterGroup (\s a -> s { _cdbpgrDBParameterGroup = a })++instance ToPath CreateDBParameterGroup where+    toPath = const "/"++instance ToQuery CreateDBParameterGroup where+    toQuery CreateDBParameterGroup{..} = mconcat+        [ "DBParameterGroupFamily" =? _cdbpg1DBParameterGroupFamily+        , "DBParameterGroupName"   =? _cdbpg1DBParameterGroupName+        , "Description"            =? _cdbpg1Description+        , "Tags"                   =? _cdbpg1Tags+        ]++instance ToHeaders CreateDBParameterGroup++instance AWSRequest CreateDBParameterGroup where+    type Sv CreateDBParameterGroup = RDS+    type Rs CreateDBParameterGroup = CreateDBParameterGroupResponse++    request  = post "CreateDBParameterGroup"+    response = xmlResponse++instance FromXML CreateDBParameterGroupResponse where+    parseXML = withElement "CreateDBParameterGroupResult" $ \x -> CreateDBParameterGroupResponse+        <$> x .@? "DBParameterGroup"
+ gen/Network/AWS/RDS/CreateDBSecurityGroup.hs view
@@ -0,0 +1,135 @@+{-# 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.RDS.CreateDBSecurityGroup+-- 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 DB security group. DB security groups control access to a DB+-- instance.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSecurityGroup.html>+module Network.AWS.RDS.CreateDBSecurityGroup+    (+    -- * Request+      CreateDBSecurityGroup+    -- ** Request constructor+    , createDBSecurityGroup+    -- ** Request lenses+    , cdbsgDBSecurityGroupDescription+    , cdbsgDBSecurityGroupName+    , cdbsgTags++    -- * Response+    , CreateDBSecurityGroupResponse+    -- ** Response constructor+    , createDBSecurityGroupResponse+    -- ** Response lenses+    , cdbsgrDBSecurityGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateDBSecurityGroup = CreateDBSecurityGroup+    { _cdbsgDBSecurityGroupDescription :: Text+    , _cdbsgDBSecurityGroupName        :: Text+    , _cdbsgTags                       :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'CreateDBSecurityGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbsgDBSecurityGroupDescription' @::@ 'Text'+--+-- * 'cdbsgDBSecurityGroupName' @::@ 'Text'+--+-- * 'cdbsgTags' @::@ ['Tag']+--+createDBSecurityGroup :: Text -- ^ 'cdbsgDBSecurityGroupName'+                      -> Text -- ^ 'cdbsgDBSecurityGroupDescription'+                      -> CreateDBSecurityGroup+createDBSecurityGroup p1 p2 = CreateDBSecurityGroup+    { _cdbsgDBSecurityGroupName        = p1+    , _cdbsgDBSecurityGroupDescription = p2+    , _cdbsgTags                       = mempty+    }++-- | The description for the DB security group.+cdbsgDBSecurityGroupDescription :: Lens' CreateDBSecurityGroup Text+cdbsgDBSecurityGroupDescription =+    lens _cdbsgDBSecurityGroupDescription+        (\s a -> s { _cdbsgDBSecurityGroupDescription = a })++-- | The name for the DB security group. This value is stored as a lowercase+-- string. Constraints: Must be 1 to 255 alphanumeric characters First+-- character must be a letter Cannot end with a hyphen or contain two+-- consecutive hyphens Must not be "Default" May not contain spaces Example:+-- mysecuritygroup.+cdbsgDBSecurityGroupName :: Lens' CreateDBSecurityGroup Text+cdbsgDBSecurityGroupName =+    lens _cdbsgDBSecurityGroupName+        (\s a -> s { _cdbsgDBSecurityGroupName = a })++cdbsgTags :: Lens' CreateDBSecurityGroup [Tag]+cdbsgTags = lens _cdbsgTags (\s a -> s { _cdbsgTags = a }) . _List++newtype CreateDBSecurityGroupResponse = CreateDBSecurityGroupResponse+    { _cdbsgrDBSecurityGroup :: Maybe DBSecurityGroup+    } deriving (Eq, Show)++-- | 'CreateDBSecurityGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbsgrDBSecurityGroup' @::@ 'Maybe' 'DBSecurityGroup'+--+createDBSecurityGroupResponse :: CreateDBSecurityGroupResponse+createDBSecurityGroupResponse = CreateDBSecurityGroupResponse+    { _cdbsgrDBSecurityGroup = Nothing+    }++cdbsgrDBSecurityGroup :: Lens' CreateDBSecurityGroupResponse (Maybe DBSecurityGroup)+cdbsgrDBSecurityGroup =+    lens _cdbsgrDBSecurityGroup (\s a -> s { _cdbsgrDBSecurityGroup = a })++instance ToPath CreateDBSecurityGroup where+    toPath = const "/"++instance ToQuery CreateDBSecurityGroup where+    toQuery CreateDBSecurityGroup{..} = mconcat+        [ "DBSecurityGroupDescription" =? _cdbsgDBSecurityGroupDescription+        , "DBSecurityGroupName"        =? _cdbsgDBSecurityGroupName+        , "Tags"                       =? _cdbsgTags+        ]++instance ToHeaders CreateDBSecurityGroup++instance AWSRequest CreateDBSecurityGroup where+    type Sv CreateDBSecurityGroup = RDS+    type Rs CreateDBSecurityGroup = CreateDBSecurityGroupResponse++    request  = post "CreateDBSecurityGroup"+    response = xmlResponse++instance FromXML CreateDBSecurityGroupResponse where+    parseXML = withElement "CreateDBSecurityGroupResult" $ \x -> CreateDBSecurityGroupResponse+        <$> x .@? "DBSecurityGroup"
+ gen/Network/AWS/RDS/CreateDBSnapshot.hs view
@@ -0,0 +1,135 @@+{-# 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.RDS.CreateDBSnapshot+-- 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 DBSnapshot. The source DBInstance must be in "available" state.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html>+module Network.AWS.RDS.CreateDBSnapshot+    (+    -- * Request+      CreateDBSnapshot+    -- ** Request constructor+    , createDBSnapshot+    -- ** Request lenses+    , cdbs1DBInstanceIdentifier+    , cdbs1DBSnapshotIdentifier+    , cdbs1Tags++    -- * Response+    , CreateDBSnapshotResponse+    -- ** Response constructor+    , createDBSnapshotResponse+    -- ** Response lenses+    , cdbsr1DBSnapshot+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateDBSnapshot = CreateDBSnapshot+    { _cdbs1DBInstanceIdentifier :: Text+    , _cdbs1DBSnapshotIdentifier :: Text+    , _cdbs1Tags                 :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'CreateDBSnapshot' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbs1DBInstanceIdentifier' @::@ 'Text'+--+-- * 'cdbs1DBSnapshotIdentifier' @::@ 'Text'+--+-- * 'cdbs1Tags' @::@ ['Tag']+--+createDBSnapshot :: Text -- ^ 'cdbs1DBSnapshotIdentifier'+                 -> Text -- ^ 'cdbs1DBInstanceIdentifier'+                 -> CreateDBSnapshot+createDBSnapshot p1 p2 = CreateDBSnapshot+    { _cdbs1DBSnapshotIdentifier = p1+    , _cdbs1DBInstanceIdentifier = p2+    , _cdbs1Tags                 = mempty+    }++-- | The DB instance identifier. This is the unique key that identifies a DB+-- instance. Constraints: Must contain from 1 to 63 alphanumeric characters+-- or hyphens First character must be a letter Cannot end with a hyphen or+-- contain two consecutive hyphens.+cdbs1DBInstanceIdentifier :: Lens' CreateDBSnapshot Text+cdbs1DBInstanceIdentifier =+    lens _cdbs1DBInstanceIdentifier+        (\s a -> s { _cdbs1DBInstanceIdentifier = a })++-- | The identifier for the DB snapshot. Constraints: Cannot be null, empty,+-- or blank Must contain from 1 to 255 alphanumeric characters or hyphens+-- First character must be a letter Cannot end with a hyphen or contain two+-- consecutive hyphens Example: my-snapshot-id.+cdbs1DBSnapshotIdentifier :: Lens' CreateDBSnapshot Text+cdbs1DBSnapshotIdentifier =+    lens _cdbs1DBSnapshotIdentifier+        (\s a -> s { _cdbs1DBSnapshotIdentifier = a })++cdbs1Tags :: Lens' CreateDBSnapshot [Tag]+cdbs1Tags = lens _cdbs1Tags (\s a -> s { _cdbs1Tags = a }) . _List++newtype CreateDBSnapshotResponse = CreateDBSnapshotResponse+    { _cdbsr1DBSnapshot :: Maybe DBSnapshot+    } deriving (Eq, Show)++-- | 'CreateDBSnapshotResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbsr1DBSnapshot' @::@ 'Maybe' 'DBSnapshot'+--+createDBSnapshotResponse :: CreateDBSnapshotResponse+createDBSnapshotResponse = CreateDBSnapshotResponse+    { _cdbsr1DBSnapshot = Nothing+    }++cdbsr1DBSnapshot :: Lens' CreateDBSnapshotResponse (Maybe DBSnapshot)+cdbsr1DBSnapshot = lens _cdbsr1DBSnapshot (\s a -> s { _cdbsr1DBSnapshot = a })++instance ToPath CreateDBSnapshot where+    toPath = const "/"++instance ToQuery CreateDBSnapshot where+    toQuery CreateDBSnapshot{..} = mconcat+        [ "DBInstanceIdentifier" =? _cdbs1DBInstanceIdentifier+        , "DBSnapshotIdentifier" =? _cdbs1DBSnapshotIdentifier+        , "Tags"                 =? _cdbs1Tags+        ]++instance ToHeaders CreateDBSnapshot++instance AWSRequest CreateDBSnapshot where+    type Sv CreateDBSnapshot = RDS+    type Rs CreateDBSnapshot = CreateDBSnapshotResponse++    request  = post "CreateDBSnapshot"+    response = xmlResponse++instance FromXML CreateDBSnapshotResponse where+    parseXML = withElement "CreateDBSnapshotResult" $ \x -> CreateDBSnapshotResponse+        <$> x .@? "DBSnapshot"
+ gen/Network/AWS/RDS/CreateDBSubnetGroup.hs view
@@ -0,0 +1,142 @@+{-# 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.RDS.CreateDBSubnetGroup+-- 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 DB subnet group. DB subnet groups must contain at least one+-- subnet in at least two AZs in the region.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSubnetGroup.html>+module Network.AWS.RDS.CreateDBSubnetGroup+    (+    -- * Request+      CreateDBSubnetGroup+    -- ** Request constructor+    , createDBSubnetGroup+    -- ** Request lenses+    , cdbsg1DBSubnetGroupDescription+    , cdbsg1DBSubnetGroupName+    , cdbsg1SubnetIds+    , cdbsg1Tags++    -- * Response+    , CreateDBSubnetGroupResponse+    -- ** Response constructor+    , createDBSubnetGroupResponse+    -- ** Response lenses+    , cdbsgrDBSubnetGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateDBSubnetGroup = CreateDBSubnetGroup+    { _cdbsg1DBSubnetGroupDescription :: Text+    , _cdbsg1DBSubnetGroupName        :: Text+    , _cdbsg1SubnetIds                :: List "SubnetIdentifier" Text+    , _cdbsg1Tags                     :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'CreateDBSubnetGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbsg1DBSubnetGroupDescription' @::@ 'Text'+--+-- * 'cdbsg1DBSubnetGroupName' @::@ 'Text'+--+-- * 'cdbsg1SubnetIds' @::@ ['Text']+--+-- * 'cdbsg1Tags' @::@ ['Tag']+--+createDBSubnetGroup :: Text -- ^ 'cdbsg1DBSubnetGroupName'+                    -> Text -- ^ 'cdbsg1DBSubnetGroupDescription'+                    -> CreateDBSubnetGroup+createDBSubnetGroup p1 p2 = CreateDBSubnetGroup+    { _cdbsg1DBSubnetGroupName        = p1+    , _cdbsg1DBSubnetGroupDescription = p2+    , _cdbsg1SubnetIds                = mempty+    , _cdbsg1Tags                     = mempty+    }++-- | The description for the DB subnet group.+cdbsg1DBSubnetGroupDescription :: Lens' CreateDBSubnetGroup Text+cdbsg1DBSubnetGroupDescription =+    lens _cdbsg1DBSubnetGroupDescription+        (\s a -> s { _cdbsg1DBSubnetGroupDescription = a })++-- | The name for the DB subnet group. This value is stored as a lowercase+-- string. Constraints: Must contain no more than 255 alphanumeric+-- characters or hyphens. Must not be "Default". Example: mySubnetgroup.+cdbsg1DBSubnetGroupName :: Lens' CreateDBSubnetGroup Text+cdbsg1DBSubnetGroupName =+    lens _cdbsg1DBSubnetGroupName (\s a -> s { _cdbsg1DBSubnetGroupName = a })++-- | The EC2 Subnet IDs for the DB subnet group.+cdbsg1SubnetIds :: Lens' CreateDBSubnetGroup [Text]+cdbsg1SubnetIds = lens _cdbsg1SubnetIds (\s a -> s { _cdbsg1SubnetIds = a }) . _List++cdbsg1Tags :: Lens' CreateDBSubnetGroup [Tag]+cdbsg1Tags = lens _cdbsg1Tags (\s a -> s { _cdbsg1Tags = a }) . _List++newtype CreateDBSubnetGroupResponse = CreateDBSubnetGroupResponse+    { _cdbsgrDBSubnetGroup :: Maybe DBSubnetGroup+    } deriving (Eq, Show)++-- | 'CreateDBSubnetGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cdbsgrDBSubnetGroup' @::@ 'Maybe' 'DBSubnetGroup'+--+createDBSubnetGroupResponse :: CreateDBSubnetGroupResponse+createDBSubnetGroupResponse = CreateDBSubnetGroupResponse+    { _cdbsgrDBSubnetGroup = Nothing+    }++cdbsgrDBSubnetGroup :: Lens' CreateDBSubnetGroupResponse (Maybe DBSubnetGroup)+cdbsgrDBSubnetGroup =+    lens _cdbsgrDBSubnetGroup (\s a -> s { _cdbsgrDBSubnetGroup = a })++instance ToPath CreateDBSubnetGroup where+    toPath = const "/"++instance ToQuery CreateDBSubnetGroup where+    toQuery CreateDBSubnetGroup{..} = mconcat+        [ "DBSubnetGroupDescription" =? _cdbsg1DBSubnetGroupDescription+        , "DBSubnetGroupName"        =? _cdbsg1DBSubnetGroupName+        , "SubnetIds"                =? _cdbsg1SubnetIds+        , "Tags"                     =? _cdbsg1Tags+        ]++instance ToHeaders CreateDBSubnetGroup++instance AWSRequest CreateDBSubnetGroup where+    type Sv CreateDBSubnetGroup = RDS+    type Rs CreateDBSubnetGroup = CreateDBSubnetGroupResponse++    request  = post "CreateDBSubnetGroup"+    response = xmlResponse++instance FromXML CreateDBSubnetGroupResponse where+    parseXML = withElement "CreateDBSubnetGroupResult" $ \x -> CreateDBSubnetGroupResponse+        <$> x .@? "DBSubnetGroup"
+ gen/Network/AWS/RDS/CreateEventSubscription.hs view
@@ -0,0 +1,206 @@+{-# 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.RDS.CreateEventSubscription+-- 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 an RDS event notification subscription. This action requires a+-- topic ARN (Amazon Resource Name) created by either the RDS console, the SNS+-- console, or the SNS API. To obtain an ARN with SNS, you must create a topic+-- in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS+-- console. You can specify the type of source (SourceType) you want to be+-- notified of, provide a list of RDS sources (SourceIds) that triggers the+-- events, and provide a list of event categories (EventCategories) for events+-- you want to be notified of. For example, you can specify SourceType =+-- db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories =+-- Availability, Backup. If you specify both the SourceType and SourceIds,+-- such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you+-- will be notified of all the db-instance events for the specified source. If+-- you specify a SourceType but do not specify a SourceIdentifier, you will+-- receive notice of the events for that source type for all your RDS sources.+-- If you do not specify either the SourceType nor the SourceIdentifier, you+-- will be notified of events generated from all RDS sources belonging to your+-- customer account.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateEventSubscription.html>+module Network.AWS.RDS.CreateEventSubscription+    (+    -- * Request+      CreateEventSubscription+    -- ** Request constructor+    , createEventSubscription+    -- ** Request lenses+    , cesEnabled+    , cesEventCategories+    , cesSnsTopicArn+    , cesSourceIds+    , cesSourceType+    , cesSubscriptionName+    , cesTags++    -- * Response+    , CreateEventSubscriptionResponse+    -- ** Response constructor+    , createEventSubscriptionResponse+    -- ** Response lenses+    , cesrEventSubscription+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateEventSubscription = CreateEventSubscription+    { _cesEnabled          :: Maybe Bool+    , _cesEventCategories  :: List "EventCategory" Text+    , _cesSnsTopicArn      :: Text+    , _cesSourceIds        :: List "SourceId" Text+    , _cesSourceType       :: Maybe Text+    , _cesSubscriptionName :: Text+    , _cesTags             :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'CreateEventSubscription' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cesEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'cesEventCategories' @::@ ['Text']+--+-- * 'cesSnsTopicArn' @::@ 'Text'+--+-- * 'cesSourceIds' @::@ ['Text']+--+-- * 'cesSourceType' @::@ 'Maybe' 'Text'+--+-- * 'cesSubscriptionName' @::@ 'Text'+--+-- * 'cesTags' @::@ ['Tag']+--+createEventSubscription :: Text -- ^ 'cesSubscriptionName'+                        -> Text -- ^ 'cesSnsTopicArn'+                        -> CreateEventSubscription+createEventSubscription p1 p2 = CreateEventSubscription+    { _cesSubscriptionName = p1+    , _cesSnsTopicArn      = p2+    , _cesSourceType       = Nothing+    , _cesEventCategories  = mempty+    , _cesSourceIds        = mempty+    , _cesEnabled          = Nothing+    , _cesTags             = mempty+    }++-- | A Boolean value; set to true to activate the subscription, set to false+-- to create the subscription but not active it.+cesEnabled :: Lens' CreateEventSubscription (Maybe Bool)+cesEnabled = lens _cesEnabled (\s a -> s { _cesEnabled = a })++-- | A list of event categories for a SourceType that you want to subscribe+-- to. You can see a list of the categories for a given SourceType in the+-- Events topic in the Amazon RDS User Guide or by using the+-- DescribeEventCategories action.+cesEventCategories :: Lens' CreateEventSubscription [Text]+cesEventCategories =+    lens _cesEventCategories (\s a -> s { _cesEventCategories = a })+        . _List++-- | The Amazon Resource Name (ARN) of the SNS topic created for event+-- notification. The ARN is created by Amazon SNS when you create a topic+-- and subscribe to it.+cesSnsTopicArn :: Lens' CreateEventSubscription Text+cesSnsTopicArn = lens _cesSnsTopicArn (\s a -> s { _cesSnsTopicArn = a })++-- | The list of identifiers of the event sources for which events will be+-- returned. If not specified, then all sources are included in the+-- response. An identifier must begin with a letter and must contain only+-- ASCII letters, digits, and hyphens; it cannot end with a hyphen or+-- contain two consecutive hyphens. Constraints: If SourceIds are supplied,+-- SourceType must also be provided. If the source type is a DB instance,+-- then a DBInstanceIdentifier must be supplied. If the source type is a DB+-- security group, a DBSecurityGroupName must be supplied. If the source+-- type is a DB parameter group, a DBParameterGroupName must be supplied. If+-- the source type is a DB snapshot, a DBSnapshotIdentifier must be+-- supplied.+cesSourceIds :: Lens' CreateEventSubscription [Text]+cesSourceIds = lens _cesSourceIds (\s a -> s { _cesSourceIds = a }) . _List++-- | The type of source that will be generating the events. For example, if+-- you want to be notified of events generated by a DB instance, you would+-- set this parameter to db-instance. if this value is not specified, all+-- events are returned. Valid values: db-instance | db-parameter-group |+-- db-security-group | db-snapshot.+cesSourceType :: Lens' CreateEventSubscription (Maybe Text)+cesSourceType = lens _cesSourceType (\s a -> s { _cesSourceType = a })++-- | The name of the subscription. Constraints: The name must be less than 255+-- characters.+cesSubscriptionName :: Lens' CreateEventSubscription Text+cesSubscriptionName =+    lens _cesSubscriptionName (\s a -> s { _cesSubscriptionName = a })++cesTags :: Lens' CreateEventSubscription [Tag]+cesTags = lens _cesTags (\s a -> s { _cesTags = a }) . _List++newtype CreateEventSubscriptionResponse = CreateEventSubscriptionResponse+    { _cesrEventSubscription :: Maybe EventSubscription+    } deriving (Eq, Show)++-- | 'CreateEventSubscriptionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cesrEventSubscription' @::@ 'Maybe' 'EventSubscription'+--+createEventSubscriptionResponse :: CreateEventSubscriptionResponse+createEventSubscriptionResponse = CreateEventSubscriptionResponse+    { _cesrEventSubscription = Nothing+    }++cesrEventSubscription :: Lens' CreateEventSubscriptionResponse (Maybe EventSubscription)+cesrEventSubscription =+    lens _cesrEventSubscription (\s a -> s { _cesrEventSubscription = a })++instance ToPath CreateEventSubscription where+    toPath = const "/"++instance ToQuery CreateEventSubscription where+    toQuery CreateEventSubscription{..} = mconcat+        [ "Enabled"          =? _cesEnabled+        , "EventCategories"  =? _cesEventCategories+        , "SnsTopicArn"      =? _cesSnsTopicArn+        , "SourceIds"        =? _cesSourceIds+        , "SourceType"       =? _cesSourceType+        , "SubscriptionName" =? _cesSubscriptionName+        , "Tags"             =? _cesTags+        ]++instance ToHeaders CreateEventSubscription++instance AWSRequest CreateEventSubscription where+    type Sv CreateEventSubscription = RDS+    type Rs CreateEventSubscription = CreateEventSubscriptionResponse++    request  = post "CreateEventSubscription"+    response = xmlResponse++instance FromXML CreateEventSubscriptionResponse where+    parseXML = withElement "CreateEventSubscriptionResult" $ \x -> CreateEventSubscriptionResponse+        <$> x .@? "EventSubscription"
+ gen/Network/AWS/RDS/CreateOptionGroup.hs view
@@ -0,0 +1,156 @@+{-# 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.RDS.CreateOptionGroup+-- 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 option group. You can create up to 20 option groups.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateOptionGroup.html>+module Network.AWS.RDS.CreateOptionGroup+    (+    -- * Request+      CreateOptionGroup+    -- ** Request constructor+    , createOptionGroup+    -- ** Request lenses+    , cogEngineName+    , cogMajorEngineVersion+    , cogOptionGroupDescription+    , cogOptionGroupName+    , cogTags++    -- * Response+    , CreateOptionGroupResponse+    -- ** Response constructor+    , createOptionGroupResponse+    -- ** Response lenses+    , cogr1OptionGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data CreateOptionGroup = CreateOptionGroup+    { _cogEngineName             :: Text+    , _cogMajorEngineVersion     :: Text+    , _cogOptionGroupDescription :: Text+    , _cogOptionGroupName        :: Text+    , _cogTags                   :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'CreateOptionGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cogEngineName' @::@ 'Text'+--+-- * 'cogMajorEngineVersion' @::@ 'Text'+--+-- * 'cogOptionGroupDescription' @::@ 'Text'+--+-- * 'cogOptionGroupName' @::@ 'Text'+--+-- * 'cogTags' @::@ ['Tag']+--+createOptionGroup :: Text -- ^ 'cogOptionGroupName'+                  -> Text -- ^ 'cogEngineName'+                  -> Text -- ^ 'cogMajorEngineVersion'+                  -> Text -- ^ 'cogOptionGroupDescription'+                  -> CreateOptionGroup+createOptionGroup p1 p2 p3 p4 = CreateOptionGroup+    { _cogOptionGroupName        = p1+    , _cogEngineName             = p2+    , _cogMajorEngineVersion     = p3+    , _cogOptionGroupDescription = p4+    , _cogTags                   = mempty+    }++-- | Specifies the name of the engine that this option group should be+-- associated with.+cogEngineName :: Lens' CreateOptionGroup Text+cogEngineName = lens _cogEngineName (\s a -> s { _cogEngineName = a })++-- | Specifies the major version of the engine that this option group should+-- be associated with.+cogMajorEngineVersion :: Lens' CreateOptionGroup Text+cogMajorEngineVersion =+    lens _cogMajorEngineVersion (\s a -> s { _cogMajorEngineVersion = a })++-- | The description of the option group.+cogOptionGroupDescription :: Lens' CreateOptionGroup Text+cogOptionGroupDescription =+    lens _cogOptionGroupDescription+        (\s a -> s { _cogOptionGroupDescription = a })++-- | Specifies the name of the option group to be created. Constraints: Must+-- be 1 to 255 alphanumeric characters or hyphens First character must be a+-- letter Cannot end with a hyphen or contain two consecutive hyphens+-- Example: myoptiongroup.+cogOptionGroupName :: Lens' CreateOptionGroup Text+cogOptionGroupName =+    lens _cogOptionGroupName (\s a -> s { _cogOptionGroupName = a })++cogTags :: Lens' CreateOptionGroup [Tag]+cogTags = lens _cogTags (\s a -> s { _cogTags = a }) . _List++newtype CreateOptionGroupResponse = CreateOptionGroupResponse+    { _cogr1OptionGroup :: Maybe OptionGroup+    } deriving (Eq, Show)++-- | 'CreateOptionGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'cogr1OptionGroup' @::@ 'Maybe' 'OptionGroup'+--+createOptionGroupResponse :: CreateOptionGroupResponse+createOptionGroupResponse = CreateOptionGroupResponse+    { _cogr1OptionGroup = Nothing+    }++cogr1OptionGroup :: Lens' CreateOptionGroupResponse (Maybe OptionGroup)+cogr1OptionGroup = lens _cogr1OptionGroup (\s a -> s { _cogr1OptionGroup = a })++instance ToPath CreateOptionGroup where+    toPath = const "/"++instance ToQuery CreateOptionGroup where+    toQuery CreateOptionGroup{..} = mconcat+        [ "EngineName"             =? _cogEngineName+        , "MajorEngineVersion"     =? _cogMajorEngineVersion+        , "OptionGroupDescription" =? _cogOptionGroupDescription+        , "OptionGroupName"        =? _cogOptionGroupName+        , "Tags"                   =? _cogTags+        ]++instance ToHeaders CreateOptionGroup++instance AWSRequest CreateOptionGroup where+    type Sv CreateOptionGroup = RDS+    type Rs CreateOptionGroup = CreateOptionGroupResponse++    request  = post "CreateOptionGroup"+    response = xmlResponse++instance FromXML CreateOptionGroupResponse where+    parseXML = withElement "CreateOptionGroupResult" $ \x -> CreateOptionGroupResponse+        <$> x .@? "OptionGroup"
+ gen/Network/AWS/RDS/DeleteDBInstance.hs view
@@ -0,0 +1,147 @@+{-# 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.RDS.DeleteDBInstance+-- 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)++-- | The DeleteDBInstance action deletes a previously provisioned DB instance. A+-- successful response from the web service indicates the request was received+-- correctly. When you delete a DB instance, all automated backups for that+-- instance are deleted and cannot be recovered. Manual DB snapshots of the DB+-- instance to be deleted are not deleted. If a final DB snapshot is requested+-- the status of the RDS instance will be "deleting" until the DB snapshot is+-- created. The API action DescribeDBInstance is used to monitor the status of+-- this operation. The action cannot be canceled or reverted once submitted.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBInstance.html>+module Network.AWS.RDS.DeleteDBInstance+    (+    -- * Request+      DeleteDBInstance+    -- ** Request constructor+    , deleteDBInstance+    -- ** Request lenses+    , ddbiDBInstanceIdentifier+    , ddbiFinalDBSnapshotIdentifier+    , ddbiSkipFinalSnapshot++    -- * Response+    , DeleteDBInstanceResponse+    -- ** Response constructor+    , deleteDBInstanceResponse+    -- ** Response lenses+    , ddbirDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DeleteDBInstance = DeleteDBInstance+    { _ddbiDBInstanceIdentifier      :: Text+    , _ddbiFinalDBSnapshotIdentifier :: Maybe Text+    , _ddbiSkipFinalSnapshot         :: Maybe Bool+    } deriving (Eq, Ord, Show)++-- | 'DeleteDBInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbiDBInstanceIdentifier' @::@ 'Text'+--+-- * 'ddbiFinalDBSnapshotIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'ddbiSkipFinalSnapshot' @::@ 'Maybe' 'Bool'+--+deleteDBInstance :: Text -- ^ 'ddbiDBInstanceIdentifier'+                 -> DeleteDBInstance+deleteDBInstance p1 = DeleteDBInstance+    { _ddbiDBInstanceIdentifier      = p1+    , _ddbiSkipFinalSnapshot         = Nothing+    , _ddbiFinalDBSnapshotIdentifier = Nothing+    }++-- | The DB instance identifier for the DB instance to be deleted. This+-- parameter isn't case sensitive. Constraints: Must contain from 1 to 63+-- alphanumeric characters or hyphens First character must be a letter+-- Cannot end with a hyphen or contain two consecutive hyphens.+ddbiDBInstanceIdentifier :: Lens' DeleteDBInstance Text+ddbiDBInstanceIdentifier =+    lens _ddbiDBInstanceIdentifier+        (\s a -> s { _ddbiDBInstanceIdentifier = a })++-- | The DBSnapshotIdentifier of the new DBSnapshot created when+-- SkipFinalSnapshot is set to false. Constraints: Must be 1 to 255+-- alphanumeric characters First character must be a letter Cannot end with+-- a hyphen or contain two consecutive hyphens Cannot be specified when+-- deleting a read replica.+ddbiFinalDBSnapshotIdentifier :: Lens' DeleteDBInstance (Maybe Text)+ddbiFinalDBSnapshotIdentifier =+    lens _ddbiFinalDBSnapshotIdentifier+        (\s a -> s { _ddbiFinalDBSnapshotIdentifier = a })++-- | Determines whether a final DB snapshot is created before the DB instance+-- is deleted. If true is specified, no DBSnapshot is created. If false is+-- specified, a DB snapshot is created before the DB instance is deleted.+-- Specify true when deleting a read replica. Default: false.+ddbiSkipFinalSnapshot :: Lens' DeleteDBInstance (Maybe Bool)+ddbiSkipFinalSnapshot =+    lens _ddbiSkipFinalSnapshot (\s a -> s { _ddbiSkipFinalSnapshot = a })++newtype DeleteDBInstanceResponse = DeleteDBInstanceResponse+    { _ddbirDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'DeleteDBInstanceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbirDBInstance' @::@ 'Maybe' 'DBInstance'+--+deleteDBInstanceResponse :: DeleteDBInstanceResponse+deleteDBInstanceResponse = DeleteDBInstanceResponse+    { _ddbirDBInstance = Nothing+    }++ddbirDBInstance :: Lens' DeleteDBInstanceResponse (Maybe DBInstance)+ddbirDBInstance = lens _ddbirDBInstance (\s a -> s { _ddbirDBInstance = a })++instance ToPath DeleteDBInstance where+    toPath = const "/"++instance ToQuery DeleteDBInstance where+    toQuery DeleteDBInstance{..} = mconcat+        [ "DBInstanceIdentifier"      =? _ddbiDBInstanceIdentifier+        , "FinalDBSnapshotIdentifier" =? _ddbiFinalDBSnapshotIdentifier+        , "SkipFinalSnapshot"         =? _ddbiSkipFinalSnapshot+        ]++instance ToHeaders DeleteDBInstance++instance AWSRequest DeleteDBInstance where+    type Sv DeleteDBInstance = RDS+    type Rs DeleteDBInstance = DeleteDBInstanceResponse++    request  = post "DeleteDBInstance"+    response = xmlResponse++instance FromXML DeleteDBInstanceResponse where+    parseXML = withElement "DeleteDBInstanceResult" $ \x -> DeleteDBInstanceResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/DeleteDBParameterGroup.hs view
@@ -0,0 +1,93 @@+{-# 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.RDS.DeleteDBParameterGroup+-- 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 specified DBParameterGroup. The DBParameterGroup to be deleted+-- cannot be associated with any DB instances.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBParameterGroup.html>+module Network.AWS.RDS.DeleteDBParameterGroup+    (+    -- * Request+      DeleteDBParameterGroup+    -- ** Request constructor+    , deleteDBParameterGroup+    -- ** Request lenses+    , ddbpg1DBParameterGroupName++    -- * Response+    , DeleteDBParameterGroupResponse+    -- ** Response constructor+    , deleteDBParameterGroupResponse+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++newtype DeleteDBParameterGroup = DeleteDBParameterGroup+    { _ddbpg1DBParameterGroupName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteDBParameterGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbpg1DBParameterGroupName' @::@ 'Text'+--+deleteDBParameterGroup :: Text -- ^ 'ddbpg1DBParameterGroupName'+                       -> DeleteDBParameterGroup+deleteDBParameterGroup p1 = DeleteDBParameterGroup+    { _ddbpg1DBParameterGroupName = p1+    }++-- | The name of the DB parameter group. Constraints: Must be the name of an+-- existing DB parameter group You cannot delete a default DB parameter+-- group Cannot be associated with any DB instances.+ddbpg1DBParameterGroupName :: Lens' DeleteDBParameterGroup Text+ddbpg1DBParameterGroupName =+    lens _ddbpg1DBParameterGroupName+        (\s a -> s { _ddbpg1DBParameterGroupName = a })++data DeleteDBParameterGroupResponse = DeleteDBParameterGroupResponse+    deriving (Eq, Ord, Show, Generic)++-- | 'DeleteDBParameterGroupResponse' constructor.+deleteDBParameterGroupResponse :: DeleteDBParameterGroupResponse+deleteDBParameterGroupResponse = DeleteDBParameterGroupResponse++instance ToPath DeleteDBParameterGroup where+    toPath = const "/"++instance ToQuery DeleteDBParameterGroup where+    toQuery DeleteDBParameterGroup{..} = mconcat+        [ "DBParameterGroupName" =? _ddbpg1DBParameterGroupName+        ]++instance ToHeaders DeleteDBParameterGroup++instance AWSRequest DeleteDBParameterGroup where+    type Sv DeleteDBParameterGroup = RDS+    type Rs DeleteDBParameterGroup = DeleteDBParameterGroupResponse++    request  = post "DeleteDBParameterGroup"+    response = nullResponse DeleteDBParameterGroupResponse
+ gen/Network/AWS/RDS/DeleteDBSecurityGroup.hs view
@@ -0,0 +1,93 @@+{-# 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.RDS.DeleteDBSecurityGroup+-- 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 DB security group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBSecurityGroup.html>+module Network.AWS.RDS.DeleteDBSecurityGroup+    (+    -- * Request+      DeleteDBSecurityGroup+    -- ** Request constructor+    , deleteDBSecurityGroup+    -- ** Request lenses+    , ddbsgDBSecurityGroupName++    -- * Response+    , DeleteDBSecurityGroupResponse+    -- ** Response constructor+    , deleteDBSecurityGroupResponse+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++newtype DeleteDBSecurityGroup = DeleteDBSecurityGroup+    { _ddbsgDBSecurityGroupName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteDBSecurityGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsgDBSecurityGroupName' @::@ 'Text'+--+deleteDBSecurityGroup :: Text -- ^ 'ddbsgDBSecurityGroupName'+                      -> DeleteDBSecurityGroup+deleteDBSecurityGroup p1 = DeleteDBSecurityGroup+    { _ddbsgDBSecurityGroupName = p1+    }++-- | The name of the DB security group to delete. Constraints: Must be 1 to+-- 255 alphanumeric characters First character must be a letter Cannot end+-- with a hyphen or contain two consecutive hyphens Must not be "Default"+-- May not contain spaces.+ddbsgDBSecurityGroupName :: Lens' DeleteDBSecurityGroup Text+ddbsgDBSecurityGroupName =+    lens _ddbsgDBSecurityGroupName+        (\s a -> s { _ddbsgDBSecurityGroupName = a })++data DeleteDBSecurityGroupResponse = DeleteDBSecurityGroupResponse+    deriving (Eq, Ord, Show, Generic)++-- | 'DeleteDBSecurityGroupResponse' constructor.+deleteDBSecurityGroupResponse :: DeleteDBSecurityGroupResponse+deleteDBSecurityGroupResponse = DeleteDBSecurityGroupResponse++instance ToPath DeleteDBSecurityGroup where+    toPath = const "/"++instance ToQuery DeleteDBSecurityGroup where+    toQuery DeleteDBSecurityGroup{..} = mconcat+        [ "DBSecurityGroupName" =? _ddbsgDBSecurityGroupName+        ]++instance ToHeaders DeleteDBSecurityGroup++instance AWSRequest DeleteDBSecurityGroup where+    type Sv DeleteDBSecurityGroup = RDS+    type Rs DeleteDBSecurityGroup = DeleteDBSecurityGroupResponse++    request  = post "DeleteDBSecurityGroup"+    response = nullResponse DeleteDBSecurityGroupResponse
+ gen/Network/AWS/RDS/DeleteDBSnapshot.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.RDS.DeleteDBSnapshot+-- 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 DBSnapshot. If the snapshot is being copied, the copy operation+-- is terminated.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBSnapshot.html>+module Network.AWS.RDS.DeleteDBSnapshot+    (+    -- * Request+      DeleteDBSnapshot+    -- ** Request constructor+    , deleteDBSnapshot+    -- ** Request lenses+    , ddbs1DBSnapshotIdentifier++    -- * Response+    , DeleteDBSnapshotResponse+    -- ** Response constructor+    , deleteDBSnapshotResponse+    -- ** Response lenses+    , ddbsrDBSnapshot+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++newtype DeleteDBSnapshot = DeleteDBSnapshot+    { _ddbs1DBSnapshotIdentifier :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteDBSnapshot' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbs1DBSnapshotIdentifier' @::@ 'Text'+--+deleteDBSnapshot :: Text -- ^ 'ddbs1DBSnapshotIdentifier'+                 -> DeleteDBSnapshot+deleteDBSnapshot p1 = DeleteDBSnapshot+    { _ddbs1DBSnapshotIdentifier = p1+    }++-- | The DBSnapshot identifier. Constraints: Must be the name of an existing+-- DB snapshot in the available state.+ddbs1DBSnapshotIdentifier :: Lens' DeleteDBSnapshot Text+ddbs1DBSnapshotIdentifier =+    lens _ddbs1DBSnapshotIdentifier+        (\s a -> s { _ddbs1DBSnapshotIdentifier = a })++newtype DeleteDBSnapshotResponse = DeleteDBSnapshotResponse+    { _ddbsrDBSnapshot :: Maybe DBSnapshot+    } deriving (Eq, Show)++-- | 'DeleteDBSnapshotResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsrDBSnapshot' @::@ 'Maybe' 'DBSnapshot'+--+deleteDBSnapshotResponse :: DeleteDBSnapshotResponse+deleteDBSnapshotResponse = DeleteDBSnapshotResponse+    { _ddbsrDBSnapshot = Nothing+    }++ddbsrDBSnapshot :: Lens' DeleteDBSnapshotResponse (Maybe DBSnapshot)+ddbsrDBSnapshot = lens _ddbsrDBSnapshot (\s a -> s { _ddbsrDBSnapshot = a })++instance ToPath DeleteDBSnapshot where+    toPath = const "/"++instance ToQuery DeleteDBSnapshot where+    toQuery DeleteDBSnapshot{..} = mconcat+        [ "DBSnapshotIdentifier" =? _ddbs1DBSnapshotIdentifier+        ]++instance ToHeaders DeleteDBSnapshot++instance AWSRequest DeleteDBSnapshot where+    type Sv DeleteDBSnapshot = RDS+    type Rs DeleteDBSnapshot = DeleteDBSnapshotResponse++    request  = post "DeleteDBSnapshot"+    response = xmlResponse++instance FromXML DeleteDBSnapshotResponse where+    parseXML = withElement "DeleteDBSnapshotResult" $ \x -> DeleteDBSnapshotResponse+        <$> x .@? "DBSnapshot"
+ gen/Network/AWS/RDS/DeleteDBSubnetGroup.hs view
@@ -0,0 +1,91 @@+{-# 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.RDS.DeleteDBSubnetGroup+-- 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 DB subnet group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBSubnetGroup.html>+module Network.AWS.RDS.DeleteDBSubnetGroup+    (+    -- * Request+      DeleteDBSubnetGroup+    -- ** Request constructor+    , deleteDBSubnetGroup+    -- ** Request lenses+    , ddbsg1DBSubnetGroupName++    -- * Response+    , DeleteDBSubnetGroupResponse+    -- ** Response constructor+    , deleteDBSubnetGroupResponse+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++newtype DeleteDBSubnetGroup = DeleteDBSubnetGroup+    { _ddbsg1DBSubnetGroupName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteDBSubnetGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsg1DBSubnetGroupName' @::@ 'Text'+--+deleteDBSubnetGroup :: Text -- ^ 'ddbsg1DBSubnetGroupName'+                    -> DeleteDBSubnetGroup+deleteDBSubnetGroup p1 = DeleteDBSubnetGroup+    { _ddbsg1DBSubnetGroupName = p1+    }++-- | The name of the database subnet group to delete. Constraints: Must be 1+-- to 255 alphanumeric characters First character must be a letter Cannot+-- end with a hyphen or contain two consecutive hyphens.+ddbsg1DBSubnetGroupName :: Lens' DeleteDBSubnetGroup Text+ddbsg1DBSubnetGroupName =+    lens _ddbsg1DBSubnetGroupName (\s a -> s { _ddbsg1DBSubnetGroupName = a })++data DeleteDBSubnetGroupResponse = DeleteDBSubnetGroupResponse+    deriving (Eq, Ord, Show, Generic)++-- | 'DeleteDBSubnetGroupResponse' constructor.+deleteDBSubnetGroupResponse :: DeleteDBSubnetGroupResponse+deleteDBSubnetGroupResponse = DeleteDBSubnetGroupResponse++instance ToPath DeleteDBSubnetGroup where+    toPath = const "/"++instance ToQuery DeleteDBSubnetGroup where+    toQuery DeleteDBSubnetGroup{..} = mconcat+        [ "DBSubnetGroupName" =? _ddbsg1DBSubnetGroupName+        ]++instance ToHeaders DeleteDBSubnetGroup++instance AWSRequest DeleteDBSubnetGroup where+    type Sv DeleteDBSubnetGroup = RDS+    type Rs DeleteDBSubnetGroup = DeleteDBSubnetGroupResponse++    request  = post "DeleteDBSubnetGroup"+    response = nullResponse DeleteDBSubnetGroupResponse
+ gen/Network/AWS/RDS/DeleteEventSubscription.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.RDS.DeleteEventSubscription+-- 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 RDS event notification subscription.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteEventSubscription.html>+module Network.AWS.RDS.DeleteEventSubscription+    (+    -- * Request+      DeleteEventSubscription+    -- ** Request constructor+    , deleteEventSubscription+    -- ** Request lenses+    , desSubscriptionName++    -- * Response+    , DeleteEventSubscriptionResponse+    -- ** Response constructor+    , deleteEventSubscriptionResponse+    -- ** Response lenses+    , desrEventSubscription+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++newtype DeleteEventSubscription = DeleteEventSubscription+    { _desSubscriptionName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteEventSubscription' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'desSubscriptionName' @::@ 'Text'+--+deleteEventSubscription :: Text -- ^ 'desSubscriptionName'+                        -> DeleteEventSubscription+deleteEventSubscription p1 = DeleteEventSubscription+    { _desSubscriptionName = p1+    }++-- | The name of the RDS event notification subscription you want to delete.+desSubscriptionName :: Lens' DeleteEventSubscription Text+desSubscriptionName =+    lens _desSubscriptionName (\s a -> s { _desSubscriptionName = a })++newtype DeleteEventSubscriptionResponse = DeleteEventSubscriptionResponse+    { _desrEventSubscription :: Maybe EventSubscription+    } deriving (Eq, Show)++-- | 'DeleteEventSubscriptionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'desrEventSubscription' @::@ 'Maybe' 'EventSubscription'+--+deleteEventSubscriptionResponse :: DeleteEventSubscriptionResponse+deleteEventSubscriptionResponse = DeleteEventSubscriptionResponse+    { _desrEventSubscription = Nothing+    }++desrEventSubscription :: Lens' DeleteEventSubscriptionResponse (Maybe EventSubscription)+desrEventSubscription =+    lens _desrEventSubscription (\s a -> s { _desrEventSubscription = a })++instance ToPath DeleteEventSubscription where+    toPath = const "/"++instance ToQuery DeleteEventSubscription where+    toQuery DeleteEventSubscription{..} = mconcat+        [ "SubscriptionName" =? _desSubscriptionName+        ]++instance ToHeaders DeleteEventSubscription++instance AWSRequest DeleteEventSubscription where+    type Sv DeleteEventSubscription = RDS+    type Rs DeleteEventSubscription = DeleteEventSubscriptionResponse++    request  = post "DeleteEventSubscription"+    response = xmlResponse++instance FromXML DeleteEventSubscriptionResponse where+    parseXML = withElement "DeleteEventSubscriptionResult" $ \x -> DeleteEventSubscriptionResponse+        <$> x .@? "EventSubscription"
+ gen/Network/AWS/RDS/DeleteOptionGroup.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.RDS.DeleteOptionGroup+-- 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 existing option group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteOptionGroup.html>+module Network.AWS.RDS.DeleteOptionGroup+    (+    -- * Request+      DeleteOptionGroup+    -- ** Request constructor+    , deleteOptionGroup+    -- ** Request lenses+    , dog1OptionGroupName++    -- * Response+    , DeleteOptionGroupResponse+    -- ** Response constructor+    , deleteOptionGroupResponse+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++newtype DeleteOptionGroup = DeleteOptionGroup+    { _dog1OptionGroupName :: Text+    } deriving (Eq, Ord, Show, Monoid, IsString)++-- | 'DeleteOptionGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dog1OptionGroupName' @::@ 'Text'+--+deleteOptionGroup :: Text -- ^ 'dog1OptionGroupName'+                  -> DeleteOptionGroup+deleteOptionGroup p1 = DeleteOptionGroup+    { _dog1OptionGroupName = p1+    }++-- | The name of the option group to be deleted.+dog1OptionGroupName :: Lens' DeleteOptionGroup Text+dog1OptionGroupName =+    lens _dog1OptionGroupName (\s a -> s { _dog1OptionGroupName = a })++data DeleteOptionGroupResponse = DeleteOptionGroupResponse+    deriving (Eq, Ord, Show, Generic)++-- | 'DeleteOptionGroupResponse' constructor.+deleteOptionGroupResponse :: DeleteOptionGroupResponse+deleteOptionGroupResponse = DeleteOptionGroupResponse++instance ToPath DeleteOptionGroup where+    toPath = const "/"++instance ToQuery DeleteOptionGroup where+    toQuery DeleteOptionGroup{..} = mconcat+        [ "OptionGroupName" =? _dog1OptionGroupName+        ]++instance ToHeaders DeleteOptionGroup++instance AWSRequest DeleteOptionGroup where+    type Sv DeleteOptionGroup = RDS+    type Rs DeleteOptionGroup = DeleteOptionGroupResponse++    request  = post "DeleteOptionGroup"+    response = nullResponse DeleteOptionGroupResponse
+ gen/Network/AWS/RDS/DescribeDBEngineVersions.hs view
@@ -0,0 +1,211 @@+{-# 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.RDS.DescribeDBEngineVersions+-- 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)++-- | Returns a list of the available DB engines.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBEngineVersions.html>+module Network.AWS.RDS.DescribeDBEngineVersions+    (+    -- * Request+      DescribeDBEngineVersions+    -- ** Request constructor+    , describeDBEngineVersions+    -- ** Request lenses+    , ddbevDBParameterGroupFamily+    , ddbevDefaultOnly+    , ddbevEngine+    , ddbevEngineVersion+    , ddbevFilters+    , ddbevListSupportedCharacterSets+    , ddbevMarker+    , ddbevMaxRecords++    -- * Response+    , DescribeDBEngineVersionsResponse+    -- ** Response constructor+    , describeDBEngineVersionsResponse+    -- ** Response lenses+    , ddbevrDBEngineVersions+    , ddbevrMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBEngineVersions = DescribeDBEngineVersions+    { _ddbevDBParameterGroupFamily     :: Maybe Text+    , _ddbevDefaultOnly                :: Maybe Bool+    , _ddbevEngine                     :: Maybe Text+    , _ddbevEngineVersion              :: Maybe Text+    , _ddbevFilters                    :: List "Filter" Filter+    , _ddbevListSupportedCharacterSets :: Maybe Bool+    , _ddbevMarker                     :: Maybe Text+    , _ddbevMaxRecords                 :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeDBEngineVersions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbevDBParameterGroupFamily' @::@ 'Maybe' 'Text'+--+-- * 'ddbevDefaultOnly' @::@ 'Maybe' 'Bool'+--+-- * 'ddbevEngine' @::@ 'Maybe' 'Text'+--+-- * 'ddbevEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'ddbevFilters' @::@ ['Filter']+--+-- * 'ddbevListSupportedCharacterSets' @::@ 'Maybe' 'Bool'+--+-- * 'ddbevMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddbevMaxRecords' @::@ 'Maybe' 'Int'+--+describeDBEngineVersions :: DescribeDBEngineVersions+describeDBEngineVersions = DescribeDBEngineVersions+    { _ddbevEngine                     = Nothing+    , _ddbevEngineVersion              = Nothing+    , _ddbevDBParameterGroupFamily     = Nothing+    , _ddbevFilters                    = mempty+    , _ddbevMaxRecords                 = Nothing+    , _ddbevMarker                     = Nothing+    , _ddbevDefaultOnly                = Nothing+    , _ddbevListSupportedCharacterSets = Nothing+    }++-- | The name of a specific DB parameter group family to return details for.+-- Constraints: Must be 1 to 255 alphanumeric characters First character+-- must be a letter Cannot end with a hyphen or contain two consecutive+-- hyphens.+ddbevDBParameterGroupFamily :: Lens' DescribeDBEngineVersions (Maybe Text)+ddbevDBParameterGroupFamily =+    lens _ddbevDBParameterGroupFamily+        (\s a -> s { _ddbevDBParameterGroupFamily = a })++-- | Indicates that only the default version of the specified engine or engine+-- and major version combination is returned.+ddbevDefaultOnly :: Lens' DescribeDBEngineVersions (Maybe Bool)+ddbevDefaultOnly = lens _ddbevDefaultOnly (\s a -> s { _ddbevDefaultOnly = a })++-- | The database engine to return.+ddbevEngine :: Lens' DescribeDBEngineVersions (Maybe Text)+ddbevEngine = lens _ddbevEngine (\s a -> s { _ddbevEngine = a })++-- | The database engine version to return. Example: 5.1.49.+ddbevEngineVersion :: Lens' DescribeDBEngineVersions (Maybe Text)+ddbevEngineVersion =+    lens _ddbevEngineVersion (\s a -> s { _ddbevEngineVersion = a })++-- | Not currently supported.+ddbevFilters :: Lens' DescribeDBEngineVersions [Filter]+ddbevFilters = lens _ddbevFilters (\s a -> s { _ddbevFilters = a }) . _List++-- | If this parameter is specified, and if the requested engine supports the+-- CharacterSetName parameter for CreateDBInstance, the response includes a+-- list of supported character sets for each engine version.+ddbevListSupportedCharacterSets :: Lens' DescribeDBEngineVersions (Maybe Bool)+ddbevListSupportedCharacterSets =+    lens _ddbevListSupportedCharacterSets+        (\s a -> s { _ddbevListSupportedCharacterSets = a })++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+ddbevMarker :: Lens' DescribeDBEngineVersions (Maybe Text)+ddbevMarker = lens _ddbevMarker (\s a -> s { _ddbevMarker = a })++-- | The maximum number of records to include in the response. If more than+-- the MaxRecords value is available, a pagination token called a marker is+-- included in the response so that the following results can be retrieved.+-- Default: 100 Constraints: minimum 20, maximum 100.+ddbevMaxRecords :: Lens' DescribeDBEngineVersions (Maybe Int)+ddbevMaxRecords = lens _ddbevMaxRecords (\s a -> s { _ddbevMaxRecords = a })++data DescribeDBEngineVersionsResponse = DescribeDBEngineVersionsResponse+    { _ddbevrDBEngineVersions :: List "DBEngineVersion" DBEngineVersion+    , _ddbevrMarker           :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBEngineVersionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbevrDBEngineVersions' @::@ ['DBEngineVersion']+--+-- * 'ddbevrMarker' @::@ 'Maybe' 'Text'+--+describeDBEngineVersionsResponse :: DescribeDBEngineVersionsResponse+describeDBEngineVersionsResponse = DescribeDBEngineVersionsResponse+    { _ddbevrMarker           = Nothing+    , _ddbevrDBEngineVersions = mempty+    }++-- | A list of DBEngineVersion elements.+ddbevrDBEngineVersions :: Lens' DescribeDBEngineVersionsResponse [DBEngineVersion]+ddbevrDBEngineVersions =+    lens _ddbevrDBEngineVersions (\s a -> s { _ddbevrDBEngineVersions = a })+        . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+ddbevrMarker :: Lens' DescribeDBEngineVersionsResponse (Maybe Text)+ddbevrMarker = lens _ddbevrMarker (\s a -> s { _ddbevrMarker = a })++instance ToPath DescribeDBEngineVersions where+    toPath = const "/"++instance ToQuery DescribeDBEngineVersions where+    toQuery DescribeDBEngineVersions{..} = mconcat+        [ "DBParameterGroupFamily"     =? _ddbevDBParameterGroupFamily+        , "DefaultOnly"                =? _ddbevDefaultOnly+        , "Engine"                     =? _ddbevEngine+        , "EngineVersion"              =? _ddbevEngineVersion+        , "Filters"                    =? _ddbevFilters+        , "ListSupportedCharacterSets" =? _ddbevListSupportedCharacterSets+        , "Marker"                     =? _ddbevMarker+        , "MaxRecords"                 =? _ddbevMaxRecords+        ]++instance ToHeaders DescribeDBEngineVersions++instance AWSRequest DescribeDBEngineVersions where+    type Sv DescribeDBEngineVersions = RDS+    type Rs DescribeDBEngineVersions = DescribeDBEngineVersionsResponse++    request  = post "DescribeDBEngineVersions"+    response = xmlResponse++instance FromXML DescribeDBEngineVersionsResponse where+    parseXML = withElement "DescribeDBEngineVersionsResult" $ \x -> DescribeDBEngineVersionsResponse+        <$> x .@  "DBEngineVersions"+        <*> x .@? "Marker"++instance AWSPager DescribeDBEngineVersions where+    page rq rs+        | stop (rq ^. ddbevMarker) = Nothing+        | otherwise = (\x -> rq & ddbevMarker ?~ x)+            <$> (rs ^. ddbevrMarker)
+ gen/Network/AWS/RDS/DescribeDBInstances.hs view
@@ -0,0 +1,165 @@+{-# 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.RDS.DescribeDBInstances+-- 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)++-- | Returns information about provisioned RDS instances. This API supports+-- pagination.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html>+module Network.AWS.RDS.DescribeDBInstances+    (+    -- * Request+      DescribeDBInstances+    -- ** Request constructor+    , describeDBInstances+    -- ** Request lenses+    , ddbi1DBInstanceIdentifier+    , ddbi1Filters+    , ddbi1Marker+    , ddbi1MaxRecords++    -- * Response+    , DescribeDBInstancesResponse+    -- ** Response constructor+    , describeDBInstancesResponse+    -- ** Response lenses+    , ddbirDBInstances+    , ddbirMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBInstances = DescribeDBInstances+    { _ddbi1DBInstanceIdentifier :: Maybe Text+    , _ddbi1Filters              :: List "Filter" Filter+    , _ddbi1Marker               :: Maybe Text+    , _ddbi1MaxRecords           :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeDBInstances' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbi1DBInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'ddbi1Filters' @::@ ['Filter']+--+-- * 'ddbi1Marker' @::@ 'Maybe' 'Text'+--+-- * 'ddbi1MaxRecords' @::@ 'Maybe' 'Int'+--+describeDBInstances :: DescribeDBInstances+describeDBInstances = DescribeDBInstances+    { _ddbi1DBInstanceIdentifier = Nothing+    , _ddbi1Filters              = mempty+    , _ddbi1MaxRecords           = Nothing+    , _ddbi1Marker               = Nothing+    }++-- | The user-supplied instance identifier. If this parameter is specified,+-- information from only the specific DB instance is returned. This+-- parameter isn't case sensitive. Constraints: Must contain from 1 to 63+-- alphanumeric characters or hyphens First character must be a letter+-- Cannot end with a hyphen or contain two consecutive hyphens.+ddbi1DBInstanceIdentifier :: Lens' DescribeDBInstances (Maybe Text)+ddbi1DBInstanceIdentifier =+    lens _ddbi1DBInstanceIdentifier+        (\s a -> s { _ddbi1DBInstanceIdentifier = a })++-- | This parameter is not currently supported.+ddbi1Filters :: Lens' DescribeDBInstances [Filter]+ddbi1Filters = lens _ddbi1Filters (\s a -> s { _ddbi1Filters = a }) . _List++-- | An optional pagination token provided by a previous DescribeDBInstances+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by MaxRecords .+ddbi1Marker :: Lens' DescribeDBInstances (Maybe Text)+ddbi1Marker = lens _ddbi1Marker (\s a -> s { _ddbi1Marker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+ddbi1MaxRecords :: Lens' DescribeDBInstances (Maybe Int)+ddbi1MaxRecords = lens _ddbi1MaxRecords (\s a -> s { _ddbi1MaxRecords = a })++data DescribeDBInstancesResponse = DescribeDBInstancesResponse+    { _ddbirDBInstances :: List "DBInstance" DBInstance+    , _ddbirMarker      :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBInstancesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbirDBInstances' @::@ ['DBInstance']+--+-- * 'ddbirMarker' @::@ 'Maybe' 'Text'+--+describeDBInstancesResponse :: DescribeDBInstancesResponse+describeDBInstancesResponse = DescribeDBInstancesResponse+    { _ddbirMarker      = Nothing+    , _ddbirDBInstances = mempty+    }++-- | A list of DBInstance instances.+ddbirDBInstances :: Lens' DescribeDBInstancesResponse [DBInstance]+ddbirDBInstances = lens _ddbirDBInstances (\s a -> s { _ddbirDBInstances = a }) . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords .+ddbirMarker :: Lens' DescribeDBInstancesResponse (Maybe Text)+ddbirMarker = lens _ddbirMarker (\s a -> s { _ddbirMarker = a })++instance ToPath DescribeDBInstances where+    toPath = const "/"++instance ToQuery DescribeDBInstances where+    toQuery DescribeDBInstances{..} = mconcat+        [ "DBInstanceIdentifier" =? _ddbi1DBInstanceIdentifier+        , "Filters"              =? _ddbi1Filters+        , "Marker"               =? _ddbi1Marker+        , "MaxRecords"           =? _ddbi1MaxRecords+        ]++instance ToHeaders DescribeDBInstances++instance AWSRequest DescribeDBInstances where+    type Sv DescribeDBInstances = RDS+    type Rs DescribeDBInstances = DescribeDBInstancesResponse++    request  = post "DescribeDBInstances"+    response = xmlResponse++instance FromXML DescribeDBInstancesResponse where+    parseXML = withElement "DescribeDBInstancesResult" $ \x -> DescribeDBInstancesResponse+        <$> x .@  "DBInstances"+        <*> x .@? "Marker"++instance AWSPager DescribeDBInstances where+    page rq rs+        | stop (rq ^. ddbi1Marker) = Nothing+        | otherwise = (\x -> rq & ddbi1Marker ?~ x)+            <$> (rs ^. ddbirMarker)
+ gen/Network/AWS/RDS/DescribeDBLogFiles.hs view
@@ -0,0 +1,200 @@+{-# 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.RDS.DescribeDBLogFiles+-- 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)++-- | Returns a list of DB log files for the DB instance.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html>+module Network.AWS.RDS.DescribeDBLogFiles+    (+    -- * Request+      DescribeDBLogFiles+    -- ** Request constructor+    , describeDBLogFiles+    -- ** Request lenses+    , ddblfDBInstanceIdentifier+    , ddblfFileLastWritten+    , ddblfFileSize+    , ddblfFilenameContains+    , ddblfFilters+    , ddblfMarker+    , ddblfMaxRecords++    -- * Response+    , DescribeDBLogFilesResponse+    -- ** Response constructor+    , describeDBLogFilesResponse+    -- ** Response lenses+    , ddblfrDescribeDBLogFiles+    , ddblfrMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBLogFiles = DescribeDBLogFiles+    { _ddblfDBInstanceIdentifier :: Text+    , _ddblfFileLastWritten      :: Maybe Integer+    , _ddblfFileSize             :: Maybe Integer+    , _ddblfFilenameContains     :: Maybe Text+    , _ddblfFilters              :: List "Filter" Filter+    , _ddblfMarker               :: Maybe Text+    , _ddblfMaxRecords           :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeDBLogFiles' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddblfDBInstanceIdentifier' @::@ 'Text'+--+-- * 'ddblfFileLastWritten' @::@ 'Maybe' 'Integer'+--+-- * 'ddblfFileSize' @::@ 'Maybe' 'Integer'+--+-- * 'ddblfFilenameContains' @::@ 'Maybe' 'Text'+--+-- * 'ddblfFilters' @::@ ['Filter']+--+-- * 'ddblfMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddblfMaxRecords' @::@ 'Maybe' 'Int'+--+describeDBLogFiles :: Text -- ^ 'ddblfDBInstanceIdentifier'+                   -> DescribeDBLogFiles+describeDBLogFiles p1 = DescribeDBLogFiles+    { _ddblfDBInstanceIdentifier = p1+    , _ddblfFilenameContains     = Nothing+    , _ddblfFileLastWritten      = Nothing+    , _ddblfFileSize             = Nothing+    , _ddblfFilters              = mempty+    , _ddblfMaxRecords           = Nothing+    , _ddblfMarker               = Nothing+    }++-- | The customer-assigned name of the DB instance that contains the log files+-- you want to list. Constraints: Must contain from 1 to 63 alphanumeric+-- characters or hyphens First character must be a letter Cannot end with a+-- hyphen or contain two consecutive hyphens.+ddblfDBInstanceIdentifier :: Lens' DescribeDBLogFiles Text+ddblfDBInstanceIdentifier =+    lens _ddblfDBInstanceIdentifier+        (\s a -> s { _ddblfDBInstanceIdentifier = a })++-- | Filters the available log files for files written since the specified+-- date, in POSIX timestamp format.+ddblfFileLastWritten :: Lens' DescribeDBLogFiles (Maybe Integer)+ddblfFileLastWritten =+    lens _ddblfFileLastWritten (\s a -> s { _ddblfFileLastWritten = a })++-- | Filters the available log files for files larger than the specified size.+ddblfFileSize :: Lens' DescribeDBLogFiles (Maybe Integer)+ddblfFileSize = lens _ddblfFileSize (\s a -> s { _ddblfFileSize = a })++-- | Filters the available log files for log file names that contain the+-- specified string.+ddblfFilenameContains :: Lens' DescribeDBLogFiles (Maybe Text)+ddblfFilenameContains =+    lens _ddblfFilenameContains (\s a -> s { _ddblfFilenameContains = a })++-- | This parameter is not currently supported.+ddblfFilters :: Lens' DescribeDBLogFiles [Filter]+ddblfFilters = lens _ddblfFilters (\s a -> s { _ddblfFilters = a }) . _List++-- | The pagination token provided in the previous request. If this parameter+-- is specified the response includes only records beyond the marker, up to+-- MaxRecords.+ddblfMarker :: Lens' DescribeDBLogFiles (Maybe Text)+ddblfMarker = lens _ddblfMarker (\s a -> s { _ddblfMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results can be+-- retrieved.+ddblfMaxRecords :: Lens' DescribeDBLogFiles (Maybe Int)+ddblfMaxRecords = lens _ddblfMaxRecords (\s a -> s { _ddblfMaxRecords = a })++data DescribeDBLogFilesResponse = DescribeDBLogFilesResponse+    { _ddblfrDescribeDBLogFiles :: List "DescribeDBLogFilesDetails" DescribeDBLogFilesDetails+    , _ddblfrMarker             :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBLogFilesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddblfrDescribeDBLogFiles' @::@ ['DescribeDBLogFilesDetails']+--+-- * 'ddblfrMarker' @::@ 'Maybe' 'Text'+--+describeDBLogFilesResponse :: DescribeDBLogFilesResponse+describeDBLogFilesResponse = DescribeDBLogFilesResponse+    { _ddblfrDescribeDBLogFiles = mempty+    , _ddblfrMarker             = Nothing+    }++-- | The DB log files returned.+ddblfrDescribeDBLogFiles :: Lens' DescribeDBLogFilesResponse [DescribeDBLogFilesDetails]+ddblfrDescribeDBLogFiles =+    lens _ddblfrDescribeDBLogFiles+        (\s a -> s { _ddblfrDescribeDBLogFiles = a })+            . _List++-- | A pagination token that can be used in a subsequent DescribeDBLogFiles+-- request.+ddblfrMarker :: Lens' DescribeDBLogFilesResponse (Maybe Text)+ddblfrMarker = lens _ddblfrMarker (\s a -> s { _ddblfrMarker = a })++instance ToPath DescribeDBLogFiles where+    toPath = const "/"++instance ToQuery DescribeDBLogFiles where+    toQuery DescribeDBLogFiles{..} = mconcat+        [ "DBInstanceIdentifier" =? _ddblfDBInstanceIdentifier+        , "FileLastWritten"      =? _ddblfFileLastWritten+        , "FileSize"             =? _ddblfFileSize+        , "FilenameContains"     =? _ddblfFilenameContains+        , "Filters"              =? _ddblfFilters+        , "Marker"               =? _ddblfMarker+        , "MaxRecords"           =? _ddblfMaxRecords+        ]++instance ToHeaders DescribeDBLogFiles++instance AWSRequest DescribeDBLogFiles where+    type Sv DescribeDBLogFiles = RDS+    type Rs DescribeDBLogFiles = DescribeDBLogFilesResponse++    request  = post "DescribeDBLogFiles"+    response = xmlResponse++instance FromXML DescribeDBLogFilesResponse where+    parseXML = withElement "DescribeDBLogFilesResult" $ \x -> DescribeDBLogFilesResponse+        <$> x .@  "DescribeDBLogFiles"+        <*> x .@? "Marker"++instance AWSPager DescribeDBLogFiles where+    page rq rs+        | stop (rq ^. ddblfMarker) = Nothing+        | otherwise = (\x -> rq & ddblfMarker ?~ x)+            <$> (rs ^. ddblfrMarker)
+ gen/Network/AWS/RDS/DescribeDBParameterGroups.hs view
@@ -0,0 +1,168 @@+{-# 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.RDS.DescribeDBParameterGroups+-- 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)++-- | Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName+-- is specified, the list will contain only the description of the specified+-- DB parameter group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameterGroups.html>+module Network.AWS.RDS.DescribeDBParameterGroups+    (+    -- * Request+      DescribeDBParameterGroups+    -- ** Request constructor+    , describeDBParameterGroups+    -- ** Request lenses+    , ddbpgDBParameterGroupName+    , ddbpgFilters+    , ddbpgMarker+    , ddbpgMaxRecords++    -- * Response+    , DescribeDBParameterGroupsResponse+    -- ** Response constructor+    , describeDBParameterGroupsResponse+    -- ** Response lenses+    , ddbpgrDBParameterGroups+    , ddbpgrMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBParameterGroups = DescribeDBParameterGroups+    { _ddbpgDBParameterGroupName :: Maybe Text+    , _ddbpgFilters              :: List "Filter" Filter+    , _ddbpgMarker               :: Maybe Text+    , _ddbpgMaxRecords           :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeDBParameterGroups' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbpgDBParameterGroupName' @::@ 'Maybe' 'Text'+--+-- * 'ddbpgFilters' @::@ ['Filter']+--+-- * 'ddbpgMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddbpgMaxRecords' @::@ 'Maybe' 'Int'+--+describeDBParameterGroups :: DescribeDBParameterGroups+describeDBParameterGroups = DescribeDBParameterGroups+    { _ddbpgDBParameterGroupName = Nothing+    , _ddbpgFilters              = mempty+    , _ddbpgMaxRecords           = Nothing+    , _ddbpgMarker               = Nothing+    }++-- | The name of a specific DB parameter group to return details for.+-- Constraints: Must be 1 to 255 alphanumeric characters First character+-- must be a letter Cannot end with a hyphen or contain two consecutive+-- hyphens.+ddbpgDBParameterGroupName :: Lens' DescribeDBParameterGroups (Maybe Text)+ddbpgDBParameterGroupName =+    lens _ddbpgDBParameterGroupName+        (\s a -> s { _ddbpgDBParameterGroupName = a })++-- | This parameter is not currently supported.+ddbpgFilters :: Lens' DescribeDBParameterGroups [Filter]+ddbpgFilters = lens _ddbpgFilters (\s a -> s { _ddbpgFilters = a }) . _List++-- | An optional pagination token provided by a previous+-- DescribeDBParameterGroups request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by MaxRecords.+ddbpgMarker :: Lens' DescribeDBParameterGroups (Maybe Text)+ddbpgMarker = lens _ddbpgMarker (\s a -> s { _ddbpgMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+ddbpgMaxRecords :: Lens' DescribeDBParameterGroups (Maybe Int)+ddbpgMaxRecords = lens _ddbpgMaxRecords (\s a -> s { _ddbpgMaxRecords = a })++data DescribeDBParameterGroupsResponse = DescribeDBParameterGroupsResponse+    { _ddbpgrDBParameterGroups :: List "DBParameterGroup" DBParameterGroup+    , _ddbpgrMarker            :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBParameterGroupsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbpgrDBParameterGroups' @::@ ['DBParameterGroup']+--+-- * 'ddbpgrMarker' @::@ 'Maybe' 'Text'+--+describeDBParameterGroupsResponse :: DescribeDBParameterGroupsResponse+describeDBParameterGroupsResponse = DescribeDBParameterGroupsResponse+    { _ddbpgrMarker            = Nothing+    , _ddbpgrDBParameterGroups = mempty+    }++-- | A list of DBParameterGroup instances.+ddbpgrDBParameterGroups :: Lens' DescribeDBParameterGroupsResponse [DBParameterGroup]+ddbpgrDBParameterGroups =+    lens _ddbpgrDBParameterGroups (\s a -> s { _ddbpgrDBParameterGroups = a })+        . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+ddbpgrMarker :: Lens' DescribeDBParameterGroupsResponse (Maybe Text)+ddbpgrMarker = lens _ddbpgrMarker (\s a -> s { _ddbpgrMarker = a })++instance ToPath DescribeDBParameterGroups where+    toPath = const "/"++instance ToQuery DescribeDBParameterGroups where+    toQuery DescribeDBParameterGroups{..} = mconcat+        [ "DBParameterGroupName" =? _ddbpgDBParameterGroupName+        , "Filters"              =? _ddbpgFilters+        , "Marker"               =? _ddbpgMarker+        , "MaxRecords"           =? _ddbpgMaxRecords+        ]++instance ToHeaders DescribeDBParameterGroups++instance AWSRequest DescribeDBParameterGroups where+    type Sv DescribeDBParameterGroups = RDS+    type Rs DescribeDBParameterGroups = DescribeDBParameterGroupsResponse++    request  = post "DescribeDBParameterGroups"+    response = xmlResponse++instance FromXML DescribeDBParameterGroupsResponse where+    parseXML = withElement "DescribeDBParameterGroupsResult" $ \x -> DescribeDBParameterGroupsResponse+        <$> x .@  "DBParameterGroups"+        <*> x .@? "Marker"++instance AWSPager DescribeDBParameterGroups where+    page rq rs+        | stop (rq ^. ddbpgMarker) = Nothing+        | otherwise = (\x -> rq & ddbpgMarker ?~ x)+            <$> (rs ^. ddbpgrMarker)
+ gen/Network/AWS/RDS/DescribeDBParameters.hs view
@@ -0,0 +1,175 @@+{-# 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.RDS.DescribeDBParameters+-- 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)++-- | Returns the detailed parameter list for a particular DB parameter group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html>+module Network.AWS.RDS.DescribeDBParameters+    (+    -- * Request+      DescribeDBParameters+    -- ** Request constructor+    , describeDBParameters+    -- ** Request lenses+    , ddbpDBParameterGroupName+    , ddbpFilters+    , ddbpMarker+    , ddbpMaxRecords+    , ddbpSource++    -- * Response+    , DescribeDBParametersResponse+    -- ** Response constructor+    , describeDBParametersResponse+    -- ** Response lenses+    , ddbprMarker+    , ddbprParameters+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBParameters = DescribeDBParameters+    { _ddbpDBParameterGroupName :: Text+    , _ddbpFilters              :: List "Filter" Filter+    , _ddbpMarker               :: Maybe Text+    , _ddbpMaxRecords           :: Maybe Int+    , _ddbpSource               :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBParameters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbpDBParameterGroupName' @::@ 'Text'+--+-- * 'ddbpFilters' @::@ ['Filter']+--+-- * 'ddbpMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddbpMaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'ddbpSource' @::@ 'Maybe' 'Text'+--+describeDBParameters :: Text -- ^ 'ddbpDBParameterGroupName'+                     -> DescribeDBParameters+describeDBParameters p1 = DescribeDBParameters+    { _ddbpDBParameterGroupName = p1+    , _ddbpSource               = Nothing+    , _ddbpFilters              = mempty+    , _ddbpMaxRecords           = Nothing+    , _ddbpMarker               = Nothing+    }++-- | The name of a specific DB parameter group to return details for.+-- Constraints: Must be 1 to 255 alphanumeric characters First character+-- must be a letter Cannot end with a hyphen or contain two consecutive+-- hyphens.+ddbpDBParameterGroupName :: Lens' DescribeDBParameters Text+ddbpDBParameterGroupName =+    lens _ddbpDBParameterGroupName+        (\s a -> s { _ddbpDBParameterGroupName = a })++-- | This parameter is not currently supported.+ddbpFilters :: Lens' DescribeDBParameters [Filter]+ddbpFilters = lens _ddbpFilters (\s a -> s { _ddbpFilters = a }) . _List++-- | An optional pagination token provided by a previous DescribeDBParameters+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by MaxRecords.+ddbpMarker :: Lens' DescribeDBParameters (Maybe Text)+ddbpMarker = lens _ddbpMarker (\s a -> s { _ddbpMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+ddbpMaxRecords :: Lens' DescribeDBParameters (Maybe Int)+ddbpMaxRecords = lens _ddbpMaxRecords (\s a -> s { _ddbpMaxRecords = a })++-- | The parameter types to return. Default: All parameter types returned+-- Valid Values: user | system | engine-default.+ddbpSource :: Lens' DescribeDBParameters (Maybe Text)+ddbpSource = lens _ddbpSource (\s a -> s { _ddbpSource = a })++data DescribeDBParametersResponse = DescribeDBParametersResponse+    { _ddbprMarker     :: Maybe Text+    , _ddbprParameters :: List "Parameter" Parameter+    } deriving (Eq, Show)++-- | 'DescribeDBParametersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbprMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddbprParameters' @::@ ['Parameter']+--+describeDBParametersResponse :: DescribeDBParametersResponse+describeDBParametersResponse = DescribeDBParametersResponse+    { _ddbprParameters = mempty+    , _ddbprMarker     = Nothing+    }++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+ddbprMarker :: Lens' DescribeDBParametersResponse (Maybe Text)+ddbprMarker = lens _ddbprMarker (\s a -> s { _ddbprMarker = a })++-- | A list of Parameter values.+ddbprParameters :: Lens' DescribeDBParametersResponse [Parameter]+ddbprParameters = lens _ddbprParameters (\s a -> s { _ddbprParameters = a }) . _List++instance ToPath DescribeDBParameters where+    toPath = const "/"++instance ToQuery DescribeDBParameters where+    toQuery DescribeDBParameters{..} = mconcat+        [ "DBParameterGroupName" =? _ddbpDBParameterGroupName+        , "Filters"              =? _ddbpFilters+        , "Marker"               =? _ddbpMarker+        , "MaxRecords"           =? _ddbpMaxRecords+        , "Source"               =? _ddbpSource+        ]++instance ToHeaders DescribeDBParameters++instance AWSRequest DescribeDBParameters where+    type Sv DescribeDBParameters = RDS+    type Rs DescribeDBParameters = DescribeDBParametersResponse++    request  = post "DescribeDBParameters"+    response = xmlResponse++instance FromXML DescribeDBParametersResponse where+    parseXML = withElement "DescribeDBParametersResult" $ \x -> DescribeDBParametersResponse+        <$> x .@? "Marker"+        <*> x .@  "Parameters"++instance AWSPager DescribeDBParameters where+    page rq rs+        | stop (rq ^. ddbpMarker) = Nothing+        | otherwise = (\x -> rq & ddbpMarker ?~ x)+            <$> (rs ^. ddbprMarker)
+ gen/Network/AWS/RDS/DescribeDBSecurityGroups.hs view
@@ -0,0 +1,165 @@+{-# 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.RDS.DescribeDBSecurityGroups+-- 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)++-- | Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is+-- specified, the list will contain only the descriptions of the specified DB+-- security group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSecurityGroups.html>+module Network.AWS.RDS.DescribeDBSecurityGroups+    (+    -- * Request+      DescribeDBSecurityGroups+    -- ** Request constructor+    , describeDBSecurityGroups+    -- ** Request lenses+    , ddbsg1DBSecurityGroupName+    , ddbsg1Filters+    , ddbsg1Marker+    , ddbsg1MaxRecords++    -- * Response+    , DescribeDBSecurityGroupsResponse+    -- ** Response constructor+    , describeDBSecurityGroupsResponse+    -- ** Response lenses+    , ddbsgr1DBSecurityGroups+    , ddbsgr1Marker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBSecurityGroups = DescribeDBSecurityGroups+    { _ddbsg1DBSecurityGroupName :: Maybe Text+    , _ddbsg1Filters             :: List "Filter" Filter+    , _ddbsg1Marker              :: Maybe Text+    , _ddbsg1MaxRecords          :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeDBSecurityGroups' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsg1DBSecurityGroupName' @::@ 'Maybe' 'Text'+--+-- * 'ddbsg1Filters' @::@ ['Filter']+--+-- * 'ddbsg1Marker' @::@ 'Maybe' 'Text'+--+-- * 'ddbsg1MaxRecords' @::@ 'Maybe' 'Int'+--+describeDBSecurityGroups :: DescribeDBSecurityGroups+describeDBSecurityGroups = DescribeDBSecurityGroups+    { _ddbsg1DBSecurityGroupName = Nothing+    , _ddbsg1Filters             = mempty+    , _ddbsg1MaxRecords          = Nothing+    , _ddbsg1Marker              = Nothing+    }++-- | The name of the DB security group to return details for.+ddbsg1DBSecurityGroupName :: Lens' DescribeDBSecurityGroups (Maybe Text)+ddbsg1DBSecurityGroupName =+    lens _ddbsg1DBSecurityGroupName+        (\s a -> s { _ddbsg1DBSecurityGroupName = a })++-- | This parameter is not currently supported.+ddbsg1Filters :: Lens' DescribeDBSecurityGroups [Filter]+ddbsg1Filters = lens _ddbsg1Filters (\s a -> s { _ddbsg1Filters = a }) . _List++-- | An optional pagination token provided by a previous+-- DescribeDBSecurityGroups request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by MaxRecords.+ddbsg1Marker :: Lens' DescribeDBSecurityGroups (Maybe Text)+ddbsg1Marker = lens _ddbsg1Marker (\s a -> s { _ddbsg1Marker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+ddbsg1MaxRecords :: Lens' DescribeDBSecurityGroups (Maybe Int)+ddbsg1MaxRecords = lens _ddbsg1MaxRecords (\s a -> s { _ddbsg1MaxRecords = a })++data DescribeDBSecurityGroupsResponse = DescribeDBSecurityGroupsResponse+    { _ddbsgr1DBSecurityGroups :: List "DBSecurityGroup" DBSecurityGroup+    , _ddbsgr1Marker           :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBSecurityGroupsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsgr1DBSecurityGroups' @::@ ['DBSecurityGroup']+--+-- * 'ddbsgr1Marker' @::@ 'Maybe' 'Text'+--+describeDBSecurityGroupsResponse :: DescribeDBSecurityGroupsResponse+describeDBSecurityGroupsResponse = DescribeDBSecurityGroupsResponse+    { _ddbsgr1Marker           = Nothing+    , _ddbsgr1DBSecurityGroups = mempty+    }++-- | A list of DBSecurityGroup instances.+ddbsgr1DBSecurityGroups :: Lens' DescribeDBSecurityGroupsResponse [DBSecurityGroup]+ddbsgr1DBSecurityGroups =+    lens _ddbsgr1DBSecurityGroups (\s a -> s { _ddbsgr1DBSecurityGroups = a })+        . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+ddbsgr1Marker :: Lens' DescribeDBSecurityGroupsResponse (Maybe Text)+ddbsgr1Marker = lens _ddbsgr1Marker (\s a -> s { _ddbsgr1Marker = a })++instance ToPath DescribeDBSecurityGroups where+    toPath = const "/"++instance ToQuery DescribeDBSecurityGroups where+    toQuery DescribeDBSecurityGroups{..} = mconcat+        [ "DBSecurityGroupName" =? _ddbsg1DBSecurityGroupName+        , "Filters"             =? _ddbsg1Filters+        , "Marker"              =? _ddbsg1Marker+        , "MaxRecords"          =? _ddbsg1MaxRecords+        ]++instance ToHeaders DescribeDBSecurityGroups++instance AWSRequest DescribeDBSecurityGroups where+    type Sv DescribeDBSecurityGroups = RDS+    type Rs DescribeDBSecurityGroups = DescribeDBSecurityGroupsResponse++    request  = post "DescribeDBSecurityGroups"+    response = xmlResponse++instance FromXML DescribeDBSecurityGroupsResponse where+    parseXML = withElement "DescribeDBSecurityGroupsResult" $ \x -> DescribeDBSecurityGroupsResponse+        <$> x .@  "DBSecurityGroups"+        <*> x .@? "Marker"++instance AWSPager DescribeDBSecurityGroups where+    page rq rs+        | stop (rq ^. ddbsg1Marker) = Nothing+        | otherwise = (\x -> rq & ddbsg1Marker ?~ x)+            <$> (rs ^. ddbsgr1Marker)
+ gen/Network/AWS/RDS/DescribeDBSnapshots.hs view
@@ -0,0 +1,193 @@+{-# 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.RDS.DescribeDBSnapshots+-- 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)++-- | Returns information about DB snapshots. This API supports pagination.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html>+module Network.AWS.RDS.DescribeDBSnapshots+    (+    -- * Request+      DescribeDBSnapshots+    -- ** Request constructor+    , describeDBSnapshots+    -- ** Request lenses+    , ddbsDBInstanceIdentifier+    , ddbsDBSnapshotIdentifier+    , ddbsFilters+    , ddbsMarker+    , ddbsMaxRecords+    , ddbsSnapshotType++    -- * Response+    , DescribeDBSnapshotsResponse+    -- ** Response constructor+    , describeDBSnapshotsResponse+    -- ** Response lenses+    , ddbsrDBSnapshots+    , ddbsrMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBSnapshots = DescribeDBSnapshots+    { _ddbsDBInstanceIdentifier :: Maybe Text+    , _ddbsDBSnapshotIdentifier :: Maybe Text+    , _ddbsFilters              :: List "Filter" Filter+    , _ddbsMarker               :: Maybe Text+    , _ddbsMaxRecords           :: Maybe Int+    , _ddbsSnapshotType         :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBSnapshots' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsDBInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'ddbsDBSnapshotIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'ddbsFilters' @::@ ['Filter']+--+-- * 'ddbsMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddbsMaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'ddbsSnapshotType' @::@ 'Maybe' 'Text'+--+describeDBSnapshots :: DescribeDBSnapshots+describeDBSnapshots = DescribeDBSnapshots+    { _ddbsDBInstanceIdentifier = Nothing+    , _ddbsDBSnapshotIdentifier = Nothing+    , _ddbsSnapshotType         = Nothing+    , _ddbsFilters              = mempty+    , _ddbsMaxRecords           = Nothing+    , _ddbsMarker               = Nothing+    }++-- | A DB instance identifier to retrieve the list of DB snapshots for. Cannot+-- be used in conjunction with DBSnapshotIdentifier. This parameter is not+-- case sensitive. Constraints: Must contain from 1 to 63 alphanumeric+-- characters or hyphens First character must be a letter Cannot end with a+-- hyphen or contain two consecutive hyphens.+ddbsDBInstanceIdentifier :: Lens' DescribeDBSnapshots (Maybe Text)+ddbsDBInstanceIdentifier =+    lens _ddbsDBInstanceIdentifier+        (\s a -> s { _ddbsDBInstanceIdentifier = a })++-- | A specific DB snapshot identifier to describe. Cannot be used in+-- conjunction with DBInstanceIdentifier. This value is stored as a+-- lowercase string. Constraints: Must be 1 to 255 alphanumeric characters+-- First character must be a letter Cannot end with a hyphen or contain two+-- consecutive hyphens If this is the identifier of an automated snapshot,+-- the SnapshotType parameter must also be specified.+ddbsDBSnapshotIdentifier :: Lens' DescribeDBSnapshots (Maybe Text)+ddbsDBSnapshotIdentifier =+    lens _ddbsDBSnapshotIdentifier+        (\s a -> s { _ddbsDBSnapshotIdentifier = a })++-- | This parameter is not currently supported.+ddbsFilters :: Lens' DescribeDBSnapshots [Filter]+ddbsFilters = lens _ddbsFilters (\s a -> s { _ddbsFilters = a }) . _List++-- | An optional pagination token provided by a previous DescribeDBSnapshots+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by MaxRecords.+ddbsMarker :: Lens' DescribeDBSnapshots (Maybe Text)+ddbsMarker = lens _ddbsMarker (\s a -> s { _ddbsMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+ddbsMaxRecords :: Lens' DescribeDBSnapshots (Maybe Int)+ddbsMaxRecords = lens _ddbsMaxRecords (\s a -> s { _ddbsMaxRecords = a })++-- | The type of snapshots that will be returned. Values can be "automated" or+-- "manual." If not specified, the returned results will include all+-- snapshots types.+ddbsSnapshotType :: Lens' DescribeDBSnapshots (Maybe Text)+ddbsSnapshotType = lens _ddbsSnapshotType (\s a -> s { _ddbsSnapshotType = a })++data DescribeDBSnapshotsResponse = DescribeDBSnapshotsResponse+    { _ddbsrDBSnapshots :: List "DBSnapshot" DBSnapshot+    , _ddbsrMarker      :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBSnapshotsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsrDBSnapshots' @::@ ['DBSnapshot']+--+-- * 'ddbsrMarker' @::@ 'Maybe' 'Text'+--+describeDBSnapshotsResponse :: DescribeDBSnapshotsResponse+describeDBSnapshotsResponse = DescribeDBSnapshotsResponse+    { _ddbsrMarker      = Nothing+    , _ddbsrDBSnapshots = mempty+    }++-- | A list of DBSnapshot instances.+ddbsrDBSnapshots :: Lens' DescribeDBSnapshotsResponse [DBSnapshot]+ddbsrDBSnapshots = lens _ddbsrDBSnapshots (\s a -> s { _ddbsrDBSnapshots = a }) . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+ddbsrMarker :: Lens' DescribeDBSnapshotsResponse (Maybe Text)+ddbsrMarker = lens _ddbsrMarker (\s a -> s { _ddbsrMarker = a })++instance ToPath DescribeDBSnapshots where+    toPath = const "/"++instance ToQuery DescribeDBSnapshots where+    toQuery DescribeDBSnapshots{..} = mconcat+        [ "DBInstanceIdentifier" =? _ddbsDBInstanceIdentifier+        , "DBSnapshotIdentifier" =? _ddbsDBSnapshotIdentifier+        , "Filters"              =? _ddbsFilters+        , "Marker"               =? _ddbsMarker+        , "MaxRecords"           =? _ddbsMaxRecords+        , "SnapshotType"         =? _ddbsSnapshotType+        ]++instance ToHeaders DescribeDBSnapshots++instance AWSRequest DescribeDBSnapshots where+    type Sv DescribeDBSnapshots = RDS+    type Rs DescribeDBSnapshots = DescribeDBSnapshotsResponse++    request  = post "DescribeDBSnapshots"+    response = xmlResponse++instance FromXML DescribeDBSnapshotsResponse where+    parseXML = withElement "DescribeDBSnapshotsResult" $ \x -> DescribeDBSnapshotsResponse+        <$> x .@  "DBSnapshots"+        <*> x .@? "Marker"++instance AWSPager DescribeDBSnapshots where+    page rq rs+        | stop (rq ^. ddbsMarker) = Nothing+        | otherwise = (\x -> rq & ddbsMarker ?~ x)+            <$> (rs ^. ddbsrMarker)
+ gen/Network/AWS/RDS/DescribeDBSubnetGroups.hs view
@@ -0,0 +1,165 @@+{-# 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.RDS.DescribeDBSubnetGroups+-- 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)++-- | Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is+-- specified, the list will contain only the descriptions of the specified+-- DBSubnetGroup. For an overview of CIDR ranges, go to the Wikipedia+-- Tutorial.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSubnetGroups.html>+module Network.AWS.RDS.DescribeDBSubnetGroups+    (+    -- * Request+      DescribeDBSubnetGroups+    -- ** Request constructor+    , describeDBSubnetGroups+    -- ** Request lenses+    , ddbsgDBSubnetGroupName+    , ddbsgFilters+    , ddbsgMarker+    , ddbsgMaxRecords++    -- * Response+    , DescribeDBSubnetGroupsResponse+    -- ** Response constructor+    , describeDBSubnetGroupsResponse+    -- ** Response lenses+    , ddbsgrDBSubnetGroups+    , ddbsgrMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeDBSubnetGroups = DescribeDBSubnetGroups+    { _ddbsgDBSubnetGroupName :: Maybe Text+    , _ddbsgFilters           :: List "Filter" Filter+    , _ddbsgMarker            :: Maybe Text+    , _ddbsgMaxRecords        :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeDBSubnetGroups' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsgDBSubnetGroupName' @::@ 'Maybe' 'Text'+--+-- * 'ddbsgFilters' @::@ ['Filter']+--+-- * 'ddbsgMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddbsgMaxRecords' @::@ 'Maybe' 'Int'+--+describeDBSubnetGroups :: DescribeDBSubnetGroups+describeDBSubnetGroups = DescribeDBSubnetGroups+    { _ddbsgDBSubnetGroupName = Nothing+    , _ddbsgFilters           = mempty+    , _ddbsgMaxRecords        = Nothing+    , _ddbsgMarker            = Nothing+    }++-- | The name of the DB subnet group to return details for.+ddbsgDBSubnetGroupName :: Lens' DescribeDBSubnetGroups (Maybe Text)+ddbsgDBSubnetGroupName =+    lens _ddbsgDBSubnetGroupName (\s a -> s { _ddbsgDBSubnetGroupName = a })++-- | This parameter is not currently supported.+ddbsgFilters :: Lens' DescribeDBSubnetGroups [Filter]+ddbsgFilters = lens _ddbsgFilters (\s a -> s { _ddbsgFilters = a }) . _List++-- | An optional pagination token provided by a previous+-- DescribeDBSubnetGroups request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by MaxRecords.+ddbsgMarker :: Lens' DescribeDBSubnetGroups (Maybe Text)+ddbsgMarker = lens _ddbsgMarker (\s a -> s { _ddbsgMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+ddbsgMaxRecords :: Lens' DescribeDBSubnetGroups (Maybe Int)+ddbsgMaxRecords = lens _ddbsgMaxRecords (\s a -> s { _ddbsgMaxRecords = a })++data DescribeDBSubnetGroupsResponse = DescribeDBSubnetGroupsResponse+    { _ddbsgrDBSubnetGroups :: List "DBSubnetGroup" DBSubnetGroup+    , _ddbsgrMarker         :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeDBSubnetGroupsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddbsgrDBSubnetGroups' @::@ ['DBSubnetGroup']+--+-- * 'ddbsgrMarker' @::@ 'Maybe' 'Text'+--+describeDBSubnetGroupsResponse :: DescribeDBSubnetGroupsResponse+describeDBSubnetGroupsResponse = DescribeDBSubnetGroupsResponse+    { _ddbsgrMarker         = Nothing+    , _ddbsgrDBSubnetGroups = mempty+    }++-- | A list of DBSubnetGroup instances.+ddbsgrDBSubnetGroups :: Lens' DescribeDBSubnetGroupsResponse [DBSubnetGroup]+ddbsgrDBSubnetGroups =+    lens _ddbsgrDBSubnetGroups (\s a -> s { _ddbsgrDBSubnetGroups = a })+        . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+ddbsgrMarker :: Lens' DescribeDBSubnetGroupsResponse (Maybe Text)+ddbsgrMarker = lens _ddbsgrMarker (\s a -> s { _ddbsgrMarker = a })++instance ToPath DescribeDBSubnetGroups where+    toPath = const "/"++instance ToQuery DescribeDBSubnetGroups where+    toQuery DescribeDBSubnetGroups{..} = mconcat+        [ "DBSubnetGroupName" =? _ddbsgDBSubnetGroupName+        , "Filters"           =? _ddbsgFilters+        , "Marker"            =? _ddbsgMarker+        , "MaxRecords"        =? _ddbsgMaxRecords+        ]++instance ToHeaders DescribeDBSubnetGroups++instance AWSRequest DescribeDBSubnetGroups where+    type Sv DescribeDBSubnetGroups = RDS+    type Rs DescribeDBSubnetGroups = DescribeDBSubnetGroupsResponse++    request  = post "DescribeDBSubnetGroups"+    response = xmlResponse++instance FromXML DescribeDBSubnetGroupsResponse where+    parseXML = withElement "DescribeDBSubnetGroupsResult" $ \x -> DescribeDBSubnetGroupsResponse+        <$> x .@  "DBSubnetGroups"+        <*> x .@? "Marker"++instance AWSPager DescribeDBSubnetGroups where+    page rq rs+        | stop (rq ^. ddbsgMarker) = Nothing+        | otherwise = (\x -> rq & ddbsgMarker ?~ x)+            <$> (rs ^. ddbsgrMarker)
+ gen/Network/AWS/RDS/DescribeEngineDefaultParameters.hs view
@@ -0,0 +1,152 @@+{-# 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.RDS.DescribeEngineDefaultParameters+-- 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)++-- | Returns the default engine and system parameter information for the+-- specified database engine.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEngineDefaultParameters.html>+module Network.AWS.RDS.DescribeEngineDefaultParameters+    (+    -- * Request+      DescribeEngineDefaultParameters+    -- ** Request constructor+    , describeEngineDefaultParameters+    -- ** Request lenses+    , dedpDBParameterGroupFamily+    , dedpFilters+    , dedpMarker+    , dedpMaxRecords++    -- * Response+    , DescribeEngineDefaultParametersResponse+    -- ** Response constructor+    , describeEngineDefaultParametersResponse+    -- ** Response lenses+    , dedprEngineDefaults+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeEngineDefaultParameters = DescribeEngineDefaultParameters+    { _dedpDBParameterGroupFamily :: Text+    , _dedpFilters                :: List "Filter" Filter+    , _dedpMarker                 :: Maybe Text+    , _dedpMaxRecords             :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeEngineDefaultParameters' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dedpDBParameterGroupFamily' @::@ 'Text'+--+-- * 'dedpFilters' @::@ ['Filter']+--+-- * 'dedpMarker' @::@ 'Maybe' 'Text'+--+-- * 'dedpMaxRecords' @::@ 'Maybe' 'Int'+--+describeEngineDefaultParameters :: Text -- ^ 'dedpDBParameterGroupFamily'+                                -> DescribeEngineDefaultParameters+describeEngineDefaultParameters p1 = DescribeEngineDefaultParameters+    { _dedpDBParameterGroupFamily = p1+    , _dedpFilters                = mempty+    , _dedpMaxRecords             = Nothing+    , _dedpMarker                 = Nothing+    }++-- | The name of the DB parameter group family.+dedpDBParameterGroupFamily :: Lens' DescribeEngineDefaultParameters Text+dedpDBParameterGroupFamily =+    lens _dedpDBParameterGroupFamily+        (\s a -> s { _dedpDBParameterGroupFamily = a })++-- | Not currently supported.+dedpFilters :: Lens' DescribeEngineDefaultParameters [Filter]+dedpFilters = lens _dedpFilters (\s a -> s { _dedpFilters = a }) . _List++-- | An optional pagination token provided by a previous+-- DescribeEngineDefaultParameters request. If this parameter is specified,+-- the response includes only records beyond the marker, up to the value+-- specified by MaxRecords.+dedpMarker :: Lens' DescribeEngineDefaultParameters (Maybe Text)+dedpMarker = lens _dedpMarker (\s a -> s { _dedpMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+dedpMaxRecords :: Lens' DescribeEngineDefaultParameters (Maybe Int)+dedpMaxRecords = lens _dedpMaxRecords (\s a -> s { _dedpMaxRecords = a })++newtype DescribeEngineDefaultParametersResponse = DescribeEngineDefaultParametersResponse+    { _dedprEngineDefaults :: EngineDefaults+    } deriving (Eq, Show)++-- | 'DescribeEngineDefaultParametersResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dedprEngineDefaults' @::@ 'EngineDefaults'+--+describeEngineDefaultParametersResponse :: EngineDefaults -- ^ 'dedprEngineDefaults'+                                        -> DescribeEngineDefaultParametersResponse+describeEngineDefaultParametersResponse p1 = DescribeEngineDefaultParametersResponse+    { _dedprEngineDefaults = p1+    }++dedprEngineDefaults :: Lens' DescribeEngineDefaultParametersResponse EngineDefaults+dedprEngineDefaults =+    lens _dedprEngineDefaults (\s a -> s { _dedprEngineDefaults = a })++instance ToPath DescribeEngineDefaultParameters where+    toPath = const "/"++instance ToQuery DescribeEngineDefaultParameters where+    toQuery DescribeEngineDefaultParameters{..} = mconcat+        [ "DBParameterGroupFamily" =? _dedpDBParameterGroupFamily+        , "Filters"                =? _dedpFilters+        , "Marker"                 =? _dedpMarker+        , "MaxRecords"             =? _dedpMaxRecords+        ]++instance ToHeaders DescribeEngineDefaultParameters++instance AWSRequest DescribeEngineDefaultParameters where+    type Sv DescribeEngineDefaultParameters = RDS+    type Rs DescribeEngineDefaultParameters = DescribeEngineDefaultParametersResponse++    request  = post "DescribeEngineDefaultParameters"+    response = xmlResponse++instance FromXML DescribeEngineDefaultParametersResponse where+    parseXML = withElement "DescribeEngineDefaultParametersResult" $ \x -> DescribeEngineDefaultParametersResponse+        <$> x .@  "EngineDefaults"++instance AWSPager DescribeEngineDefaultParameters where+    page rq rs+        | stop (rq ^. dedpMarker) = Nothing+        | otherwise = (\x -> rq & dedpMarker ?~ x)+            <$> (rs ^. dedprEngineDefaults . edMarker)
+ gen/Network/AWS/RDS/DescribeEventCategories.hs view
@@ -0,0 +1,127 @@+{-# 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.RDS.DescribeEventCategories+-- 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)++-- | Displays a list of categories for all event source types, or, if specified,+-- for a specified source type. You can see a list of the event categories and+-- source types in the Events topic in the Amazon RDS User Guide.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventCategories.html>+module Network.AWS.RDS.DescribeEventCategories+    (+    -- * Request+      DescribeEventCategories+    -- ** Request constructor+    , describeEventCategories+    -- ** Request lenses+    , decFilters+    , decSourceType++    -- * Response+    , DescribeEventCategoriesResponse+    -- ** Response constructor+    , describeEventCategoriesResponse+    -- ** Response lenses+    , decrEventCategoriesMapList+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeEventCategories = DescribeEventCategories+    { _decFilters    :: List "Filter" Filter+    , _decSourceType :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeEventCategories' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'decFilters' @::@ ['Filter']+--+-- * 'decSourceType' @::@ 'Maybe' 'Text'+--+describeEventCategories :: DescribeEventCategories+describeEventCategories = DescribeEventCategories+    { _decSourceType = Nothing+    , _decFilters    = mempty+    }++-- | This parameter is not currently supported.+decFilters :: Lens' DescribeEventCategories [Filter]+decFilters = lens _decFilters (\s a -> s { _decFilters = a }) . _List++-- | The type of source that will be generating the events. Valid values:+-- db-instance | db-parameter-group | db-security-group | db-snapshot.+decSourceType :: Lens' DescribeEventCategories (Maybe Text)+decSourceType = lens _decSourceType (\s a -> s { _decSourceType = a })++newtype DescribeEventCategoriesResponse = DescribeEventCategoriesResponse+    { _decrEventCategoriesMapList :: List "EventCategoriesMap" EventCategoriesMap+    } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList DescribeEventCategoriesResponse where+    type Item DescribeEventCategoriesResponse = EventCategoriesMap++    fromList = DescribeEventCategoriesResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _decrEventCategoriesMapList++-- | 'DescribeEventCategoriesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'decrEventCategoriesMapList' @::@ ['EventCategoriesMap']+--+describeEventCategoriesResponse :: DescribeEventCategoriesResponse+describeEventCategoriesResponse = DescribeEventCategoriesResponse+    { _decrEventCategoriesMapList = mempty+    }++-- | A list of EventCategoriesMap data types.+decrEventCategoriesMapList :: Lens' DescribeEventCategoriesResponse [EventCategoriesMap]+decrEventCategoriesMapList =+    lens _decrEventCategoriesMapList+        (\s a -> s { _decrEventCategoriesMapList = a })+            . _List++instance ToPath DescribeEventCategories where+    toPath = const "/"++instance ToQuery DescribeEventCategories where+    toQuery DescribeEventCategories{..} = mconcat+        [ "Filters"    =? _decFilters+        , "SourceType" =? _decSourceType+        ]++instance ToHeaders DescribeEventCategories++instance AWSRequest DescribeEventCategories where+    type Sv DescribeEventCategories = RDS+    type Rs DescribeEventCategories = DescribeEventCategoriesResponse++    request  = post "DescribeEventCategories"+    response = xmlResponse++instance FromXML DescribeEventCategoriesResponse where+    parseXML = withElement "DescribeEventCategoriesResult" $ \x -> DescribeEventCategoriesResponse+        <$> x .@  "EventCategoriesMapList"
+ gen/Network/AWS/RDS/DescribeEventSubscriptions.hs view
@@ -0,0 +1,167 @@+{-# 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.RDS.DescribeEventSubscriptions+-- 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 the subscription descriptions for a customer account. The+-- description for a subscription includes SubscriptionName, SNSTopicARN,+-- CustomerID, SourceType, SourceID, CreationTime, and Status. If you specify+-- a SubscriptionName, lists the description for that subscription.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventSubscriptions.html>+module Network.AWS.RDS.DescribeEventSubscriptions+    (+    -- * Request+      DescribeEventSubscriptions+    -- ** Request constructor+    , describeEventSubscriptions+    -- ** Request lenses+    , des1Filters+    , des1Marker+    , des1MaxRecords+    , des1SubscriptionName++    -- * Response+    , DescribeEventSubscriptionsResponse+    -- ** Response constructor+    , describeEventSubscriptionsResponse+    -- ** Response lenses+    , desrEventSubscriptionsList+    , desrMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeEventSubscriptions = DescribeEventSubscriptions+    { _des1Filters          :: List "Filter" Filter+    , _des1Marker           :: Maybe Text+    , _des1MaxRecords       :: Maybe Int+    , _des1SubscriptionName :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeEventSubscriptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'des1Filters' @::@ ['Filter']+--+-- * 'des1Marker' @::@ 'Maybe' 'Text'+--+-- * 'des1MaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'des1SubscriptionName' @::@ 'Maybe' 'Text'+--+describeEventSubscriptions :: DescribeEventSubscriptions+describeEventSubscriptions = DescribeEventSubscriptions+    { _des1SubscriptionName = Nothing+    , _des1Filters          = mempty+    , _des1MaxRecords       = Nothing+    , _des1Marker           = Nothing+    }++-- | This parameter is not currently supported.+des1Filters :: Lens' DescribeEventSubscriptions [Filter]+des1Filters = lens _des1Filters (\s a -> s { _des1Filters = a }) . _List++-- | An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by MaxRecords .+des1Marker :: Lens' DescribeEventSubscriptions (Maybe Text)+des1Marker = lens _des1Marker (\s a -> s { _des1Marker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results can be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+des1MaxRecords :: Lens' DescribeEventSubscriptions (Maybe Int)+des1MaxRecords = lens _des1MaxRecords (\s a -> s { _des1MaxRecords = a })++-- | The name of the RDS event notification subscription you want to describe.+des1SubscriptionName :: Lens' DescribeEventSubscriptions (Maybe Text)+des1SubscriptionName =+    lens _des1SubscriptionName (\s a -> s { _des1SubscriptionName = a })++data DescribeEventSubscriptionsResponse = DescribeEventSubscriptionsResponse+    { _desrEventSubscriptionsList :: List "EventSubscription" EventSubscription+    , _desrMarker                 :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeEventSubscriptionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'desrEventSubscriptionsList' @::@ ['EventSubscription']+--+-- * 'desrMarker' @::@ 'Maybe' 'Text'+--+describeEventSubscriptionsResponse :: DescribeEventSubscriptionsResponse+describeEventSubscriptionsResponse = DescribeEventSubscriptionsResponse+    { _desrMarker                 = Nothing+    , _desrEventSubscriptionsList = mempty+    }++-- | A list of EventSubscriptions data types.+desrEventSubscriptionsList :: Lens' DescribeEventSubscriptionsResponse [EventSubscription]+desrEventSubscriptionsList =+    lens _desrEventSubscriptionsList+        (\s a -> s { _desrEventSubscriptionsList = a })+            . _List++-- | An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by MaxRecords.+desrMarker :: Lens' DescribeEventSubscriptionsResponse (Maybe Text)+desrMarker = lens _desrMarker (\s a -> s { _desrMarker = a })++instance ToPath DescribeEventSubscriptions where+    toPath = const "/"++instance ToQuery DescribeEventSubscriptions where+    toQuery DescribeEventSubscriptions{..} = mconcat+        [ "Filters"          =? _des1Filters+        , "Marker"           =? _des1Marker+        , "MaxRecords"       =? _des1MaxRecords+        , "SubscriptionName" =? _des1SubscriptionName+        ]++instance ToHeaders DescribeEventSubscriptions++instance AWSRequest DescribeEventSubscriptions where+    type Sv DescribeEventSubscriptions = RDS+    type Rs DescribeEventSubscriptions = DescribeEventSubscriptionsResponse++    request  = post "DescribeEventSubscriptions"+    response = xmlResponse++instance FromXML DescribeEventSubscriptionsResponse where+    parseXML = withElement "DescribeEventSubscriptionsResult" $ \x -> DescribeEventSubscriptionsResponse+        <$> x .@  "EventSubscriptionsList"+        <*> x .@? "Marker"++instance AWSPager DescribeEventSubscriptions where+    page rq rs+        | stop (rq ^. des1Marker) = Nothing+        | otherwise = (\x -> rq & des1Marker ?~ x)+            <$> (rs ^. desrMarker)
+ gen/Network/AWS/RDS/DescribeEvents.hs view
@@ -0,0 +1,229 @@+{-# 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.RDS.DescribeEvents+-- 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)++-- | Returns events related to DB instances, DB security groups, DB snapshots,+-- and DB parameter groups for the past 14 days. Events specific to a+-- particular DB instance, DB security group, database snapshot, or DB+-- parameter group can be obtained by providing the name as a parameter. By+-- default, the past hour of events are returned.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEvents.html>+module Network.AWS.RDS.DescribeEvents+    (+    -- * Request+      DescribeEvents+    -- ** Request constructor+    , describeEvents+    -- ** Request lenses+    , deDuration+    , deEndTime+    , deEventCategories+    , deFilters+    , deMarker+    , deMaxRecords+    , deSourceIdentifier+    , deSourceType+    , deStartTime++    -- * Response+    , DescribeEventsResponse+    -- ** Response constructor+    , describeEventsResponse+    -- ** Response lenses+    , derEvents+    , derMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeEvents = DescribeEvents+    { _deDuration         :: Maybe Int+    , _deEndTime          :: Maybe RFC822+    , _deEventCategories  :: List "EventCategory" Text+    , _deFilters          :: List "Filter" Filter+    , _deMarker           :: Maybe Text+    , _deMaxRecords       :: Maybe Int+    , _deSourceIdentifier :: Maybe Text+    , _deSourceType       :: Maybe Text+    , _deStartTime        :: Maybe RFC822+    } deriving (Eq, Show)++-- | 'DescribeEvents' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'deDuration' @::@ 'Maybe' 'Int'+--+-- * 'deEndTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'deEventCategories' @::@ ['Text']+--+-- * 'deFilters' @::@ ['Filter']+--+-- * 'deMarker' @::@ 'Maybe' 'Text'+--+-- * 'deMaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'deSourceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'deSourceType' @::@ 'Maybe' 'Text'+--+-- * 'deStartTime' @::@ 'Maybe' 'UTCTime'+--+describeEvents :: DescribeEvents+describeEvents = DescribeEvents+    { _deSourceIdentifier = Nothing+    , _deSourceType       = Nothing+    , _deStartTime        = Nothing+    , _deEndTime          = Nothing+    , _deDuration         = Nothing+    , _deEventCategories  = mempty+    , _deFilters          = mempty+    , _deMaxRecords       = Nothing+    , _deMarker           = Nothing+    }++-- | The number of minutes to retrieve events for. Default: 60.+deDuration :: Lens' DescribeEvents (Maybe Int)+deDuration = lens _deDuration (\s a -> s { _deDuration = a })++-- | The end of the time interval for which to retrieve events, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the ISO8601+-- Wikipedia page. Example: 2009-07-08T18:00Z.+deEndTime :: Lens' DescribeEvents (Maybe UTCTime)+deEndTime = lens _deEndTime (\s a -> s { _deEndTime = a }) . mapping _Time++-- | A list of event categories that trigger notifications for a event+-- notification subscription.+deEventCategories :: Lens' DescribeEvents [Text]+deEventCategories =+    lens _deEventCategories (\s a -> s { _deEventCategories = a })+        . _List++-- | This parameter is not currently supported.+deFilters :: Lens' DescribeEvents [Filter]+deFilters = lens _deFilters (\s a -> s { _deFilters = a }) . _List++-- | An optional pagination token provided by a previous DescribeEvents+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by MaxRecords.+deMarker :: Lens' DescribeEvents (Maybe Text)+deMarker = lens _deMarker (\s a -> s { _deMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results may be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+deMaxRecords :: Lens' DescribeEvents (Maybe Int)+deMaxRecords = lens _deMaxRecords (\s a -> s { _deMaxRecords = a })++-- | The identifier of the event source for which events will be returned. If+-- not specified, then all sources are included in the response.+-- Constraints: If SourceIdentifier is supplied, SourceType must also be+-- provided. If the source type is DBInstance, then a DBInstanceIdentifier+-- must be supplied. If the source type is DBSecurityGroup, a+-- DBSecurityGroupName must be supplied. If the source type is+-- DBParameterGroup, a DBParameterGroupName must be supplied. If the source+-- type is DBSnapshot, a DBSnapshotIdentifier must be supplied. Cannot end+-- with a hyphen or contain two consecutive hyphens.+deSourceIdentifier :: Lens' DescribeEvents (Maybe Text)+deSourceIdentifier =+    lens _deSourceIdentifier (\s a -> s { _deSourceIdentifier = a })++-- | The event source to retrieve events for. If no value is specified, all+-- events are returned.+deSourceType :: Lens' DescribeEvents (Maybe Text)+deSourceType = lens _deSourceType (\s a -> s { _deSourceType = a })++-- | The beginning of the time interval to retrieve events for, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the ISO8601+-- Wikipedia page. Example: 2009-07-08T18:00Z.+deStartTime :: Lens' DescribeEvents (Maybe UTCTime)+deStartTime = lens _deStartTime (\s a -> s { _deStartTime = a }) . mapping _Time++data DescribeEventsResponse = DescribeEventsResponse+    { _derEvents :: List "Event" Event+    , _derMarker :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeEventsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'derEvents' @::@ ['Event']+--+-- * 'derMarker' @::@ 'Maybe' 'Text'+--+describeEventsResponse :: DescribeEventsResponse+describeEventsResponse = DescribeEventsResponse+    { _derMarker = Nothing+    , _derEvents = mempty+    }++-- | A list of Event instances.+derEvents :: Lens' DescribeEventsResponse [Event]+derEvents = lens _derEvents (\s a -> s { _derEvents = a }) . _List++-- | An optional pagination token provided by a previous Events request. If+-- this parameter is specified, the response includes only records beyond+-- the marker, up to the value specified by MaxRecords .+derMarker :: Lens' DescribeEventsResponse (Maybe Text)+derMarker = lens _derMarker (\s a -> s { _derMarker = a })++instance ToPath DescribeEvents where+    toPath = const "/"++instance ToQuery DescribeEvents where+    toQuery DescribeEvents{..} = mconcat+        [ "Duration"         =? _deDuration+        , "EndTime"          =? _deEndTime+        , "EventCategories"  =? _deEventCategories+        , "Filters"          =? _deFilters+        , "Marker"           =? _deMarker+        , "MaxRecords"       =? _deMaxRecords+        , "SourceIdentifier" =? _deSourceIdentifier+        , "SourceType"       =? _deSourceType+        , "StartTime"        =? _deStartTime+        ]++instance ToHeaders DescribeEvents++instance AWSRequest DescribeEvents where+    type Sv DescribeEvents = RDS+    type Rs DescribeEvents = DescribeEventsResponse++    request  = post "DescribeEvents"+    response = xmlResponse++instance FromXML DescribeEventsResponse where+    parseXML = withElement "DescribeEventsResult" $ \x -> DescribeEventsResponse+        <$> x .@  "Events"+        <*> x .@? "Marker"++instance AWSPager DescribeEvents where+    page rq rs+        | stop (rq ^. deMarker) = Nothing+        | otherwise = (\x -> rq & deMarker ?~ x)+            <$> (rs ^. derMarker)
+ gen/Network/AWS/RDS/DescribeOptionGroupOptions.hs view
@@ -0,0 +1,173 @@+{-# 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.RDS.DescribeOptionGroupOptions+-- 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)++-- | Describes all available options.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOptionGroupOptions.html>+module Network.AWS.RDS.DescribeOptionGroupOptions+    (+    -- * Request+      DescribeOptionGroupOptions+    -- ** Request constructor+    , describeOptionGroupOptions+    -- ** Request lenses+    , dogoEngineName+    , dogoFilters+    , dogoMajorEngineVersion+    , dogoMarker+    , dogoMaxRecords++    -- * Response+    , DescribeOptionGroupOptionsResponse+    -- ** Response constructor+    , describeOptionGroupOptionsResponse+    -- ** Response lenses+    , dogorMarker+    , dogorOptionGroupOptions+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeOptionGroupOptions = DescribeOptionGroupOptions+    { _dogoEngineName         :: Text+    , _dogoFilters            :: List "Filter" Filter+    , _dogoMajorEngineVersion :: Maybe Text+    , _dogoMarker             :: Maybe Text+    , _dogoMaxRecords         :: Maybe Int+    } deriving (Eq, Show)++-- | 'DescribeOptionGroupOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dogoEngineName' @::@ 'Text'+--+-- * 'dogoFilters' @::@ ['Filter']+--+-- * 'dogoMajorEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'dogoMarker' @::@ 'Maybe' 'Text'+--+-- * 'dogoMaxRecords' @::@ 'Maybe' 'Int'+--+describeOptionGroupOptions :: Text -- ^ 'dogoEngineName'+                           -> DescribeOptionGroupOptions+describeOptionGroupOptions p1 = DescribeOptionGroupOptions+    { _dogoEngineName         = p1+    , _dogoMajorEngineVersion = Nothing+    , _dogoFilters            = mempty+    , _dogoMaxRecords         = Nothing+    , _dogoMarker             = Nothing+    }++-- | A required parameter. Options available for the given Engine name will be+-- described.+dogoEngineName :: Lens' DescribeOptionGroupOptions Text+dogoEngineName = lens _dogoEngineName (\s a -> s { _dogoEngineName = a })++-- | This parameter is not currently supported.+dogoFilters :: Lens' DescribeOptionGroupOptions [Filter]+dogoFilters = lens _dogoFilters (\s a -> s { _dogoFilters = a }) . _List++-- | If specified, filters the results to include only options for the+-- specified major engine version.+dogoMajorEngineVersion :: Lens' DescribeOptionGroupOptions (Maybe Text)+dogoMajorEngineVersion =+    lens _dogoMajorEngineVersion (\s a -> s { _dogoMajorEngineVersion = a })++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+dogoMarker :: Lens' DescribeOptionGroupOptions (Maybe Text)+dogoMarker = lens _dogoMarker (\s a -> s { _dogoMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results can be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+dogoMaxRecords :: Lens' DescribeOptionGroupOptions (Maybe Int)+dogoMaxRecords = lens _dogoMaxRecords (\s a -> s { _dogoMaxRecords = a })++data DescribeOptionGroupOptionsResponse = DescribeOptionGroupOptionsResponse+    { _dogorMarker             :: Maybe Text+    , _dogorOptionGroupOptions :: List "OptionGroupOption" OptionGroupOption+    } deriving (Eq, Show)++-- | 'DescribeOptionGroupOptionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dogorMarker' @::@ 'Maybe' 'Text'+--+-- * 'dogorOptionGroupOptions' @::@ ['OptionGroupOption']+--+describeOptionGroupOptionsResponse :: DescribeOptionGroupOptionsResponse+describeOptionGroupOptionsResponse = DescribeOptionGroupOptionsResponse+    { _dogorOptionGroupOptions = mempty+    , _dogorMarker             = Nothing+    }++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+dogorMarker :: Lens' DescribeOptionGroupOptionsResponse (Maybe Text)+dogorMarker = lens _dogorMarker (\s a -> s { _dogorMarker = a })++dogorOptionGroupOptions :: Lens' DescribeOptionGroupOptionsResponse [OptionGroupOption]+dogorOptionGroupOptions =+    lens _dogorOptionGroupOptions (\s a -> s { _dogorOptionGroupOptions = a })+        . _List++instance ToPath DescribeOptionGroupOptions where+    toPath = const "/"++instance ToQuery DescribeOptionGroupOptions where+    toQuery DescribeOptionGroupOptions{..} = mconcat+        [ "EngineName"         =? _dogoEngineName+        , "Filters"            =? _dogoFilters+        , "MajorEngineVersion" =? _dogoMajorEngineVersion+        , "Marker"             =? _dogoMarker+        , "MaxRecords"         =? _dogoMaxRecords+        ]++instance ToHeaders DescribeOptionGroupOptions++instance AWSRequest DescribeOptionGroupOptions where+    type Sv DescribeOptionGroupOptions = RDS+    type Rs DescribeOptionGroupOptions = DescribeOptionGroupOptionsResponse++    request  = post "DescribeOptionGroupOptions"+    response = xmlResponse++instance FromXML DescribeOptionGroupOptionsResponse where+    parseXML = withElement "DescribeOptionGroupOptionsResult" $ \x -> DescribeOptionGroupOptionsResponse+        <$> x .@? "Marker"+        <*> x .@  "OptionGroupOptions"++instance AWSPager DescribeOptionGroupOptions where+    page rq rs+        | stop (rq ^. dogoMarker) = Nothing+        | otherwise = (\x -> rq & dogoMarker ?~ x)+            <$> (rs ^. dogorMarker)
+ gen/Network/AWS/RDS/DescribeOptionGroups.hs view
@@ -0,0 +1,186 @@+{-# 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.RDS.DescribeOptionGroups+-- 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)++-- | Describes the available option groups.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOptionGroups.html>+module Network.AWS.RDS.DescribeOptionGroups+    (+    -- * Request+      DescribeOptionGroups+    -- ** Request constructor+    , describeOptionGroups+    -- ** Request lenses+    , dogEngineName+    , dogFilters+    , dogMajorEngineVersion+    , dogMarker+    , dogMaxRecords+    , dogOptionGroupName++    -- * Response+    , DescribeOptionGroupsResponse+    -- ** Response constructor+    , describeOptionGroupsResponse+    -- ** Response lenses+    , dogrMarker+    , dogrOptionGroupsList+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeOptionGroups = DescribeOptionGroups+    { _dogEngineName         :: Maybe Text+    , _dogFilters            :: List "Filter" Filter+    , _dogMajorEngineVersion :: Maybe Text+    , _dogMarker             :: Maybe Text+    , _dogMaxRecords         :: Maybe Int+    , _dogOptionGroupName    :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeOptionGroups' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dogEngineName' @::@ 'Maybe' 'Text'+--+-- * 'dogFilters' @::@ ['Filter']+--+-- * 'dogMajorEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'dogMarker' @::@ 'Maybe' 'Text'+--+-- * 'dogMaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'dogOptionGroupName' @::@ 'Maybe' 'Text'+--+describeOptionGroups :: DescribeOptionGroups+describeOptionGroups = DescribeOptionGroups+    { _dogOptionGroupName    = Nothing+    , _dogFilters            = mempty+    , _dogMarker             = Nothing+    , _dogMaxRecords         = Nothing+    , _dogEngineName         = Nothing+    , _dogMajorEngineVersion = Nothing+    }++-- | Filters the list of option groups to only include groups associated with+-- a specific database engine.+dogEngineName :: Lens' DescribeOptionGroups (Maybe Text)+dogEngineName = lens _dogEngineName (\s a -> s { _dogEngineName = a })++-- | This parameter is not currently supported.+dogFilters :: Lens' DescribeOptionGroups [Filter]+dogFilters = lens _dogFilters (\s a -> s { _dogFilters = a }) . _List++-- | Filters the list of option groups to only include groups associated with+-- a specific database engine version. If specified, then EngineName must+-- also be specified.+dogMajorEngineVersion :: Lens' DescribeOptionGroups (Maybe Text)+dogMajorEngineVersion =+    lens _dogMajorEngineVersion (\s a -> s { _dogMajorEngineVersion = a })++-- | An optional pagination token provided by a previous DescribeOptionGroups+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by MaxRecords.+dogMarker :: Lens' DescribeOptionGroups (Maybe Text)+dogMarker = lens _dogMarker (\s a -> s { _dogMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results can be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+dogMaxRecords :: Lens' DescribeOptionGroups (Maybe Int)+dogMaxRecords = lens _dogMaxRecords (\s a -> s { _dogMaxRecords = a })++-- | The name of the option group to describe. Cannot be supplied together+-- with EngineName or MajorEngineVersion.+dogOptionGroupName :: Lens' DescribeOptionGroups (Maybe Text)+dogOptionGroupName =+    lens _dogOptionGroupName (\s a -> s { _dogOptionGroupName = a })++data DescribeOptionGroupsResponse = DescribeOptionGroupsResponse+    { _dogrMarker           :: Maybe Text+    , _dogrOptionGroupsList :: List "OptionGroup" OptionGroup+    } deriving (Eq, Show)++-- | 'DescribeOptionGroupsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dogrMarker' @::@ 'Maybe' 'Text'+--+-- * 'dogrOptionGroupsList' @::@ ['OptionGroup']+--+describeOptionGroupsResponse :: DescribeOptionGroupsResponse+describeOptionGroupsResponse = DescribeOptionGroupsResponse+    { _dogrOptionGroupsList = mempty+    , _dogrMarker           = Nothing+    }++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+dogrMarker :: Lens' DescribeOptionGroupsResponse (Maybe Text)+dogrMarker = lens _dogrMarker (\s a -> s { _dogrMarker = a })++-- | List of option groups.+dogrOptionGroupsList :: Lens' DescribeOptionGroupsResponse [OptionGroup]+dogrOptionGroupsList =+    lens _dogrOptionGroupsList (\s a -> s { _dogrOptionGroupsList = a })+        . _List++instance ToPath DescribeOptionGroups where+    toPath = const "/"++instance ToQuery DescribeOptionGroups where+    toQuery DescribeOptionGroups{..} = mconcat+        [ "EngineName"         =? _dogEngineName+        , "Filters"            =? _dogFilters+        , "MajorEngineVersion" =? _dogMajorEngineVersion+        , "Marker"             =? _dogMarker+        , "MaxRecords"         =? _dogMaxRecords+        , "OptionGroupName"    =? _dogOptionGroupName+        ]++instance ToHeaders DescribeOptionGroups++instance AWSRequest DescribeOptionGroups where+    type Sv DescribeOptionGroups = RDS+    type Rs DescribeOptionGroups = DescribeOptionGroupsResponse++    request  = post "DescribeOptionGroups"+    response = xmlResponse++instance FromXML DescribeOptionGroupsResponse where+    parseXML = withElement "DescribeOptionGroupsResult" $ \x -> DescribeOptionGroupsResponse+        <$> x .@? "Marker"+        <*> x .@  "OptionGroupsList"++instance AWSPager DescribeOptionGroups where+    page rq rs+        | stop (rq ^. dogMarker) = Nothing+        | otherwise = (\x -> rq & dogMarker ?~ x)+            <$> (rs ^. dogrMarker)
+ gen/Network/AWS/RDS/DescribeOrderableDBInstanceOptions.hs view
@@ -0,0 +1,212 @@+{-# 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.RDS.DescribeOrderableDBInstanceOptions+-- 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)++-- | Returns a list of orderable DB instance options for the specified engine.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOrderableDBInstanceOptions.html>+module Network.AWS.RDS.DescribeOrderableDBInstanceOptions+    (+    -- * Request+      DescribeOrderableDBInstanceOptions+    -- ** Request constructor+    , describeOrderableDBInstanceOptions+    -- ** Request lenses+    , dodbioDBInstanceClass+    , dodbioEngine+    , dodbioEngineVersion+    , dodbioFilters+    , dodbioLicenseModel+    , dodbioMarker+    , dodbioMaxRecords+    , dodbioVpc++    -- * Response+    , DescribeOrderableDBInstanceOptionsResponse+    -- ** Response constructor+    , describeOrderableDBInstanceOptionsResponse+    -- ** Response lenses+    , dodbiorMarker+    , dodbiorOrderableDBInstanceOptions+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeOrderableDBInstanceOptions = DescribeOrderableDBInstanceOptions+    { _dodbioDBInstanceClass :: Maybe Text+    , _dodbioEngine          :: Text+    , _dodbioEngineVersion   :: Maybe Text+    , _dodbioFilters         :: List "Filter" Filter+    , _dodbioLicenseModel    :: Maybe Text+    , _dodbioMarker          :: Maybe Text+    , _dodbioMaxRecords      :: Maybe Int+    , _dodbioVpc             :: Maybe Bool+    } deriving (Eq, Show)++-- | 'DescribeOrderableDBInstanceOptions' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dodbioDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'dodbioEngine' @::@ 'Text'+--+-- * 'dodbioEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'dodbioFilters' @::@ ['Filter']+--+-- * 'dodbioLicenseModel' @::@ 'Maybe' 'Text'+--+-- * 'dodbioMarker' @::@ 'Maybe' 'Text'+--+-- * 'dodbioMaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'dodbioVpc' @::@ 'Maybe' 'Bool'+--+describeOrderableDBInstanceOptions :: Text -- ^ 'dodbioEngine'+                                   -> DescribeOrderableDBInstanceOptions+describeOrderableDBInstanceOptions p1 = DescribeOrderableDBInstanceOptions+    { _dodbioEngine          = p1+    , _dodbioEngineVersion   = Nothing+    , _dodbioDBInstanceClass = Nothing+    , _dodbioLicenseModel    = Nothing+    , _dodbioVpc             = Nothing+    , _dodbioFilters         = mempty+    , _dodbioMaxRecords      = Nothing+    , _dodbioMarker          = Nothing+    }++-- | The DB instance class filter value. Specify this parameter to show only+-- the available offerings matching the specified DB instance class.+dodbioDBInstanceClass :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)+dodbioDBInstanceClass =+    lens _dodbioDBInstanceClass (\s a -> s { _dodbioDBInstanceClass = a })++-- | The name of the engine to retrieve DB instance options for.+dodbioEngine :: Lens' DescribeOrderableDBInstanceOptions Text+dodbioEngine = lens _dodbioEngine (\s a -> s { _dodbioEngine = a })++-- | The engine version filter value. Specify this parameter to show only the+-- available offerings matching the specified engine version.+dodbioEngineVersion :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)+dodbioEngineVersion =+    lens _dodbioEngineVersion (\s a -> s { _dodbioEngineVersion = a })++-- | This parameter is not currently supported.+dodbioFilters :: Lens' DescribeOrderableDBInstanceOptions [Filter]+dodbioFilters = lens _dodbioFilters (\s a -> s { _dodbioFilters = a }) . _List++-- | The license model filter value. Specify this parameter to show only the+-- available offerings matching the specified license model.+dodbioLicenseModel :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)+dodbioLicenseModel =+    lens _dodbioLicenseModel (\s a -> s { _dodbioLicenseModel = a })++-- | An optional pagination token provided by a previous+-- DescribeOrderableDBInstanceOptions request. If this parameter is+-- specified, the response includes only records beyond the marker, up to+-- the value specified by MaxRecords .+dodbioMarker :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)+dodbioMarker = lens _dodbioMarker (\s a -> s { _dodbioMarker = a })++-- | The maximum number of records to include in the response. If more records+-- exist than the specified MaxRecords value, a pagination token called a+-- marker is included in the response so that the remaining results can be+-- retrieved. Default: 100 Constraints: minimum 20, maximum 100.+dodbioMaxRecords :: Lens' DescribeOrderableDBInstanceOptions (Maybe Int)+dodbioMaxRecords = lens _dodbioMaxRecords (\s a -> s { _dodbioMaxRecords = a })++-- | The VPC filter value. Specify this parameter to show only the available+-- VPC or non-VPC offerings.+dodbioVpc :: Lens' DescribeOrderableDBInstanceOptions (Maybe Bool)+dodbioVpc = lens _dodbioVpc (\s a -> s { _dodbioVpc = a })++data DescribeOrderableDBInstanceOptionsResponse = DescribeOrderableDBInstanceOptionsResponse+    { _dodbiorMarker                     :: Maybe Text+    , _dodbiorOrderableDBInstanceOptions :: List "OrderableDBInstanceOption" OrderableDBInstanceOption+    } deriving (Eq, Show)++-- | 'DescribeOrderableDBInstanceOptionsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dodbiorMarker' @::@ 'Maybe' 'Text'+--+-- * 'dodbiorOrderableDBInstanceOptions' @::@ ['OrderableDBInstanceOption']+--+describeOrderableDBInstanceOptionsResponse :: DescribeOrderableDBInstanceOptionsResponse+describeOrderableDBInstanceOptionsResponse = DescribeOrderableDBInstanceOptionsResponse+    { _dodbiorOrderableDBInstanceOptions = mempty+    , _dodbiorMarker                     = Nothing+    }++-- | An optional pagination token provided by a previous+-- OrderableDBInstanceOptions request. If this parameter is specified, the+-- response includes only records beyond the marker, up to the value+-- specified by MaxRecords .+dodbiorMarker :: Lens' DescribeOrderableDBInstanceOptionsResponse (Maybe Text)+dodbiorMarker = lens _dodbiorMarker (\s a -> s { _dodbiorMarker = a })++-- | An OrderableDBInstanceOption structure containing information about+-- orderable options for the DB instance.+dodbiorOrderableDBInstanceOptions :: Lens' DescribeOrderableDBInstanceOptionsResponse [OrderableDBInstanceOption]+dodbiorOrderableDBInstanceOptions =+    lens _dodbiorOrderableDBInstanceOptions+        (\s a -> s { _dodbiorOrderableDBInstanceOptions = a })+            . _List++instance ToPath DescribeOrderableDBInstanceOptions where+    toPath = const "/"++instance ToQuery DescribeOrderableDBInstanceOptions where+    toQuery DescribeOrderableDBInstanceOptions{..} = mconcat+        [ "DBInstanceClass" =? _dodbioDBInstanceClass+        , "Engine"          =? _dodbioEngine+        , "EngineVersion"   =? _dodbioEngineVersion+        , "Filters"         =? _dodbioFilters+        , "LicenseModel"    =? _dodbioLicenseModel+        , "Marker"          =? _dodbioMarker+        , "MaxRecords"      =? _dodbioMaxRecords+        , "Vpc"             =? _dodbioVpc+        ]++instance ToHeaders DescribeOrderableDBInstanceOptions++instance AWSRequest DescribeOrderableDBInstanceOptions where+    type Sv DescribeOrderableDBInstanceOptions = RDS+    type Rs DescribeOrderableDBInstanceOptions = DescribeOrderableDBInstanceOptionsResponse++    request  = post "DescribeOrderableDBInstanceOptions"+    response = xmlResponse++instance FromXML DescribeOrderableDBInstanceOptionsResponse where+    parseXML = withElement "DescribeOrderableDBInstanceOptionsResult" $ \x -> DescribeOrderableDBInstanceOptionsResponse+        <$> x .@? "Marker"+        <*> x .@  "OrderableDBInstanceOptions"++instance AWSPager DescribeOrderableDBInstanceOptions where+    page rq rs+        | stop (rq ^. dodbioMarker) = Nothing+        | otherwise = (\x -> rq & dodbioMarker ?~ x)+            <$> (rs ^. dodbiorMarker)
+ gen/Network/AWS/RDS/DescribeReservedDBInstances.hs view
@@ -0,0 +1,238 @@+{-# 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.RDS.DescribeReservedDBInstances+-- 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)++-- | Returns information about reserved DB instances for this account, or about+-- a specified reserved DB instance.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeReservedDBInstances.html>+module Network.AWS.RDS.DescribeReservedDBInstances+    (+    -- * Request+      DescribeReservedDBInstances+    -- ** Request constructor+    , describeReservedDBInstances+    -- ** Request lenses+    , drdbiDBInstanceClass+    , drdbiDuration+    , drdbiFilters+    , drdbiMarker+    , drdbiMaxRecords+    , drdbiMultiAZ+    , drdbiOfferingType+    , drdbiProductDescription+    , drdbiReservedDBInstanceId+    , drdbiReservedDBInstancesOfferingId++    -- * Response+    , DescribeReservedDBInstancesResponse+    -- ** Response constructor+    , describeReservedDBInstancesResponse+    -- ** Response lenses+    , drdbirMarker+    , drdbirReservedDBInstances+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeReservedDBInstances = DescribeReservedDBInstances+    { _drdbiDBInstanceClass               :: Maybe Text+    , _drdbiDuration                      :: Maybe Text+    , _drdbiFilters                       :: List "Filter" Filter+    , _drdbiMarker                        :: Maybe Text+    , _drdbiMaxRecords                    :: Maybe Int+    , _drdbiMultiAZ                       :: Maybe Bool+    , _drdbiOfferingType                  :: Maybe Text+    , _drdbiProductDescription            :: Maybe Text+    , _drdbiReservedDBInstanceId          :: Maybe Text+    , _drdbiReservedDBInstancesOfferingId :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeReservedDBInstances' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drdbiDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'drdbiDuration' @::@ 'Maybe' 'Text'+--+-- * 'drdbiFilters' @::@ ['Filter']+--+-- * 'drdbiMarker' @::@ 'Maybe' 'Text'+--+-- * 'drdbiMaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'drdbiMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'drdbiOfferingType' @::@ 'Maybe' 'Text'+--+-- * 'drdbiProductDescription' @::@ 'Maybe' 'Text'+--+-- * 'drdbiReservedDBInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'drdbiReservedDBInstancesOfferingId' @::@ 'Maybe' 'Text'+--+describeReservedDBInstances :: DescribeReservedDBInstances+describeReservedDBInstances = DescribeReservedDBInstances+    { _drdbiReservedDBInstanceId          = Nothing+    , _drdbiReservedDBInstancesOfferingId = Nothing+    , _drdbiDBInstanceClass               = Nothing+    , _drdbiDuration                      = Nothing+    , _drdbiProductDescription            = Nothing+    , _drdbiOfferingType                  = Nothing+    , _drdbiMultiAZ                       = Nothing+    , _drdbiFilters                       = mempty+    , _drdbiMaxRecords                    = Nothing+    , _drdbiMarker                        = Nothing+    }++-- | The DB instance class filter value. Specify this parameter to show only+-- those reservations matching the specified DB instances class.+drdbiDBInstanceClass :: Lens' DescribeReservedDBInstances (Maybe Text)+drdbiDBInstanceClass =+    lens _drdbiDBInstanceClass (\s a -> s { _drdbiDBInstanceClass = a })++-- | The duration filter value, specified in years or seconds. Specify this+-- parameter to show only reservations for this duration. Valid Values: 1 |+-- 3 | 31536000 | 94608000.+drdbiDuration :: Lens' DescribeReservedDBInstances (Maybe Text)+drdbiDuration = lens _drdbiDuration (\s a -> s { _drdbiDuration = a })++-- | This parameter is not currently supported.+drdbiFilters :: Lens' DescribeReservedDBInstances [Filter]+drdbiFilters = lens _drdbiFilters (\s a -> s { _drdbiFilters = a }) . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+drdbiMarker :: Lens' DescribeReservedDBInstances (Maybe Text)+drdbiMarker = lens _drdbiMarker (\s a -> s { _drdbiMarker = a })++-- | The maximum number of records to include in the response. If more than+-- the MaxRecords value is available, a pagination token called a marker is+-- included in the response so that the following results can be retrieved.+-- Default: 100 Constraints: minimum 20, maximum 100.+drdbiMaxRecords :: Lens' DescribeReservedDBInstances (Maybe Int)+drdbiMaxRecords = lens _drdbiMaxRecords (\s a -> s { _drdbiMaxRecords = a })++-- | The Multi-AZ filter value. Specify this parameter to show only those+-- reservations matching the specified Multi-AZ parameter.+drdbiMultiAZ :: Lens' DescribeReservedDBInstances (Maybe Bool)+drdbiMultiAZ = lens _drdbiMultiAZ (\s a -> s { _drdbiMultiAZ = a })++-- | The offering type filter value. Specify this parameter to show only the+-- available offerings matching the specified offering type. Valid Values:+-- "Light Utilization" | "Medium Utilization" | "Heavy Utilization".+drdbiOfferingType :: Lens' DescribeReservedDBInstances (Maybe Text)+drdbiOfferingType =+    lens _drdbiOfferingType (\s a -> s { _drdbiOfferingType = a })++-- | The product description filter value. Specify this parameter to show only+-- those reservations matching the specified product description.+drdbiProductDescription :: Lens' DescribeReservedDBInstances (Maybe Text)+drdbiProductDescription =+    lens _drdbiProductDescription (\s a -> s { _drdbiProductDescription = a })++-- | The reserved DB instance identifier filter value. Specify this parameter+-- to show only the reservation that matches the specified reservation ID.+drdbiReservedDBInstanceId :: Lens' DescribeReservedDBInstances (Maybe Text)+drdbiReservedDBInstanceId =+    lens _drdbiReservedDBInstanceId+        (\s a -> s { _drdbiReservedDBInstanceId = a })++-- | The offering identifier filter value. Specify this parameter to show only+-- purchased reservations matching the specified offering identifier.+drdbiReservedDBInstancesOfferingId :: Lens' DescribeReservedDBInstances (Maybe Text)+drdbiReservedDBInstancesOfferingId =+    lens _drdbiReservedDBInstancesOfferingId+        (\s a -> s { _drdbiReservedDBInstancesOfferingId = a })++data DescribeReservedDBInstancesResponse = DescribeReservedDBInstancesResponse+    { _drdbirMarker              :: Maybe Text+    , _drdbirReservedDBInstances :: List "ReservedDBInstance" ReservedDBInstance+    } deriving (Eq, Show)++-- | 'DescribeReservedDBInstancesResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drdbirMarker' @::@ 'Maybe' 'Text'+--+-- * 'drdbirReservedDBInstances' @::@ ['ReservedDBInstance']+--+describeReservedDBInstancesResponse :: DescribeReservedDBInstancesResponse+describeReservedDBInstancesResponse = DescribeReservedDBInstancesResponse+    { _drdbirMarker              = Nothing+    , _drdbirReservedDBInstances = mempty+    }++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+drdbirMarker :: Lens' DescribeReservedDBInstancesResponse (Maybe Text)+drdbirMarker = lens _drdbirMarker (\s a -> s { _drdbirMarker = a })++-- | A list of reserved DB instances.+drdbirReservedDBInstances :: Lens' DescribeReservedDBInstancesResponse [ReservedDBInstance]+drdbirReservedDBInstances =+    lens _drdbirReservedDBInstances+        (\s a -> s { _drdbirReservedDBInstances = a })+            . _List++instance ToPath DescribeReservedDBInstances where+    toPath = const "/"++instance ToQuery DescribeReservedDBInstances where+    toQuery DescribeReservedDBInstances{..} = mconcat+        [ "DBInstanceClass"               =? _drdbiDBInstanceClass+        , "Duration"                      =? _drdbiDuration+        , "Filters"                       =? _drdbiFilters+        , "Marker"                        =? _drdbiMarker+        , "MaxRecords"                    =? _drdbiMaxRecords+        , "MultiAZ"                       =? _drdbiMultiAZ+        , "OfferingType"                  =? _drdbiOfferingType+        , "ProductDescription"            =? _drdbiProductDescription+        , "ReservedDBInstanceId"          =? _drdbiReservedDBInstanceId+        , "ReservedDBInstancesOfferingId" =? _drdbiReservedDBInstancesOfferingId+        ]++instance ToHeaders DescribeReservedDBInstances++instance AWSRequest DescribeReservedDBInstances where+    type Sv DescribeReservedDBInstances = RDS+    type Rs DescribeReservedDBInstances = DescribeReservedDBInstancesResponse++    request  = post "DescribeReservedDBInstances"+    response = xmlResponse++instance FromXML DescribeReservedDBInstancesResponse where+    parseXML = withElement "DescribeReservedDBInstancesResult" $ \x -> DescribeReservedDBInstancesResponse+        <$> x .@? "Marker"+        <*> x .@  "ReservedDBInstances"++instance AWSPager DescribeReservedDBInstances where+    page rq rs+        | stop (rq ^. drdbiMarker) = Nothing+        | otherwise = (\x -> rq & drdbiMarker ?~ x)+            <$> (rs ^. drdbirMarker)
+ gen/Network/AWS/RDS/DescribeReservedDBInstancesOfferings.hs view
@@ -0,0 +1,226 @@+{-# 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.RDS.DescribeReservedDBInstancesOfferings+-- 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 available reserved DB instance offerings.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeReservedDBInstancesOfferings.html>+module Network.AWS.RDS.DescribeReservedDBInstancesOfferings+    (+    -- * Request+      DescribeReservedDBInstancesOfferings+    -- ** Request constructor+    , describeReservedDBInstancesOfferings+    -- ** Request lenses+    , drdbioDBInstanceClass+    , drdbioDuration+    , drdbioFilters+    , drdbioMarker+    , drdbioMaxRecords+    , drdbioMultiAZ+    , drdbioOfferingType+    , drdbioProductDescription+    , drdbioReservedDBInstancesOfferingId++    -- * Response+    , DescribeReservedDBInstancesOfferingsResponse+    -- ** Response constructor+    , describeReservedDBInstancesOfferingsResponse+    -- ** Response lenses+    , drdbiorMarker+    , drdbiorReservedDBInstancesOfferings+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DescribeReservedDBInstancesOfferings = DescribeReservedDBInstancesOfferings+    { _drdbioDBInstanceClass               :: Maybe Text+    , _drdbioDuration                      :: Maybe Text+    , _drdbioFilters                       :: List "Filter" Filter+    , _drdbioMarker                        :: Maybe Text+    , _drdbioMaxRecords                    :: Maybe Int+    , _drdbioMultiAZ                       :: Maybe Bool+    , _drdbioOfferingType                  :: Maybe Text+    , _drdbioProductDescription            :: Maybe Text+    , _drdbioReservedDBInstancesOfferingId :: Maybe Text+    } deriving (Eq, Show)++-- | 'DescribeReservedDBInstancesOfferings' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drdbioDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'drdbioDuration' @::@ 'Maybe' 'Text'+--+-- * 'drdbioFilters' @::@ ['Filter']+--+-- * 'drdbioMarker' @::@ 'Maybe' 'Text'+--+-- * 'drdbioMaxRecords' @::@ 'Maybe' 'Int'+--+-- * 'drdbioMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'drdbioOfferingType' @::@ 'Maybe' 'Text'+--+-- * 'drdbioProductDescription' @::@ 'Maybe' 'Text'+--+-- * 'drdbioReservedDBInstancesOfferingId' @::@ 'Maybe' 'Text'+--+describeReservedDBInstancesOfferings :: DescribeReservedDBInstancesOfferings+describeReservedDBInstancesOfferings = DescribeReservedDBInstancesOfferings+    { _drdbioReservedDBInstancesOfferingId = Nothing+    , _drdbioDBInstanceClass               = Nothing+    , _drdbioDuration                      = Nothing+    , _drdbioProductDescription            = Nothing+    , _drdbioOfferingType                  = Nothing+    , _drdbioMultiAZ                       = Nothing+    , _drdbioFilters                       = mempty+    , _drdbioMaxRecords                    = Nothing+    , _drdbioMarker                        = Nothing+    }++-- | The DB instance class filter value. Specify this parameter to show only+-- the available offerings matching the specified DB instance class.+drdbioDBInstanceClass :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)+drdbioDBInstanceClass =+    lens _drdbioDBInstanceClass (\s a -> s { _drdbioDBInstanceClass = a })++-- | Duration filter value, specified in years or seconds. Specify this+-- parameter to show only reservations for this duration. Valid Values: 1 |+-- 3 | 31536000 | 94608000.+drdbioDuration :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)+drdbioDuration = lens _drdbioDuration (\s a -> s { _drdbioDuration = a })++-- | This parameter is not currently supported.+drdbioFilters :: Lens' DescribeReservedDBInstancesOfferings [Filter]+drdbioFilters = lens _drdbioFilters (\s a -> s { _drdbioFilters = a }) . _List++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+drdbioMarker :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)+drdbioMarker = lens _drdbioMarker (\s a -> s { _drdbioMarker = a })++-- | The maximum number of records to include in the response. If more than+-- the MaxRecords value is available, a pagination token called a marker is+-- included in the response so that the following results can be retrieved.+-- Default: 100 Constraints: minimum 20, maximum 100.+drdbioMaxRecords :: Lens' DescribeReservedDBInstancesOfferings (Maybe Int)+drdbioMaxRecords = lens _drdbioMaxRecords (\s a -> s { _drdbioMaxRecords = a })++-- | The Multi-AZ filter value. Specify this parameter to show only the+-- available offerings matching the specified Multi-AZ parameter.+drdbioMultiAZ :: Lens' DescribeReservedDBInstancesOfferings (Maybe Bool)+drdbioMultiAZ = lens _drdbioMultiAZ (\s a -> s { _drdbioMultiAZ = a })++-- | The offering type filter value. Specify this parameter to show only the+-- available offerings matching the specified offering type. Valid Values:+-- "Light Utilization" | "Medium Utilization" | "Heavy Utilization".+drdbioOfferingType :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)+drdbioOfferingType =+    lens _drdbioOfferingType (\s a -> s { _drdbioOfferingType = a })++-- | Product description filter value. Specify this parameter to show only the+-- available offerings matching the specified product description.+drdbioProductDescription :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)+drdbioProductDescription =+    lens _drdbioProductDescription+        (\s a -> s { _drdbioProductDescription = a })++-- | The offering identifier filter value. Specify this parameter to show only+-- the available offering that matches the specified reservation identifier.+-- Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706.+drdbioReservedDBInstancesOfferingId :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)+drdbioReservedDBInstancesOfferingId =+    lens _drdbioReservedDBInstancesOfferingId+        (\s a -> s { _drdbioReservedDBInstancesOfferingId = a })++data DescribeReservedDBInstancesOfferingsResponse = DescribeReservedDBInstancesOfferingsResponse+    { _drdbiorMarker                       :: Maybe Text+    , _drdbiorReservedDBInstancesOfferings :: List "ReservedDBInstancesOffering" ReservedDBInstancesOffering+    } deriving (Eq, Show)++-- | 'DescribeReservedDBInstancesOfferingsResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'drdbiorMarker' @::@ 'Maybe' 'Text'+--+-- * 'drdbiorReservedDBInstancesOfferings' @::@ ['ReservedDBInstancesOffering']+--+describeReservedDBInstancesOfferingsResponse :: DescribeReservedDBInstancesOfferingsResponse+describeReservedDBInstancesOfferingsResponse = DescribeReservedDBInstancesOfferingsResponse+    { _drdbiorMarker                       = Nothing+    , _drdbiorReservedDBInstancesOfferings = mempty+    }++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- marker, up to the value specified by MaxRecords.+drdbiorMarker :: Lens' DescribeReservedDBInstancesOfferingsResponse (Maybe Text)+drdbiorMarker = lens _drdbiorMarker (\s a -> s { _drdbiorMarker = a })++-- | A list of reserved DB instance offerings.+drdbiorReservedDBInstancesOfferings :: Lens' DescribeReservedDBInstancesOfferingsResponse [ReservedDBInstancesOffering]+drdbiorReservedDBInstancesOfferings =+    lens _drdbiorReservedDBInstancesOfferings+        (\s a -> s { _drdbiorReservedDBInstancesOfferings = a })+            . _List++instance ToPath DescribeReservedDBInstancesOfferings where+    toPath = const "/"++instance ToQuery DescribeReservedDBInstancesOfferings where+    toQuery DescribeReservedDBInstancesOfferings{..} = mconcat+        [ "DBInstanceClass"               =? _drdbioDBInstanceClass+        , "Duration"                      =? _drdbioDuration+        , "Filters"                       =? _drdbioFilters+        , "Marker"                        =? _drdbioMarker+        , "MaxRecords"                    =? _drdbioMaxRecords+        , "MultiAZ"                       =? _drdbioMultiAZ+        , "OfferingType"                  =? _drdbioOfferingType+        , "ProductDescription"            =? _drdbioProductDescription+        , "ReservedDBInstancesOfferingId" =? _drdbioReservedDBInstancesOfferingId+        ]++instance ToHeaders DescribeReservedDBInstancesOfferings++instance AWSRequest DescribeReservedDBInstancesOfferings where+    type Sv DescribeReservedDBInstancesOfferings = RDS+    type Rs DescribeReservedDBInstancesOfferings = DescribeReservedDBInstancesOfferingsResponse++    request  = post "DescribeReservedDBInstancesOfferings"+    response = xmlResponse++instance FromXML DescribeReservedDBInstancesOfferingsResponse where+    parseXML = withElement "DescribeReservedDBInstancesOfferingsResult" $ \x -> DescribeReservedDBInstancesOfferingsResponse+        <$> x .@? "Marker"+        <*> x .@  "ReservedDBInstancesOfferings"++instance AWSPager DescribeReservedDBInstancesOfferings where+    page rq rs+        | stop (rq ^. drdbioMarker) = Nothing+        | otherwise = (\x -> rq & drdbioMarker ?~ x)+            <$> (rs ^. drdbiorMarker)
+ gen/Network/AWS/RDS/DownloadDBLogFilePortion.hs view
@@ -0,0 +1,189 @@+{-# 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.RDS.DownloadDBLogFilePortion+-- 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)++-- | Downloads all or a portion of the specified log file.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html>+module Network.AWS.RDS.DownloadDBLogFilePortion+    (+    -- * Request+      DownloadDBLogFilePortion+    -- ** Request constructor+    , downloadDBLogFilePortion+    -- ** Request lenses+    , ddblfpDBInstanceIdentifier+    , ddblfpLogFileName+    , ddblfpMarker+    , ddblfpNumberOfLines++    -- * Response+    , DownloadDBLogFilePortionResponse+    -- ** Response constructor+    , downloadDBLogFilePortionResponse+    -- ** Response lenses+    , ddblfprAdditionalDataPending+    , ddblfprLogFileData+    , ddblfprMarker+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data DownloadDBLogFilePortion = DownloadDBLogFilePortion+    { _ddblfpDBInstanceIdentifier :: Text+    , _ddblfpLogFileName          :: Text+    , _ddblfpMarker               :: Maybe Text+    , _ddblfpNumberOfLines        :: Maybe Int+    } deriving (Eq, Ord, Show)++-- | 'DownloadDBLogFilePortion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddblfpDBInstanceIdentifier' @::@ 'Text'+--+-- * 'ddblfpLogFileName' @::@ 'Text'+--+-- * 'ddblfpMarker' @::@ 'Maybe' 'Text'+--+-- * 'ddblfpNumberOfLines' @::@ 'Maybe' 'Int'+--+downloadDBLogFilePortion :: Text -- ^ 'ddblfpDBInstanceIdentifier'+                         -> Text -- ^ 'ddblfpLogFileName'+                         -> DownloadDBLogFilePortion+downloadDBLogFilePortion p1 p2 = DownloadDBLogFilePortion+    { _ddblfpDBInstanceIdentifier = p1+    , _ddblfpLogFileName          = p2+    , _ddblfpMarker               = Nothing+    , _ddblfpNumberOfLines        = Nothing+    }++-- | The customer-assigned name of the DB instance that contains the log files+-- you want to list. Constraints: Must contain from 1 to 63 alphanumeric+-- characters or hyphens First character must be a letter Cannot end with a+-- hyphen or contain two consecutive hyphens.+ddblfpDBInstanceIdentifier :: Lens' DownloadDBLogFilePortion Text+ddblfpDBInstanceIdentifier =+    lens _ddblfpDBInstanceIdentifier+        (\s a -> s { _ddblfpDBInstanceIdentifier = a })++-- | The name of the log file to be downloaded.+ddblfpLogFileName :: Lens' DownloadDBLogFilePortion Text+ddblfpLogFileName =+    lens _ddblfpLogFileName (\s a -> s { _ddblfpLogFileName = a })++-- | The pagination token provided in the previous request or "0". If the+-- Marker parameter is specified the response includes only records beyond+-- the marker until the end of the file or up to NumberOfLines.+ddblfpMarker :: Lens' DownloadDBLogFilePortion (Maybe Text)+ddblfpMarker = lens _ddblfpMarker (\s a -> s { _ddblfpMarker = a })++-- | The number of lines to download. If the NumberOfLines parameter is+-- specified, then the block of lines returned can be from the beginning or+-- the end of the log file, depending on the value of the Marker parameter.+-- If neither Marker or NumberOfLines are specified, the entire log file is+-- returned. If NumberOfLines is specified and Marker is not specified, then+-- the most recent lines from the end of the log file are returned. If+-- Marker is specified as "0", then the specified number of lines from the+-- beginning of the log file are returned. You can download the log file in+-- blocks of lines by specifying the size of the block using the+-- NumberOfLines parameter, and by specifying a value of "0" for the Marker+-- parameter in your first request. Include the Marker value returned in the+-- response as the Marker value for the next request, continuing until the+-- AdditionalDataPending response element returns false.+ddblfpNumberOfLines :: Lens' DownloadDBLogFilePortion (Maybe Int)+ddblfpNumberOfLines =+    lens _ddblfpNumberOfLines (\s a -> s { _ddblfpNumberOfLines = a })++data DownloadDBLogFilePortionResponse = DownloadDBLogFilePortionResponse+    { _ddblfprAdditionalDataPending :: Maybe Bool+    , _ddblfprLogFileData           :: Maybe Text+    , _ddblfprMarker                :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DownloadDBLogFilePortionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddblfprAdditionalDataPending' @::@ 'Maybe' 'Bool'+--+-- * 'ddblfprLogFileData' @::@ 'Maybe' 'Text'+--+-- * 'ddblfprMarker' @::@ 'Maybe' 'Text'+--+downloadDBLogFilePortionResponse :: DownloadDBLogFilePortionResponse+downloadDBLogFilePortionResponse = DownloadDBLogFilePortionResponse+    { _ddblfprLogFileData           = Nothing+    , _ddblfprMarker                = Nothing+    , _ddblfprAdditionalDataPending = Nothing+    }++-- | Boolean value that if true, indicates there is more data to be+-- downloaded.+ddblfprAdditionalDataPending :: Lens' DownloadDBLogFilePortionResponse (Maybe Bool)+ddblfprAdditionalDataPending =+    lens _ddblfprAdditionalDataPending+        (\s a -> s { _ddblfprAdditionalDataPending = a })++-- | Entries from the specified log file.+ddblfprLogFileData :: Lens' DownloadDBLogFilePortionResponse (Maybe Text)+ddblfprLogFileData =+    lens _ddblfprLogFileData (\s a -> s { _ddblfprLogFileData = a })++-- | A pagination token that can be used in a subsequent+-- DownloadDBLogFilePortion request.+ddblfprMarker :: Lens' DownloadDBLogFilePortionResponse (Maybe Text)+ddblfprMarker = lens _ddblfprMarker (\s a -> s { _ddblfprMarker = a })++instance ToPath DownloadDBLogFilePortion where+    toPath = const "/"++instance ToQuery DownloadDBLogFilePortion where+    toQuery DownloadDBLogFilePortion{..} = mconcat+        [ "DBInstanceIdentifier" =? _ddblfpDBInstanceIdentifier+        , "LogFileName"          =? _ddblfpLogFileName+        , "Marker"               =? _ddblfpMarker+        , "NumberOfLines"        =? _ddblfpNumberOfLines+        ]++instance ToHeaders DownloadDBLogFilePortion++instance AWSRequest DownloadDBLogFilePortion where+    type Sv DownloadDBLogFilePortion = RDS+    type Rs DownloadDBLogFilePortion = DownloadDBLogFilePortionResponse++    request  = post "DownloadDBLogFilePortion"+    response = xmlResponse++instance FromXML DownloadDBLogFilePortionResponse where+    parseXML = withElement "DownloadDBLogFilePortionResult" $ \x -> DownloadDBLogFilePortionResponse+        <$> x .@? "AdditionalDataPending"+        <*> x .@? "LogFileData"+        <*> x .@? "Marker"++instance AWSPager DownloadDBLogFilePortion where+    page rq rs+        | stop (rs ^. ddblfprAdditionalDataPending) = Nothing+        | otherwise = Just $ rq+            & ddblfpMarker .~ rs ^. ddblfprMarker
+ gen/Network/AWS/RDS/ListTagsForResource.hs view
@@ -0,0 +1,125 @@+{-# 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.RDS.ListTagsForResource+-- 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 tags on an Amazon RDS resource. For an overview on tagging an+-- Amazon RDS resource, see Tagging Amazon RDS Resources.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ListTagsForResource.html>+module Network.AWS.RDS.ListTagsForResource+    (+    -- * Request+      ListTagsForResource+    -- ** Request constructor+    , listTagsForResource+    -- ** Request lenses+    , ltfrFilters+    , ltfrResourceName++    -- * Response+    , ListTagsForResourceResponse+    -- ** Response constructor+    , listTagsForResourceResponse+    -- ** Response lenses+    , ltfrrTagList+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data ListTagsForResource = ListTagsForResource+    { _ltfrFilters      :: List "Filter" Filter+    , _ltfrResourceName :: Text+    } deriving (Eq, Show)++-- | 'ListTagsForResource' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ltfrFilters' @::@ ['Filter']+--+-- * 'ltfrResourceName' @::@ 'Text'+--+listTagsForResource :: Text -- ^ 'ltfrResourceName'+                    -> ListTagsForResource+listTagsForResource p1 = ListTagsForResource+    { _ltfrResourceName = p1+    , _ltfrFilters      = mempty+    }++-- | This parameter is not currently supported.+ltfrFilters :: Lens' ListTagsForResource [Filter]+ltfrFilters = lens _ltfrFilters (\s a -> s { _ltfrFilters = a }) . _List++-- | The Amazon RDS resource with tags to be listed. This value is an Amazon+-- Resource Name (ARN). For information about creating an ARN, see+-- Constructing an RDS Amazon Resource Name (ARN).+ltfrResourceName :: Lens' ListTagsForResource Text+ltfrResourceName = lens _ltfrResourceName (\s a -> s { _ltfrResourceName = a })++newtype ListTagsForResourceResponse = ListTagsForResourceResponse+    { _ltfrrTagList :: List "Tag" Tag+    } deriving (Eq, Show, Monoid, Semigroup)++instance GHC.Exts.IsList ListTagsForResourceResponse where+    type Item ListTagsForResourceResponse = Tag++    fromList = ListTagsForResourceResponse . GHC.Exts.fromList+    toList   = GHC.Exts.toList . _ltfrrTagList++-- | 'ListTagsForResourceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ltfrrTagList' @::@ ['Tag']+--+listTagsForResourceResponse :: ListTagsForResourceResponse+listTagsForResourceResponse = ListTagsForResourceResponse+    { _ltfrrTagList = mempty+    }++-- | List of tags returned by the ListTagsForResource operation.+ltfrrTagList :: Lens' ListTagsForResourceResponse [Tag]+ltfrrTagList = lens _ltfrrTagList (\s a -> s { _ltfrrTagList = a }) . _List++instance ToPath ListTagsForResource where+    toPath = const "/"++instance ToQuery ListTagsForResource where+    toQuery ListTagsForResource{..} = mconcat+        [ "Filters"      =? _ltfrFilters+        , "ResourceName" =? _ltfrResourceName+        ]++instance ToHeaders ListTagsForResource++instance AWSRequest ListTagsForResource where+    type Sv ListTagsForResource = RDS+    type Rs ListTagsForResource = ListTagsForResourceResponse++    request  = post "ListTagsForResource"+    response = xmlResponse++instance FromXML ListTagsForResourceResponse where+    parseXML = withElement "ListTagsForResourceResult" $ \x -> ListTagsForResourceResponse+        <$> x .@  "TagList"
+ gen/Network/AWS/RDS/ModifyDBInstance.hs view
@@ -0,0 +1,499 @@+{-# 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.RDS.ModifyDBInstance+-- 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)++-- | Modify settings for a DB instance. You can change one or more database+-- configuration parameters by specifying these parameters and the new values+-- in the request.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html>+module Network.AWS.RDS.ModifyDBInstance+    (+    -- * Request+      ModifyDBInstance+    -- ** Request constructor+    , modifyDBInstance+    -- ** Request lenses+    , mdbiAllocatedStorage+    , mdbiAllowMajorVersionUpgrade+    , mdbiApplyImmediately+    , mdbiAutoMinorVersionUpgrade+    , mdbiBackupRetentionPeriod+    , mdbiDBInstanceClass+    , mdbiDBInstanceIdentifier+    , mdbiDBParameterGroupName+    , mdbiDBSecurityGroups+    , mdbiEngineVersion+    , mdbiIops+    , mdbiMasterUserPassword+    , mdbiMultiAZ+    , mdbiNewDBInstanceIdentifier+    , mdbiOptionGroupName+    , mdbiPreferredBackupWindow+    , mdbiPreferredMaintenanceWindow+    , mdbiStorageType+    , mdbiTdeCredentialArn+    , mdbiTdeCredentialPassword+    , mdbiVpcSecurityGroupIds++    -- * Response+    , ModifyDBInstanceResponse+    -- ** Response constructor+    , modifyDBInstanceResponse+    -- ** Response lenses+    , mdbirDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data ModifyDBInstance = ModifyDBInstance+    { _mdbiAllocatedStorage           :: Maybe Int+    , _mdbiAllowMajorVersionUpgrade   :: Maybe Bool+    , _mdbiApplyImmediately           :: Maybe Bool+    , _mdbiAutoMinorVersionUpgrade    :: Maybe Bool+    , _mdbiBackupRetentionPeriod      :: Maybe Int+    , _mdbiDBInstanceClass            :: Maybe Text+    , _mdbiDBInstanceIdentifier       :: Text+    , _mdbiDBParameterGroupName       :: Maybe Text+    , _mdbiDBSecurityGroups           :: List "DBSecurityGroupName" Text+    , _mdbiEngineVersion              :: Maybe Text+    , _mdbiIops                       :: Maybe Int+    , _mdbiMasterUserPassword         :: Maybe Text+    , _mdbiMultiAZ                    :: Maybe Bool+    , _mdbiNewDBInstanceIdentifier    :: Maybe Text+    , _mdbiOptionGroupName            :: Maybe Text+    , _mdbiPreferredBackupWindow      :: Maybe Text+    , _mdbiPreferredMaintenanceWindow :: Maybe Text+    , _mdbiStorageType                :: Maybe Text+    , _mdbiTdeCredentialArn           :: Maybe Text+    , _mdbiTdeCredentialPassword      :: Maybe Text+    , _mdbiVpcSecurityGroupIds        :: List "VpcSecurityGroupId" Text+    } deriving (Eq, Ord, Show)++-- | 'ModifyDBInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mdbiAllocatedStorage' @::@ 'Maybe' 'Int'+--+-- * 'mdbiAllowMajorVersionUpgrade' @::@ 'Maybe' 'Bool'+--+-- * 'mdbiApplyImmediately' @::@ 'Maybe' 'Bool'+--+-- * 'mdbiAutoMinorVersionUpgrade' @::@ 'Maybe' 'Bool'+--+-- * 'mdbiBackupRetentionPeriod' @::@ 'Maybe' 'Int'+--+-- * 'mdbiDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'mdbiDBInstanceIdentifier' @::@ 'Text'+--+-- * 'mdbiDBParameterGroupName' @::@ 'Maybe' 'Text'+--+-- * 'mdbiDBSecurityGroups' @::@ ['Text']+--+-- * 'mdbiEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'mdbiIops' @::@ 'Maybe' 'Int'+--+-- * 'mdbiMasterUserPassword' @::@ 'Maybe' 'Text'+--+-- * 'mdbiMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'mdbiNewDBInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'mdbiOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'mdbiPreferredBackupWindow' @::@ 'Maybe' 'Text'+--+-- * 'mdbiPreferredMaintenanceWindow' @::@ 'Maybe' 'Text'+--+-- * 'mdbiStorageType' @::@ 'Maybe' 'Text'+--+-- * 'mdbiTdeCredentialArn' @::@ 'Maybe' 'Text'+--+-- * 'mdbiTdeCredentialPassword' @::@ 'Maybe' 'Text'+--+-- * 'mdbiVpcSecurityGroupIds' @::@ ['Text']+--+modifyDBInstance :: Text -- ^ 'mdbiDBInstanceIdentifier'+                 -> ModifyDBInstance+modifyDBInstance p1 = ModifyDBInstance+    { _mdbiDBInstanceIdentifier       = p1+    , _mdbiAllocatedStorage           = Nothing+    , _mdbiDBInstanceClass            = Nothing+    , _mdbiDBSecurityGroups           = mempty+    , _mdbiVpcSecurityGroupIds        = mempty+    , _mdbiApplyImmediately           = Nothing+    , _mdbiMasterUserPassword         = Nothing+    , _mdbiDBParameterGroupName       = Nothing+    , _mdbiBackupRetentionPeriod      = Nothing+    , _mdbiPreferredBackupWindow      = Nothing+    , _mdbiPreferredMaintenanceWindow = Nothing+    , _mdbiMultiAZ                    = Nothing+    , _mdbiEngineVersion              = Nothing+    , _mdbiAllowMajorVersionUpgrade   = Nothing+    , _mdbiAutoMinorVersionUpgrade    = Nothing+    , _mdbiIops                       = Nothing+    , _mdbiOptionGroupName            = Nothing+    , _mdbiNewDBInstanceIdentifier    = Nothing+    , _mdbiStorageType                = Nothing+    , _mdbiTdeCredentialArn           = Nothing+    , _mdbiTdeCredentialPassword      = Nothing+    }++-- | The new storage capacity of the RDS instance. Changing this setting does+-- not result in an outage and the change is applied during the next+-- maintenance window unless ApplyImmediately is set to true for this+-- request. MySQL Default: Uses existing setting Valid Values: 5-3072+-- Constraints: Value supplied must be at least 10% greater than the current+-- value. Values that are not at least 10% greater than the existing value+-- are rounded up so that they are 10% greater than the current value. Type:+-- Integer PostgreSQL Default: Uses existing setting Valid Values: 5-3072+-- Constraints: Value supplied must be at least 10% greater than the current+-- value. Values that are not at least 10% greater than the existing value+-- are rounded up so that they are 10% greater than the current value. Type:+-- Integer Oracle Default: Uses existing setting Valid Values: 10-3072+-- Constraints: Value supplied must be at least 10% greater than the current+-- value. Values that are not at least 10% greater than the existing value+-- are rounded up so that they are 10% greater than the current value. SQL+-- Server Cannot be modified. If you choose to migrate your DB instance from+-- using standard storage to using Provisioned IOPS, or from using+-- Provisioned IOPS to using standard storage, the process can take time.+-- The duration of the migration depends on several factors such as database+-- load, storage size, storage type (standard or Provisioned IOPS), amount+-- of IOPS provisioned (if any), and the number of prior scale storage+-- operations. Typical migration times are under 24 hours, but the process+-- can take up to several days in some cases. During the migration, the DB+-- instance will be available for use, but may experience performance+-- degradation. While the migration takes place, nightly backups for the+-- instance will be suspended. No other Amazon RDS operations can take place+-- for the instance, including modifying the instance, rebooting the+-- instance, deleting the instance, creating a read replica for the+-- instance, and creating a DB snapshot of the instance.+mdbiAllocatedStorage :: Lens' ModifyDBInstance (Maybe Int)+mdbiAllocatedStorage =+    lens _mdbiAllocatedStorage (\s a -> s { _mdbiAllocatedStorage = a })++-- | Indicates that major version upgrades are allowed. Changing this+-- parameter does not result in an outage and the change is asynchronously+-- applied as soon as possible. Constraints: This parameter must be set to+-- true when specifying a value for the EngineVersion parameter that is a+-- different major version than the DB instance's current version.+mdbiAllowMajorVersionUpgrade :: Lens' ModifyDBInstance (Maybe Bool)+mdbiAllowMajorVersionUpgrade =+    lens _mdbiAllowMajorVersionUpgrade+        (\s a -> s { _mdbiAllowMajorVersionUpgrade = a })++-- | Specifies whether the modifications in this request and any pending+-- modifications are asynchronously applied as soon as possible, regardless+-- of the PreferredMaintenanceWindow setting for the DB instance. If this+-- parameter is set to false, changes to the DB instance are applied during+-- the next maintenance window. Some parameter changes can cause an outage+-- and will be applied on the next call to RebootDBInstance, or the next+-- failure reboot. Review the table of parameters in Modifying a DB Instance+-- and Using the Apply Immediately Parameter to see the impact that setting+-- ApplyImmediately to true or false has for each modified parameter and to+-- determine when the changes will be applied. Default: false.+mdbiApplyImmediately :: Lens' ModifyDBInstance (Maybe Bool)+mdbiApplyImmediately =+    lens _mdbiApplyImmediately (\s a -> s { _mdbiApplyImmediately = a })++-- | Indicates that minor version upgrades will be applied automatically to+-- the DB instance during the maintenance window. Changing this parameter+-- does not result in an outage except in the following case and the change+-- is asynchronously applied as soon as possible. An outage will result if+-- this parameter is set to true during the maintenance window, and a newer+-- minor version is available, and RDS has enabled auto patching for that+-- engine version.+mdbiAutoMinorVersionUpgrade :: Lens' ModifyDBInstance (Maybe Bool)+mdbiAutoMinorVersionUpgrade =+    lens _mdbiAutoMinorVersionUpgrade+        (\s a -> s { _mdbiAutoMinorVersionUpgrade = a })++-- | The number of days to retain automated backups. Setting this parameter to+-- a positive number enables backups. Setting this parameter to 0 disables+-- automated backups. Changing this parameter can result in an outage if you+-- change from 0 to a non-zero value or from a non-zero value to 0. These+-- changes are applied during the next maintenance window unless the+-- ApplyImmediately parameter is set to true for this request. If you change+-- the parameter from one non-zero value to another non-zero value, the+-- change is asynchronously applied as soon as possible. Default: Uses+-- existing setting Constraints: Must be a value from 0 to 35 Can be+-- specified for a read replica only if the source is running MySQL 5.6+-- Cannot be set to 0 if the DB instance is a source to read replicas.+mdbiBackupRetentionPeriod :: Lens' ModifyDBInstance (Maybe Int)+mdbiBackupRetentionPeriod =+    lens _mdbiBackupRetentionPeriod+        (\s a -> s { _mdbiBackupRetentionPeriod = a })++-- | The new compute and memory capacity of the DB instance. To determine the+-- instance classes that are available for a particular DB engine, use the+-- DescribeOrderableDBInstanceOptions action. Passing a value for this+-- setting causes an outage during the change and is applied during the next+-- maintenance window, unless ApplyImmediately is specified as true for this+-- request. Default: Uses existing setting Valid Values: db.t1.micro |+-- db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |+-- db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge+-- | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge |+-- db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium.+mdbiDBInstanceClass :: Lens' ModifyDBInstance (Maybe Text)+mdbiDBInstanceClass =+    lens _mdbiDBInstanceClass (\s a -> s { _mdbiDBInstanceClass = a })++-- | The DB instance identifier. This value is stored as a lowercase string.+-- Constraints: Must be the identifier for an existing DB instance Must+-- contain from 1 to 63 alphanumeric characters or hyphens First character+-- must be a letter Cannot end with a hyphen or contain two consecutive+-- hyphens.+mdbiDBInstanceIdentifier :: Lens' ModifyDBInstance Text+mdbiDBInstanceIdentifier =+    lens _mdbiDBInstanceIdentifier+        (\s a -> s { _mdbiDBInstanceIdentifier = a })++-- | The name of the DB parameter group to apply to the DB instance. Changing+-- this setting does not result in an outage. The parameter group name+-- itself is changed immediately, but the actual parameter changes are not+-- applied until you reboot the instance without failover. The db instance+-- will NOT be rebooted automatically and the parameter changes will NOT be+-- applied during the next maintenance window. Default: Uses existing+-- setting Constraints: The DB parameter group must be in the same DB+-- parameter group family as this DB instance.+mdbiDBParameterGroupName :: Lens' ModifyDBInstance (Maybe Text)+mdbiDBParameterGroupName =+    lens _mdbiDBParameterGroupName+        (\s a -> s { _mdbiDBParameterGroupName = a })++-- | A list of DB security groups to authorize on this DB instance. Changing+-- this setting does not result in an outage and the change is+-- asynchronously applied as soon as possible. Constraints: Must be 1 to 255+-- alphanumeric characters First character must be a letter Cannot end with+-- a hyphen or contain two consecutive hyphens.+mdbiDBSecurityGroups :: Lens' ModifyDBInstance [Text]+mdbiDBSecurityGroups =+    lens _mdbiDBSecurityGroups (\s a -> s { _mdbiDBSecurityGroups = a })+        . _List++-- | The version number of the database engine to upgrade to. Changing this+-- parameter results in an outage and the change is applied during the next+-- maintenance window unless the ApplyImmediately parameter is set to true+-- for this request. For major version upgrades, if a non-default DB+-- parameter group is currently in use, a new DB parameter group in the DB+-- parameter group family for the new engine version must be specified. The+-- new DB parameter group can be the default for that DB parameter group+-- family. Example: 5.1.42.+mdbiEngineVersion :: Lens' ModifyDBInstance (Maybe Text)+mdbiEngineVersion =+    lens _mdbiEngineVersion (\s a -> s { _mdbiEngineVersion = a })++-- | The new Provisioned IOPS (I/O operations per second) value for the RDS+-- instance. Changing this setting does not result in an outage and the+-- change is applied during the next maintenance window unless the+-- ApplyImmediately parameter is set to true for this request. Default: Uses+-- existing setting Constraints: Value supplied must be at least 10% greater+-- than the current value. Values that are not at least 10% greater than the+-- existing value are rounded up so that they are 10% greater than the+-- current value. If you are migrating from Provisioned IOPS to standard+-- storage, set this value to 0. The DB instance will require a reboot for+-- the change in storage type to take effect. SQL Server Setting the IOPS+-- value for the SQL Server database engine is not supported. Type: Integer+-- If you choose to migrate your DB instance from using standard storage to+-- using Provisioned IOPS, or from using Provisioned IOPS to using standard+-- storage, the process can take time. The duration of the migration depends+-- on several factors such as database load, storage size, storage type+-- (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and+-- the number of prior scale storage operations. Typical migration times are+-- under 24 hours, but the process can take up to several days in some+-- cases. During the migration, the DB instance will be available for use,+-- but may experience performance degradation. While the migration takes+-- place, nightly backups for the instance will be suspended. No other+-- Amazon RDS operations can take place for the instance, including+-- modifying the instance, rebooting the instance, deleting the instance,+-- creating a read replica for the instance, and creating a DB snapshot of+-- the instance.+mdbiIops :: Lens' ModifyDBInstance (Maybe Int)+mdbiIops = lens _mdbiIops (\s a -> s { _mdbiIops = a })++-- | The new password for the DB instance master user. Can be any printable+-- ASCII character except "/", """, or "@". Changing this parameter does not+-- result in an outage and the change is asynchronously applied as soon as+-- possible. Between the time of the request and the completion of the+-- request, the MasterUserPassword element exists in the+-- PendingModifiedValues element of the operation response. Default: Uses+-- existing setting Constraints: Must be 8 to 41 alphanumeric characters+-- (MySQL), 8 to 30 alphanumeric characters (Oracle), or 8 to 128+-- alphanumeric characters (SQL Server).+mdbiMasterUserPassword :: Lens' ModifyDBInstance (Maybe Text)+mdbiMasterUserPassword =+    lens _mdbiMasterUserPassword (\s a -> s { _mdbiMasterUserPassword = a })++-- | Specifies if the DB instance is a Multi-AZ deployment. Changing this+-- parameter does not result in an outage and the change is applied during+-- the next maintenance window unless the ApplyImmediately parameter is set+-- to true for this request. Constraints: Cannot be specified if the DB+-- instance is a read replica.+mdbiMultiAZ :: Lens' ModifyDBInstance (Maybe Bool)+mdbiMultiAZ = lens _mdbiMultiAZ (\s a -> s { _mdbiMultiAZ = a })++-- | The new DB instance identifier for the DB instance when renaming a DB+-- instance. When you change the DB instance identifier, an instance reboot+-- will occur immediately if you set Apply Immediately to true, or will+-- occur during the next maintenance window if Apply Immediately to false.+-- This value is stored as a lowercase string. Constraints: Must contain+-- from 1 to 63 alphanumeric characters or hyphens First character must be a+-- letter Cannot end with a hyphen or contain two consecutive hyphens.+mdbiNewDBInstanceIdentifier :: Lens' ModifyDBInstance (Maybe Text)+mdbiNewDBInstanceIdentifier =+    lens _mdbiNewDBInstanceIdentifier+        (\s a -> s { _mdbiNewDBInstanceIdentifier = a })++-- | Indicates that the DB instance should be associated with the specified+-- option group. Changing this parameter does not result in an outage except+-- in the following case and the change is applied during the next+-- maintenance window unless the ApplyImmediately parameter is set to true+-- for this request. If the parameter change results in an option group that+-- enables OEM, this change can cause a brief (sub-second) period during+-- which new connections are rejected but existing connections are not+-- interrupted. Permanent options, such as the TDE option for Oracle+-- Advanced Security TDE, cannot be removed from an option group, and that+-- option group cannot be removed from a DB instance once it is associated+-- with a DB instance.+mdbiOptionGroupName :: Lens' ModifyDBInstance (Maybe Text)+mdbiOptionGroupName =+    lens _mdbiOptionGroupName (\s a -> s { _mdbiOptionGroupName = a })++-- | The daily time range during which automated backups are created if+-- automated backups are enabled, as determined by the+-- BackupRetentionPeriod. Changing this parameter does not result in an+-- outage and the change is asynchronously applied as soon as possible.+-- Constraints: Must be in the format hh24:mi-hh24:mi Times should be+-- Universal Time Coordinated (UTC) Must not conflict with the preferred+-- maintenance window Must be at least 30 minutes.+mdbiPreferredBackupWindow :: Lens' ModifyDBInstance (Maybe Text)+mdbiPreferredBackupWindow =+    lens _mdbiPreferredBackupWindow+        (\s a -> s { _mdbiPreferredBackupWindow = a })++-- | The weekly time range (in UTC) during which system maintenance can occur,+-- which may result in an outage. Changing this parameter does not result in+-- an outage, except in the following situation, and the change is+-- asynchronously applied as soon as possible. If there are pending actions+-- that cause a reboot, and the maintenance window is changed to include the+-- current time, then changing this parameter will cause a reboot of the DB+-- instance. If moving this window to the current time, there must be at+-- least 30 minutes between the current time and end of the window to ensure+-- pending changes are applied. Default: Uses existing setting Format:+-- ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat |+-- Sun Constraints: Must be at least 30 minutes.+mdbiPreferredMaintenanceWindow :: Lens' ModifyDBInstance (Maybe Text)+mdbiPreferredMaintenanceWindow =+    lens _mdbiPreferredMaintenanceWindow+        (\s a -> s { _mdbiPreferredMaintenanceWindow = a })++-- | Specifies storage type to be associated with the DB Instance. Valid+-- values: standard | gp2 | io1 If you specify io1, you must also include a+-- value for the Iops parameter.+mdbiStorageType :: Lens' ModifyDBInstance (Maybe Text)+mdbiStorageType = lens _mdbiStorageType (\s a -> s { _mdbiStorageType = a })++-- | The ARN from the Key Store with which to associate the instance for TDE+-- encryption.+mdbiTdeCredentialArn :: Lens' ModifyDBInstance (Maybe Text)+mdbiTdeCredentialArn =+    lens _mdbiTdeCredentialArn (\s a -> s { _mdbiTdeCredentialArn = a })++-- | The password for the given ARN from the Key Store in order to access the+-- device.+mdbiTdeCredentialPassword :: Lens' ModifyDBInstance (Maybe Text)+mdbiTdeCredentialPassword =+    lens _mdbiTdeCredentialPassword+        (\s a -> s { _mdbiTdeCredentialPassword = a })++-- | A list of EC2 VPC security groups to authorize on this DB instance. This+-- change is asynchronously applied as soon as possible. Constraints: Must+-- be 1 to 255 alphanumeric characters First character must be a letter+-- Cannot end with a hyphen or contain two consecutive hyphens.+mdbiVpcSecurityGroupIds :: Lens' ModifyDBInstance [Text]+mdbiVpcSecurityGroupIds =+    lens _mdbiVpcSecurityGroupIds (\s a -> s { _mdbiVpcSecurityGroupIds = a })+        . _List++newtype ModifyDBInstanceResponse = ModifyDBInstanceResponse+    { _mdbirDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'ModifyDBInstanceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mdbirDBInstance' @::@ 'Maybe' 'DBInstance'+--+modifyDBInstanceResponse :: ModifyDBInstanceResponse+modifyDBInstanceResponse = ModifyDBInstanceResponse+    { _mdbirDBInstance = Nothing+    }++mdbirDBInstance :: Lens' ModifyDBInstanceResponse (Maybe DBInstance)+mdbirDBInstance = lens _mdbirDBInstance (\s a -> s { _mdbirDBInstance = a })++instance ToPath ModifyDBInstance where+    toPath = const "/"++instance ToQuery ModifyDBInstance where+    toQuery ModifyDBInstance{..} = mconcat+        [ "AllocatedStorage"           =? _mdbiAllocatedStorage+        , "AllowMajorVersionUpgrade"   =? _mdbiAllowMajorVersionUpgrade+        , "ApplyImmediately"           =? _mdbiApplyImmediately+        , "AutoMinorVersionUpgrade"    =? _mdbiAutoMinorVersionUpgrade+        , "BackupRetentionPeriod"      =? _mdbiBackupRetentionPeriod+        , "DBInstanceClass"            =? _mdbiDBInstanceClass+        , "DBInstanceIdentifier"       =? _mdbiDBInstanceIdentifier+        , "DBParameterGroupName"       =? _mdbiDBParameterGroupName+        , "DBSecurityGroups"           =? _mdbiDBSecurityGroups+        , "EngineVersion"              =? _mdbiEngineVersion+        , "Iops"                       =? _mdbiIops+        , "MasterUserPassword"         =? _mdbiMasterUserPassword+        , "MultiAZ"                    =? _mdbiMultiAZ+        , "NewDBInstanceIdentifier"    =? _mdbiNewDBInstanceIdentifier+        , "OptionGroupName"            =? _mdbiOptionGroupName+        , "PreferredBackupWindow"      =? _mdbiPreferredBackupWindow+        , "PreferredMaintenanceWindow" =? _mdbiPreferredMaintenanceWindow+        , "StorageType"                =? _mdbiStorageType+        , "TdeCredentialArn"           =? _mdbiTdeCredentialArn+        , "TdeCredentialPassword"      =? _mdbiTdeCredentialPassword+        , "VpcSecurityGroupIds"        =? _mdbiVpcSecurityGroupIds+        ]++instance ToHeaders ModifyDBInstance++instance AWSRequest ModifyDBInstance where+    type Sv ModifyDBInstance = RDS+    type Rs ModifyDBInstance = ModifyDBInstanceResponse++    request  = post "ModifyDBInstance"+    response = xmlResponse++instance FromXML ModifyDBInstanceResponse where+    parseXML = withElement "ModifyDBInstanceResult" $ \x -> ModifyDBInstanceResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/ModifyDBParameterGroup.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.RDS.ModifyDBParameterGroup+-- 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)++-- | Modifies the parameters of a DB parameter group. To modify more than one+-- parameter, submit a list of the following: ParameterName, ParameterValue,+-- and ApplyMethod. A maximum of 20 parameters can be modified in a single+-- request. After you modify a DB parameter group, you should wait at least 5+-- minutes before creating your first DB instance that uses that DB parameter+-- group as the default parameter group. This allows Amazon RDS to fully+-- complete the modify action before the parameter group is used as the+-- default for a new DB instance. This is especially important for parameters+-- that are critical when creating the default database for a DB instance,+-- such as the character set for the default database defined by the+-- character_set_database parameter. You can use the Parameter Groups option+-- of the Amazon RDS console or the DescribeDBParameters command to verify+-- that your DB parameter group has been created or modified.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html>+module Network.AWS.RDS.ModifyDBParameterGroup+    (+    -- * Request+      ModifyDBParameterGroup+    -- ** Request constructor+    , modifyDBParameterGroup+    -- ** Request lenses+    , mdbpgDBParameterGroupName+    , mdbpgParameters++    -- * Response+    , ModifyDBParameterGroupResponse+    -- ** Response constructor+    , modifyDBParameterGroupResponse+    -- ** Response lenses+    , mdbpgrDBParameterGroupName+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data ModifyDBParameterGroup = ModifyDBParameterGroup+    { _mdbpgDBParameterGroupName :: Text+    , _mdbpgParameters           :: List "Parameter" Parameter+    } deriving (Eq, Show)++-- | 'ModifyDBParameterGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mdbpgDBParameterGroupName' @::@ 'Text'+--+-- * 'mdbpgParameters' @::@ ['Parameter']+--+modifyDBParameterGroup :: Text -- ^ 'mdbpgDBParameterGroupName'+                       -> ModifyDBParameterGroup+modifyDBParameterGroup p1 = ModifyDBParameterGroup+    { _mdbpgDBParameterGroupName = p1+    , _mdbpgParameters           = mempty+    }++-- | The name of the DB parameter group. Constraints: Must be the name of an+-- existing DB parameter group Must be 1 to 255 alphanumeric characters+-- First character must be a letter Cannot end with a hyphen or contain two+-- consecutive hyphens.+mdbpgDBParameterGroupName :: Lens' ModifyDBParameterGroup Text+mdbpgDBParameterGroupName =+    lens _mdbpgDBParameterGroupName+        (\s a -> s { _mdbpgDBParameterGroupName = a })++-- | An array of parameter names, values, and the apply method for the+-- parameter update. At least one parameter name, value, and apply method+-- must be supplied; subsequent arguments are optional. A maximum of 20+-- parameters may be modified in a single request. Valid Values (for the+-- application method): immediate | pending-reboot.+mdbpgParameters :: Lens' ModifyDBParameterGroup [Parameter]+mdbpgParameters = lens _mdbpgParameters (\s a -> s { _mdbpgParameters = a }) . _List++newtype ModifyDBParameterGroupResponse = ModifyDBParameterGroupResponse+    { _mdbpgrDBParameterGroupName :: Maybe Text+    } deriving (Eq, Ord, Show, Monoid)++-- | 'ModifyDBParameterGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mdbpgrDBParameterGroupName' @::@ 'Maybe' 'Text'+--+modifyDBParameterGroupResponse :: ModifyDBParameterGroupResponse+modifyDBParameterGroupResponse = ModifyDBParameterGroupResponse+    { _mdbpgrDBParameterGroupName = Nothing+    }++-- | The name of the DB parameter group.+mdbpgrDBParameterGroupName :: Lens' ModifyDBParameterGroupResponse (Maybe Text)+mdbpgrDBParameterGroupName =+    lens _mdbpgrDBParameterGroupName+        (\s a -> s { _mdbpgrDBParameterGroupName = a })++instance ToPath ModifyDBParameterGroup where+    toPath = const "/"++instance ToQuery ModifyDBParameterGroup where+    toQuery ModifyDBParameterGroup{..} = mconcat+        [ "DBParameterGroupName" =? _mdbpgDBParameterGroupName+        , "Parameters"           =? _mdbpgParameters+        ]++instance ToHeaders ModifyDBParameterGroup++instance AWSRequest ModifyDBParameterGroup where+    type Sv ModifyDBParameterGroup = RDS+    type Rs ModifyDBParameterGroup = ModifyDBParameterGroupResponse++    request  = post "ModifyDBParameterGroup"+    response = xmlResponse++instance FromXML ModifyDBParameterGroupResponse where+    parseXML = withElement "ModifyDBParameterGroupResult" $ \x -> ModifyDBParameterGroupResponse+        <$> x .@? "DBParameterGroupName"
+ gen/Network/AWS/RDS/ModifyDBSubnetGroup.hs view
@@ -0,0 +1,132 @@+{-# 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.RDS.ModifyDBSubnetGroup+-- 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)++-- | Modifies an existing DB subnet group. DB subnet groups must contain at+-- least one subnet in at least two AZs in the region.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBSubnetGroup.html>+module Network.AWS.RDS.ModifyDBSubnetGroup+    (+    -- * Request+      ModifyDBSubnetGroup+    -- ** Request constructor+    , modifyDBSubnetGroup+    -- ** Request lenses+    , mdbsgDBSubnetGroupDescription+    , mdbsgDBSubnetGroupName+    , mdbsgSubnetIds++    -- * Response+    , ModifyDBSubnetGroupResponse+    -- ** Response constructor+    , modifyDBSubnetGroupResponse+    -- ** Response lenses+    , mdbsgrDBSubnetGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data ModifyDBSubnetGroup = ModifyDBSubnetGroup+    { _mdbsgDBSubnetGroupDescription :: Maybe Text+    , _mdbsgDBSubnetGroupName        :: Text+    , _mdbsgSubnetIds                :: List "SubnetIdentifier" Text+    } deriving (Eq, Ord, Show)++-- | 'ModifyDBSubnetGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mdbsgDBSubnetGroupDescription' @::@ 'Maybe' 'Text'+--+-- * 'mdbsgDBSubnetGroupName' @::@ 'Text'+--+-- * 'mdbsgSubnetIds' @::@ ['Text']+--+modifyDBSubnetGroup :: Text -- ^ 'mdbsgDBSubnetGroupName'+                    -> ModifyDBSubnetGroup+modifyDBSubnetGroup p1 = ModifyDBSubnetGroup+    { _mdbsgDBSubnetGroupName        = p1+    , _mdbsgDBSubnetGroupDescription = Nothing+    , _mdbsgSubnetIds                = mempty+    }++-- | The description for the DB subnet group.+mdbsgDBSubnetGroupDescription :: Lens' ModifyDBSubnetGroup (Maybe Text)+mdbsgDBSubnetGroupDescription =+    lens _mdbsgDBSubnetGroupDescription+        (\s a -> s { _mdbsgDBSubnetGroupDescription = a })++-- | The name for the DB subnet group. This value is stored as a lowercase+-- string. Constraints: Must contain no more than 255 alphanumeric+-- characters or hyphens. Must not be "Default". Example: mySubnetgroup.+mdbsgDBSubnetGroupName :: Lens' ModifyDBSubnetGroup Text+mdbsgDBSubnetGroupName =+    lens _mdbsgDBSubnetGroupName (\s a -> s { _mdbsgDBSubnetGroupName = a })++-- | The EC2 subnet IDs for the DB subnet group.+mdbsgSubnetIds :: Lens' ModifyDBSubnetGroup [Text]+mdbsgSubnetIds = lens _mdbsgSubnetIds (\s a -> s { _mdbsgSubnetIds = a }) . _List++newtype ModifyDBSubnetGroupResponse = ModifyDBSubnetGroupResponse+    { _mdbsgrDBSubnetGroup :: Maybe DBSubnetGroup+    } deriving (Eq, Show)++-- | 'ModifyDBSubnetGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mdbsgrDBSubnetGroup' @::@ 'Maybe' 'DBSubnetGroup'+--+modifyDBSubnetGroupResponse :: ModifyDBSubnetGroupResponse+modifyDBSubnetGroupResponse = ModifyDBSubnetGroupResponse+    { _mdbsgrDBSubnetGroup = Nothing+    }++mdbsgrDBSubnetGroup :: Lens' ModifyDBSubnetGroupResponse (Maybe DBSubnetGroup)+mdbsgrDBSubnetGroup =+    lens _mdbsgrDBSubnetGroup (\s a -> s { _mdbsgrDBSubnetGroup = a })++instance ToPath ModifyDBSubnetGroup where+    toPath = const "/"++instance ToQuery ModifyDBSubnetGroup where+    toQuery ModifyDBSubnetGroup{..} = mconcat+        [ "DBSubnetGroupDescription" =? _mdbsgDBSubnetGroupDescription+        , "DBSubnetGroupName"        =? _mdbsgDBSubnetGroupName+        , "SubnetIds"                =? _mdbsgSubnetIds+        ]++instance ToHeaders ModifyDBSubnetGroup++instance AWSRequest ModifyDBSubnetGroup where+    type Sv ModifyDBSubnetGroup = RDS+    type Rs ModifyDBSubnetGroup = ModifyDBSubnetGroupResponse++    request  = post "ModifyDBSubnetGroup"+    response = xmlResponse++instance FromXML ModifyDBSubnetGroupResponse where+    parseXML = withElement "ModifyDBSubnetGroupResult" $ \x -> ModifyDBSubnetGroupResponse+        <$> x .@? "DBSubnetGroup"
+ gen/Network/AWS/RDS/ModifyEventSubscription.hs view
@@ -0,0 +1,163 @@+{-# 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.RDS.ModifyEventSubscription+-- 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)++-- | Modifies an existing RDS event notification subscription. Note that you+-- cannot modify the source identifiers using this call; to change source+-- identifiers for a subscription, use the AddSourceIdentifierToSubscription+-- and RemoveSourceIdentifierFromSubscription calls. You can see a list of the+-- event categories for a given SourceType in the Events topic in the Amazon+-- RDS User Guide or by using the DescribeEventCategories action.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyEventSubscription.html>+module Network.AWS.RDS.ModifyEventSubscription+    (+    -- * Request+      ModifyEventSubscription+    -- ** Request constructor+    , modifyEventSubscription+    -- ** Request lenses+    , mesEnabled+    , mesEventCategories+    , mesSnsTopicArn+    , mesSourceType+    , mesSubscriptionName++    -- * Response+    , ModifyEventSubscriptionResponse+    -- ** Response constructor+    , modifyEventSubscriptionResponse+    -- ** Response lenses+    , mesrEventSubscription+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data ModifyEventSubscription = ModifyEventSubscription+    { _mesEnabled          :: Maybe Bool+    , _mesEventCategories  :: List "EventCategory" Text+    , _mesSnsTopicArn      :: Maybe Text+    , _mesSourceType       :: Maybe Text+    , _mesSubscriptionName :: Text+    } deriving (Eq, Ord, Show)++-- | 'ModifyEventSubscription' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mesEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'mesEventCategories' @::@ ['Text']+--+-- * 'mesSnsTopicArn' @::@ 'Maybe' 'Text'+--+-- * 'mesSourceType' @::@ 'Maybe' 'Text'+--+-- * 'mesSubscriptionName' @::@ 'Text'+--+modifyEventSubscription :: Text -- ^ 'mesSubscriptionName'+                        -> ModifyEventSubscription+modifyEventSubscription p1 = ModifyEventSubscription+    { _mesSubscriptionName = p1+    , _mesSnsTopicArn      = Nothing+    , _mesSourceType       = Nothing+    , _mesEventCategories  = mempty+    , _mesEnabled          = Nothing+    }++-- | A Boolean value; set to true to activate the subscription.+mesEnabled :: Lens' ModifyEventSubscription (Maybe Bool)+mesEnabled = lens _mesEnabled (\s a -> s { _mesEnabled = a })++-- | A list of event categories for a SourceType that you want to subscribe+-- to. You can see a list of the categories for a given SourceType in the+-- Events topic in the Amazon RDS User Guide or by using the+-- DescribeEventCategories action.+mesEventCategories :: Lens' ModifyEventSubscription [Text]+mesEventCategories =+    lens _mesEventCategories (\s a -> s { _mesEventCategories = a })+        . _List++-- | The Amazon Resource Name (ARN) of the SNS topic created for event+-- notification. The ARN is created by Amazon SNS when you create a topic+-- and subscribe to it.+mesSnsTopicArn :: Lens' ModifyEventSubscription (Maybe Text)+mesSnsTopicArn = lens _mesSnsTopicArn (\s a -> s { _mesSnsTopicArn = a })++-- | The type of source that will be generating the events. For example, if+-- you want to be notified of events generated by a DB instance, you would+-- set this parameter to db-instance. if this value is not specified, all+-- events are returned. Valid values: db-instance | db-parameter-group |+-- db-security-group | db-snapshot.+mesSourceType :: Lens' ModifyEventSubscription (Maybe Text)+mesSourceType = lens _mesSourceType (\s a -> s { _mesSourceType = a })++-- | The name of the RDS event notification subscription.+mesSubscriptionName :: Lens' ModifyEventSubscription Text+mesSubscriptionName =+    lens _mesSubscriptionName (\s a -> s { _mesSubscriptionName = a })++newtype ModifyEventSubscriptionResponse = ModifyEventSubscriptionResponse+    { _mesrEventSubscription :: Maybe EventSubscription+    } deriving (Eq, Show)++-- | 'ModifyEventSubscriptionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mesrEventSubscription' @::@ 'Maybe' 'EventSubscription'+--+modifyEventSubscriptionResponse :: ModifyEventSubscriptionResponse+modifyEventSubscriptionResponse = ModifyEventSubscriptionResponse+    { _mesrEventSubscription = Nothing+    }++mesrEventSubscription :: Lens' ModifyEventSubscriptionResponse (Maybe EventSubscription)+mesrEventSubscription =+    lens _mesrEventSubscription (\s a -> s { _mesrEventSubscription = a })++instance ToPath ModifyEventSubscription where+    toPath = const "/"++instance ToQuery ModifyEventSubscription where+    toQuery ModifyEventSubscription{..} = mconcat+        [ "Enabled"          =? _mesEnabled+        , "EventCategories"  =? _mesEventCategories+        , "SnsTopicArn"      =? _mesSnsTopicArn+        , "SourceType"       =? _mesSourceType+        , "SubscriptionName" =? _mesSubscriptionName+        ]++instance ToHeaders ModifyEventSubscription++instance AWSRequest ModifyEventSubscription where+    type Sv ModifyEventSubscription = RDS+    type Rs ModifyEventSubscription = ModifyEventSubscriptionResponse++    request  = post "ModifyEventSubscription"+    response = xmlResponse++instance FromXML ModifyEventSubscriptionResponse where+    parseXML = withElement "ModifyEventSubscriptionResult" $ \x -> ModifyEventSubscriptionResponse+        <$> x .@? "EventSubscription"
+ gen/Network/AWS/RDS/ModifyOptionGroup.hs view
@@ -0,0 +1,148 @@+{-# 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.RDS.ModifyOptionGroup+-- 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)++-- | Modifies an existing option group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html>+module Network.AWS.RDS.ModifyOptionGroup+    (+    -- * Request+      ModifyOptionGroup+    -- ** Request constructor+    , modifyOptionGroup+    -- ** Request lenses+    , mogApplyImmediately+    , mogOptionGroupName+    , mogOptionsToInclude+    , mogOptionsToRemove++    -- * Response+    , ModifyOptionGroupResponse+    -- ** Response constructor+    , modifyOptionGroupResponse+    -- ** Response lenses+    , mogrOptionGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data ModifyOptionGroup = ModifyOptionGroup+    { _mogApplyImmediately :: Maybe Bool+    , _mogOptionGroupName  :: Text+    , _mogOptionsToInclude :: List "OptionConfiguration" OptionConfiguration+    , _mogOptionsToRemove  :: List "OptionsToRemove" Text+    } deriving (Eq, Show)++-- | 'ModifyOptionGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mogApplyImmediately' @::@ 'Maybe' 'Bool'+--+-- * 'mogOptionGroupName' @::@ 'Text'+--+-- * 'mogOptionsToInclude' @::@ ['OptionConfiguration']+--+-- * 'mogOptionsToRemove' @::@ ['Text']+--+modifyOptionGroup :: Text -- ^ 'mogOptionGroupName'+                  -> ModifyOptionGroup+modifyOptionGroup p1 = ModifyOptionGroup+    { _mogOptionGroupName  = p1+    , _mogOptionsToInclude = mempty+    , _mogOptionsToRemove  = mempty+    , _mogApplyImmediately = Nothing+    }++-- | Indicates whether the changes should be applied immediately, or during+-- the next maintenance window for each instance associated with the option+-- group.+mogApplyImmediately :: Lens' ModifyOptionGroup (Maybe Bool)+mogApplyImmediately =+    lens _mogApplyImmediately (\s a -> s { _mogApplyImmediately = a })++-- | The name of the option group to be modified. Permanent options, such as+-- the TDE option for Oracle Advanced Security TDE, cannot be removed from+-- an option group, and that option group cannot be removed from a DB+-- instance once it is associated with a DB instance.+mogOptionGroupName :: Lens' ModifyOptionGroup Text+mogOptionGroupName =+    lens _mogOptionGroupName (\s a -> s { _mogOptionGroupName = a })++-- | Options in this list are added to the option group or, if already+-- present, the specified configuration is used to update the existing+-- configuration.+mogOptionsToInclude :: Lens' ModifyOptionGroup [OptionConfiguration]+mogOptionsToInclude =+    lens _mogOptionsToInclude (\s a -> s { _mogOptionsToInclude = a })+        . _List++-- | Options in this list are removed from the option group.+mogOptionsToRemove :: Lens' ModifyOptionGroup [Text]+mogOptionsToRemove =+    lens _mogOptionsToRemove (\s a -> s { _mogOptionsToRemove = a })+        . _List++newtype ModifyOptionGroupResponse = ModifyOptionGroupResponse+    { _mogrOptionGroup :: Maybe OptionGroup+    } deriving (Eq, Show)++-- | 'ModifyOptionGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'mogrOptionGroup' @::@ 'Maybe' 'OptionGroup'+--+modifyOptionGroupResponse :: ModifyOptionGroupResponse+modifyOptionGroupResponse = ModifyOptionGroupResponse+    { _mogrOptionGroup = Nothing+    }++mogrOptionGroup :: Lens' ModifyOptionGroupResponse (Maybe OptionGroup)+mogrOptionGroup = lens _mogrOptionGroup (\s a -> s { _mogrOptionGroup = a })++instance ToPath ModifyOptionGroup where+    toPath = const "/"++instance ToQuery ModifyOptionGroup where+    toQuery ModifyOptionGroup{..} = mconcat+        [ "ApplyImmediately" =? _mogApplyImmediately+        , "OptionGroupName"  =? _mogOptionGroupName+        , "OptionsToInclude" =? _mogOptionsToInclude+        , "OptionsToRemove"  =? _mogOptionsToRemove+        ]++instance ToHeaders ModifyOptionGroup++instance AWSRequest ModifyOptionGroup where+    type Sv ModifyOptionGroup = RDS+    type Rs ModifyOptionGroup = ModifyOptionGroupResponse++    request  = post "ModifyOptionGroup"+    response = xmlResponse++instance FromXML ModifyOptionGroupResponse where+    parseXML = withElement "ModifyOptionGroupResult" $ \x -> ModifyOptionGroupResponse+        <$> x .@? "OptionGroup"
+ gen/Network/AWS/RDS/PromoteReadReplica.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.RDS.PromoteReadReplica+-- 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)++-- | Promotes a read replica DB instance to a standalone DB instance.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplica.html>+module Network.AWS.RDS.PromoteReadReplica+    (+    -- * Request+      PromoteReadReplica+    -- ** Request constructor+    , promoteReadReplica+    -- ** Request lenses+    , prrBackupRetentionPeriod+    , prrDBInstanceIdentifier+    , prrPreferredBackupWindow++    -- * Response+    , PromoteReadReplicaResponse+    -- ** Response constructor+    , promoteReadReplicaResponse+    -- ** Response lenses+    , prrrDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data PromoteReadReplica = PromoteReadReplica+    { _prrBackupRetentionPeriod :: Maybe Int+    , _prrDBInstanceIdentifier  :: Text+    , _prrPreferredBackupWindow :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'PromoteReadReplica' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'prrBackupRetentionPeriod' @::@ 'Maybe' 'Int'+--+-- * 'prrDBInstanceIdentifier' @::@ 'Text'+--+-- * 'prrPreferredBackupWindow' @::@ 'Maybe' 'Text'+--+promoteReadReplica :: Text -- ^ 'prrDBInstanceIdentifier'+                   -> PromoteReadReplica+promoteReadReplica p1 = PromoteReadReplica+    { _prrDBInstanceIdentifier  = p1+    , _prrBackupRetentionPeriod = Nothing+    , _prrPreferredBackupWindow = Nothing+    }++-- | The number of days to retain automated backups. Setting this parameter to+-- a positive number enables backups. Setting this parameter to 0 disables+-- automated backups. Default: 1 Constraints: Must be a value from 0 to 8.+prrBackupRetentionPeriod :: Lens' PromoteReadReplica (Maybe Int)+prrBackupRetentionPeriod =+    lens _prrBackupRetentionPeriod+        (\s a -> s { _prrBackupRetentionPeriod = a })++-- | The DB instance identifier. This value is stored as a lowercase string.+-- Constraints: Must be the identifier for an existing read replica DB+-- instance Must contain from 1 to 63 alphanumeric characters or hyphens+-- First character must be a letter Cannot end with a hyphen or contain two+-- consecutive hyphens Example: mydbinstance.+prrDBInstanceIdentifier :: Lens' PromoteReadReplica Text+prrDBInstanceIdentifier =+    lens _prrDBInstanceIdentifier (\s a -> s { _prrDBInstanceIdentifier = a })++-- | The daily time range during which automated backups are created if+-- automated backups are enabled, using the BackupRetentionPeriod parameter.+-- Default: A 30-minute window selected at random from an 8-hour block of+-- time per region. See the Amazon RDS User Guide for the time blocks for+-- each region from which the default backup windows are assigned.+-- Constraints: Must be in the format hh24:mi-hh24:mi. Times should be+-- Universal Time Coordinated (UTC). Must not conflict with the preferred+-- maintenance window. Must be at least 30 minutes.+prrPreferredBackupWindow :: Lens' PromoteReadReplica (Maybe Text)+prrPreferredBackupWindow =+    lens _prrPreferredBackupWindow+        (\s a -> s { _prrPreferredBackupWindow = a })++newtype PromoteReadReplicaResponse = PromoteReadReplicaResponse+    { _prrrDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'PromoteReadReplicaResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'prrrDBInstance' @::@ 'Maybe' 'DBInstance'+--+promoteReadReplicaResponse :: PromoteReadReplicaResponse+promoteReadReplicaResponse = PromoteReadReplicaResponse+    { _prrrDBInstance = Nothing+    }++prrrDBInstance :: Lens' PromoteReadReplicaResponse (Maybe DBInstance)+prrrDBInstance = lens _prrrDBInstance (\s a -> s { _prrrDBInstance = a })++instance ToPath PromoteReadReplica where+    toPath = const "/"++instance ToQuery PromoteReadReplica where+    toQuery PromoteReadReplica{..} = mconcat+        [ "BackupRetentionPeriod" =? _prrBackupRetentionPeriod+        , "DBInstanceIdentifier"  =? _prrDBInstanceIdentifier+        , "PreferredBackupWindow" =? _prrPreferredBackupWindow+        ]++instance ToHeaders PromoteReadReplica++instance AWSRequest PromoteReadReplica where+    type Sv PromoteReadReplica = RDS+    type Rs PromoteReadReplica = PromoteReadReplicaResponse++    request  = post "PromoteReadReplica"+    response = xmlResponse++instance FromXML PromoteReadReplicaResponse where+    parseXML = withElement "PromoteReadReplicaResult" $ \x -> PromoteReadReplicaResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/PurchaseReservedDBInstancesOffering.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.RDS.PurchaseReservedDBInstancesOffering+-- 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)++-- | Purchases a reserved DB instance offering.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PurchaseReservedDBInstancesOffering.html>+module Network.AWS.RDS.PurchaseReservedDBInstancesOffering+    (+    -- * Request+      PurchaseReservedDBInstancesOffering+    -- ** Request constructor+    , purchaseReservedDBInstancesOffering+    -- ** Request lenses+    , prdbioDBInstanceCount+    , prdbioReservedDBInstanceId+    , prdbioReservedDBInstancesOfferingId+    , prdbioTags++    -- * Response+    , PurchaseReservedDBInstancesOfferingResponse+    -- ** Response constructor+    , purchaseReservedDBInstancesOfferingResponse+    -- ** Response lenses+    , prdbiorReservedDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data PurchaseReservedDBInstancesOffering = PurchaseReservedDBInstancesOffering+    { _prdbioDBInstanceCount               :: Maybe Int+    , _prdbioReservedDBInstanceId          :: Maybe Text+    , _prdbioReservedDBInstancesOfferingId :: Text+    , _prdbioTags                          :: List "Tag" Tag+    } deriving (Eq, Show)++-- | 'PurchaseReservedDBInstancesOffering' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'prdbioDBInstanceCount' @::@ 'Maybe' 'Int'+--+-- * 'prdbioReservedDBInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'prdbioReservedDBInstancesOfferingId' @::@ 'Text'+--+-- * 'prdbioTags' @::@ ['Tag']+--+purchaseReservedDBInstancesOffering :: Text -- ^ 'prdbioReservedDBInstancesOfferingId'+                                    -> PurchaseReservedDBInstancesOffering+purchaseReservedDBInstancesOffering p1 = PurchaseReservedDBInstancesOffering+    { _prdbioReservedDBInstancesOfferingId = p1+    , _prdbioReservedDBInstanceId          = Nothing+    , _prdbioDBInstanceCount               = Nothing+    , _prdbioTags                          = mempty+    }++-- | The number of instances to reserve. Default: 1.+prdbioDBInstanceCount :: Lens' PurchaseReservedDBInstancesOffering (Maybe Int)+prdbioDBInstanceCount =+    lens _prdbioDBInstanceCount (\s a -> s { _prdbioDBInstanceCount = a })++-- | Customer-specified identifier to track this reservation. Example:+-- myreservationID.+prdbioReservedDBInstanceId :: Lens' PurchaseReservedDBInstancesOffering (Maybe Text)+prdbioReservedDBInstanceId =+    lens _prdbioReservedDBInstanceId+        (\s a -> s { _prdbioReservedDBInstanceId = a })++-- | The ID of the Reserved DB instance offering to purchase. Example:+-- 438012d3-4052-4cc7-b2e3-8d3372e0e706.+prdbioReservedDBInstancesOfferingId :: Lens' PurchaseReservedDBInstancesOffering Text+prdbioReservedDBInstancesOfferingId =+    lens _prdbioReservedDBInstancesOfferingId+        (\s a -> s { _prdbioReservedDBInstancesOfferingId = a })++prdbioTags :: Lens' PurchaseReservedDBInstancesOffering [Tag]+prdbioTags = lens _prdbioTags (\s a -> s { _prdbioTags = a }) . _List++newtype PurchaseReservedDBInstancesOfferingResponse = PurchaseReservedDBInstancesOfferingResponse+    { _prdbiorReservedDBInstance :: Maybe ReservedDBInstance+    } deriving (Eq, Show)++-- | 'PurchaseReservedDBInstancesOfferingResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'prdbiorReservedDBInstance' @::@ 'Maybe' 'ReservedDBInstance'+--+purchaseReservedDBInstancesOfferingResponse :: PurchaseReservedDBInstancesOfferingResponse+purchaseReservedDBInstancesOfferingResponse = PurchaseReservedDBInstancesOfferingResponse+    { _prdbiorReservedDBInstance = Nothing+    }++prdbiorReservedDBInstance :: Lens' PurchaseReservedDBInstancesOfferingResponse (Maybe ReservedDBInstance)+prdbiorReservedDBInstance =+    lens _prdbiorReservedDBInstance+        (\s a -> s { _prdbiorReservedDBInstance = a })++instance ToPath PurchaseReservedDBInstancesOffering where+    toPath = const "/"++instance ToQuery PurchaseReservedDBInstancesOffering where+    toQuery PurchaseReservedDBInstancesOffering{..} = mconcat+        [ "DBInstanceCount"               =? _prdbioDBInstanceCount+        , "ReservedDBInstanceId"          =? _prdbioReservedDBInstanceId+        , "ReservedDBInstancesOfferingId" =? _prdbioReservedDBInstancesOfferingId+        , "Tags"                          =? _prdbioTags+        ]++instance ToHeaders PurchaseReservedDBInstancesOffering++instance AWSRequest PurchaseReservedDBInstancesOffering where+    type Sv PurchaseReservedDBInstancesOffering = RDS+    type Rs PurchaseReservedDBInstancesOffering = PurchaseReservedDBInstancesOfferingResponse++    request  = post "PurchaseReservedDBInstancesOffering"+    response = xmlResponse++instance FromXML PurchaseReservedDBInstancesOfferingResponse where+    parseXML = withElement "PurchaseReservedDBInstancesOfferingResult" $ \x -> PurchaseReservedDBInstancesOfferingResponse+        <$> x .@? "ReservedDBInstance"
+ gen/Network/AWS/RDS/RebootDBInstance.hs view
@@ -0,0 +1,137 @@+{-# 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.RDS.RebootDBInstance+-- 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)++-- | Rebooting a DB instance restarts the database engine service. A reboot also+-- applies to the DB instance any modifications to the associated DB parameter+-- group that were pending. Rebooting a DB instance results in a momentary+-- outage of the instance, during which the DB instance status is set to+-- rebooting. If the RDS instance is configured for MultiAZ, it is possible+-- that the reboot will be conducted through a failover. An Amazon RDS event+-- is created when the reboot is completed. If your DB instance is deployed in+-- multiple Availability Zones, you can force a failover from one AZ to the+-- other during the reboot. You might force a failover to test the+-- availability of your DB instance deployment or to restore operations to the+-- original AZ after a failover occurs. The time required to reboot is a+-- function of the specific database engine's crash recovery process. To+-- improve the reboot time, we recommend that you reduce database activities+-- as much as possible during the reboot process to reduce rollback activity+-- for in-transit transactions.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RebootDBInstance.html>+module Network.AWS.RDS.RebootDBInstance+    (+    -- * Request+      RebootDBInstance+    -- ** Request constructor+    , rebootDBInstance+    -- ** Request lenses+    , rdbiDBInstanceIdentifier+    , rdbiForceFailover++    -- * Response+    , RebootDBInstanceResponse+    -- ** Response constructor+    , rebootDBInstanceResponse+    -- ** Response lenses+    , rdbirDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data RebootDBInstance = RebootDBInstance+    { _rdbiDBInstanceIdentifier :: Text+    , _rdbiForceFailover        :: Maybe Bool+    } deriving (Eq, Ord, Show)++-- | 'RebootDBInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbiDBInstanceIdentifier' @::@ 'Text'+--+-- * 'rdbiForceFailover' @::@ 'Maybe' 'Bool'+--+rebootDBInstance :: Text -- ^ 'rdbiDBInstanceIdentifier'+                 -> RebootDBInstance+rebootDBInstance p1 = RebootDBInstance+    { _rdbiDBInstanceIdentifier = p1+    , _rdbiForceFailover        = Nothing+    }++-- | The DB instance identifier. This parameter is stored as a lowercase+-- string. Constraints: Must contain from 1 to 63 alphanumeric characters or+-- hyphens First character must be a letter Cannot end with a hyphen or+-- contain two consecutive hyphens.+rdbiDBInstanceIdentifier :: Lens' RebootDBInstance Text+rdbiDBInstanceIdentifier =+    lens _rdbiDBInstanceIdentifier+        (\s a -> s { _rdbiDBInstanceIdentifier = a })++-- | When true, the reboot will be conducted through a MultiAZ failover.+-- Constraint: You cannot specify true if the instance is not configured for+-- MultiAZ.+rdbiForceFailover :: Lens' RebootDBInstance (Maybe Bool)+rdbiForceFailover =+    lens _rdbiForceFailover (\s a -> s { _rdbiForceFailover = a })++newtype RebootDBInstanceResponse = RebootDBInstanceResponse+    { _rdbirDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'RebootDBInstanceResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbirDBInstance' @::@ 'Maybe' 'DBInstance'+--+rebootDBInstanceResponse :: RebootDBInstanceResponse+rebootDBInstanceResponse = RebootDBInstanceResponse+    { _rdbirDBInstance = Nothing+    }++rdbirDBInstance :: Lens' RebootDBInstanceResponse (Maybe DBInstance)+rdbirDBInstance = lens _rdbirDBInstance (\s a -> s { _rdbirDBInstance = a })++instance ToPath RebootDBInstance where+    toPath = const "/"++instance ToQuery RebootDBInstance where+    toQuery RebootDBInstance{..} = mconcat+        [ "DBInstanceIdentifier" =? _rdbiDBInstanceIdentifier+        , "ForceFailover"        =? _rdbiForceFailover+        ]++instance ToHeaders RebootDBInstance++instance AWSRequest RebootDBInstance where+    type Sv RebootDBInstance = RDS+    type Rs RebootDBInstance = RebootDBInstanceResponse++    request  = post "RebootDBInstance"+    response = xmlResponse++instance FromXML RebootDBInstanceResponse where+    parseXML = withElement "RebootDBInstanceResult" $ \x -> RebootDBInstanceResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/RemoveSourceIdentifierFromSubscription.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.RDS.RemoveSourceIdentifierFromSubscription+-- 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 a source identifier from an existing RDS event notification+-- subscription.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RemoveSourceIdentifierFromSubscription.html>+module Network.AWS.RDS.RemoveSourceIdentifierFromSubscription+    (+    -- * Request+      RemoveSourceIdentifierFromSubscription+    -- ** Request constructor+    , removeSourceIdentifierFromSubscription+    -- ** Request lenses+    , rsifsSourceIdentifier+    , rsifsSubscriptionName++    -- * Response+    , RemoveSourceIdentifierFromSubscriptionResponse+    -- ** Response constructor+    , removeSourceIdentifierFromSubscriptionResponse+    -- ** Response lenses+    , rsifsrEventSubscription+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data RemoveSourceIdentifierFromSubscription = RemoveSourceIdentifierFromSubscription+    { _rsifsSourceIdentifier :: Text+    , _rsifsSubscriptionName :: Text+    } deriving (Eq, Ord, Show)++-- | 'RemoveSourceIdentifierFromSubscription' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rsifsSourceIdentifier' @::@ 'Text'+--+-- * 'rsifsSubscriptionName' @::@ 'Text'+--+removeSourceIdentifierFromSubscription :: Text -- ^ 'rsifsSubscriptionName'+                                       -> Text -- ^ 'rsifsSourceIdentifier'+                                       -> RemoveSourceIdentifierFromSubscription+removeSourceIdentifierFromSubscription p1 p2 = RemoveSourceIdentifierFromSubscription+    { _rsifsSubscriptionName = p1+    , _rsifsSourceIdentifier = p2+    }++-- | The source identifier to be removed from the subscription, such as the DB+-- instance identifier for a DB instance or the name of a security group.+rsifsSourceIdentifier :: Lens' RemoveSourceIdentifierFromSubscription Text+rsifsSourceIdentifier =+    lens _rsifsSourceIdentifier (\s a -> s { _rsifsSourceIdentifier = a })++-- | The name of the RDS event notification subscription you want to remove a+-- source identifier from.+rsifsSubscriptionName :: Lens' RemoveSourceIdentifierFromSubscription Text+rsifsSubscriptionName =+    lens _rsifsSubscriptionName (\s a -> s { _rsifsSubscriptionName = a })++newtype RemoveSourceIdentifierFromSubscriptionResponse = RemoveSourceIdentifierFromSubscriptionResponse+    { _rsifsrEventSubscription :: Maybe EventSubscription+    } deriving (Eq, Show)++-- | 'RemoveSourceIdentifierFromSubscriptionResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rsifsrEventSubscription' @::@ 'Maybe' 'EventSubscription'+--+removeSourceIdentifierFromSubscriptionResponse :: RemoveSourceIdentifierFromSubscriptionResponse+removeSourceIdentifierFromSubscriptionResponse = RemoveSourceIdentifierFromSubscriptionResponse+    { _rsifsrEventSubscription = Nothing+    }++rsifsrEventSubscription :: Lens' RemoveSourceIdentifierFromSubscriptionResponse (Maybe EventSubscription)+rsifsrEventSubscription =+    lens _rsifsrEventSubscription (\s a -> s { _rsifsrEventSubscription = a })++instance ToPath RemoveSourceIdentifierFromSubscription where+    toPath = const "/"++instance ToQuery RemoveSourceIdentifierFromSubscription where+    toQuery RemoveSourceIdentifierFromSubscription{..} = mconcat+        [ "SourceIdentifier" =? _rsifsSourceIdentifier+        , "SubscriptionName" =? _rsifsSubscriptionName+        ]++instance ToHeaders RemoveSourceIdentifierFromSubscription++instance AWSRequest RemoveSourceIdentifierFromSubscription where+    type Sv RemoveSourceIdentifierFromSubscription = RDS+    type Rs RemoveSourceIdentifierFromSubscription = RemoveSourceIdentifierFromSubscriptionResponse++    request  = post "RemoveSourceIdentifierFromSubscription"+    response = xmlResponse++instance FromXML RemoveSourceIdentifierFromSubscriptionResponse where+    parseXML = withElement "RemoveSourceIdentifierFromSubscriptionResult" $ \x -> RemoveSourceIdentifierFromSubscriptionResponse+        <$> x .@? "EventSubscription"
+ gen/Network/AWS/RDS/RemoveTagsFromResource.hs view
@@ -0,0 +1,101 @@+{-# 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.RDS.RemoveTagsFromResource+-- 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 metadata tags from an Amazon RDS resource. For an overview on+-- tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RemoveTagsFromResource.html>+module Network.AWS.RDS.RemoveTagsFromResource+    (+    -- * Request+      RemoveTagsFromResource+    -- ** Request constructor+    , removeTagsFromResource+    -- ** Request lenses+    , rtfrResourceName+    , rtfrTagKeys++    -- * Response+    , RemoveTagsFromResourceResponse+    -- ** Response constructor+    , removeTagsFromResourceResponse+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data RemoveTagsFromResource = RemoveTagsFromResource+    { _rtfrResourceName :: Text+    , _rtfrTagKeys      :: List "TagKeys" Text+    } deriving (Eq, Ord, Show)++-- | 'RemoveTagsFromResource' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rtfrResourceName' @::@ 'Text'+--+-- * 'rtfrTagKeys' @::@ ['Text']+--+removeTagsFromResource :: Text -- ^ 'rtfrResourceName'+                       -> RemoveTagsFromResource+removeTagsFromResource p1 = RemoveTagsFromResource+    { _rtfrResourceName = p1+    , _rtfrTagKeys      = mempty+    }++-- | The Amazon RDS resource the tags will be removed from. This value is an+-- Amazon Resource Name (ARN). For information about creating an ARN, see+-- Constructing an RDS Amazon Resource Name (ARN).+rtfrResourceName :: Lens' RemoveTagsFromResource Text+rtfrResourceName = lens _rtfrResourceName (\s a -> s { _rtfrResourceName = a })++-- | The tag key (name) of the tag to be removed.+rtfrTagKeys :: Lens' RemoveTagsFromResource [Text]+rtfrTagKeys = lens _rtfrTagKeys (\s a -> s { _rtfrTagKeys = a }) . _List++data RemoveTagsFromResourceResponse = RemoveTagsFromResourceResponse+    deriving (Eq, Ord, Show, Generic)++-- | 'RemoveTagsFromResourceResponse' constructor.+removeTagsFromResourceResponse :: RemoveTagsFromResourceResponse+removeTagsFromResourceResponse = RemoveTagsFromResourceResponse++instance ToPath RemoveTagsFromResource where+    toPath = const "/"++instance ToQuery RemoveTagsFromResource where+    toQuery RemoveTagsFromResource{..} = mconcat+        [ "ResourceName" =? _rtfrResourceName+        , "TagKeys"      =? _rtfrTagKeys+        ]++instance ToHeaders RemoveTagsFromResource++instance AWSRequest RemoveTagsFromResource where+    type Sv RemoveTagsFromResource = RDS+    type Rs RemoveTagsFromResource = RemoveTagsFromResourceResponse++    request  = post "RemoveTagsFromResource"+    response = nullResponse RemoveTagsFromResourceResponse
+ gen/Network/AWS/RDS/ResetDBParameterGroup.hs view
@@ -0,0 +1,147 @@+{-# 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.RDS.ResetDBParameterGroup+-- 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)++-- | Modifies the parameters of a DB parameter group to the engine/system+-- default value. To reset specific parameters submit a list of the following:+-- ParameterName and ApplyMethod. To reset the entire DB parameter group,+-- specify the DBParameterGroup name and ResetAllParameters parameters. When+-- resetting the entire group, dynamic parameters are updated immediately and+-- static parameters are set to pending-reboot to take effect on the next DB+-- instance restart or RebootDBInstance request.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBParameterGroup.html>+module Network.AWS.RDS.ResetDBParameterGroup+    (+    -- * Request+      ResetDBParameterGroup+    -- ** Request constructor+    , resetDBParameterGroup+    -- ** Request lenses+    , rdbpgDBParameterGroupName+    , rdbpgParameters+    , rdbpgResetAllParameters++    -- * Response+    , ResetDBParameterGroupResponse+    -- ** Response constructor+    , resetDBParameterGroupResponse+    -- ** Response lenses+    , rdbpgrDBParameterGroupName+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data ResetDBParameterGroup = ResetDBParameterGroup+    { _rdbpgDBParameterGroupName :: Text+    , _rdbpgParameters           :: List "Parameter" Parameter+    , _rdbpgResetAllParameters   :: Maybe Bool+    } deriving (Eq, Show)++-- | 'ResetDBParameterGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbpgDBParameterGroupName' @::@ 'Text'+--+-- * 'rdbpgParameters' @::@ ['Parameter']+--+-- * 'rdbpgResetAllParameters' @::@ 'Maybe' 'Bool'+--+resetDBParameterGroup :: Text -- ^ 'rdbpgDBParameterGroupName'+                      -> ResetDBParameterGroup+resetDBParameterGroup p1 = ResetDBParameterGroup+    { _rdbpgDBParameterGroupName = p1+    , _rdbpgResetAllParameters   = Nothing+    , _rdbpgParameters           = mempty+    }++-- | The name of the DB parameter group. Constraints: Must be 1 to 255+-- alphanumeric characters First character must be a letter Cannot end with+-- a hyphen or contain two consecutive hyphens.+rdbpgDBParameterGroupName :: Lens' ResetDBParameterGroup Text+rdbpgDBParameterGroupName =+    lens _rdbpgDBParameterGroupName+        (\s a -> s { _rdbpgDBParameterGroupName = a })++-- | An array of parameter names, values, and the apply method for the+-- parameter update. At least one parameter name, value, and apply method+-- must be supplied; subsequent arguments are optional. A maximum of 20+-- parameters may be modified in a single request. MySQL Valid Values (for+-- Apply method): immediate | pending-reboot You can use the immediate value+-- with dynamic parameters only. You can use the pending-reboot value for+-- both dynamic and static parameters, and changes are applied when DB+-- instance reboots. Oracle Valid Values (for Apply method): pending-reboot.+rdbpgParameters :: Lens' ResetDBParameterGroup [Parameter]+rdbpgParameters = lens _rdbpgParameters (\s a -> s { _rdbpgParameters = a }) . _List++-- | Specifies whether (true) or not (false) to reset all parameters in the DB+-- parameter group to default values. Default: true.+rdbpgResetAllParameters :: Lens' ResetDBParameterGroup (Maybe Bool)+rdbpgResetAllParameters =+    lens _rdbpgResetAllParameters (\s a -> s { _rdbpgResetAllParameters = a })++newtype ResetDBParameterGroupResponse = ResetDBParameterGroupResponse+    { _rdbpgrDBParameterGroupName :: Maybe Text+    } deriving (Eq, Ord, Show, Monoid)++-- | 'ResetDBParameterGroupResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbpgrDBParameterGroupName' @::@ 'Maybe' 'Text'+--+resetDBParameterGroupResponse :: ResetDBParameterGroupResponse+resetDBParameterGroupResponse = ResetDBParameterGroupResponse+    { _rdbpgrDBParameterGroupName = Nothing+    }++-- | The name of the DB parameter group.+rdbpgrDBParameterGroupName :: Lens' ResetDBParameterGroupResponse (Maybe Text)+rdbpgrDBParameterGroupName =+    lens _rdbpgrDBParameterGroupName+        (\s a -> s { _rdbpgrDBParameterGroupName = a })++instance ToPath ResetDBParameterGroup where+    toPath = const "/"++instance ToQuery ResetDBParameterGroup where+    toQuery ResetDBParameterGroup{..} = mconcat+        [ "DBParameterGroupName" =? _rdbpgDBParameterGroupName+        , "Parameters"           =? _rdbpgParameters+        , "ResetAllParameters"   =? _rdbpgResetAllParameters+        ]++instance ToHeaders ResetDBParameterGroup++instance AWSRequest ResetDBParameterGroup where+    type Sv ResetDBParameterGroup = RDS+    type Rs ResetDBParameterGroup = ResetDBParameterGroupResponse++    request  = post "ResetDBParameterGroup"+    response = xmlResponse++instance FromXML ResetDBParameterGroupResponse where+    parseXML = withElement "ResetDBParameterGroupResult" $ \x -> ResetDBParameterGroupResponse+        <$> x .@? "DBParameterGroupName"
+ gen/Network/AWS/RDS/RestoreDBInstanceFromDBSnapshot.hs view
@@ -0,0 +1,348 @@+{-# 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.RDS.RestoreDBInstanceFromDBSnapshot+-- 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 DB instance from a DB snapshot. The target database is+-- created from the source database restore point with the same configuration+-- as the original source database, except that the new RDS instance is+-- created with the default security group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html>+module Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot+    (+    -- * Request+      RestoreDBInstanceFromDBSnapshot+    -- ** Request constructor+    , restoreDBInstanceFromDBSnapshot+    -- ** Request lenses+    , rdbifdbsAutoMinorVersionUpgrade+    , rdbifdbsAvailabilityZone+    , rdbifdbsDBInstanceClass+    , rdbifdbsDBInstanceIdentifier+    , rdbifdbsDBName+    , rdbifdbsDBSnapshotIdentifier+    , rdbifdbsDBSubnetGroupName+    , rdbifdbsEngine+    , rdbifdbsIops+    , rdbifdbsLicenseModel+    , rdbifdbsMultiAZ+    , rdbifdbsOptionGroupName+    , rdbifdbsPort+    , rdbifdbsPubliclyAccessible+    , rdbifdbsStorageType+    , rdbifdbsTags+    , rdbifdbsTdeCredentialArn+    , rdbifdbsTdeCredentialPassword++    -- * Response+    , RestoreDBInstanceFromDBSnapshotResponse+    -- ** Response constructor+    , restoreDBInstanceFromDBSnapshotResponse+    -- ** Response lenses+    , rdbifdbsrDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data RestoreDBInstanceFromDBSnapshot = RestoreDBInstanceFromDBSnapshot+    { _rdbifdbsAutoMinorVersionUpgrade :: Maybe Bool+    , _rdbifdbsAvailabilityZone        :: Maybe Text+    , _rdbifdbsDBInstanceClass         :: Maybe Text+    , _rdbifdbsDBInstanceIdentifier    :: Text+    , _rdbifdbsDBName                  :: Maybe Text+    , _rdbifdbsDBSnapshotIdentifier    :: Text+    , _rdbifdbsDBSubnetGroupName       :: Maybe Text+    , _rdbifdbsEngine                  :: Maybe Text+    , _rdbifdbsIops                    :: Maybe Int+    , _rdbifdbsLicenseModel            :: Maybe Text+    , _rdbifdbsMultiAZ                 :: Maybe Bool+    , _rdbifdbsOptionGroupName         :: Maybe Text+    , _rdbifdbsPort                    :: Maybe Int+    , _rdbifdbsPubliclyAccessible      :: Maybe Bool+    , _rdbifdbsStorageType             :: Maybe Text+    , _rdbifdbsTags                    :: List "Tag" Tag+    , _rdbifdbsTdeCredentialArn        :: Maybe Text+    , _rdbifdbsTdeCredentialPassword   :: Maybe Text+    } deriving (Eq, Show)++-- | 'RestoreDBInstanceFromDBSnapshot' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbifdbsAutoMinorVersionUpgrade' @::@ 'Maybe' 'Bool'+--+-- * 'rdbifdbsAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsDBInstanceIdentifier' @::@ 'Text'+--+-- * 'rdbifdbsDBName' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsDBSnapshotIdentifier' @::@ 'Text'+--+-- * 'rdbifdbsDBSubnetGroupName' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsEngine' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsIops' @::@ 'Maybe' 'Int'+--+-- * 'rdbifdbsLicenseModel' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'rdbifdbsOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsPort' @::@ 'Maybe' 'Int'+--+-- * 'rdbifdbsPubliclyAccessible' @::@ 'Maybe' 'Bool'+--+-- * 'rdbifdbsStorageType' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsTags' @::@ ['Tag']+--+-- * 'rdbifdbsTdeCredentialArn' @::@ 'Maybe' 'Text'+--+-- * 'rdbifdbsTdeCredentialPassword' @::@ 'Maybe' 'Text'+--+restoreDBInstanceFromDBSnapshot :: Text -- ^ 'rdbifdbsDBInstanceIdentifier'+                                -> Text -- ^ 'rdbifdbsDBSnapshotIdentifier'+                                -> RestoreDBInstanceFromDBSnapshot+restoreDBInstanceFromDBSnapshot p1 p2 = RestoreDBInstanceFromDBSnapshot+    { _rdbifdbsDBInstanceIdentifier    = p1+    , _rdbifdbsDBSnapshotIdentifier    = p2+    , _rdbifdbsDBInstanceClass         = Nothing+    , _rdbifdbsPort                    = Nothing+    , _rdbifdbsAvailabilityZone        = Nothing+    , _rdbifdbsDBSubnetGroupName       = Nothing+    , _rdbifdbsMultiAZ                 = Nothing+    , _rdbifdbsPubliclyAccessible      = Nothing+    , _rdbifdbsAutoMinorVersionUpgrade = Nothing+    , _rdbifdbsLicenseModel            = Nothing+    , _rdbifdbsDBName                  = Nothing+    , _rdbifdbsEngine                  = Nothing+    , _rdbifdbsIops                    = Nothing+    , _rdbifdbsOptionGroupName         = Nothing+    , _rdbifdbsTags                    = mempty+    , _rdbifdbsStorageType             = Nothing+    , _rdbifdbsTdeCredentialArn        = Nothing+    , _rdbifdbsTdeCredentialPassword   = Nothing+    }++-- | Indicates that minor version upgrades will be applied automatically to+-- the DB instance during the maintenance window.+rdbifdbsAutoMinorVersionUpgrade :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)+rdbifdbsAutoMinorVersionUpgrade =+    lens _rdbifdbsAutoMinorVersionUpgrade+        (\s a -> s { _rdbifdbsAutoMinorVersionUpgrade = a })++-- | The EC2 Availability Zone that the database instance will be created in.+-- Default: A random, system-chosen Availability Zone. Constraint: You+-- cannot specify the AvailabilityZone parameter if the MultiAZ parameter is+-- set to true. Example: us-east-1a.+rdbifdbsAvailabilityZone :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsAvailabilityZone =+    lens _rdbifdbsAvailabilityZone+        (\s a -> s { _rdbifdbsAvailabilityZone = a })++-- | The compute and memory capacity of the Amazon RDS DB instance. Valid+-- Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large |+-- db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large+-- | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge |+-- db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small+-- | db.t2.medium.+rdbifdbsDBInstanceClass :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsDBInstanceClass =+    lens _rdbifdbsDBInstanceClass (\s a -> s { _rdbifdbsDBInstanceClass = a })++-- | Name of the DB instance to create from the DB snapshot. This parameter+-- isn't case sensitive. Constraints: Must contain from 1 to 255+-- alphanumeric characters or hyphens First character must be a letter+-- Cannot end with a hyphen or contain two consecutive hyphens Example:+-- my-snapshot-id.+rdbifdbsDBInstanceIdentifier :: Lens' RestoreDBInstanceFromDBSnapshot Text+rdbifdbsDBInstanceIdentifier =+    lens _rdbifdbsDBInstanceIdentifier+        (\s a -> s { _rdbifdbsDBInstanceIdentifier = a })++-- | The database name for the restored DB instance.+rdbifdbsDBName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsDBName = lens _rdbifdbsDBName (\s a -> s { _rdbifdbsDBName = a })++-- | The identifier for the DB snapshot to restore from. Constraints: Must+-- contain from 1 to 63 alphanumeric characters or hyphens First character+-- must be a letter Cannot end with a hyphen or contain two consecutive+-- hyphens.+rdbifdbsDBSnapshotIdentifier :: Lens' RestoreDBInstanceFromDBSnapshot Text+rdbifdbsDBSnapshotIdentifier =+    lens _rdbifdbsDBSnapshotIdentifier+        (\s a -> s { _rdbifdbsDBSnapshotIdentifier = a })++-- | The DB subnet group name to use for the new instance.+rdbifdbsDBSubnetGroupName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsDBSubnetGroupName =+    lens _rdbifdbsDBSubnetGroupName+        (\s a -> s { _rdbifdbsDBSubnetGroupName = a })++-- | The database engine to use for the new instance. Default: The same as+-- source Constraint: Must be compatible with the engine of the source+-- Example: oracle-ee.+rdbifdbsEngine :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsEngine = lens _rdbifdbsEngine (\s a -> s { _rdbifdbsEngine = a })++-- | Specifies the amount of provisioned IOPS for the DB instance, expressed+-- in I/O operations per second. If this parameter is not specified, the+-- IOPS value will be taken from the backup. If this parameter is set to 0,+-- the new instance will be converted to a non-PIOPS instance, which will+-- take additional time, though your DB instance will be available for+-- connections before the conversion starts. Constraints: Must be an integer+-- greater than 1000. SQL Server Setting the IOPS value for the SQL Server+-- database engine is not supported.+rdbifdbsIops :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Int)+rdbifdbsIops = lens _rdbifdbsIops (\s a -> s { _rdbifdbsIops = a })++-- | License model information for the restored DB instance. Default: Same as+-- source. Valid values: license-included | bring-your-own-license |+-- general-public-license.+rdbifdbsLicenseModel :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsLicenseModel =+    lens _rdbifdbsLicenseModel (\s a -> s { _rdbifdbsLicenseModel = a })++-- | Specifies if the DB instance is a Multi-AZ deployment. Constraint: You+-- cannot specify the AvailabilityZone parameter if the MultiAZ parameter is+-- set to true.+rdbifdbsMultiAZ :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)+rdbifdbsMultiAZ = lens _rdbifdbsMultiAZ (\s a -> s { _rdbifdbsMultiAZ = a })++-- | The name of the option group to be used for the restored DB instance.+-- Permanent options, such as the TDE option for Oracle Advanced Security+-- TDE, cannot be removed from an option group, and that option group cannot+-- be removed from a DB instance once it is associated with a DB instance.+rdbifdbsOptionGroupName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsOptionGroupName =+    lens _rdbifdbsOptionGroupName (\s a -> s { _rdbifdbsOptionGroupName = a })++-- | The port number on which the database accepts connections. Default: The+-- same port as the original DB instance Constraints: Value must be+-- 1150-65535.+rdbifdbsPort :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Int)+rdbifdbsPort = lens _rdbifdbsPort (\s a -> s { _rdbifdbsPort = a })++-- | Specifies the accessibility options for the DB instance. A value of true+-- specifies an Internet-facing instance with a publicly resolvable DNS+-- name, which resolves to a public IP address. A value of false specifies+-- an internal instance with a DNS name that resolves to a private IP+-- address. Default: The default behavior varies depending on whether a VPC+-- has been requested or not. The following list shows the default behavior+-- in each case. Default VPC:true VPC:false If no DB subnet group has been+-- specified as part of the request and the PubliclyAccessible value has not+-- been set, the DB instance will be publicly accessible. If a specific DB+-- subnet group has been specified as part of the request and the+-- PubliclyAccessible value has not been set, the DB instance will be+-- private.+rdbifdbsPubliclyAccessible :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)+rdbifdbsPubliclyAccessible =+    lens _rdbifdbsPubliclyAccessible+        (\s a -> s { _rdbifdbsPubliclyAccessible = a })++-- | Specifies storage type to be associated with the DB Instance. Valid+-- values: standard | gp2 | io1 If you specify io1, you must also include a+-- value for the Iops parameter.+rdbifdbsStorageType :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsStorageType =+    lens _rdbifdbsStorageType (\s a -> s { _rdbifdbsStorageType = a })++rdbifdbsTags :: Lens' RestoreDBInstanceFromDBSnapshot [Tag]+rdbifdbsTags = lens _rdbifdbsTags (\s a -> s { _rdbifdbsTags = a }) . _List++-- | The ARN from the Key Store with which to associate the instance for TDE+-- encryption.+rdbifdbsTdeCredentialArn :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsTdeCredentialArn =+    lens _rdbifdbsTdeCredentialArn+        (\s a -> s { _rdbifdbsTdeCredentialArn = a })++-- | The password for the given ARN from the Key Store in order to access the+-- device.+rdbifdbsTdeCredentialPassword :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)+rdbifdbsTdeCredentialPassword =+    lens _rdbifdbsTdeCredentialPassword+        (\s a -> s { _rdbifdbsTdeCredentialPassword = a })++newtype RestoreDBInstanceFromDBSnapshotResponse = RestoreDBInstanceFromDBSnapshotResponse+    { _rdbifdbsrDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'RestoreDBInstanceFromDBSnapshotResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbifdbsrDBInstance' @::@ 'Maybe' 'DBInstance'+--+restoreDBInstanceFromDBSnapshotResponse :: RestoreDBInstanceFromDBSnapshotResponse+restoreDBInstanceFromDBSnapshotResponse = RestoreDBInstanceFromDBSnapshotResponse+    { _rdbifdbsrDBInstance = Nothing+    }++rdbifdbsrDBInstance :: Lens' RestoreDBInstanceFromDBSnapshotResponse (Maybe DBInstance)+rdbifdbsrDBInstance =+    lens _rdbifdbsrDBInstance (\s a -> s { _rdbifdbsrDBInstance = a })++instance ToPath RestoreDBInstanceFromDBSnapshot where+    toPath = const "/"++instance ToQuery RestoreDBInstanceFromDBSnapshot where+    toQuery RestoreDBInstanceFromDBSnapshot{..} = mconcat+        [ "AutoMinorVersionUpgrade" =? _rdbifdbsAutoMinorVersionUpgrade+        , "AvailabilityZone"        =? _rdbifdbsAvailabilityZone+        , "DBInstanceClass"         =? _rdbifdbsDBInstanceClass+        , "DBInstanceIdentifier"    =? _rdbifdbsDBInstanceIdentifier+        , "DBName"                  =? _rdbifdbsDBName+        , "DBSnapshotIdentifier"    =? _rdbifdbsDBSnapshotIdentifier+        , "DBSubnetGroupName"       =? _rdbifdbsDBSubnetGroupName+        , "Engine"                  =? _rdbifdbsEngine+        , "Iops"                    =? _rdbifdbsIops+        , "LicenseModel"            =? _rdbifdbsLicenseModel+        , "MultiAZ"                 =? _rdbifdbsMultiAZ+        , "OptionGroupName"         =? _rdbifdbsOptionGroupName+        , "Port"                    =? _rdbifdbsPort+        , "PubliclyAccessible"      =? _rdbifdbsPubliclyAccessible+        , "StorageType"             =? _rdbifdbsStorageType+        , "Tags"                    =? _rdbifdbsTags+        , "TdeCredentialArn"        =? _rdbifdbsTdeCredentialArn+        , "TdeCredentialPassword"   =? _rdbifdbsTdeCredentialPassword+        ]++instance ToHeaders RestoreDBInstanceFromDBSnapshot++instance AWSRequest RestoreDBInstanceFromDBSnapshot where+    type Sv RestoreDBInstanceFromDBSnapshot = RDS+    type Rs RestoreDBInstanceFromDBSnapshot = RestoreDBInstanceFromDBSnapshotResponse++    request  = post "RestoreDBInstanceFromDBSnapshot"+    response = xmlResponse++instance FromXML RestoreDBInstanceFromDBSnapshotResponse where+    parseXML = withElement "RestoreDBInstanceFromDBSnapshotResult" $ \x -> RestoreDBInstanceFromDBSnapshotResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/RestoreDBInstanceToPointInTime.hs view
@@ -0,0 +1,375 @@+{-# 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.RDS.RestoreDBInstanceToPointInTime+-- 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)++-- | Restores a DB instance to an arbitrary point-in-time. Users can restore to+-- any point in time before the latestRestorableTime for up to+-- backupRetentionPeriod days. The target database is created from the source+-- database with the same configuration as the original database except that+-- the DB instance is created with the default DB security group.+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html>+module Network.AWS.RDS.RestoreDBInstanceToPointInTime+    (+    -- * Request+      RestoreDBInstanceToPointInTime+    -- ** Request constructor+    , restoreDBInstanceToPointInTime+    -- ** Request lenses+    , rdbitpitAutoMinorVersionUpgrade+    , rdbitpitAvailabilityZone+    , rdbitpitDBInstanceClass+    , rdbitpitDBName+    , rdbitpitDBSubnetGroupName+    , rdbitpitEngine+    , rdbitpitIops+    , rdbitpitLicenseModel+    , rdbitpitMultiAZ+    , rdbitpitOptionGroupName+    , rdbitpitPort+    , rdbitpitPubliclyAccessible+    , rdbitpitRestoreTime+    , rdbitpitSourceDBInstanceIdentifier+    , rdbitpitStorageType+    , rdbitpitTags+    , rdbitpitTargetDBInstanceIdentifier+    , rdbitpitTdeCredentialArn+    , rdbitpitTdeCredentialPassword+    , rdbitpitUseLatestRestorableTime++    -- * Response+    , RestoreDBInstanceToPointInTimeResponse+    -- ** Response constructor+    , restoreDBInstanceToPointInTimeResponse+    -- ** Response lenses+    , rdbitpitrDBInstance+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data RestoreDBInstanceToPointInTime = RestoreDBInstanceToPointInTime+    { _rdbitpitAutoMinorVersionUpgrade    :: Maybe Bool+    , _rdbitpitAvailabilityZone           :: Maybe Text+    , _rdbitpitDBInstanceClass            :: Maybe Text+    , _rdbitpitDBName                     :: Maybe Text+    , _rdbitpitDBSubnetGroupName          :: Maybe Text+    , _rdbitpitEngine                     :: Maybe Text+    , _rdbitpitIops                       :: Maybe Int+    , _rdbitpitLicenseModel               :: Maybe Text+    , _rdbitpitMultiAZ                    :: Maybe Bool+    , _rdbitpitOptionGroupName            :: Maybe Text+    , _rdbitpitPort                       :: Maybe Int+    , _rdbitpitPubliclyAccessible         :: Maybe Bool+    , _rdbitpitRestoreTime                :: Maybe RFC822+    , _rdbitpitSourceDBInstanceIdentifier :: Text+    , _rdbitpitStorageType                :: Maybe Text+    , _rdbitpitTags                       :: List "Tag" Tag+    , _rdbitpitTargetDBInstanceIdentifier :: Text+    , _rdbitpitTdeCredentialArn           :: Maybe Text+    , _rdbitpitTdeCredentialPassword      :: Maybe Text+    , _rdbitpitUseLatestRestorableTime    :: Maybe Bool+    } deriving (Eq, Show)++-- | 'RestoreDBInstanceToPointInTime' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbitpitAutoMinorVersionUpgrade' @::@ 'Maybe' 'Bool'+--+-- * 'rdbitpitAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitDBName' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitDBSubnetGroupName' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitEngine' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitIops' @::@ 'Maybe' 'Int'+--+-- * 'rdbitpitLicenseModel' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'rdbitpitOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitPort' @::@ 'Maybe' 'Int'+--+-- * 'rdbitpitPubliclyAccessible' @::@ 'Maybe' 'Bool'+--+-- * 'rdbitpitRestoreTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'rdbitpitSourceDBInstanceIdentifier' @::@ 'Text'+--+-- * 'rdbitpitStorageType' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitTags' @::@ ['Tag']+--+-- * 'rdbitpitTargetDBInstanceIdentifier' @::@ 'Text'+--+-- * 'rdbitpitTdeCredentialArn' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitTdeCredentialPassword' @::@ 'Maybe' 'Text'+--+-- * 'rdbitpitUseLatestRestorableTime' @::@ 'Maybe' 'Bool'+--+restoreDBInstanceToPointInTime :: Text -- ^ 'rdbitpitSourceDBInstanceIdentifier'+                               -> Text -- ^ 'rdbitpitTargetDBInstanceIdentifier'+                               -> RestoreDBInstanceToPointInTime+restoreDBInstanceToPointInTime p1 p2 = RestoreDBInstanceToPointInTime+    { _rdbitpitSourceDBInstanceIdentifier = p1+    , _rdbitpitTargetDBInstanceIdentifier = p2+    , _rdbitpitRestoreTime                = Nothing+    , _rdbitpitUseLatestRestorableTime    = Nothing+    , _rdbitpitDBInstanceClass            = Nothing+    , _rdbitpitPort                       = Nothing+    , _rdbitpitAvailabilityZone           = Nothing+    , _rdbitpitDBSubnetGroupName          = Nothing+    , _rdbitpitMultiAZ                    = Nothing+    , _rdbitpitPubliclyAccessible         = Nothing+    , _rdbitpitAutoMinorVersionUpgrade    = Nothing+    , _rdbitpitLicenseModel               = Nothing+    , _rdbitpitDBName                     = Nothing+    , _rdbitpitEngine                     = Nothing+    , _rdbitpitIops                       = Nothing+    , _rdbitpitOptionGroupName            = Nothing+    , _rdbitpitTags                       = mempty+    , _rdbitpitStorageType                = Nothing+    , _rdbitpitTdeCredentialArn           = Nothing+    , _rdbitpitTdeCredentialPassword      = Nothing+    }++-- | Indicates that minor version upgrades will be applied automatically to+-- the DB instance during the maintenance window.+rdbitpitAutoMinorVersionUpgrade :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)+rdbitpitAutoMinorVersionUpgrade =+    lens _rdbitpitAutoMinorVersionUpgrade+        (\s a -> s { _rdbitpitAutoMinorVersionUpgrade = a })++-- | The EC2 Availability Zone that the database instance will be created in.+-- Default: A random, system-chosen Availability Zone. Constraint: You+-- cannot specify the AvailabilityZone parameter if the MultiAZ parameter is+-- set to true. Example: us-east-1a.+rdbitpitAvailabilityZone :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitAvailabilityZone =+    lens _rdbitpitAvailabilityZone+        (\s a -> s { _rdbitpitAvailabilityZone = a })++-- | The compute and memory capacity of the Amazon RDS DB instance. Valid+-- Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large |+-- db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large+-- | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge |+-- db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small+-- | db.t2.medium Default: The same DBInstanceClass as the original DB+-- instance.+rdbitpitDBInstanceClass :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitDBInstanceClass =+    lens _rdbitpitDBInstanceClass (\s a -> s { _rdbitpitDBInstanceClass = a })++-- | The database name for the restored DB instance.+rdbitpitDBName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitDBName = lens _rdbitpitDBName (\s a -> s { _rdbitpitDBName = a })++-- | The DB subnet group name to use for the new instance.+rdbitpitDBSubnetGroupName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitDBSubnetGroupName =+    lens _rdbitpitDBSubnetGroupName+        (\s a -> s { _rdbitpitDBSubnetGroupName = a })++-- | The database engine to use for the new instance. Default: The same as+-- source Constraint: Must be compatible with the engine of the source+-- Example: oracle-ee.+rdbitpitEngine :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitEngine = lens _rdbitpitEngine (\s a -> s { _rdbitpitEngine = a })++-- | The amount of Provisioned IOPS (input/output operations per second) to be+-- initially allocated for the DB instance. Constraints: Must be an integer+-- greater than 1000. SQL Server Setting the IOPS value for the SQL Server+-- database engine is not supported.+rdbitpitIops :: Lens' RestoreDBInstanceToPointInTime (Maybe Int)+rdbitpitIops = lens _rdbitpitIops (\s a -> s { _rdbitpitIops = a })++-- | License model information for the restored DB instance. Default: Same as+-- source. Valid values: license-included | bring-your-own-license |+-- general-public-license.+rdbitpitLicenseModel :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitLicenseModel =+    lens _rdbitpitLicenseModel (\s a -> s { _rdbitpitLicenseModel = a })++-- | Specifies if the DB instance is a Multi-AZ deployment. Constraint: You+-- cannot specify the AvailabilityZone parameter if the MultiAZ parameter is+-- set to true.+rdbitpitMultiAZ :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)+rdbitpitMultiAZ = lens _rdbitpitMultiAZ (\s a -> s { _rdbitpitMultiAZ = a })++-- | The name of the option group to be used for the restored DB instance.+-- Permanent options, such as the TDE option for Oracle Advanced Security+-- TDE, cannot be removed from an option group, and that option group cannot+-- be removed from a DB instance once it is associated with a DB instance.+rdbitpitOptionGroupName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitOptionGroupName =+    lens _rdbitpitOptionGroupName (\s a -> s { _rdbitpitOptionGroupName = a })++-- | The port number on which the database accepts connections. Constraints:+-- Value must be 1150-65535 Default: The same port as the original DB+-- instance.+rdbitpitPort :: Lens' RestoreDBInstanceToPointInTime (Maybe Int)+rdbitpitPort = lens _rdbitpitPort (\s a -> s { _rdbitpitPort = a })++-- | Specifies the accessibility options for the DB instance. A value of true+-- specifies an Internet-facing instance with a publicly resolvable DNS+-- name, which resolves to a public IP address. A value of false specifies+-- an internal instance with a DNS name that resolves to a private IP+-- address. Default: The default behavior varies depending on whether a VPC+-- has been requested or not. The following list shows the default behavior+-- in each case. Default VPC:true VPC:false If no DB subnet group has been+-- specified as part of the request and the PubliclyAccessible value has not+-- been set, the DB instance will be publicly accessible. If a specific DB+-- subnet group has been specified as part of the request and the+-- PubliclyAccessible value has not been set, the DB instance will be+-- private.+rdbitpitPubliclyAccessible :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)+rdbitpitPubliclyAccessible =+    lens _rdbitpitPubliclyAccessible+        (\s a -> s { _rdbitpitPubliclyAccessible = a })++-- | The date and time to restore from. Valid Values: Value must be a UTC time+-- Constraints: Must be before the latest restorable time for the DB+-- instance Cannot be specified if UseLatestRestorableTime parameter is true+-- Example: 2009-09-07T23:45:00Z.+rdbitpitRestoreTime :: Lens' RestoreDBInstanceToPointInTime (Maybe UTCTime)+rdbitpitRestoreTime =+    lens _rdbitpitRestoreTime (\s a -> s { _rdbitpitRestoreTime = a })+        . mapping _Time++-- | The identifier of the source DB instance from which to restore.+-- Constraints: Must be the identifier of an existing database instance Must+-- contain from 1 to 63 alphanumeric characters or hyphens First character+-- must be a letter Cannot end with a hyphen or contain two consecutive+-- hyphens.+rdbitpitSourceDBInstanceIdentifier :: Lens' RestoreDBInstanceToPointInTime Text+rdbitpitSourceDBInstanceIdentifier =+    lens _rdbitpitSourceDBInstanceIdentifier+        (\s a -> s { _rdbitpitSourceDBInstanceIdentifier = a })++-- | Specifies storage type to be associated with the DB Instance. Valid+-- values: standard | gp2 | io1 If you specify io1, you must also include a+-- value for the Iops parameter.+rdbitpitStorageType :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitStorageType =+    lens _rdbitpitStorageType (\s a -> s { _rdbitpitStorageType = a })++rdbitpitTags :: Lens' RestoreDBInstanceToPointInTime [Tag]+rdbitpitTags = lens _rdbitpitTags (\s a -> s { _rdbitpitTags = a }) . _List++-- | The name of the new database instance to be created. Constraints: Must+-- contain from 1 to 63 alphanumeric characters or hyphens First character+-- must be a letter Cannot end with a hyphen or contain two consecutive+-- hyphens.+rdbitpitTargetDBInstanceIdentifier :: Lens' RestoreDBInstanceToPointInTime Text+rdbitpitTargetDBInstanceIdentifier =+    lens _rdbitpitTargetDBInstanceIdentifier+        (\s a -> s { _rdbitpitTargetDBInstanceIdentifier = a })++-- | The ARN from the Key Store with which to associate the instance for TDE+-- encryption.+rdbitpitTdeCredentialArn :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitTdeCredentialArn =+    lens _rdbitpitTdeCredentialArn+        (\s a -> s { _rdbitpitTdeCredentialArn = a })++-- | The password for the given ARN from the Key Store in order to access the+-- device.+rdbitpitTdeCredentialPassword :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)+rdbitpitTdeCredentialPassword =+    lens _rdbitpitTdeCredentialPassword+        (\s a -> s { _rdbitpitTdeCredentialPassword = a })++-- | Specifies whether (true) or not (false) the DB instance is restored from+-- the latest backup time. Default: false Constraints: Cannot be specified+-- if RestoreTime parameter is provided.+rdbitpitUseLatestRestorableTime :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)+rdbitpitUseLatestRestorableTime =+    lens _rdbitpitUseLatestRestorableTime+        (\s a -> s { _rdbitpitUseLatestRestorableTime = a })++newtype RestoreDBInstanceToPointInTimeResponse = RestoreDBInstanceToPointInTimeResponse+    { _rdbitpitrDBInstance :: Maybe DBInstance+    } deriving (Eq, Show)++-- | 'RestoreDBInstanceToPointInTimeResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbitpitrDBInstance' @::@ 'Maybe' 'DBInstance'+--+restoreDBInstanceToPointInTimeResponse :: RestoreDBInstanceToPointInTimeResponse+restoreDBInstanceToPointInTimeResponse = RestoreDBInstanceToPointInTimeResponse+    { _rdbitpitrDBInstance = Nothing+    }++rdbitpitrDBInstance :: Lens' RestoreDBInstanceToPointInTimeResponse (Maybe DBInstance)+rdbitpitrDBInstance =+    lens _rdbitpitrDBInstance (\s a -> s { _rdbitpitrDBInstance = a })++instance ToPath RestoreDBInstanceToPointInTime where+    toPath = const "/"++instance ToQuery RestoreDBInstanceToPointInTime where+    toQuery RestoreDBInstanceToPointInTime{..} = mconcat+        [ "AutoMinorVersionUpgrade"    =? _rdbitpitAutoMinorVersionUpgrade+        , "AvailabilityZone"           =? _rdbitpitAvailabilityZone+        , "DBInstanceClass"            =? _rdbitpitDBInstanceClass+        , "DBName"                     =? _rdbitpitDBName+        , "DBSubnetGroupName"          =? _rdbitpitDBSubnetGroupName+        , "Engine"                     =? _rdbitpitEngine+        , "Iops"                       =? _rdbitpitIops+        , "LicenseModel"               =? _rdbitpitLicenseModel+        , "MultiAZ"                    =? _rdbitpitMultiAZ+        , "OptionGroupName"            =? _rdbitpitOptionGroupName+        , "Port"                       =? _rdbitpitPort+        , "PubliclyAccessible"         =? _rdbitpitPubliclyAccessible+        , "RestoreTime"                =? _rdbitpitRestoreTime+        , "SourceDBInstanceIdentifier" =? _rdbitpitSourceDBInstanceIdentifier+        , "StorageType"                =? _rdbitpitStorageType+        , "Tags"                       =? _rdbitpitTags+        , "TargetDBInstanceIdentifier" =? _rdbitpitTargetDBInstanceIdentifier+        , "TdeCredentialArn"           =? _rdbitpitTdeCredentialArn+        , "TdeCredentialPassword"      =? _rdbitpitTdeCredentialPassword+        , "UseLatestRestorableTime"    =? _rdbitpitUseLatestRestorableTime+        ]++instance ToHeaders RestoreDBInstanceToPointInTime++instance AWSRequest RestoreDBInstanceToPointInTime where+    type Sv RestoreDBInstanceToPointInTime = RDS+    type Rs RestoreDBInstanceToPointInTime = RestoreDBInstanceToPointInTimeResponse++    request  = post "RestoreDBInstanceToPointInTime"+    response = xmlResponse++instance FromXML RestoreDBInstanceToPointInTimeResponse where+    parseXML = withElement "RestoreDBInstanceToPointInTimeResult" $ \x -> RestoreDBInstanceToPointInTimeResponse+        <$> x .@? "DBInstance"
+ gen/Network/AWS/RDS/RevokeDBSecurityGroupIngress.hs view
@@ -0,0 +1,169 @@+{-# 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.RDS.RevokeDBSecurityGroupIngress+-- 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)++-- | Revokes ingress from a DBSecurityGroup for previously authorized IP ranges+-- or EC2 or VPC Security Groups. Required parameters for this API are one of+-- CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either+-- EC2SecurityGroupName or EC2SecurityGroupId).+--+-- <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RevokeDBSecurityGroupIngress.html>+module Network.AWS.RDS.RevokeDBSecurityGroupIngress+    (+    -- * Request+      RevokeDBSecurityGroupIngress+    -- ** Request constructor+    , revokeDBSecurityGroupIngress+    -- ** Request lenses+    , rdbsgiCIDRIP+    , rdbsgiDBSecurityGroupName+    , rdbsgiEC2SecurityGroupId+    , rdbsgiEC2SecurityGroupName+    , rdbsgiEC2SecurityGroupOwnerId++    -- * Response+    , RevokeDBSecurityGroupIngressResponse+    -- ** Response constructor+    , revokeDBSecurityGroupIngressResponse+    -- ** Response lenses+    , rdbsgirDBSecurityGroup+    ) where++import Network.AWS.Prelude+import Network.AWS.Request.Query+import Network.AWS.RDS.Types+import qualified GHC.Exts++data RevokeDBSecurityGroupIngress = RevokeDBSecurityGroupIngress+    { _rdbsgiCIDRIP                  :: Maybe Text+    , _rdbsgiDBSecurityGroupName     :: Text+    , _rdbsgiEC2SecurityGroupId      :: Maybe Text+    , _rdbsgiEC2SecurityGroupName    :: Maybe Text+    , _rdbsgiEC2SecurityGroupOwnerId :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'RevokeDBSecurityGroupIngress' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbsgiCIDRIP' @::@ 'Maybe' 'Text'+--+-- * 'rdbsgiDBSecurityGroupName' @::@ 'Text'+--+-- * 'rdbsgiEC2SecurityGroupId' @::@ 'Maybe' 'Text'+--+-- * 'rdbsgiEC2SecurityGroupName' @::@ 'Maybe' 'Text'+--+-- * 'rdbsgiEC2SecurityGroupOwnerId' @::@ 'Maybe' 'Text'+--+revokeDBSecurityGroupIngress :: Text -- ^ 'rdbsgiDBSecurityGroupName'+                             -> RevokeDBSecurityGroupIngress+revokeDBSecurityGroupIngress p1 = RevokeDBSecurityGroupIngress+    { _rdbsgiDBSecurityGroupName     = p1+    , _rdbsgiCIDRIP                  = Nothing+    , _rdbsgiEC2SecurityGroupName    = Nothing+    , _rdbsgiEC2SecurityGroupId      = Nothing+    , _rdbsgiEC2SecurityGroupOwnerId = Nothing+    }++-- | The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP+-- is specified, EC2SecurityGroupName, EC2SecurityGroupId and+-- EC2SecurityGroupOwnerId cannot be provided.+rdbsgiCIDRIP :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)+rdbsgiCIDRIP = lens _rdbsgiCIDRIP (\s a -> s { _rdbsgiCIDRIP = a })++-- | The name of the DB security group to revoke ingress from.+rdbsgiDBSecurityGroupName :: Lens' RevokeDBSecurityGroupIngress Text+rdbsgiDBSecurityGroupName =+    lens _rdbsgiDBSecurityGroupName+        (\s a -> s { _rdbsgiDBSecurityGroupName = a })++-- | The id of the EC2 security group to revoke access from. For VPC DB+-- security groups, EC2SecurityGroupId must be provided. Otherwise,+-- EC2SecurityGroupOwnerId and either EC2SecurityGroupName or+-- EC2SecurityGroupId must be provided.+rdbsgiEC2SecurityGroupId :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)+rdbsgiEC2SecurityGroupId =+    lens _rdbsgiEC2SecurityGroupId+        (\s a -> s { _rdbsgiEC2SecurityGroupId = a })++-- | The name of the EC2 security group to revoke access from. For VPC DB+-- security groups, EC2SecurityGroupId must be provided. Otherwise,+-- EC2SecurityGroupOwnerId and either EC2SecurityGroupName or+-- EC2SecurityGroupId must be provided.+rdbsgiEC2SecurityGroupName :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)+rdbsgiEC2SecurityGroupName =+    lens _rdbsgiEC2SecurityGroupName+        (\s a -> s { _rdbsgiEC2SecurityGroupName = a })++-- | The AWS Account Number of the owner of the EC2 security group specified+-- in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an+-- acceptable value. For VPC DB security groups, EC2SecurityGroupId must be+-- provided. Otherwise, EC2SecurityGroupOwnerId and either+-- EC2SecurityGroupName or EC2SecurityGroupId must be provided.+rdbsgiEC2SecurityGroupOwnerId :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)+rdbsgiEC2SecurityGroupOwnerId =+    lens _rdbsgiEC2SecurityGroupOwnerId+        (\s a -> s { _rdbsgiEC2SecurityGroupOwnerId = a })++newtype RevokeDBSecurityGroupIngressResponse = RevokeDBSecurityGroupIngressResponse+    { _rdbsgirDBSecurityGroup :: Maybe DBSecurityGroup+    } deriving (Eq, Show)++-- | 'RevokeDBSecurityGroupIngressResponse' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbsgirDBSecurityGroup' @::@ 'Maybe' 'DBSecurityGroup'+--+revokeDBSecurityGroupIngressResponse :: RevokeDBSecurityGroupIngressResponse+revokeDBSecurityGroupIngressResponse = RevokeDBSecurityGroupIngressResponse+    { _rdbsgirDBSecurityGroup = Nothing+    }++rdbsgirDBSecurityGroup :: Lens' RevokeDBSecurityGroupIngressResponse (Maybe DBSecurityGroup)+rdbsgirDBSecurityGroup =+    lens _rdbsgirDBSecurityGroup (\s a -> s { _rdbsgirDBSecurityGroup = a })++instance ToPath RevokeDBSecurityGroupIngress where+    toPath = const "/"++instance ToQuery RevokeDBSecurityGroupIngress where+    toQuery RevokeDBSecurityGroupIngress{..} = mconcat+        [ "CIDRIP"                  =? _rdbsgiCIDRIP+        , "DBSecurityGroupName"     =? _rdbsgiDBSecurityGroupName+        , "EC2SecurityGroupId"      =? _rdbsgiEC2SecurityGroupId+        , "EC2SecurityGroupName"    =? _rdbsgiEC2SecurityGroupName+        , "EC2SecurityGroupOwnerId" =? _rdbsgiEC2SecurityGroupOwnerId+        ]++instance ToHeaders RevokeDBSecurityGroupIngress++instance AWSRequest RevokeDBSecurityGroupIngress where+    type Sv RevokeDBSecurityGroupIngress = RDS+    type Rs RevokeDBSecurityGroupIngress = RevokeDBSecurityGroupIngressResponse++    request  = post "RevokeDBSecurityGroupIngress"+    response = xmlResponse++instance FromXML RevokeDBSecurityGroupIngressResponse where+    parseXML = withElement "RevokeDBSecurityGroupIngressResult" $ \x -> RevokeDBSecurityGroupIngressResponse+        <$> x .@? "DBSecurityGroup"
+ gen/Network/AWS/RDS/Types.hs view
@@ -0,0 +1,3715 @@+{-# 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.RDS.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.RDS.Types+    (+    -- * Service+      RDS+    -- ** Error+    , RESTError+    -- ** XML+    , ns++    -- * OptionGroup+    , OptionGroup+    , optionGroup+    , ogAllowsVpcAndNonVpcInstanceMemberships+    , ogEngineName+    , ogMajorEngineVersion+    , ogOptionGroupDescription+    , ogOptionGroupName+    , ogOptions+    , ogVpcId++    -- * DBParameterGroupStatus+    , DBParameterGroupStatus+    , dbparameterGroupStatus+    , dbpgsDBParameterGroupName+    , dbpgsParameterApplyStatus++    -- * Event+    , Event+    , event+    , eDate+    , eEventCategories+    , eMessage+    , eSourceIdentifier+    , eSourceType++    -- * DBSecurityGroup+    , DBSecurityGroup+    , dbsecurityGroup+    , dbsgDBSecurityGroupDescription+    , dbsgDBSecurityGroupName+    , dbsgEC2SecurityGroups+    , dbsgIPRanges+    , dbsgOwnerId+    , dbsgVpcId++    -- * Tag+    , Tag+    , tag+    , tagKey+    , tagValue++    -- * DBEngineVersion+    , DBEngineVersion+    , dbengineVersion+    , dbevDBEngineDescription+    , dbevDBEngineVersionDescription+    , dbevDBParameterGroupFamily+    , dbevDefaultCharacterSet+    , dbevEngine+    , dbevEngineVersion+    , dbevSupportedCharacterSets++    -- * DBSnapshot+    , DBSnapshot+    , dbsnapshot+    , dbsAllocatedStorage+    , dbsAvailabilityZone+    , dbsDBInstanceIdentifier+    , dbsDBSnapshotIdentifier+    , dbsEngine+    , dbsEngineVersion+    , dbsInstanceCreateTime+    , dbsIops+    , dbsLicenseModel+    , dbsMasterUsername+    , dbsOptionGroupName+    , dbsPercentProgress+    , dbsPort+    , dbsSnapshotCreateTime+    , dbsSnapshotType+    , dbsSourceRegion+    , dbsStatus+    , dbsStorageType+    , dbsTdeCredentialArn+    , dbsVpcId++    -- * DBSecurityGroupMembership+    , DBSecurityGroupMembership+    , dbsecurityGroupMembership+    , dbsgmDBSecurityGroupName+    , dbsgmStatus++    -- * EC2SecurityGroup+    , EC2SecurityGroup+    , ec2SecurityGroup+    , ecsgEC2SecurityGroupId+    , ecsgEC2SecurityGroupName+    , ecsgEC2SecurityGroupOwnerId+    , ecsgStatus++    -- * SourceType+    , SourceType (..)++    -- * DBParameterGroup+    , DBParameterGroup+    , dbparameterGroup+    , dbpgDBParameterGroupFamily+    , dbpgDBParameterGroupName+    , dbpgDescription++    -- * ReservedDBInstancesOffering+    , ReservedDBInstancesOffering+    , reservedDBInstancesOffering+    , rdbioCurrencyCode+    , rdbioDBInstanceClass+    , rdbioDuration+    , rdbioFixedPrice+    , rdbioMultiAZ+    , rdbioOfferingType+    , rdbioProductDescription+    , rdbioRecurringCharges+    , rdbioReservedDBInstancesOfferingId+    , rdbioUsagePrice++    -- * ApplyMethod+    , ApplyMethod (..)++    -- * CharacterSet+    , CharacterSet+    , characterSet+    , csCharacterSetDescription+    , csCharacterSetName++    -- * Subnet+    , Subnet+    , subnet+    , sSubnetAvailabilityZone+    , sSubnetIdentifier+    , sSubnetStatus++    -- * ReservedDBInstance+    , ReservedDBInstance+    , reservedDBInstance+    , rdbiCurrencyCode+    , rdbiDBInstanceClass+    , rdbiDBInstanceCount+    , rdbiDuration+    , rdbiFixedPrice+    , rdbiMultiAZ+    , rdbiOfferingType+    , rdbiProductDescription+    , rdbiRecurringCharges+    , rdbiReservedDBInstanceId+    , rdbiReservedDBInstancesOfferingId+    , rdbiStartTime+    , rdbiState+    , rdbiUsagePrice++    -- * EngineDefaults+    , EngineDefaults+    , engineDefaults+    , edDBParameterGroupFamily+    , edMarker+    , edParameters++    -- * DBParameterGroupNameMessage+    , DBParameterGroupNameMessage+    , dbparameterGroupNameMessage+    , dbpgnmDBParameterGroupName++    -- * OptionGroupOption+    , OptionGroupOption+    , optionGroupOption+    , ogoDefaultPort+    , ogoDescription+    , ogoEngineName+    , ogoMajorEngineVersion+    , ogoMinimumRequiredMinorEngineVersion+    , ogoName+    , ogoOptionGroupOptionSettings+    , ogoOptionsDependedOn+    , ogoPermanent+    , ogoPersistent+    , ogoPortRequired++    -- * DBInstance+    , DBInstance+    , dbinstance+    , dbiAllocatedStorage+    , dbiAutoMinorVersionUpgrade+    , dbiAvailabilityZone+    , dbiBackupRetentionPeriod+    , dbiCharacterSetName+    , dbiDBInstanceClass+    , dbiDBInstanceIdentifier+    , dbiDBInstanceStatus+    , dbiDBName+    , dbiDBParameterGroups+    , dbiDBSecurityGroups+    , dbiDBSubnetGroup+    , dbiEndpoint+    , dbiEngine+    , dbiEngineVersion+    , dbiInstanceCreateTime+    , dbiIops+    , dbiLatestRestorableTime+    , dbiLicenseModel+    , dbiMasterUsername+    , dbiMultiAZ+    , dbiOptionGroupMemberships+    , dbiPendingModifiedValues+    , dbiPreferredBackupWindow+    , dbiPreferredMaintenanceWindow+    , dbiPubliclyAccessible+    , dbiReadReplicaDBInstanceIdentifiers+    , dbiReadReplicaSourceDBInstanceIdentifier+    , dbiSecondaryAvailabilityZone+    , dbiStatusInfos+    , dbiStorageType+    , dbiTdeCredentialArn+    , dbiVpcSecurityGroups++    -- * AvailabilityZone+    , AvailabilityZone+    , availabilityZone+    , azName++    -- * EventSubscription+    , EventSubscription+    , eventSubscription+    , esCustSubscriptionId+    , esCustomerAwsId+    , esEnabled+    , esEventCategoriesList+    , esSnsTopicArn+    , esSourceIdsList+    , esSourceType+    , esStatus+    , esSubscriptionCreationTime++    -- * DBSubnetGroup+    , DBSubnetGroup+    , dbsubnetGroup+    , dbsg1DBSubnetGroupDescription+    , dbsg1DBSubnetGroupName+    , dbsg1SubnetGroupStatus+    , dbsg1Subnets+    , dbsg1VpcId++    -- * DBInstanceStatusInfo+    , DBInstanceStatusInfo+    , dbinstanceStatusInfo+    , dbisiMessage+    , dbisiNormal+    , dbisiStatus+    , dbisiStatusType++    -- * OptionSetting+    , OptionSetting+    , optionSetting+    , osAllowedValues+    , osApplyType+    , osDataType+    , osDefaultValue+    , osDescription+    , osIsCollection+    , osIsModifiable+    , osName+    , osValue++    -- * DescribeDBLogFilesDetails+    , DescribeDBLogFilesDetails+    , describeDBLogFilesDetails+    , ddblfdLastWritten+    , ddblfdLogFileName+    , ddblfdSize++    -- * OrderableDBInstanceOption+    , OrderableDBInstanceOption+    , orderableDBInstanceOption+    , odbioAvailabilityZones+    , odbioDBInstanceClass+    , odbioEngine+    , odbioEngineVersion+    , odbioLicenseModel+    , odbioMultiAZCapable+    , odbioReadReplicaCapable+    , odbioStorageType+    , odbioSupportsIops+    , odbioVpc++    -- * Filter+    , Filter+    , filter'+    , fName+    , fValues++    -- * RecurringCharge+    , RecurringCharge+    , recurringCharge+    , rcRecurringChargeAmount+    , rcRecurringChargeFrequency++    -- * Endpoint+    , Endpoint+    , endpoint+    , eAddress+    , ePort++    -- * OptionConfiguration+    , OptionConfiguration+    , optionConfiguration+    , ocDBSecurityGroupMemberships+    , ocOptionName+    , ocOptionSettings+    , ocPort+    , ocVpcSecurityGroupMemberships++    -- * Option+    , Option+    , option+    , oDBSecurityGroupMemberships+    , oOptionDescription+    , oOptionName+    , oOptionSettings+    , oPermanent+    , oPersistent+    , oPort+    , oVpcSecurityGroupMemberships++    -- * IPRange+    , IPRange+    , iprange+    , iprCIDRIP+    , iprStatus++    -- * OptionGroupMembership+    , OptionGroupMembership+    , optionGroupMembership+    , ogmOptionGroupName+    , ogmStatus++    -- * EventCategoriesMap+    , EventCategoriesMap+    , eventCategoriesMap+    , ecmEventCategories+    , ecmSourceType++    -- * PendingModifiedValues+    , PendingModifiedValues+    , pendingModifiedValues+    , pmvAllocatedStorage+    , pmvBackupRetentionPeriod+    , pmvDBInstanceClass+    , pmvDBInstanceIdentifier+    , pmvEngineVersion+    , pmvIops+    , pmvMasterUserPassword+    , pmvMultiAZ+    , pmvPort+    , pmvStorageType++    -- * VpcSecurityGroupMembership+    , VpcSecurityGroupMembership+    , vpcSecurityGroupMembership+    , vsgmStatus+    , vsgmVpcSecurityGroupId++    -- * Parameter+    , Parameter+    , parameter+    , pAllowedValues+    , pApplyMethod+    , pApplyType+    , pDataType+    , pDescription+    , pIsModifiable+    , pMinimumEngineVersion+    , pParameterName+    , pParameterValue+    , pSource++    -- * OptionGroupOptionSetting+    , OptionGroupOptionSetting+    , optionGroupOptionSetting+    , ogosAllowedValues+    , ogosApplyType+    , ogosDefaultValue+    , ogosIsModifiable+    , ogosSettingDescription+    , ogosSettingName+    ) where++import Network.AWS.Error+import Network.AWS.Prelude+import Network.AWS.Signing.V4+import qualified GHC.Exts++-- | Version @2014-09-01@ of the Amazon Relational Database Service service.+data RDS++instance AWSService RDS where+    type Sg RDS = V4+    type Er RDS = RESTError++    service = Service+        { _svcEndpoint     = regional+        , _svcAbbrev       = "RDS"+        , _svcPrefix       = "rds"+        , _svcVersion      = "2014-09-01"+        , _svcTargetPrefix = Nothing+        , _svcJSONVersion  = Nothing+        }++    handle = restError statusSuccess++ns :: Text+ns = "http://rds.amazonaws.com/doc/2014-09-01/"++data OptionGroup = OptionGroup+    { _ogAllowsVpcAndNonVpcInstanceMemberships :: Maybe Bool+    , _ogEngineName                            :: Maybe Text+    , _ogMajorEngineVersion                    :: Maybe Text+    , _ogOptionGroupDescription                :: Maybe Text+    , _ogOptionGroupName                       :: Maybe Text+    , _ogOptions                               :: List "Option" Option+    , _ogVpcId                                 :: Maybe Text+    } deriving (Eq, Show)++-- | 'OptionGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ogAllowsVpcAndNonVpcInstanceMemberships' @::@ 'Maybe' 'Bool'+--+-- * 'ogEngineName' @::@ 'Maybe' 'Text'+--+-- * 'ogMajorEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'ogOptionGroupDescription' @::@ 'Maybe' 'Text'+--+-- * 'ogOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'ogOptions' @::@ ['Option']+--+-- * 'ogVpcId' @::@ 'Maybe' 'Text'+--+optionGroup :: OptionGroup+optionGroup = OptionGroup+    { _ogOptionGroupName                       = Nothing+    , _ogOptionGroupDescription                = Nothing+    , _ogEngineName                            = Nothing+    , _ogMajorEngineVersion                    = Nothing+    , _ogOptions                               = mempty+    , _ogAllowsVpcAndNonVpcInstanceMemberships = Nothing+    , _ogVpcId                                 = Nothing+    }++-- | Indicates whether this option group can be applied to both VPC and+-- non-VPC instances. The value 'true' indicates the option group can be+-- applied to both VPC and non-VPC instances.+ogAllowsVpcAndNonVpcInstanceMemberships :: Lens' OptionGroup (Maybe Bool)+ogAllowsVpcAndNonVpcInstanceMemberships =+    lens _ogAllowsVpcAndNonVpcInstanceMemberships+        (\s a -> s { _ogAllowsVpcAndNonVpcInstanceMemberships = a })++-- | Engine name that this option group can be applied to.+ogEngineName :: Lens' OptionGroup (Maybe Text)+ogEngineName = lens _ogEngineName (\s a -> s { _ogEngineName = a })++-- | Indicates the major engine version associated with this option group.+ogMajorEngineVersion :: Lens' OptionGroup (Maybe Text)+ogMajorEngineVersion =+    lens _ogMajorEngineVersion (\s a -> s { _ogMajorEngineVersion = a })++-- | Provides the description of the option group.+ogOptionGroupDescription :: Lens' OptionGroup (Maybe Text)+ogOptionGroupDescription =+    lens _ogOptionGroupDescription+        (\s a -> s { _ogOptionGroupDescription = a })++-- | Specifies the name of the option group.+ogOptionGroupName :: Lens' OptionGroup (Maybe Text)+ogOptionGroupName =+    lens _ogOptionGroupName (\s a -> s { _ogOptionGroupName = a })++-- | Indicates what options are available in the option group.+ogOptions :: Lens' OptionGroup [Option]+ogOptions = lens _ogOptions (\s a -> s { _ogOptions = a }) . _List++-- | If AllowsVpcAndNonVpcInstanceMemberships is 'false', this field is blank.+-- If AllowsVpcAndNonVpcInstanceMemberships is 'true' and this field is+-- blank, then this option group can be applied to both VPC and non-VPC+-- instances. If this field contains a value, then this option group can+-- only be applied to instances that are in the VPC indicated by this field.+ogVpcId :: Lens' OptionGroup (Maybe Text)+ogVpcId = lens _ogVpcId (\s a -> s { _ogVpcId = a })++instance FromXML OptionGroup where+    parseXML x = OptionGroup+        <$> x .@? "AllowsVpcAndNonVpcInstanceMemberships"+        <*> x .@? "EngineName"+        <*> x .@? "MajorEngineVersion"+        <*> x .@? "OptionGroupDescription"+        <*> x .@? "OptionGroupName"+        <*> x .@  "Options"+        <*> x .@? "VpcId"++instance ToQuery OptionGroup where+    toQuery OptionGroup{..} = mconcat+        [ "AllowsVpcAndNonVpcInstanceMemberships" =? _ogAllowsVpcAndNonVpcInstanceMemberships+        , "EngineName"                            =? _ogEngineName+        , "MajorEngineVersion"                    =? _ogMajorEngineVersion+        , "OptionGroupDescription"                =? _ogOptionGroupDescription+        , "OptionGroupName"                       =? _ogOptionGroupName+        , "Options"                               =? _ogOptions+        , "VpcId"                                 =? _ogVpcId+        ]++data DBParameterGroupStatus = DBParameterGroupStatus+    { _dbpgsDBParameterGroupName :: Maybe Text+    , _dbpgsParameterApplyStatus :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DBParameterGroupStatus' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbpgsDBParameterGroupName' @::@ 'Maybe' 'Text'+--+-- * 'dbpgsParameterApplyStatus' @::@ 'Maybe' 'Text'+--+dbparameterGroupStatus :: DBParameterGroupStatus+dbparameterGroupStatus = DBParameterGroupStatus+    { _dbpgsDBParameterGroupName = Nothing+    , _dbpgsParameterApplyStatus = Nothing+    }++-- | The name of the DP parameter group.+dbpgsDBParameterGroupName :: Lens' DBParameterGroupStatus (Maybe Text)+dbpgsDBParameterGroupName =+    lens _dbpgsDBParameterGroupName+        (\s a -> s { _dbpgsDBParameterGroupName = a })++-- | The status of parameter updates.+dbpgsParameterApplyStatus :: Lens' DBParameterGroupStatus (Maybe Text)+dbpgsParameterApplyStatus =+    lens _dbpgsParameterApplyStatus+        (\s a -> s { _dbpgsParameterApplyStatus = a })++instance FromXML DBParameterGroupStatus where+    parseXML x = DBParameterGroupStatus+        <$> x .@? "DBParameterGroupName"+        <*> x .@? "ParameterApplyStatus"++instance ToQuery DBParameterGroupStatus where+    toQuery DBParameterGroupStatus{..} = mconcat+        [ "DBParameterGroupName" =? _dbpgsDBParameterGroupName+        , "ParameterApplyStatus" =? _dbpgsParameterApplyStatus+        ]++data Event = Event+    { _eDate             :: Maybe RFC822+    , _eEventCategories  :: List "EventCategory" Text+    , _eMessage          :: Maybe Text+    , _eSourceIdentifier :: Maybe Text+    , _eSourceType       :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'Event' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'eDate' @::@ 'Maybe' 'UTCTime'+--+-- * 'eEventCategories' @::@ ['Text']+--+-- * 'eMessage' @::@ 'Maybe' 'Text'+--+-- * 'eSourceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'eSourceType' @::@ 'Maybe' 'Text'+--+event :: Event+event = Event+    { _eSourceIdentifier = Nothing+    , _eSourceType       = Nothing+    , _eMessage          = Nothing+    , _eEventCategories  = mempty+    , _eDate             = Nothing+    }++-- | Specifies the date and time of the event.+eDate :: Lens' Event (Maybe UTCTime)+eDate = lens _eDate (\s a -> s { _eDate = a }) . mapping _Time++-- | Specifies the category for the event.+eEventCategories :: Lens' Event [Text]+eEventCategories = lens _eEventCategories (\s a -> s { _eEventCategories = a }) . _List++-- | Provides the text of this event.+eMessage :: Lens' Event (Maybe Text)+eMessage = lens _eMessage (\s a -> s { _eMessage = a })++-- | Provides the identifier for the source of the event.+eSourceIdentifier :: Lens' Event (Maybe Text)+eSourceIdentifier =+    lens _eSourceIdentifier (\s a -> s { _eSourceIdentifier = a })++-- | Specifies the source type for this event.+eSourceType :: Lens' Event (Maybe Text)+eSourceType = lens _eSourceType (\s a -> s { _eSourceType = a })++instance FromXML Event where+    parseXML x = Event+        <$> x .@? "Date"+        <*> x .@  "EventCategories"+        <*> x .@? "Message"+        <*> x .@? "SourceIdentifier"+        <*> x .@? "SourceType"++instance ToQuery Event where+    toQuery Event{..} = mconcat+        [ "Date"             =? _eDate+        , "EventCategories"  =? _eEventCategories+        , "Message"          =? _eMessage+        , "SourceIdentifier" =? _eSourceIdentifier+        , "SourceType"       =? _eSourceType+        ]++data DBSecurityGroup = DBSecurityGroup+    { _dbsgDBSecurityGroupDescription :: Maybe Text+    , _dbsgDBSecurityGroupName        :: Maybe Text+    , _dbsgEC2SecurityGroups          :: List "EC2SecurityGroup" EC2SecurityGroup+    , _dbsgIPRanges                   :: List "IPRange" IPRange+    , _dbsgOwnerId                    :: Maybe Text+    , _dbsgVpcId                      :: Maybe Text+    } deriving (Eq, Show)++-- | 'DBSecurityGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbsgDBSecurityGroupDescription' @::@ 'Maybe' 'Text'+--+-- * 'dbsgDBSecurityGroupName' @::@ 'Maybe' 'Text'+--+-- * 'dbsgEC2SecurityGroups' @::@ ['EC2SecurityGroup']+--+-- * 'dbsgIPRanges' @::@ ['IPRange']+--+-- * 'dbsgOwnerId' @::@ 'Maybe' 'Text'+--+-- * 'dbsgVpcId' @::@ 'Maybe' 'Text'+--+dbsecurityGroup :: DBSecurityGroup+dbsecurityGroup = DBSecurityGroup+    { _dbsgOwnerId                    = Nothing+    , _dbsgDBSecurityGroupName        = Nothing+    , _dbsgDBSecurityGroupDescription = Nothing+    , _dbsgVpcId                      = Nothing+    , _dbsgEC2SecurityGroups          = mempty+    , _dbsgIPRanges                   = mempty+    }++-- | Provides the description of the DB security group.+dbsgDBSecurityGroupDescription :: Lens' DBSecurityGroup (Maybe Text)+dbsgDBSecurityGroupDescription =+    lens _dbsgDBSecurityGroupDescription+        (\s a -> s { _dbsgDBSecurityGroupDescription = a })++-- | Specifies the name of the DB security group.+dbsgDBSecurityGroupName :: Lens' DBSecurityGroup (Maybe Text)+dbsgDBSecurityGroupName =+    lens _dbsgDBSecurityGroupName (\s a -> s { _dbsgDBSecurityGroupName = a })++-- | Contains a list of EC2SecurityGroup elements.+dbsgEC2SecurityGroups :: Lens' DBSecurityGroup [EC2SecurityGroup]+dbsgEC2SecurityGroups =+    lens _dbsgEC2SecurityGroups (\s a -> s { _dbsgEC2SecurityGroups = a })+        . _List++-- | Contains a list of IPRange elements.+dbsgIPRanges :: Lens' DBSecurityGroup [IPRange]+dbsgIPRanges = lens _dbsgIPRanges (\s a -> s { _dbsgIPRanges = a }) . _List++-- | Provides the AWS ID of the owner of a specific DB security group.+dbsgOwnerId :: Lens' DBSecurityGroup (Maybe Text)+dbsgOwnerId = lens _dbsgOwnerId (\s a -> s { _dbsgOwnerId = a })++-- | Provides the VpcId of the DB security group.+dbsgVpcId :: Lens' DBSecurityGroup (Maybe Text)+dbsgVpcId = lens _dbsgVpcId (\s a -> s { _dbsgVpcId = a })++instance FromXML DBSecurityGroup where+    parseXML x = DBSecurityGroup+        <$> x .@? "DBSecurityGroupDescription"+        <*> x .@? "DBSecurityGroupName"+        <*> x .@  "EC2SecurityGroups"+        <*> x .@  "IPRanges"+        <*> x .@? "OwnerId"+        <*> x .@? "VpcId"++instance ToQuery DBSecurityGroup where+    toQuery DBSecurityGroup{..} = mconcat+        [ "DBSecurityGroupDescription" =? _dbsgDBSecurityGroupDescription+        , "DBSecurityGroupName"        =? _dbsgDBSecurityGroupName+        , "EC2SecurityGroups"          =? _dbsgEC2SecurityGroups+        , "IPRanges"                   =? _dbsgIPRanges+        , "OwnerId"                    =? _dbsgOwnerId+        , "VpcId"                      =? _dbsgVpcId+        ]++data Tag = Tag+    { _tagKey   :: Maybe Text+    , _tagValue :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'Tag' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'tagKey' @::@ 'Maybe' 'Text'+--+-- * 'tagValue' @::@ 'Maybe' 'Text'+--+tag :: Tag+tag = Tag+    { _tagKey   = Nothing+    , _tagValue = Nothing+    }++-- | A key is the required name of the tag. The string value can be from 1 to+-- 128 Unicode characters in length and cannot be prefixed with "aws:" or+-- "rds:". The string may only contain only the set of Unicode letters,+-- digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex:+-- "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").+tagKey :: Lens' Tag (Maybe Text)+tagKey = lens _tagKey (\s a -> s { _tagKey = a })++-- | A value is the optional value of the tag. The string value can be from 1+-- to 256 Unicode characters in length and cannot be prefixed with "aws:" or+-- "rds:". The string may only contain only the set of Unicode letters,+-- digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex:+-- "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").+tagValue :: Lens' Tag (Maybe Text)+tagValue = lens _tagValue (\s a -> s { _tagValue = a })++instance FromXML Tag where+    parseXML x = Tag+        <$> x .@? "Key"+        <*> x .@? "Value"++instance ToQuery Tag where+    toQuery Tag{..} = mconcat+        [ "Key"   =? _tagKey+        , "Value" =? _tagValue+        ]++data DBEngineVersion = DBEngineVersion+    { _dbevDBEngineDescription        :: Maybe Text+    , _dbevDBEngineVersionDescription :: Maybe Text+    , _dbevDBParameterGroupFamily     :: Maybe Text+    , _dbevDefaultCharacterSet        :: Maybe CharacterSet+    , _dbevEngine                     :: Maybe Text+    , _dbevEngineVersion              :: Maybe Text+    , _dbevSupportedCharacterSets     :: List "CharacterSet" CharacterSet+    } deriving (Eq, Show)++-- | 'DBEngineVersion' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbevDBEngineDescription' @::@ 'Maybe' 'Text'+--+-- * 'dbevDBEngineVersionDescription' @::@ 'Maybe' 'Text'+--+-- * 'dbevDBParameterGroupFamily' @::@ 'Maybe' 'Text'+--+-- * 'dbevDefaultCharacterSet' @::@ 'Maybe' 'CharacterSet'+--+-- * 'dbevEngine' @::@ 'Maybe' 'Text'+--+-- * 'dbevEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'dbevSupportedCharacterSets' @::@ ['CharacterSet']+--+dbengineVersion :: DBEngineVersion+dbengineVersion = DBEngineVersion+    { _dbevEngine                     = Nothing+    , _dbevEngineVersion              = Nothing+    , _dbevDBParameterGroupFamily     = Nothing+    , _dbevDBEngineDescription        = Nothing+    , _dbevDBEngineVersionDescription = Nothing+    , _dbevDefaultCharacterSet        = Nothing+    , _dbevSupportedCharacterSets     = mempty+    }++-- | The description of the database engine.+dbevDBEngineDescription :: Lens' DBEngineVersion (Maybe Text)+dbevDBEngineDescription =+    lens _dbevDBEngineDescription (\s a -> s { _dbevDBEngineDescription = a })++-- | The description of the database engine version.+dbevDBEngineVersionDescription :: Lens' DBEngineVersion (Maybe Text)+dbevDBEngineVersionDescription =+    lens _dbevDBEngineVersionDescription+        (\s a -> s { _dbevDBEngineVersionDescription = a })++-- | The name of the DB parameter group family for the database engine.+dbevDBParameterGroupFamily :: Lens' DBEngineVersion (Maybe Text)+dbevDBParameterGroupFamily =+    lens _dbevDBParameterGroupFamily+        (\s a -> s { _dbevDBParameterGroupFamily = a })++-- | The default character set for new instances of this engine version, if+-- the CharacterSetName parameter of the CreateDBInstance API is not+-- specified.+dbevDefaultCharacterSet :: Lens' DBEngineVersion (Maybe CharacterSet)+dbevDefaultCharacterSet =+    lens _dbevDefaultCharacterSet (\s a -> s { _dbevDefaultCharacterSet = a })++-- | The name of the database engine.+dbevEngine :: Lens' DBEngineVersion (Maybe Text)+dbevEngine = lens _dbevEngine (\s a -> s { _dbevEngine = a })++-- | The version number of the database engine.+dbevEngineVersion :: Lens' DBEngineVersion (Maybe Text)+dbevEngineVersion =+    lens _dbevEngineVersion (\s a -> s { _dbevEngineVersion = a })++-- | A list of the character sets supported by this engine for the+-- CharacterSetName parameter of the CreateDBInstance API.+dbevSupportedCharacterSets :: Lens' DBEngineVersion [CharacterSet]+dbevSupportedCharacterSets =+    lens _dbevSupportedCharacterSets+        (\s a -> s { _dbevSupportedCharacterSets = a })+            . _List++instance FromXML DBEngineVersion where+    parseXML x = DBEngineVersion+        <$> x .@? "DBEngineDescription"+        <*> x .@? "DBEngineVersionDescription"+        <*> x .@? "DBParameterGroupFamily"+        <*> x .@? "DefaultCharacterSet"+        <*> x .@? "Engine"+        <*> x .@? "EngineVersion"+        <*> x .@  "SupportedCharacterSets"++instance ToQuery DBEngineVersion where+    toQuery DBEngineVersion{..} = mconcat+        [ "DBEngineDescription"        =? _dbevDBEngineDescription+        , "DBEngineVersionDescription" =? _dbevDBEngineVersionDescription+        , "DBParameterGroupFamily"     =? _dbevDBParameterGroupFamily+        , "DefaultCharacterSet"        =? _dbevDefaultCharacterSet+        , "Engine"                     =? _dbevEngine+        , "EngineVersion"              =? _dbevEngineVersion+        , "SupportedCharacterSets"     =? _dbevSupportedCharacterSets+        ]++data DBSnapshot = DBSnapshot+    { _dbsAllocatedStorage     :: Maybe Int+    , _dbsAvailabilityZone     :: Maybe Text+    , _dbsDBInstanceIdentifier :: Maybe Text+    , _dbsDBSnapshotIdentifier :: Maybe Text+    , _dbsEngine               :: Maybe Text+    , _dbsEngineVersion        :: Maybe Text+    , _dbsInstanceCreateTime   :: Maybe RFC822+    , _dbsIops                 :: Maybe Int+    , _dbsLicenseModel         :: Maybe Text+    , _dbsMasterUsername       :: Maybe Text+    , _dbsOptionGroupName      :: Maybe Text+    , _dbsPercentProgress      :: Maybe Int+    , _dbsPort                 :: Maybe Int+    , _dbsSnapshotCreateTime   :: Maybe RFC822+    , _dbsSnapshotType         :: Maybe Text+    , _dbsSourceRegion         :: Maybe Text+    , _dbsStatus               :: Maybe Text+    , _dbsStorageType          :: Maybe Text+    , _dbsTdeCredentialArn     :: Maybe Text+    , _dbsVpcId                :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DBSnapshot' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbsAllocatedStorage' @::@ 'Maybe' 'Int'+--+-- * 'dbsAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'dbsDBInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'dbsDBSnapshotIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'dbsEngine' @::@ 'Maybe' 'Text'+--+-- * 'dbsEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'dbsInstanceCreateTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'dbsIops' @::@ 'Maybe' 'Int'+--+-- * 'dbsLicenseModel' @::@ 'Maybe' 'Text'+--+-- * 'dbsMasterUsername' @::@ 'Maybe' 'Text'+--+-- * 'dbsOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'dbsPercentProgress' @::@ 'Maybe' 'Int'+--+-- * 'dbsPort' @::@ 'Maybe' 'Int'+--+-- * 'dbsSnapshotCreateTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'dbsSnapshotType' @::@ 'Maybe' 'Text'+--+-- * 'dbsSourceRegion' @::@ 'Maybe' 'Text'+--+-- * 'dbsStatus' @::@ 'Maybe' 'Text'+--+-- * 'dbsStorageType' @::@ 'Maybe' 'Text'+--+-- * 'dbsTdeCredentialArn' @::@ 'Maybe' 'Text'+--+-- * 'dbsVpcId' @::@ 'Maybe' 'Text'+--+dbsnapshot :: DBSnapshot+dbsnapshot = DBSnapshot+    { _dbsDBSnapshotIdentifier = Nothing+    , _dbsDBInstanceIdentifier = Nothing+    , _dbsSnapshotCreateTime   = Nothing+    , _dbsEngine               = Nothing+    , _dbsAllocatedStorage     = Nothing+    , _dbsStatus               = Nothing+    , _dbsPort                 = Nothing+    , _dbsAvailabilityZone     = Nothing+    , _dbsVpcId                = Nothing+    , _dbsInstanceCreateTime   = Nothing+    , _dbsMasterUsername       = Nothing+    , _dbsEngineVersion        = Nothing+    , _dbsLicenseModel         = Nothing+    , _dbsSnapshotType         = Nothing+    , _dbsIops                 = Nothing+    , _dbsOptionGroupName      = Nothing+    , _dbsPercentProgress      = Nothing+    , _dbsSourceRegion         = Nothing+    , _dbsStorageType          = Nothing+    , _dbsTdeCredentialArn     = Nothing+    }++-- | Specifies the allocated storage size in gigabytes (GB).+dbsAllocatedStorage :: Lens' DBSnapshot (Maybe Int)+dbsAllocatedStorage =+    lens _dbsAllocatedStorage (\s a -> s { _dbsAllocatedStorage = a })++-- | Specifies the name of the Availability Zone the DB instance was located+-- in at the time of the DB snapshot.+dbsAvailabilityZone :: Lens' DBSnapshot (Maybe Text)+dbsAvailabilityZone =+    lens _dbsAvailabilityZone (\s a -> s { _dbsAvailabilityZone = a })++-- | Specifies the DB instance identifier of the DB instance this DB snapshot+-- was created from.+dbsDBInstanceIdentifier :: Lens' DBSnapshot (Maybe Text)+dbsDBInstanceIdentifier =+    lens _dbsDBInstanceIdentifier (\s a -> s { _dbsDBInstanceIdentifier = a })++-- | Specifies the identifier for the DB snapshot.+dbsDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)+dbsDBSnapshotIdentifier =+    lens _dbsDBSnapshotIdentifier (\s a -> s { _dbsDBSnapshotIdentifier = a })++-- | Specifies the name of the database engine.+dbsEngine :: Lens' DBSnapshot (Maybe Text)+dbsEngine = lens _dbsEngine (\s a -> s { _dbsEngine = a })++-- | Specifies the version of the database engine.+dbsEngineVersion :: Lens' DBSnapshot (Maybe Text)+dbsEngineVersion = lens _dbsEngineVersion (\s a -> s { _dbsEngineVersion = a })++-- | Specifies the time (UTC) when the snapshot was taken.+dbsInstanceCreateTime :: Lens' DBSnapshot (Maybe UTCTime)+dbsInstanceCreateTime =+    lens _dbsInstanceCreateTime (\s a -> s { _dbsInstanceCreateTime = a })+        . mapping _Time++-- | Specifies the Provisioned IOPS (I/O operations per second) value of the+-- DB instance at the time of the snapshot.+dbsIops :: Lens' DBSnapshot (Maybe Int)+dbsIops = lens _dbsIops (\s a -> s { _dbsIops = a })++-- | License model information for the restored DB instance.+dbsLicenseModel :: Lens' DBSnapshot (Maybe Text)+dbsLicenseModel = lens _dbsLicenseModel (\s a -> s { _dbsLicenseModel = a })++-- | Provides the master username for the DB snapshot.+dbsMasterUsername :: Lens' DBSnapshot (Maybe Text)+dbsMasterUsername =+    lens _dbsMasterUsername (\s a -> s { _dbsMasterUsername = a })++-- | Provides the option group name for the DB snapshot.+dbsOptionGroupName :: Lens' DBSnapshot (Maybe Text)+dbsOptionGroupName =+    lens _dbsOptionGroupName (\s a -> s { _dbsOptionGroupName = a })++-- | The percentage of the estimated data that has been transferred.+dbsPercentProgress :: Lens' DBSnapshot (Maybe Int)+dbsPercentProgress =+    lens _dbsPercentProgress (\s a -> s { _dbsPercentProgress = a })++-- | Specifies the port that the database engine was listening on at the time+-- of the snapshot.+dbsPort :: Lens' DBSnapshot (Maybe Int)+dbsPort = lens _dbsPort (\s a -> s { _dbsPort = a })++-- | Provides the time (UTC) when the snapshot was taken.+dbsSnapshotCreateTime :: Lens' DBSnapshot (Maybe UTCTime)+dbsSnapshotCreateTime =+    lens _dbsSnapshotCreateTime (\s a -> s { _dbsSnapshotCreateTime = a })+        . mapping _Time++-- | Provides the type of the DB snapshot.+dbsSnapshotType :: Lens' DBSnapshot (Maybe Text)+dbsSnapshotType = lens _dbsSnapshotType (\s a -> s { _dbsSnapshotType = a })++-- | The region that the DB snapshot was created in or copied from.+dbsSourceRegion :: Lens' DBSnapshot (Maybe Text)+dbsSourceRegion = lens _dbsSourceRegion (\s a -> s { _dbsSourceRegion = a })++-- | Specifies the status of this DB snapshot.+dbsStatus :: Lens' DBSnapshot (Maybe Text)+dbsStatus = lens _dbsStatus (\s a -> s { _dbsStatus = a })++-- | Specifies storage type associated with DB Snapshot.+dbsStorageType :: Lens' DBSnapshot (Maybe Text)+dbsStorageType = lens _dbsStorageType (\s a -> s { _dbsStorageType = a })++-- | The ARN from the Key Store with which to associate the instance for TDE+-- encryption.+dbsTdeCredentialArn :: Lens' DBSnapshot (Maybe Text)+dbsTdeCredentialArn =+    lens _dbsTdeCredentialArn (\s a -> s { _dbsTdeCredentialArn = a })++-- | Provides the Vpc Id associated with the DB snapshot.+dbsVpcId :: Lens' DBSnapshot (Maybe Text)+dbsVpcId = lens _dbsVpcId (\s a -> s { _dbsVpcId = a })++instance FromXML DBSnapshot where+    parseXML x = DBSnapshot+        <$> x .@? "AllocatedStorage"+        <*> x .@? "AvailabilityZone"+        <*> x .@? "DBInstanceIdentifier"+        <*> x .@? "DBSnapshotIdentifier"+        <*> x .@? "Engine"+        <*> x .@? "EngineVersion"+        <*> x .@? "InstanceCreateTime"+        <*> x .@? "Iops"+        <*> x .@? "LicenseModel"+        <*> x .@? "MasterUsername"+        <*> x .@? "OptionGroupName"+        <*> x .@? "PercentProgress"+        <*> x .@? "Port"+        <*> x .@? "SnapshotCreateTime"+        <*> x .@? "SnapshotType"+        <*> x .@? "SourceRegion"+        <*> x .@? "Status"+        <*> x .@? "StorageType"+        <*> x .@? "TdeCredentialArn"+        <*> x .@? "VpcId"++instance ToQuery DBSnapshot where+    toQuery DBSnapshot{..} = mconcat+        [ "AllocatedStorage"     =? _dbsAllocatedStorage+        , "AvailabilityZone"     =? _dbsAvailabilityZone+        , "DBInstanceIdentifier" =? _dbsDBInstanceIdentifier+        , "DBSnapshotIdentifier" =? _dbsDBSnapshotIdentifier+        , "Engine"               =? _dbsEngine+        , "EngineVersion"        =? _dbsEngineVersion+        , "InstanceCreateTime"   =? _dbsInstanceCreateTime+        , "Iops"                 =? _dbsIops+        , "LicenseModel"         =? _dbsLicenseModel+        , "MasterUsername"       =? _dbsMasterUsername+        , "OptionGroupName"      =? _dbsOptionGroupName+        , "PercentProgress"      =? _dbsPercentProgress+        , "Port"                 =? _dbsPort+        , "SnapshotCreateTime"   =? _dbsSnapshotCreateTime+        , "SnapshotType"         =? _dbsSnapshotType+        , "SourceRegion"         =? _dbsSourceRegion+        , "Status"               =? _dbsStatus+        , "StorageType"          =? _dbsStorageType+        , "TdeCredentialArn"     =? _dbsTdeCredentialArn+        , "VpcId"                =? _dbsVpcId+        ]++data DBSecurityGroupMembership = DBSecurityGroupMembership+    { _dbsgmDBSecurityGroupName :: Maybe Text+    , _dbsgmStatus              :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DBSecurityGroupMembership' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbsgmDBSecurityGroupName' @::@ 'Maybe' 'Text'+--+-- * 'dbsgmStatus' @::@ 'Maybe' 'Text'+--+dbsecurityGroupMembership :: DBSecurityGroupMembership+dbsecurityGroupMembership = DBSecurityGroupMembership+    { _dbsgmDBSecurityGroupName = Nothing+    , _dbsgmStatus              = Nothing+    }++-- | The name of the DB security group.+dbsgmDBSecurityGroupName :: Lens' DBSecurityGroupMembership (Maybe Text)+dbsgmDBSecurityGroupName =+    lens _dbsgmDBSecurityGroupName+        (\s a -> s { _dbsgmDBSecurityGroupName = a })++-- | The status of the DB security group.+dbsgmStatus :: Lens' DBSecurityGroupMembership (Maybe Text)+dbsgmStatus = lens _dbsgmStatus (\s a -> s { _dbsgmStatus = a })++instance FromXML DBSecurityGroupMembership where+    parseXML x = DBSecurityGroupMembership+        <$> x .@? "DBSecurityGroupName"+        <*> x .@? "Status"++instance ToQuery DBSecurityGroupMembership where+    toQuery DBSecurityGroupMembership{..} = mconcat+        [ "DBSecurityGroupName" =? _dbsgmDBSecurityGroupName+        , "Status"              =? _dbsgmStatus+        ]++data EC2SecurityGroup = EC2SecurityGroup+    { _ecsgEC2SecurityGroupId      :: Maybe Text+    , _ecsgEC2SecurityGroupName    :: Maybe Text+    , _ecsgEC2SecurityGroupOwnerId :: Maybe Text+    , _ecsgStatus                  :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'EC2SecurityGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ecsgEC2SecurityGroupId' @::@ 'Maybe' 'Text'+--+-- * 'ecsgEC2SecurityGroupName' @::@ 'Maybe' 'Text'+--+-- * 'ecsgEC2SecurityGroupOwnerId' @::@ 'Maybe' 'Text'+--+-- * 'ecsgStatus' @::@ 'Maybe' 'Text'+--+ec2SecurityGroup :: EC2SecurityGroup+ec2SecurityGroup = EC2SecurityGroup+    { _ecsgStatus                  = Nothing+    , _ecsgEC2SecurityGroupName    = Nothing+    , _ecsgEC2SecurityGroupId      = Nothing+    , _ecsgEC2SecurityGroupOwnerId = Nothing+    }++-- | Specifies the id of the EC2 security group.+ecsgEC2SecurityGroupId :: Lens' EC2SecurityGroup (Maybe Text)+ecsgEC2SecurityGroupId =+    lens _ecsgEC2SecurityGroupId (\s a -> s { _ecsgEC2SecurityGroupId = a })++-- | Specifies the name of the EC2 security group.+ecsgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)+ecsgEC2SecurityGroupName =+    lens _ecsgEC2SecurityGroupName+        (\s a -> s { _ecsgEC2SecurityGroupName = a })++-- | Specifies the AWS ID of the owner of the EC2 security group specified in+-- the EC2SecurityGroupName field.+ecsgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)+ecsgEC2SecurityGroupOwnerId =+    lens _ecsgEC2SecurityGroupOwnerId+        (\s a -> s { _ecsgEC2SecurityGroupOwnerId = a })++-- | Provides the status of the EC2 security group. Status can be+-- "authorizing", "authorized", "revoking", and "revoked".+ecsgStatus :: Lens' EC2SecurityGroup (Maybe Text)+ecsgStatus = lens _ecsgStatus (\s a -> s { _ecsgStatus = a })++instance FromXML EC2SecurityGroup where+    parseXML x = EC2SecurityGroup+        <$> x .@? "EC2SecurityGroupId"+        <*> x .@? "EC2SecurityGroupName"+        <*> x .@? "EC2SecurityGroupOwnerId"+        <*> x .@? "Status"++instance ToQuery EC2SecurityGroup where+    toQuery EC2SecurityGroup{..} = mconcat+        [ "EC2SecurityGroupId"      =? _ecsgEC2SecurityGroupId+        , "EC2SecurityGroupName"    =? _ecsgEC2SecurityGroupName+        , "EC2SecurityGroupOwnerId" =? _ecsgEC2SecurityGroupOwnerId+        , "Status"                  =? _ecsgStatus+        ]++data SourceType+    = DbInstance       -- ^ db-instance+    | DbParameterGroup -- ^ db-parameter-group+    | DbSecurityGroup  -- ^ db-security-group+    | DbSnapshot       -- ^ db-snapshot+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable SourceType++instance FromText SourceType where+    parser = match "db-instance"        DbInstance+         <|> match "db-parameter-group" DbParameterGroup+         <|> match "db-security-group"  DbSecurityGroup+         <|> match "db-snapshot"        DbSnapshot++instance ToText SourceType where+    toText = \case+        DbInstance       -> "db-instance"+        DbParameterGroup -> "db-parameter-group"+        DbSecurityGroup  -> "db-security-group"+        DbSnapshot       -> "db-snapshot"++instance FromXML SourceType where+    parseXML = parseXMLText "SourceType"++instance ToQuery SourceType where+    toQuery = toQuery . toText++data DBParameterGroup = DBParameterGroup+    { _dbpgDBParameterGroupFamily :: Maybe Text+    , _dbpgDBParameterGroupName   :: Maybe Text+    , _dbpgDescription            :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DBParameterGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbpgDBParameterGroupFamily' @::@ 'Maybe' 'Text'+--+-- * 'dbpgDBParameterGroupName' @::@ 'Maybe' 'Text'+--+-- * 'dbpgDescription' @::@ 'Maybe' 'Text'+--+dbparameterGroup :: DBParameterGroup+dbparameterGroup = DBParameterGroup+    { _dbpgDBParameterGroupName   = Nothing+    , _dbpgDBParameterGroupFamily = Nothing+    , _dbpgDescription            = Nothing+    }++-- | Provides the name of the DB parameter group family that this DB parameter+-- group is compatible with.+dbpgDBParameterGroupFamily :: Lens' DBParameterGroup (Maybe Text)+dbpgDBParameterGroupFamily =+    lens _dbpgDBParameterGroupFamily+        (\s a -> s { _dbpgDBParameterGroupFamily = a })++-- | Provides the name of the DB parameter group.+dbpgDBParameterGroupName :: Lens' DBParameterGroup (Maybe Text)+dbpgDBParameterGroupName =+    lens _dbpgDBParameterGroupName+        (\s a -> s { _dbpgDBParameterGroupName = a })++-- | Provides the customer-specified description for this DB parameter group.+dbpgDescription :: Lens' DBParameterGroup (Maybe Text)+dbpgDescription = lens _dbpgDescription (\s a -> s { _dbpgDescription = a })++instance FromXML DBParameterGroup where+    parseXML x = DBParameterGroup+        <$> x .@? "DBParameterGroupFamily"+        <*> x .@? "DBParameterGroupName"+        <*> x .@? "Description"++instance ToQuery DBParameterGroup where+    toQuery DBParameterGroup{..} = mconcat+        [ "DBParameterGroupFamily" =? _dbpgDBParameterGroupFamily+        , "DBParameterGroupName"   =? _dbpgDBParameterGroupName+        , "Description"            =? _dbpgDescription+        ]++data ReservedDBInstancesOffering = ReservedDBInstancesOffering+    { _rdbioCurrencyCode                  :: Maybe Text+    , _rdbioDBInstanceClass               :: Maybe Text+    , _rdbioDuration                      :: Maybe Int+    , _rdbioFixedPrice                    :: Maybe Double+    , _rdbioMultiAZ                       :: Maybe Bool+    , _rdbioOfferingType                  :: Maybe Text+    , _rdbioProductDescription            :: Maybe Text+    , _rdbioRecurringCharges              :: List "RecurringCharge" RecurringCharge+    , _rdbioReservedDBInstancesOfferingId :: Maybe Text+    , _rdbioUsagePrice                    :: Maybe Double+    } deriving (Eq, Show)++-- | 'ReservedDBInstancesOffering' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbioCurrencyCode' @::@ 'Maybe' 'Text'+--+-- * 'rdbioDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'rdbioDuration' @::@ 'Maybe' 'Int'+--+-- * 'rdbioFixedPrice' @::@ 'Maybe' 'Double'+--+-- * 'rdbioMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'rdbioOfferingType' @::@ 'Maybe' 'Text'+--+-- * 'rdbioProductDescription' @::@ 'Maybe' 'Text'+--+-- * 'rdbioRecurringCharges' @::@ ['RecurringCharge']+--+-- * 'rdbioReservedDBInstancesOfferingId' @::@ 'Maybe' 'Text'+--+-- * 'rdbioUsagePrice' @::@ 'Maybe' 'Double'+--+reservedDBInstancesOffering :: ReservedDBInstancesOffering+reservedDBInstancesOffering = ReservedDBInstancesOffering+    { _rdbioReservedDBInstancesOfferingId = Nothing+    , _rdbioDBInstanceClass               = Nothing+    , _rdbioDuration                      = Nothing+    , _rdbioFixedPrice                    = Nothing+    , _rdbioUsagePrice                    = Nothing+    , _rdbioCurrencyCode                  = Nothing+    , _rdbioProductDescription            = Nothing+    , _rdbioOfferingType                  = Nothing+    , _rdbioMultiAZ                       = Nothing+    , _rdbioRecurringCharges              = mempty+    }++-- | The currency code for the reserved DB instance offering.+rdbioCurrencyCode :: Lens' ReservedDBInstancesOffering (Maybe Text)+rdbioCurrencyCode =+    lens _rdbioCurrencyCode (\s a -> s { _rdbioCurrencyCode = a })++-- | The DB instance class for the reserved DB instance.+rdbioDBInstanceClass :: Lens' ReservedDBInstancesOffering (Maybe Text)+rdbioDBInstanceClass =+    lens _rdbioDBInstanceClass (\s a -> s { _rdbioDBInstanceClass = a })++-- | The duration of the offering in seconds.+rdbioDuration :: Lens' ReservedDBInstancesOffering (Maybe Int)+rdbioDuration = lens _rdbioDuration (\s a -> s { _rdbioDuration = a })++-- | The fixed price charged for this offering.+rdbioFixedPrice :: Lens' ReservedDBInstancesOffering (Maybe Double)+rdbioFixedPrice = lens _rdbioFixedPrice (\s a -> s { _rdbioFixedPrice = a })++-- | Indicates if the offering applies to Multi-AZ deployments.+rdbioMultiAZ :: Lens' ReservedDBInstancesOffering (Maybe Bool)+rdbioMultiAZ = lens _rdbioMultiAZ (\s a -> s { _rdbioMultiAZ = a })++-- | The offering type.+rdbioOfferingType :: Lens' ReservedDBInstancesOffering (Maybe Text)+rdbioOfferingType =+    lens _rdbioOfferingType (\s a -> s { _rdbioOfferingType = a })++-- | The database engine used by the offering.+rdbioProductDescription :: Lens' ReservedDBInstancesOffering (Maybe Text)+rdbioProductDescription =+    lens _rdbioProductDescription (\s a -> s { _rdbioProductDescription = a })++-- | The recurring price charged to run this reserved DB instance.+rdbioRecurringCharges :: Lens' ReservedDBInstancesOffering [RecurringCharge]+rdbioRecurringCharges =+    lens _rdbioRecurringCharges (\s a -> s { _rdbioRecurringCharges = a })+        . _List++-- | The offering identifier.+rdbioReservedDBInstancesOfferingId :: Lens' ReservedDBInstancesOffering (Maybe Text)+rdbioReservedDBInstancesOfferingId =+    lens _rdbioReservedDBInstancesOfferingId+        (\s a -> s { _rdbioReservedDBInstancesOfferingId = a })++-- | The hourly price charged for this offering.+rdbioUsagePrice :: Lens' ReservedDBInstancesOffering (Maybe Double)+rdbioUsagePrice = lens _rdbioUsagePrice (\s a -> s { _rdbioUsagePrice = a })++instance FromXML ReservedDBInstancesOffering where+    parseXML x = ReservedDBInstancesOffering+        <$> x .@? "CurrencyCode"+        <*> x .@? "DBInstanceClass"+        <*> x .@? "Duration"+        <*> x .@? "FixedPrice"+        <*> x .@? "MultiAZ"+        <*> x .@? "OfferingType"+        <*> x .@? "ProductDescription"+        <*> x .@  "RecurringCharges"+        <*> x .@? "ReservedDBInstancesOfferingId"+        <*> x .@? "UsagePrice"++instance ToQuery ReservedDBInstancesOffering where+    toQuery ReservedDBInstancesOffering{..} = mconcat+        [ "CurrencyCode"                  =? _rdbioCurrencyCode+        , "DBInstanceClass"               =? _rdbioDBInstanceClass+        , "Duration"                      =? _rdbioDuration+        , "FixedPrice"                    =? _rdbioFixedPrice+        , "MultiAZ"                       =? _rdbioMultiAZ+        , "OfferingType"                  =? _rdbioOfferingType+        , "ProductDescription"            =? _rdbioProductDescription+        , "RecurringCharges"              =? _rdbioRecurringCharges+        , "ReservedDBInstancesOfferingId" =? _rdbioReservedDBInstancesOfferingId+        , "UsagePrice"                    =? _rdbioUsagePrice+        ]++data ApplyMethod+    = Immediate     -- ^ immediate+    | PendingReboot -- ^ pending-reboot+      deriving (Eq, Ord, Show, Generic, Enum)++instance Hashable ApplyMethod++instance FromText ApplyMethod where+    parser = match "immediate"      Immediate+         <|> match "pending-reboot" PendingReboot++instance ToText ApplyMethod where+    toText = \case+        Immediate     -> "immediate"+        PendingReboot -> "pending-reboot"++instance FromXML ApplyMethod where+    parseXML = parseXMLText "ApplyMethod"++instance ToQuery ApplyMethod where+    toQuery = toQuery . toText++data CharacterSet = CharacterSet+    { _csCharacterSetDescription :: Maybe Text+    , _csCharacterSetName        :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'CharacterSet' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'csCharacterSetDescription' @::@ 'Maybe' 'Text'+--+-- * 'csCharacterSetName' @::@ 'Maybe' 'Text'+--+characterSet :: CharacterSet+characterSet = CharacterSet+    { _csCharacterSetName        = Nothing+    , _csCharacterSetDescription = Nothing+    }++-- | The description of the character set.+csCharacterSetDescription :: Lens' CharacterSet (Maybe Text)+csCharacterSetDescription =+    lens _csCharacterSetDescription+        (\s a -> s { _csCharacterSetDescription = a })++-- | The name of the character set.+csCharacterSetName :: Lens' CharacterSet (Maybe Text)+csCharacterSetName =+    lens _csCharacterSetName (\s a -> s { _csCharacterSetName = a })++instance FromXML CharacterSet where+    parseXML x = CharacterSet+        <$> x .@? "CharacterSetDescription"+        <*> x .@? "CharacterSetName"++instance ToQuery CharacterSet where+    toQuery CharacterSet{..} = mconcat+        [ "CharacterSetDescription" =? _csCharacterSetDescription+        , "CharacterSetName"        =? _csCharacterSetName+        ]++data Subnet = Subnet+    { _sSubnetAvailabilityZone :: Maybe AvailabilityZone+    , _sSubnetIdentifier       :: Maybe Text+    , _sSubnetStatus           :: Maybe Text+    } deriving (Eq, Show)++-- | 'Subnet' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'sSubnetAvailabilityZone' @::@ 'Maybe' 'AvailabilityZone'+--+-- * 'sSubnetIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'sSubnetStatus' @::@ 'Maybe' 'Text'+--+subnet :: Subnet+subnet = Subnet+    { _sSubnetIdentifier       = Nothing+    , _sSubnetAvailabilityZone = Nothing+    , _sSubnetStatus           = Nothing+    }++sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)+sSubnetAvailabilityZone =+    lens _sSubnetAvailabilityZone (\s a -> s { _sSubnetAvailabilityZone = a })++-- | Specifies the identifier of the subnet.+sSubnetIdentifier :: Lens' Subnet (Maybe Text)+sSubnetIdentifier =+    lens _sSubnetIdentifier (\s a -> s { _sSubnetIdentifier = a })++-- | Specifies the status of the subnet.+sSubnetStatus :: Lens' Subnet (Maybe Text)+sSubnetStatus = lens _sSubnetStatus (\s a -> s { _sSubnetStatus = a })++instance FromXML Subnet where+    parseXML x = Subnet+        <$> x .@? "SubnetAvailabilityZone"+        <*> x .@? "SubnetIdentifier"+        <*> x .@? "SubnetStatus"++instance ToQuery Subnet where+    toQuery Subnet{..} = mconcat+        [ "SubnetAvailabilityZone" =? _sSubnetAvailabilityZone+        , "SubnetIdentifier"       =? _sSubnetIdentifier+        , "SubnetStatus"           =? _sSubnetStatus+        ]++data ReservedDBInstance = ReservedDBInstance+    { _rdbiCurrencyCode                  :: Maybe Text+    , _rdbiDBInstanceClass               :: Maybe Text+    , _rdbiDBInstanceCount               :: Maybe Int+    , _rdbiDuration                      :: Maybe Int+    , _rdbiFixedPrice                    :: Maybe Double+    , _rdbiMultiAZ                       :: Maybe Bool+    , _rdbiOfferingType                  :: Maybe Text+    , _rdbiProductDescription            :: Maybe Text+    , _rdbiRecurringCharges              :: List "RecurringCharge" RecurringCharge+    , _rdbiReservedDBInstanceId          :: Maybe Text+    , _rdbiReservedDBInstancesOfferingId :: Maybe Text+    , _rdbiStartTime                     :: Maybe RFC822+    , _rdbiState                         :: Maybe Text+    , _rdbiUsagePrice                    :: Maybe Double+    } deriving (Eq, Show)++-- | 'ReservedDBInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rdbiCurrencyCode' @::@ 'Maybe' 'Text'+--+-- * 'rdbiDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'rdbiDBInstanceCount' @::@ 'Maybe' 'Int'+--+-- * 'rdbiDuration' @::@ 'Maybe' 'Int'+--+-- * 'rdbiFixedPrice' @::@ 'Maybe' 'Double'+--+-- * 'rdbiMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'rdbiOfferingType' @::@ 'Maybe' 'Text'+--+-- * 'rdbiProductDescription' @::@ 'Maybe' 'Text'+--+-- * 'rdbiRecurringCharges' @::@ ['RecurringCharge']+--+-- * 'rdbiReservedDBInstanceId' @::@ 'Maybe' 'Text'+--+-- * 'rdbiReservedDBInstancesOfferingId' @::@ 'Maybe' 'Text'+--+-- * 'rdbiStartTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'rdbiState' @::@ 'Maybe' 'Text'+--+-- * 'rdbiUsagePrice' @::@ 'Maybe' 'Double'+--+reservedDBInstance :: ReservedDBInstance+reservedDBInstance = ReservedDBInstance+    { _rdbiReservedDBInstanceId          = Nothing+    , _rdbiReservedDBInstancesOfferingId = Nothing+    , _rdbiDBInstanceClass               = Nothing+    , _rdbiStartTime                     = Nothing+    , _rdbiDuration                      = Nothing+    , _rdbiFixedPrice                    = Nothing+    , _rdbiUsagePrice                    = Nothing+    , _rdbiCurrencyCode                  = Nothing+    , _rdbiDBInstanceCount               = Nothing+    , _rdbiProductDescription            = Nothing+    , _rdbiOfferingType                  = Nothing+    , _rdbiMultiAZ                       = Nothing+    , _rdbiState                         = Nothing+    , _rdbiRecurringCharges              = mempty+    }++-- | The currency code for the reserved DB instance.+rdbiCurrencyCode :: Lens' ReservedDBInstance (Maybe Text)+rdbiCurrencyCode = lens _rdbiCurrencyCode (\s a -> s { _rdbiCurrencyCode = a })++-- | The DB instance class for the reserved DB instance.+rdbiDBInstanceClass :: Lens' ReservedDBInstance (Maybe Text)+rdbiDBInstanceClass =+    lens _rdbiDBInstanceClass (\s a -> s { _rdbiDBInstanceClass = a })++-- | The number of reserved DB instances.+rdbiDBInstanceCount :: Lens' ReservedDBInstance (Maybe Int)+rdbiDBInstanceCount =+    lens _rdbiDBInstanceCount (\s a -> s { _rdbiDBInstanceCount = a })++-- | The duration of the reservation in seconds.+rdbiDuration :: Lens' ReservedDBInstance (Maybe Int)+rdbiDuration = lens _rdbiDuration (\s a -> s { _rdbiDuration = a })++-- | The fixed price charged for this reserved DB instance.+rdbiFixedPrice :: Lens' ReservedDBInstance (Maybe Double)+rdbiFixedPrice = lens _rdbiFixedPrice (\s a -> s { _rdbiFixedPrice = a })++-- | Indicates if the reservation applies to Multi-AZ deployments.+rdbiMultiAZ :: Lens' ReservedDBInstance (Maybe Bool)+rdbiMultiAZ = lens _rdbiMultiAZ (\s a -> s { _rdbiMultiAZ = a })++-- | The offering type of this reserved DB instance.+rdbiOfferingType :: Lens' ReservedDBInstance (Maybe Text)+rdbiOfferingType = lens _rdbiOfferingType (\s a -> s { _rdbiOfferingType = a })++-- | The description of the reserved DB instance.+rdbiProductDescription :: Lens' ReservedDBInstance (Maybe Text)+rdbiProductDescription =+    lens _rdbiProductDescription (\s a -> s { _rdbiProductDescription = a })++-- | The recurring price charged to run this reserved DB instance.+rdbiRecurringCharges :: Lens' ReservedDBInstance [RecurringCharge]+rdbiRecurringCharges =+    lens _rdbiRecurringCharges (\s a -> s { _rdbiRecurringCharges = a })+        . _List++-- | The unique identifier for the reservation.+rdbiReservedDBInstanceId :: Lens' ReservedDBInstance (Maybe Text)+rdbiReservedDBInstanceId =+    lens _rdbiReservedDBInstanceId+        (\s a -> s { _rdbiReservedDBInstanceId = a })++-- | The offering identifier.+rdbiReservedDBInstancesOfferingId :: Lens' ReservedDBInstance (Maybe Text)+rdbiReservedDBInstancesOfferingId =+    lens _rdbiReservedDBInstancesOfferingId+        (\s a -> s { _rdbiReservedDBInstancesOfferingId = a })++-- | The time the reservation started.+rdbiStartTime :: Lens' ReservedDBInstance (Maybe UTCTime)+rdbiStartTime = lens _rdbiStartTime (\s a -> s { _rdbiStartTime = a }) . mapping _Time++-- | The state of the reserved DB instance.+rdbiState :: Lens' ReservedDBInstance (Maybe Text)+rdbiState = lens _rdbiState (\s a -> s { _rdbiState = a })++-- | The hourly price charged for this reserved DB instance.+rdbiUsagePrice :: Lens' ReservedDBInstance (Maybe Double)+rdbiUsagePrice = lens _rdbiUsagePrice (\s a -> s { _rdbiUsagePrice = a })++instance FromXML ReservedDBInstance where+    parseXML x = ReservedDBInstance+        <$> x .@? "CurrencyCode"+        <*> x .@? "DBInstanceClass"+        <*> x .@? "DBInstanceCount"+        <*> x .@? "Duration"+        <*> x .@? "FixedPrice"+        <*> x .@? "MultiAZ"+        <*> x .@? "OfferingType"+        <*> x .@? "ProductDescription"+        <*> x .@  "RecurringCharges"+        <*> x .@? "ReservedDBInstanceId"+        <*> x .@? "ReservedDBInstancesOfferingId"+        <*> x .@? "StartTime"+        <*> x .@? "State"+        <*> x .@? "UsagePrice"++instance ToQuery ReservedDBInstance where+    toQuery ReservedDBInstance{..} = mconcat+        [ "CurrencyCode"                  =? _rdbiCurrencyCode+        , "DBInstanceClass"               =? _rdbiDBInstanceClass+        , "DBInstanceCount"               =? _rdbiDBInstanceCount+        , "Duration"                      =? _rdbiDuration+        , "FixedPrice"                    =? _rdbiFixedPrice+        , "MultiAZ"                       =? _rdbiMultiAZ+        , "OfferingType"                  =? _rdbiOfferingType+        , "ProductDescription"            =? _rdbiProductDescription+        , "RecurringCharges"              =? _rdbiRecurringCharges+        , "ReservedDBInstanceId"          =? _rdbiReservedDBInstanceId+        , "ReservedDBInstancesOfferingId" =? _rdbiReservedDBInstancesOfferingId+        , "StartTime"                     =? _rdbiStartTime+        , "State"                         =? _rdbiState+        , "UsagePrice"                    =? _rdbiUsagePrice+        ]++data EngineDefaults = EngineDefaults+    { _edDBParameterGroupFamily :: Maybe Text+    , _edMarker                 :: Maybe Text+    , _edParameters             :: List "Parameter" Parameter+    } deriving (Eq, Show)++-- | 'EngineDefaults' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'edDBParameterGroupFamily' @::@ 'Maybe' 'Text'+--+-- * 'edMarker' @::@ 'Maybe' 'Text'+--+-- * 'edParameters' @::@ ['Parameter']+--+engineDefaults :: EngineDefaults+engineDefaults = EngineDefaults+    { _edDBParameterGroupFamily = Nothing+    , _edMarker                 = Nothing+    , _edParameters             = mempty+    }++-- | Specifies the name of the DB parameter group family which the engine+-- default parameters apply to.+edDBParameterGroupFamily :: Lens' EngineDefaults (Maybe Text)+edDBParameterGroupFamily =+    lens _edDBParameterGroupFamily+        (\s a -> s { _edDBParameterGroupFamily = a })++-- | An optional pagination token provided by a previous EngineDefaults+-- request. If this parameter is specified, the response includes only+-- records beyond the marker, up to the value specified by MaxRecords .+edMarker :: Lens' EngineDefaults (Maybe Text)+edMarker = lens _edMarker (\s a -> s { _edMarker = a })++-- | Contains a list of engine default parameters.+edParameters :: Lens' EngineDefaults [Parameter]+edParameters = lens _edParameters (\s a -> s { _edParameters = a }) . _List++instance FromXML EngineDefaults where+    parseXML x = EngineDefaults+        <$> x .@? "DBParameterGroupFamily"+        <*> x .@? "Marker"+        <*> x .@  "Parameters"++instance ToQuery EngineDefaults where+    toQuery EngineDefaults{..} = mconcat+        [ "DBParameterGroupFamily" =? _edDBParameterGroupFamily+        , "Marker"                 =? _edMarker+        , "Parameters"             =? _edParameters+        ]++newtype DBParameterGroupNameMessage = DBParameterGroupNameMessage+    { _dbpgnmDBParameterGroupName :: Maybe Text+    } deriving (Eq, Ord, Show, Monoid)++-- | 'DBParameterGroupNameMessage' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbpgnmDBParameterGroupName' @::@ 'Maybe' 'Text'+--+dbparameterGroupNameMessage :: DBParameterGroupNameMessage+dbparameterGroupNameMessage = DBParameterGroupNameMessage+    { _dbpgnmDBParameterGroupName = Nothing+    }++-- | The name of the DB parameter group.+dbpgnmDBParameterGroupName :: Lens' DBParameterGroupNameMessage (Maybe Text)+dbpgnmDBParameterGroupName =+    lens _dbpgnmDBParameterGroupName+        (\s a -> s { _dbpgnmDBParameterGroupName = a })++instance FromXML DBParameterGroupNameMessage where+    parseXML x = DBParameterGroupNameMessage+        <$> x .@? "DBParameterGroupName"++instance ToQuery DBParameterGroupNameMessage where+    toQuery DBParameterGroupNameMessage{..} = mconcat+        [ "DBParameterGroupName" =? _dbpgnmDBParameterGroupName+        ]++data OptionGroupOption = OptionGroupOption+    { _ogoDefaultPort                       :: Maybe Int+    , _ogoDescription                       :: Maybe Text+    , _ogoEngineName                        :: Maybe Text+    , _ogoMajorEngineVersion                :: Maybe Text+    , _ogoMinimumRequiredMinorEngineVersion :: Maybe Text+    , _ogoName                              :: Maybe Text+    , _ogoOptionGroupOptionSettings         :: List "OptionGroupOptionSetting" OptionGroupOptionSetting+    , _ogoOptionsDependedOn                 :: List "OptionName" Text+    , _ogoPermanent                         :: Maybe Bool+    , _ogoPersistent                        :: Maybe Bool+    , _ogoPortRequired                      :: Maybe Bool+    } deriving (Eq, Show)++-- | 'OptionGroupOption' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ogoDefaultPort' @::@ 'Maybe' 'Int'+--+-- * 'ogoDescription' @::@ 'Maybe' 'Text'+--+-- * 'ogoEngineName' @::@ 'Maybe' 'Text'+--+-- * 'ogoMajorEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'ogoMinimumRequiredMinorEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'ogoName' @::@ 'Maybe' 'Text'+--+-- * 'ogoOptionGroupOptionSettings' @::@ ['OptionGroupOptionSetting']+--+-- * 'ogoOptionsDependedOn' @::@ ['Text']+--+-- * 'ogoPermanent' @::@ 'Maybe' 'Bool'+--+-- * 'ogoPersistent' @::@ 'Maybe' 'Bool'+--+-- * 'ogoPortRequired' @::@ 'Maybe' 'Bool'+--+optionGroupOption :: OptionGroupOption+optionGroupOption = OptionGroupOption+    { _ogoName                              = Nothing+    , _ogoDescription                       = Nothing+    , _ogoEngineName                        = Nothing+    , _ogoMajorEngineVersion                = Nothing+    , _ogoMinimumRequiredMinorEngineVersion = Nothing+    , _ogoPortRequired                      = Nothing+    , _ogoDefaultPort                       = Nothing+    , _ogoOptionsDependedOn                 = mempty+    , _ogoPersistent                        = Nothing+    , _ogoPermanent                         = Nothing+    , _ogoOptionGroupOptionSettings         = mempty+    }++-- | If the option requires a port, specifies the default port for the option.+ogoDefaultPort :: Lens' OptionGroupOption (Maybe Int)+ogoDefaultPort = lens _ogoDefaultPort (\s a -> s { _ogoDefaultPort = a })++-- | The description of the option.+ogoDescription :: Lens' OptionGroupOption (Maybe Text)+ogoDescription = lens _ogoDescription (\s a -> s { _ogoDescription = a })++-- | Engine name that this option can be applied to.+ogoEngineName :: Lens' OptionGroupOption (Maybe Text)+ogoEngineName = lens _ogoEngineName (\s a -> s { _ogoEngineName = a })++-- | Indicates the major engine version that the option is available for.+ogoMajorEngineVersion :: Lens' OptionGroupOption (Maybe Text)+ogoMajorEngineVersion =+    lens _ogoMajorEngineVersion (\s a -> s { _ogoMajorEngineVersion = a })++-- | The minimum required engine version for the option to be applied.+ogoMinimumRequiredMinorEngineVersion :: Lens' OptionGroupOption (Maybe Text)+ogoMinimumRequiredMinorEngineVersion =+    lens _ogoMinimumRequiredMinorEngineVersion+        (\s a -> s { _ogoMinimumRequiredMinorEngineVersion = a })++-- | The name of the option.+ogoName :: Lens' OptionGroupOption (Maybe Text)+ogoName = lens _ogoName (\s a -> s { _ogoName = a })++-- | Specifies the option settings that are available (and the default value)+-- for each option in an option group.+ogoOptionGroupOptionSettings :: Lens' OptionGroupOption [OptionGroupOptionSetting]+ogoOptionGroupOptionSettings =+    lens _ogoOptionGroupOptionSettings+        (\s a -> s { _ogoOptionGroupOptionSettings = a })+            . _List++-- | List of all options that are prerequisites for this option.+ogoOptionsDependedOn :: Lens' OptionGroupOption [Text]+ogoOptionsDependedOn =+    lens _ogoOptionsDependedOn (\s a -> s { _ogoOptionsDependedOn = a })+        . _List++-- | A permanent option cannot be removed from the option group once the+-- option group is used, and it cannot be removed from the db instance after+-- assigning an option group with this permanent option.+ogoPermanent :: Lens' OptionGroupOption (Maybe Bool)+ogoPermanent = lens _ogoPermanent (\s a -> s { _ogoPermanent = a })++-- | A persistent option cannot be removed from the option group once the+-- option group is used, but this option can be removed from the db instance+-- while modifying the related data and assigning another option group+-- without this option.+ogoPersistent :: Lens' OptionGroupOption (Maybe Bool)+ogoPersistent = lens _ogoPersistent (\s a -> s { _ogoPersistent = a })++-- | Specifies whether the option requires a port.+ogoPortRequired :: Lens' OptionGroupOption (Maybe Bool)+ogoPortRequired = lens _ogoPortRequired (\s a -> s { _ogoPortRequired = a })++instance FromXML OptionGroupOption where+    parseXML x = OptionGroupOption+        <$> x .@? "DefaultPort"+        <*> x .@? "Description"+        <*> x .@? "EngineName"+        <*> x .@? "MajorEngineVersion"+        <*> x .@? "MinimumRequiredMinorEngineVersion"+        <*> x .@? "Name"+        <*> x .@  "OptionGroupOptionSettings"+        <*> x .@  "OptionsDependedOn"+        <*> x .@? "Permanent"+        <*> x .@? "Persistent"+        <*> x .@? "PortRequired"++instance ToQuery OptionGroupOption where+    toQuery OptionGroupOption{..} = mconcat+        [ "DefaultPort"                       =? _ogoDefaultPort+        , "Description"                       =? _ogoDescription+        , "EngineName"                        =? _ogoEngineName+        , "MajorEngineVersion"                =? _ogoMajorEngineVersion+        , "MinimumRequiredMinorEngineVersion" =? _ogoMinimumRequiredMinorEngineVersion+        , "Name"                              =? _ogoName+        , "OptionGroupOptionSettings"         =? _ogoOptionGroupOptionSettings+        , "OptionsDependedOn"                 =? _ogoOptionsDependedOn+        , "Permanent"                         =? _ogoPermanent+        , "Persistent"                        =? _ogoPersistent+        , "PortRequired"                      =? _ogoPortRequired+        ]++data DBInstance = DBInstance+    { _dbiAllocatedStorage                      :: Maybe Int+    , _dbiAutoMinorVersionUpgrade               :: Maybe Bool+    , _dbiAvailabilityZone                      :: Maybe Text+    , _dbiBackupRetentionPeriod                 :: Maybe Int+    , _dbiCharacterSetName                      :: Maybe Text+    , _dbiDBInstanceClass                       :: Maybe Text+    , _dbiDBInstanceIdentifier                  :: Maybe Text+    , _dbiDBInstanceStatus                      :: Maybe Text+    , _dbiDBName                                :: Maybe Text+    , _dbiDBParameterGroups                     :: List "DBParameterGroup" DBParameterGroupStatus+    , _dbiDBSecurityGroups                      :: List "DBSecurityGroup" DBSecurityGroupMembership+    , _dbiDBSubnetGroup                         :: Maybe DBSubnetGroup+    , _dbiEndpoint                              :: Maybe Endpoint+    , _dbiEngine                                :: Maybe Text+    , _dbiEngineVersion                         :: Maybe Text+    , _dbiInstanceCreateTime                    :: Maybe RFC822+    , _dbiIops                                  :: Maybe Int+    , _dbiLatestRestorableTime                  :: Maybe RFC822+    , _dbiLicenseModel                          :: Maybe Text+    , _dbiMasterUsername                        :: Maybe Text+    , _dbiMultiAZ                               :: Maybe Bool+    , _dbiOptionGroupMemberships                :: List "OptionGroupMembership" OptionGroupMembership+    , _dbiPendingModifiedValues                 :: Maybe PendingModifiedValues+    , _dbiPreferredBackupWindow                 :: Maybe Text+    , _dbiPreferredMaintenanceWindow            :: Maybe Text+    , _dbiPubliclyAccessible                    :: Maybe Bool+    , _dbiReadReplicaDBInstanceIdentifiers      :: List "ReadReplicaDBInstanceIdentifier" Text+    , _dbiReadReplicaSourceDBInstanceIdentifier :: Maybe Text+    , _dbiSecondaryAvailabilityZone             :: Maybe Text+    , _dbiStatusInfos                           :: List "DBInstanceStatusInfo" DBInstanceStatusInfo+    , _dbiStorageType                           :: Maybe Text+    , _dbiTdeCredentialArn                      :: Maybe Text+    , _dbiVpcSecurityGroups                     :: List "VpcSecurityGroupMembership" VpcSecurityGroupMembership+    } deriving (Eq, Show)++-- | 'DBInstance' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbiAllocatedStorage' @::@ 'Maybe' 'Int'+--+-- * 'dbiAutoMinorVersionUpgrade' @::@ 'Maybe' 'Bool'+--+-- * 'dbiAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'dbiBackupRetentionPeriod' @::@ 'Maybe' 'Int'+--+-- * 'dbiCharacterSetName' @::@ 'Maybe' 'Text'+--+-- * 'dbiDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'dbiDBInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'dbiDBInstanceStatus' @::@ 'Maybe' 'Text'+--+-- * 'dbiDBName' @::@ 'Maybe' 'Text'+--+-- * 'dbiDBParameterGroups' @::@ ['DBParameterGroupStatus']+--+-- * 'dbiDBSecurityGroups' @::@ ['DBSecurityGroupMembership']+--+-- * 'dbiDBSubnetGroup' @::@ 'Maybe' 'DBSubnetGroup'+--+-- * 'dbiEndpoint' @::@ 'Maybe' 'Endpoint'+--+-- * 'dbiEngine' @::@ 'Maybe' 'Text'+--+-- * 'dbiEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'dbiInstanceCreateTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'dbiIops' @::@ 'Maybe' 'Int'+--+-- * 'dbiLatestRestorableTime' @::@ 'Maybe' 'UTCTime'+--+-- * 'dbiLicenseModel' @::@ 'Maybe' 'Text'+--+-- * 'dbiMasterUsername' @::@ 'Maybe' 'Text'+--+-- * 'dbiMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'dbiOptionGroupMemberships' @::@ ['OptionGroupMembership']+--+-- * 'dbiPendingModifiedValues' @::@ 'Maybe' 'PendingModifiedValues'+--+-- * 'dbiPreferredBackupWindow' @::@ 'Maybe' 'Text'+--+-- * 'dbiPreferredMaintenanceWindow' @::@ 'Maybe' 'Text'+--+-- * 'dbiPubliclyAccessible' @::@ 'Maybe' 'Bool'+--+-- * 'dbiReadReplicaDBInstanceIdentifiers' @::@ ['Text']+--+-- * 'dbiReadReplicaSourceDBInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'dbiSecondaryAvailabilityZone' @::@ 'Maybe' 'Text'+--+-- * 'dbiStatusInfos' @::@ ['DBInstanceStatusInfo']+--+-- * 'dbiStorageType' @::@ 'Maybe' 'Text'+--+-- * 'dbiTdeCredentialArn' @::@ 'Maybe' 'Text'+--+-- * 'dbiVpcSecurityGroups' @::@ ['VpcSecurityGroupMembership']+--+dbinstance :: DBInstance+dbinstance = DBInstance+    { _dbiDBInstanceIdentifier                  = Nothing+    , _dbiDBInstanceClass                       = Nothing+    , _dbiEngine                                = Nothing+    , _dbiDBInstanceStatus                      = Nothing+    , _dbiMasterUsername                        = Nothing+    , _dbiDBName                                = Nothing+    , _dbiEndpoint                              = Nothing+    , _dbiAllocatedStorage                      = Nothing+    , _dbiInstanceCreateTime                    = Nothing+    , _dbiPreferredBackupWindow                 = Nothing+    , _dbiBackupRetentionPeriod                 = Nothing+    , _dbiDBSecurityGroups                      = mempty+    , _dbiVpcSecurityGroups                     = mempty+    , _dbiDBParameterGroups                     = mempty+    , _dbiAvailabilityZone                      = Nothing+    , _dbiDBSubnetGroup                         = Nothing+    , _dbiPreferredMaintenanceWindow            = Nothing+    , _dbiPendingModifiedValues                 = Nothing+    , _dbiLatestRestorableTime                  = Nothing+    , _dbiMultiAZ                               = Nothing+    , _dbiEngineVersion                         = Nothing+    , _dbiAutoMinorVersionUpgrade               = Nothing+    , _dbiReadReplicaSourceDBInstanceIdentifier = Nothing+    , _dbiReadReplicaDBInstanceIdentifiers      = mempty+    , _dbiLicenseModel                          = Nothing+    , _dbiIops                                  = Nothing+    , _dbiOptionGroupMemberships                = mempty+    , _dbiCharacterSetName                      = Nothing+    , _dbiSecondaryAvailabilityZone             = Nothing+    , _dbiPubliclyAccessible                    = Nothing+    , _dbiStatusInfos                           = mempty+    , _dbiStorageType                           = Nothing+    , _dbiTdeCredentialArn                      = Nothing+    }++-- | Specifies the allocated storage size specified in gigabytes.+dbiAllocatedStorage :: Lens' DBInstance (Maybe Int)+dbiAllocatedStorage =+    lens _dbiAllocatedStorage (\s a -> s { _dbiAllocatedStorage = a })++-- | Indicates that minor version patches are applied automatically.+dbiAutoMinorVersionUpgrade :: Lens' DBInstance (Maybe Bool)+dbiAutoMinorVersionUpgrade =+    lens _dbiAutoMinorVersionUpgrade+        (\s a -> s { _dbiAutoMinorVersionUpgrade = a })++-- | Specifies the name of the Availability Zone the DB instance is located+-- in.+dbiAvailabilityZone :: Lens' DBInstance (Maybe Text)+dbiAvailabilityZone =+    lens _dbiAvailabilityZone (\s a -> s { _dbiAvailabilityZone = a })++-- | Specifies the number of days for which automatic DB snapshots are+-- retained.+dbiBackupRetentionPeriod :: Lens' DBInstance (Maybe Int)+dbiBackupRetentionPeriod =+    lens _dbiBackupRetentionPeriod+        (\s a -> s { _dbiBackupRetentionPeriod = a })++-- | If present, specifies the name of the character set that this instance is+-- associated with.+dbiCharacterSetName :: Lens' DBInstance (Maybe Text)+dbiCharacterSetName =+    lens _dbiCharacterSetName (\s a -> s { _dbiCharacterSetName = a })++-- | Contains the name of the compute and memory capacity class of the DB+-- instance.+dbiDBInstanceClass :: Lens' DBInstance (Maybe Text)+dbiDBInstanceClass =+    lens _dbiDBInstanceClass (\s a -> s { _dbiDBInstanceClass = a })++-- | Contains a user-supplied database identifier. This is the unique key that+-- identifies a DB instance.+dbiDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)+dbiDBInstanceIdentifier =+    lens _dbiDBInstanceIdentifier (\s a -> s { _dbiDBInstanceIdentifier = a })++-- | Specifies the current state of this database.+dbiDBInstanceStatus :: Lens' DBInstance (Maybe Text)+dbiDBInstanceStatus =+    lens _dbiDBInstanceStatus (\s a -> s { _dbiDBInstanceStatus = a })++-- | The meaning of this parameter differs according to the database engine+-- you use. For example, this value returns only MySQL information when+-- returning values from CreateDBInstanceReadReplica since read replicas are+-- only supported for MySQL. MySQL Contains the name of the initial database+-- of this instance that was provided at create time, if one was specified+-- when the DB instance was created. This same name is returned for the life+-- of the DB instance. Type: String Oracle Contains the Oracle System ID+-- (SID) of the created DB instance. Not shown when the returned parameters+-- do not apply to an Oracle DB instance.+dbiDBName :: Lens' DBInstance (Maybe Text)+dbiDBName = lens _dbiDBName (\s a -> s { _dbiDBName = a })++-- | Provides the list of DB parameter groups applied to this DB instance.+dbiDBParameterGroups :: Lens' DBInstance [DBParameterGroupStatus]+dbiDBParameterGroups =+    lens _dbiDBParameterGroups (\s a -> s { _dbiDBParameterGroups = a })+        . _List++-- | Provides List of DB security group elements containing only+-- DBSecurityGroup.Name and DBSecurityGroup.Status subelements.+dbiDBSecurityGroups :: Lens' DBInstance [DBSecurityGroupMembership]+dbiDBSecurityGroups =+    lens _dbiDBSecurityGroups (\s a -> s { _dbiDBSecurityGroups = a })+        . _List++-- | Specifies information on the subnet group associated with the DB+-- instance, including the name, description, and subnets in the subnet+-- group.+dbiDBSubnetGroup :: Lens' DBInstance (Maybe DBSubnetGroup)+dbiDBSubnetGroup = lens _dbiDBSubnetGroup (\s a -> s { _dbiDBSubnetGroup = a })++-- | Specifies the connection endpoint.+dbiEndpoint :: Lens' DBInstance (Maybe Endpoint)+dbiEndpoint = lens _dbiEndpoint (\s a -> s { _dbiEndpoint = a })++-- | Provides the name of the database engine to be used for this DB instance.+dbiEngine :: Lens' DBInstance (Maybe Text)+dbiEngine = lens _dbiEngine (\s a -> s { _dbiEngine = a })++-- | Indicates the database engine version.+dbiEngineVersion :: Lens' DBInstance (Maybe Text)+dbiEngineVersion = lens _dbiEngineVersion (\s a -> s { _dbiEngineVersion = a })++-- | Provides the date and time the DB instance was created.+dbiInstanceCreateTime :: Lens' DBInstance (Maybe UTCTime)+dbiInstanceCreateTime =+    lens _dbiInstanceCreateTime (\s a -> s { _dbiInstanceCreateTime = a })+        . mapping _Time++-- | Specifies the Provisioned IOPS (I/O operations per second) value.+dbiIops :: Lens' DBInstance (Maybe Int)+dbiIops = lens _dbiIops (\s a -> s { _dbiIops = a })++-- | Specifies the latest time to which a database can be restored with+-- point-in-time restore.+dbiLatestRestorableTime :: Lens' DBInstance (Maybe UTCTime)+dbiLatestRestorableTime =+    lens _dbiLatestRestorableTime (\s a -> s { _dbiLatestRestorableTime = a })+        . mapping _Time++-- | License model information for this DB instance.+dbiLicenseModel :: Lens' DBInstance (Maybe Text)+dbiLicenseModel = lens _dbiLicenseModel (\s a -> s { _dbiLicenseModel = a })++-- | Contains the master username for the DB instance.+dbiMasterUsername :: Lens' DBInstance (Maybe Text)+dbiMasterUsername =+    lens _dbiMasterUsername (\s a -> s { _dbiMasterUsername = a })++-- | Specifies if the DB instance is a Multi-AZ deployment.+dbiMultiAZ :: Lens' DBInstance (Maybe Bool)+dbiMultiAZ = lens _dbiMultiAZ (\s a -> s { _dbiMultiAZ = a })++-- | Provides the list of option group memberships for this DB instance.+dbiOptionGroupMemberships :: Lens' DBInstance [OptionGroupMembership]+dbiOptionGroupMemberships =+    lens _dbiOptionGroupMemberships+        (\s a -> s { _dbiOptionGroupMemberships = a })+            . _List++-- | Specifies that changes to the DB instance are pending. This element is+-- only included when changes are pending. Specific changes are identified+-- by subelements.+dbiPendingModifiedValues :: Lens' DBInstance (Maybe PendingModifiedValues)+dbiPendingModifiedValues =+    lens _dbiPendingModifiedValues+        (\s a -> s { _dbiPendingModifiedValues = a })++-- | Specifies the daily time range during which automated backups are created+-- if automated backups are enabled, as determined by the+-- BackupRetentionPeriod.+dbiPreferredBackupWindow :: Lens' DBInstance (Maybe Text)+dbiPreferredBackupWindow =+    lens _dbiPreferredBackupWindow+        (\s a -> s { _dbiPreferredBackupWindow = a })++-- | Specifies the weekly time range (in UTC) during which system maintenance+-- can occur.+dbiPreferredMaintenanceWindow :: Lens' DBInstance (Maybe Text)+dbiPreferredMaintenanceWindow =+    lens _dbiPreferredMaintenanceWindow+        (\s a -> s { _dbiPreferredMaintenanceWindow = a })++-- | Specifies the accessibility options for the DB instance. A value of true+-- specifies an Internet-facing instance with a publicly resolvable DNS+-- name, which resolves to a public IP address. A value of false specifies+-- an internal instance with a DNS name that resolves to a private IP+-- address. Default: The default behavior varies depending on whether a VPC+-- has been requested or not. The following list shows the default behavior+-- in each case. Default VPC:true VPC:false If no DB subnet group has been+-- specified as part of the request and the PubliclyAccessible value has not+-- been set, the DB instance will be publicly accessible. If a specific DB+-- subnet group has been specified as part of the request and the+-- PubliclyAccessible value has not been set, the DB instance will be+-- private.+dbiPubliclyAccessible :: Lens' DBInstance (Maybe Bool)+dbiPubliclyAccessible =+    lens _dbiPubliclyAccessible (\s a -> s { _dbiPubliclyAccessible = a })++-- | Contains one or more identifiers of the read replicas associated with+-- this DB instance.+dbiReadReplicaDBInstanceIdentifiers :: Lens' DBInstance [Text]+dbiReadReplicaDBInstanceIdentifiers =+    lens _dbiReadReplicaDBInstanceIdentifiers+        (\s a -> s { _dbiReadReplicaDBInstanceIdentifiers = a })+            . _List++-- | Contains the identifier of the source DB instance if this DB instance is+-- a read replica.+dbiReadReplicaSourceDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)+dbiReadReplicaSourceDBInstanceIdentifier =+    lens _dbiReadReplicaSourceDBInstanceIdentifier+        (\s a -> s { _dbiReadReplicaSourceDBInstanceIdentifier = a })++-- | If present, specifies the name of the secondary Availability Zone for a+-- DB instance with multi-AZ support.+dbiSecondaryAvailabilityZone :: Lens' DBInstance (Maybe Text)+dbiSecondaryAvailabilityZone =+    lens _dbiSecondaryAvailabilityZone+        (\s a -> s { _dbiSecondaryAvailabilityZone = a })++-- | The status of a read replica. If the instance is not a read replica, this+-- will be blank.+dbiStatusInfos :: Lens' DBInstance [DBInstanceStatusInfo]+dbiStatusInfos = lens _dbiStatusInfos (\s a -> s { _dbiStatusInfos = a }) . _List++-- | Specifies storage type associated with DB Instance.+dbiStorageType :: Lens' DBInstance (Maybe Text)+dbiStorageType = lens _dbiStorageType (\s a -> s { _dbiStorageType = a })++-- | The ARN from the Key Store with which the instance is associated for TDE+-- encryption.+dbiTdeCredentialArn :: Lens' DBInstance (Maybe Text)+dbiTdeCredentialArn =+    lens _dbiTdeCredentialArn (\s a -> s { _dbiTdeCredentialArn = a })++-- | Provides List of VPC security group elements that the DB instance belongs+-- to.+dbiVpcSecurityGroups :: Lens' DBInstance [VpcSecurityGroupMembership]+dbiVpcSecurityGroups =+    lens _dbiVpcSecurityGroups (\s a -> s { _dbiVpcSecurityGroups = a })+        . _List++instance FromXML DBInstance where+    parseXML x = DBInstance+        <$> x .@? "AllocatedStorage"+        <*> x .@? "AutoMinorVersionUpgrade"+        <*> x .@? "AvailabilityZone"+        <*> x .@? "BackupRetentionPeriod"+        <*> x .@? "CharacterSetName"+        <*> x .@? "DBInstanceClass"+        <*> x .@? "DBInstanceIdentifier"+        <*> x .@? "DBInstanceStatus"+        <*> x .@? "DBName"+        <*> x .@  "DBParameterGroups"+        <*> x .@  "DBSecurityGroups"+        <*> x .@? "DBSubnetGroup"+        <*> x .@? "Endpoint"+        <*> x .@? "Engine"+        <*> x .@? "EngineVersion"+        <*> x .@? "InstanceCreateTime"+        <*> x .@? "Iops"+        <*> x .@? "LatestRestorableTime"+        <*> x .@? "LicenseModel"+        <*> x .@? "MasterUsername"+        <*> x .@? "MultiAZ"+        <*> x .@  "OptionGroupMemberships"+        <*> x .@? "PendingModifiedValues"+        <*> x .@? "PreferredBackupWindow"+        <*> x .@? "PreferredMaintenanceWindow"+        <*> x .@? "PubliclyAccessible"+        <*> x .@  "ReadReplicaDBInstanceIdentifiers"+        <*> x .@? "ReadReplicaSourceDBInstanceIdentifier"+        <*> x .@? "SecondaryAvailabilityZone"+        <*> x .@  "StatusInfos"+        <*> x .@? "StorageType"+        <*> x .@? "TdeCredentialArn"+        <*> x .@  "VpcSecurityGroups"++instance ToQuery DBInstance where+    toQuery DBInstance{..} = mconcat+        [ "AllocatedStorage"                      =? _dbiAllocatedStorage+        , "AutoMinorVersionUpgrade"               =? _dbiAutoMinorVersionUpgrade+        , "AvailabilityZone"                      =? _dbiAvailabilityZone+        , "BackupRetentionPeriod"                 =? _dbiBackupRetentionPeriod+        , "CharacterSetName"                      =? _dbiCharacterSetName+        , "DBInstanceClass"                       =? _dbiDBInstanceClass+        , "DBInstanceIdentifier"                  =? _dbiDBInstanceIdentifier+        , "DBInstanceStatus"                      =? _dbiDBInstanceStatus+        , "DBName"                                =? _dbiDBName+        , "DBParameterGroups"                     =? _dbiDBParameterGroups+        , "DBSecurityGroups"                      =? _dbiDBSecurityGroups+        , "DBSubnetGroup"                         =? _dbiDBSubnetGroup+        , "Endpoint"                              =? _dbiEndpoint+        , "Engine"                                =? _dbiEngine+        , "EngineVersion"                         =? _dbiEngineVersion+        , "InstanceCreateTime"                    =? _dbiInstanceCreateTime+        , "Iops"                                  =? _dbiIops+        , "LatestRestorableTime"                  =? _dbiLatestRestorableTime+        , "LicenseModel"                          =? _dbiLicenseModel+        , "MasterUsername"                        =? _dbiMasterUsername+        , "MultiAZ"                               =? _dbiMultiAZ+        , "OptionGroupMemberships"                =? _dbiOptionGroupMemberships+        , "PendingModifiedValues"                 =? _dbiPendingModifiedValues+        , "PreferredBackupWindow"                 =? _dbiPreferredBackupWindow+        , "PreferredMaintenanceWindow"            =? _dbiPreferredMaintenanceWindow+        , "PubliclyAccessible"                    =? _dbiPubliclyAccessible+        , "ReadReplicaDBInstanceIdentifiers"      =? _dbiReadReplicaDBInstanceIdentifiers+        , "ReadReplicaSourceDBInstanceIdentifier" =? _dbiReadReplicaSourceDBInstanceIdentifier+        , "SecondaryAvailabilityZone"             =? _dbiSecondaryAvailabilityZone+        , "StatusInfos"                           =? _dbiStatusInfos+        , "StorageType"                           =? _dbiStorageType+        , "TdeCredentialArn"                      =? _dbiTdeCredentialArn+        , "VpcSecurityGroups"                     =? _dbiVpcSecurityGroups+        ]++newtype AvailabilityZone = AvailabilityZone+    { _azName :: Maybe Text+    } deriving (Eq, Ord, Show, Monoid)++-- | 'AvailabilityZone' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'azName' @::@ 'Maybe' 'Text'+--+availabilityZone :: AvailabilityZone+availabilityZone = AvailabilityZone+    { _azName = Nothing+    }++-- | The name of the availability zone.+azName :: Lens' AvailabilityZone (Maybe Text)+azName = lens _azName (\s a -> s { _azName = a })++instance FromXML AvailabilityZone where+    parseXML x = AvailabilityZone+        <$> x .@? "Name"++instance ToQuery AvailabilityZone where+    toQuery AvailabilityZone{..} = mconcat+        [ "Name" =? _azName+        ]++data EventSubscription = EventSubscription+    { _esCustSubscriptionId       :: Maybe Text+    , _esCustomerAwsId            :: Maybe Text+    , _esEnabled                  :: Maybe Bool+    , _esEventCategoriesList      :: List "EventCategory" Text+    , _esSnsTopicArn              :: Maybe Text+    , _esSourceIdsList            :: List "SourceId" Text+    , _esSourceType               :: Maybe Text+    , _esStatus                   :: Maybe Text+    , _esSubscriptionCreationTime :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'EventSubscription' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'esCustSubscriptionId' @::@ 'Maybe' 'Text'+--+-- * 'esCustomerAwsId' @::@ 'Maybe' 'Text'+--+-- * 'esEnabled' @::@ 'Maybe' 'Bool'+--+-- * 'esEventCategoriesList' @::@ ['Text']+--+-- * 'esSnsTopicArn' @::@ 'Maybe' 'Text'+--+-- * 'esSourceIdsList' @::@ ['Text']+--+-- * 'esSourceType' @::@ 'Maybe' 'Text'+--+-- * 'esStatus' @::@ 'Maybe' 'Text'+--+-- * 'esSubscriptionCreationTime' @::@ 'Maybe' 'Text'+--+eventSubscription :: EventSubscription+eventSubscription = EventSubscription+    { _esCustomerAwsId            = Nothing+    , _esCustSubscriptionId       = Nothing+    , _esSnsTopicArn              = Nothing+    , _esStatus                   = Nothing+    , _esSubscriptionCreationTime = Nothing+    , _esSourceType               = Nothing+    , _esSourceIdsList            = mempty+    , _esEventCategoriesList      = mempty+    , _esEnabled                  = Nothing+    }++-- | The RDS event notification subscription Id.+esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)+esCustSubscriptionId =+    lens _esCustSubscriptionId (\s a -> s { _esCustSubscriptionId = a })++-- | The AWS customer account associated with the RDS event notification+-- subscription.+esCustomerAwsId :: Lens' EventSubscription (Maybe Text)+esCustomerAwsId = lens _esCustomerAwsId (\s a -> s { _esCustomerAwsId = a })++-- | A Boolean value indicating if the subscription is enabled. True indicates+-- the subscription is enabled.+esEnabled :: Lens' EventSubscription (Maybe Bool)+esEnabled = lens _esEnabled (\s a -> s { _esEnabled = a })++-- | A list of event categories for the RDS event notification subscription.+esEventCategoriesList :: Lens' EventSubscription [Text]+esEventCategoriesList =+    lens _esEventCategoriesList (\s a -> s { _esEventCategoriesList = a })+        . _List++-- | The topic ARN of the RDS event notification subscription.+esSnsTopicArn :: Lens' EventSubscription (Maybe Text)+esSnsTopicArn = lens _esSnsTopicArn (\s a -> s { _esSnsTopicArn = a })++-- | A list of source IDs for the RDS event notification subscription.+esSourceIdsList :: Lens' EventSubscription [Text]+esSourceIdsList = lens _esSourceIdsList (\s a -> s { _esSourceIdsList = a }) . _List++-- | The source type for the RDS event notification subscription.+esSourceType :: Lens' EventSubscription (Maybe Text)+esSourceType = lens _esSourceType (\s a -> s { _esSourceType = a })++-- | The status of the RDS event notification subscription. Constraints: Can+-- be one of the following: creating | modifying | deleting | active |+-- no-permission | topic-not-exist The status "no-permission" indicates that+-- RDS no longer has permission to post to the SNS topic. The status+-- "topic-not-exist" indicates that the topic was deleted after the+-- subscription was created.+esStatus :: Lens' EventSubscription (Maybe Text)+esStatus = lens _esStatus (\s a -> s { _esStatus = a })++-- | The time the RDS event notification subscription was created.+esSubscriptionCreationTime :: Lens' EventSubscription (Maybe Text)+esSubscriptionCreationTime =+    lens _esSubscriptionCreationTime+        (\s a -> s { _esSubscriptionCreationTime = a })++instance FromXML EventSubscription where+    parseXML x = EventSubscription+        <$> x .@? "CustSubscriptionId"+        <*> x .@? "CustomerAwsId"+        <*> x .@? "Enabled"+        <*> x .@  "EventCategoriesList"+        <*> x .@? "SnsTopicArn"+        <*> x .@  "SourceIdsList"+        <*> x .@? "SourceType"+        <*> x .@? "Status"+        <*> x .@? "SubscriptionCreationTime"++instance ToQuery EventSubscription where+    toQuery EventSubscription{..} = mconcat+        [ "CustSubscriptionId"       =? _esCustSubscriptionId+        , "CustomerAwsId"            =? _esCustomerAwsId+        , "Enabled"                  =? _esEnabled+        , "EventCategoriesList"      =? _esEventCategoriesList+        , "SnsTopicArn"              =? _esSnsTopicArn+        , "SourceIdsList"            =? _esSourceIdsList+        , "SourceType"               =? _esSourceType+        , "Status"                   =? _esStatus+        , "SubscriptionCreationTime" =? _esSubscriptionCreationTime+        ]++data DBSubnetGroup = DBSubnetGroup+    { _dbsg1DBSubnetGroupDescription :: Maybe Text+    , _dbsg1DBSubnetGroupName        :: Maybe Text+    , _dbsg1SubnetGroupStatus        :: Maybe Text+    , _dbsg1Subnets                  :: List "Subnet" Subnet+    , _dbsg1VpcId                    :: Maybe Text+    } deriving (Eq, Show)++-- | 'DBSubnetGroup' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbsg1DBSubnetGroupDescription' @::@ 'Maybe' 'Text'+--+-- * 'dbsg1DBSubnetGroupName' @::@ 'Maybe' 'Text'+--+-- * 'dbsg1SubnetGroupStatus' @::@ 'Maybe' 'Text'+--+-- * 'dbsg1Subnets' @::@ ['Subnet']+--+-- * 'dbsg1VpcId' @::@ 'Maybe' 'Text'+--+dbsubnetGroup :: DBSubnetGroup+dbsubnetGroup = DBSubnetGroup+    { _dbsg1DBSubnetGroupName        = Nothing+    , _dbsg1DBSubnetGroupDescription = Nothing+    , _dbsg1VpcId                    = Nothing+    , _dbsg1SubnetGroupStatus        = Nothing+    , _dbsg1Subnets                  = mempty+    }++-- | Provides the description of the DB subnet group.+dbsg1DBSubnetGroupDescription :: Lens' DBSubnetGroup (Maybe Text)+dbsg1DBSubnetGroupDescription =+    lens _dbsg1DBSubnetGroupDescription+        (\s a -> s { _dbsg1DBSubnetGroupDescription = a })++-- | Specifies the name of the DB subnet group.+dbsg1DBSubnetGroupName :: Lens' DBSubnetGroup (Maybe Text)+dbsg1DBSubnetGroupName =+    lens _dbsg1DBSubnetGroupName (\s a -> s { _dbsg1DBSubnetGroupName = a })++-- | Provides the status of the DB subnet group.+dbsg1SubnetGroupStatus :: Lens' DBSubnetGroup (Maybe Text)+dbsg1SubnetGroupStatus =+    lens _dbsg1SubnetGroupStatus (\s a -> s { _dbsg1SubnetGroupStatus = a })++-- | Contains a list of Subnet elements.+dbsg1Subnets :: Lens' DBSubnetGroup [Subnet]+dbsg1Subnets = lens _dbsg1Subnets (\s a -> s { _dbsg1Subnets = a }) . _List++-- | Provides the VpcId of the DB subnet group.+dbsg1VpcId :: Lens' DBSubnetGroup (Maybe Text)+dbsg1VpcId = lens _dbsg1VpcId (\s a -> s { _dbsg1VpcId = a })++instance FromXML DBSubnetGroup where+    parseXML x = DBSubnetGroup+        <$> x .@? "DBSubnetGroupDescription"+        <*> x .@? "DBSubnetGroupName"+        <*> x .@? "SubnetGroupStatus"+        <*> x .@  "Subnets"+        <*> x .@? "VpcId"++instance ToQuery DBSubnetGroup where+    toQuery DBSubnetGroup{..} = mconcat+        [ "DBSubnetGroupDescription" =? _dbsg1DBSubnetGroupDescription+        , "DBSubnetGroupName"        =? _dbsg1DBSubnetGroupName+        , "SubnetGroupStatus"        =? _dbsg1SubnetGroupStatus+        , "Subnets"                  =? _dbsg1Subnets+        , "VpcId"                    =? _dbsg1VpcId+        ]++data DBInstanceStatusInfo = DBInstanceStatusInfo+    { _dbisiMessage    :: Maybe Text+    , _dbisiNormal     :: Maybe Bool+    , _dbisiStatus     :: Maybe Text+    , _dbisiStatusType :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'DBInstanceStatusInfo' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'dbisiMessage' @::@ 'Maybe' 'Text'+--+-- * 'dbisiNormal' @::@ 'Maybe' 'Bool'+--+-- * 'dbisiStatus' @::@ 'Maybe' 'Text'+--+-- * 'dbisiStatusType' @::@ 'Maybe' 'Text'+--+dbinstanceStatusInfo :: DBInstanceStatusInfo+dbinstanceStatusInfo = DBInstanceStatusInfo+    { _dbisiStatusType = Nothing+    , _dbisiNormal     = Nothing+    , _dbisiStatus     = Nothing+    , _dbisiMessage    = Nothing+    }++-- | Details of the error if there is an error for the instance. If the+-- instance is not in an error state, this value is blank.+dbisiMessage :: Lens' DBInstanceStatusInfo (Maybe Text)+dbisiMessage = lens _dbisiMessage (\s a -> s { _dbisiMessage = a })++-- | Boolean value that is true if the instance is operating normally, or+-- false if the instance is in an error state.+dbisiNormal :: Lens' DBInstanceStatusInfo (Maybe Bool)+dbisiNormal = lens _dbisiNormal (\s a -> s { _dbisiNormal = a })++-- | Status of the DB instance. For a StatusType of read replica, the values+-- can be replicating, error, stopped, or terminated.+dbisiStatus :: Lens' DBInstanceStatusInfo (Maybe Text)+dbisiStatus = lens _dbisiStatus (\s a -> s { _dbisiStatus = a })++-- | This value is currently "read replication.".+dbisiStatusType :: Lens' DBInstanceStatusInfo (Maybe Text)+dbisiStatusType = lens _dbisiStatusType (\s a -> s { _dbisiStatusType = a })++instance FromXML DBInstanceStatusInfo where+    parseXML x = DBInstanceStatusInfo+        <$> x .@? "Message"+        <*> x .@? "Normal"+        <*> x .@? "Status"+        <*> x .@? "StatusType"++instance ToQuery DBInstanceStatusInfo where+    toQuery DBInstanceStatusInfo{..} = mconcat+        [ "Message"    =? _dbisiMessage+        , "Normal"     =? _dbisiNormal+        , "Status"     =? _dbisiStatus+        , "StatusType" =? _dbisiStatusType+        ]++data OptionSetting = OptionSetting+    { _osAllowedValues :: Maybe Text+    , _osApplyType     :: Maybe Text+    , _osDataType      :: Maybe Text+    , _osDefaultValue  :: Maybe Text+    , _osDescription   :: Maybe Text+    , _osIsCollection  :: Maybe Bool+    , _osIsModifiable  :: Maybe Bool+    , _osName          :: Maybe Text+    , _osValue         :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'OptionSetting' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'osAllowedValues' @::@ 'Maybe' 'Text'+--+-- * 'osApplyType' @::@ 'Maybe' 'Text'+--+-- * 'osDataType' @::@ 'Maybe' 'Text'+--+-- * 'osDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'osDescription' @::@ 'Maybe' 'Text'+--+-- * 'osIsCollection' @::@ 'Maybe' 'Bool'+--+-- * 'osIsModifiable' @::@ 'Maybe' 'Bool'+--+-- * 'osName' @::@ 'Maybe' 'Text'+--+-- * 'osValue' @::@ 'Maybe' 'Text'+--+optionSetting :: OptionSetting+optionSetting = OptionSetting+    { _osName          = Nothing+    , _osValue         = Nothing+    , _osDefaultValue  = Nothing+    , _osDescription   = Nothing+    , _osApplyType     = Nothing+    , _osDataType      = Nothing+    , _osAllowedValues = Nothing+    , _osIsModifiable  = Nothing+    , _osIsCollection  = Nothing+    }++-- | The allowed values of the option setting.+osAllowedValues :: Lens' OptionSetting (Maybe Text)+osAllowedValues = lens _osAllowedValues (\s a -> s { _osAllowedValues = a })++-- | The DB engine specific parameter type.+osApplyType :: Lens' OptionSetting (Maybe Text)+osApplyType = lens _osApplyType (\s a -> s { _osApplyType = a })++-- | The data type of the option setting.+osDataType :: Lens' OptionSetting (Maybe Text)+osDataType = lens _osDataType (\s a -> s { _osDataType = a })++-- | The default value of the option setting.+osDefaultValue :: Lens' OptionSetting (Maybe Text)+osDefaultValue = lens _osDefaultValue (\s a -> s { _osDefaultValue = a })++-- | The description of the option setting.+osDescription :: Lens' OptionSetting (Maybe Text)+osDescription = lens _osDescription (\s a -> s { _osDescription = a })++-- | Indicates if the option setting is part of a collection.+osIsCollection :: Lens' OptionSetting (Maybe Bool)+osIsCollection = lens _osIsCollection (\s a -> s { _osIsCollection = a })++-- | A Boolean value that, when true, indicates the option setting can be+-- modified from the default.+osIsModifiable :: Lens' OptionSetting (Maybe Bool)+osIsModifiable = lens _osIsModifiable (\s a -> s { _osIsModifiable = a })++-- | The name of the option that has settings that you can set.+osName :: Lens' OptionSetting (Maybe Text)+osName = lens _osName (\s a -> s { _osName = a })++-- | The current value of the option setting.+osValue :: Lens' OptionSetting (Maybe Text)+osValue = lens _osValue (\s a -> s { _osValue = a })++instance FromXML OptionSetting where+    parseXML x = OptionSetting+        <$> x .@? "AllowedValues"+        <*> x .@? "ApplyType"+        <*> x .@? "DataType"+        <*> x .@? "DefaultValue"+        <*> x .@? "Description"+        <*> x .@? "IsCollection"+        <*> x .@? "IsModifiable"+        <*> x .@? "Name"+        <*> x .@? "Value"++instance ToQuery OptionSetting where+    toQuery OptionSetting{..} = mconcat+        [ "AllowedValues" =? _osAllowedValues+        , "ApplyType"     =? _osApplyType+        , "DataType"      =? _osDataType+        , "DefaultValue"  =? _osDefaultValue+        , "Description"   =? _osDescription+        , "IsCollection"  =? _osIsCollection+        , "IsModifiable"  =? _osIsModifiable+        , "Name"          =? _osName+        , "Value"         =? _osValue+        ]++data DescribeDBLogFilesDetails = DescribeDBLogFilesDetails+    { _ddblfdLastWritten :: Maybe Integer+    , _ddblfdLogFileName :: Maybe Text+    , _ddblfdSize        :: Maybe Integer+    } deriving (Eq, Ord, Show)++-- | 'DescribeDBLogFilesDetails' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ddblfdLastWritten' @::@ 'Maybe' 'Integer'+--+-- * 'ddblfdLogFileName' @::@ 'Maybe' 'Text'+--+-- * 'ddblfdSize' @::@ 'Maybe' 'Integer'+--+describeDBLogFilesDetails :: DescribeDBLogFilesDetails+describeDBLogFilesDetails = DescribeDBLogFilesDetails+    { _ddblfdLogFileName = Nothing+    , _ddblfdLastWritten = Nothing+    , _ddblfdSize        = Nothing+    }++-- | A POSIX timestamp when the last log entry was written.+ddblfdLastWritten :: Lens' DescribeDBLogFilesDetails (Maybe Integer)+ddblfdLastWritten =+    lens _ddblfdLastWritten (\s a -> s { _ddblfdLastWritten = a })++-- | The name of the log file for the specified DB instance.+ddblfdLogFileName :: Lens' DescribeDBLogFilesDetails (Maybe Text)+ddblfdLogFileName =+    lens _ddblfdLogFileName (\s a -> s { _ddblfdLogFileName = a })++-- | The size, in bytes, of the log file for the specified DB instance.+ddblfdSize :: Lens' DescribeDBLogFilesDetails (Maybe Integer)+ddblfdSize = lens _ddblfdSize (\s a -> s { _ddblfdSize = a })++instance FromXML DescribeDBLogFilesDetails where+    parseXML x = DescribeDBLogFilesDetails+        <$> x .@? "LastWritten"+        <*> x .@? "LogFileName"+        <*> x .@? "Size"++instance ToQuery DescribeDBLogFilesDetails where+    toQuery DescribeDBLogFilesDetails{..} = mconcat+        [ "LastWritten" =? _ddblfdLastWritten+        , "LogFileName" =? _ddblfdLogFileName+        , "Size"        =? _ddblfdSize+        ]++data OrderableDBInstanceOption = OrderableDBInstanceOption+    { _odbioAvailabilityZones  :: List "AvailabilityZone" AvailabilityZone+    , _odbioDBInstanceClass    :: Maybe Text+    , _odbioEngine             :: Maybe Text+    , _odbioEngineVersion      :: Maybe Text+    , _odbioLicenseModel       :: Maybe Text+    , _odbioMultiAZCapable     :: Maybe Bool+    , _odbioReadReplicaCapable :: Maybe Bool+    , _odbioStorageType        :: Maybe Text+    , _odbioSupportsIops       :: Maybe Bool+    , _odbioVpc                :: Maybe Bool+    } deriving (Eq, Show)++-- | 'OrderableDBInstanceOption' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'odbioAvailabilityZones' @::@ ['AvailabilityZone']+--+-- * 'odbioDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'odbioEngine' @::@ 'Maybe' 'Text'+--+-- * 'odbioEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'odbioLicenseModel' @::@ 'Maybe' 'Text'+--+-- * 'odbioMultiAZCapable' @::@ 'Maybe' 'Bool'+--+-- * 'odbioReadReplicaCapable' @::@ 'Maybe' 'Bool'+--+-- * 'odbioStorageType' @::@ 'Maybe' 'Text'+--+-- * 'odbioSupportsIops' @::@ 'Maybe' 'Bool'+--+-- * 'odbioVpc' @::@ 'Maybe' 'Bool'+--+orderableDBInstanceOption :: OrderableDBInstanceOption+orderableDBInstanceOption = OrderableDBInstanceOption+    { _odbioEngine             = Nothing+    , _odbioEngineVersion      = Nothing+    , _odbioDBInstanceClass    = Nothing+    , _odbioLicenseModel       = Nothing+    , _odbioAvailabilityZones  = mempty+    , _odbioMultiAZCapable     = Nothing+    , _odbioReadReplicaCapable = Nothing+    , _odbioVpc                = Nothing+    , _odbioStorageType        = Nothing+    , _odbioSupportsIops       = Nothing+    }++-- | A list of availability zones for the orderable DB instance.+odbioAvailabilityZones :: Lens' OrderableDBInstanceOption [AvailabilityZone]+odbioAvailabilityZones =+    lens _odbioAvailabilityZones (\s a -> s { _odbioAvailabilityZones = a })+        . _List++-- | The DB instance Class for the orderable DB instance.+odbioDBInstanceClass :: Lens' OrderableDBInstanceOption (Maybe Text)+odbioDBInstanceClass =+    lens _odbioDBInstanceClass (\s a -> s { _odbioDBInstanceClass = a })++-- | The engine type of the orderable DB instance.+odbioEngine :: Lens' OrderableDBInstanceOption (Maybe Text)+odbioEngine = lens _odbioEngine (\s a -> s { _odbioEngine = a })++-- | The engine version of the orderable DB instance.+odbioEngineVersion :: Lens' OrderableDBInstanceOption (Maybe Text)+odbioEngineVersion =+    lens _odbioEngineVersion (\s a -> s { _odbioEngineVersion = a })++-- | The license model for the orderable DB instance.+odbioLicenseModel :: Lens' OrderableDBInstanceOption (Maybe Text)+odbioLicenseModel =+    lens _odbioLicenseModel (\s a -> s { _odbioLicenseModel = a })++-- | Indicates whether this orderable DB instance is multi-AZ capable.+odbioMultiAZCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)+odbioMultiAZCapable =+    lens _odbioMultiAZCapable (\s a -> s { _odbioMultiAZCapable = a })++-- | Indicates whether this orderable DB instance can have a read replica.+odbioReadReplicaCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)+odbioReadReplicaCapable =+    lens _odbioReadReplicaCapable (\s a -> s { _odbioReadReplicaCapable = a })++-- | The storage type for this orderable DB instance.+odbioStorageType :: Lens' OrderableDBInstanceOption (Maybe Text)+odbioStorageType = lens _odbioStorageType (\s a -> s { _odbioStorageType = a })++-- | Indicates whether this orderable DB instance supports provisioned IOPS.+odbioSupportsIops :: Lens' OrderableDBInstanceOption (Maybe Bool)+odbioSupportsIops =+    lens _odbioSupportsIops (\s a -> s { _odbioSupportsIops = a })++-- | Indicates whether this is a VPC orderable DB instance.+odbioVpc :: Lens' OrderableDBInstanceOption (Maybe Bool)+odbioVpc = lens _odbioVpc (\s a -> s { _odbioVpc = a })++instance FromXML OrderableDBInstanceOption where+    parseXML x = OrderableDBInstanceOption+        <$> x .@  "AvailabilityZones"+        <*> x .@? "DBInstanceClass"+        <*> x .@? "Engine"+        <*> x .@? "EngineVersion"+        <*> x .@? "LicenseModel"+        <*> x .@? "MultiAZCapable"+        <*> x .@? "ReadReplicaCapable"+        <*> x .@? "StorageType"+        <*> x .@? "SupportsIops"+        <*> x .@? "Vpc"++instance ToQuery OrderableDBInstanceOption where+    toQuery OrderableDBInstanceOption{..} = mconcat+        [ "AvailabilityZones"  =? _odbioAvailabilityZones+        , "DBInstanceClass"    =? _odbioDBInstanceClass+        , "Engine"             =? _odbioEngine+        , "EngineVersion"      =? _odbioEngineVersion+        , "LicenseModel"       =? _odbioLicenseModel+        , "MultiAZCapable"     =? _odbioMultiAZCapable+        , "ReadReplicaCapable" =? _odbioReadReplicaCapable+        , "StorageType"        =? _odbioStorageType+        , "SupportsIops"       =? _odbioSupportsIops+        , "Vpc"                =? _odbioVpc+        ]++data Filter = Filter+    { _fName   :: Text+    , _fValues :: List "Value" Text+    } deriving (Eq, Ord, Show)++-- | 'Filter' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'fName' @::@ 'Text'+--+-- * 'fValues' @::@ ['Text']+--+filter' :: Text -- ^ 'fName'+        -> Filter+filter' p1 = Filter+    { _fName   = p1+    , _fValues = mempty+    }++-- | This parameter is not currently supported.+fName :: Lens' Filter Text+fName = lens _fName (\s a -> s { _fName = a })++-- | This parameter is not currently supported.+fValues :: Lens' Filter [Text]+fValues = lens _fValues (\s a -> s { _fValues = a }) . _List++instance FromXML Filter where+    parseXML x = Filter+        <$> x .@  "Name"+        <*> x .@  "Values"++instance ToQuery Filter where+    toQuery Filter{..} = mconcat+        [ "Name"   =? _fName+        , "Values" =? _fValues+        ]++data RecurringCharge = RecurringCharge+    { _rcRecurringChargeAmount    :: Maybe Double+    , _rcRecurringChargeFrequency :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'RecurringCharge' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'rcRecurringChargeAmount' @::@ 'Maybe' 'Double'+--+-- * 'rcRecurringChargeFrequency' @::@ 'Maybe' 'Text'+--+recurringCharge :: RecurringCharge+recurringCharge = RecurringCharge+    { _rcRecurringChargeAmount    = Nothing+    , _rcRecurringChargeFrequency = Nothing+    }++-- | The amount of the recurring charge.+rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)+rcRecurringChargeAmount =+    lens _rcRecurringChargeAmount (\s a -> s { _rcRecurringChargeAmount = a })++-- | The frequency of the recurring charge.+rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)+rcRecurringChargeFrequency =+    lens _rcRecurringChargeFrequency+        (\s a -> s { _rcRecurringChargeFrequency = a })++instance FromXML RecurringCharge where+    parseXML x = RecurringCharge+        <$> x .@? "RecurringChargeAmount"+        <*> x .@? "RecurringChargeFrequency"++instance ToQuery RecurringCharge where+    toQuery RecurringCharge{..} = mconcat+        [ "RecurringChargeAmount"    =? _rcRecurringChargeAmount+        , "RecurringChargeFrequency" =? _rcRecurringChargeFrequency+        ]++data Endpoint = Endpoint+    { _eAddress :: Maybe Text+    , _ePort    :: Maybe Int+    } deriving (Eq, Ord, Show)++-- | 'Endpoint' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'eAddress' @::@ 'Maybe' 'Text'+--+-- * 'ePort' @::@ 'Maybe' 'Int'+--+endpoint :: Endpoint+endpoint = Endpoint+    { _eAddress = Nothing+    , _ePort    = Nothing+    }++-- | Specifies the DNS address of the DB instance.+eAddress :: Lens' Endpoint (Maybe Text)+eAddress = lens _eAddress (\s a -> s { _eAddress = a })++-- | Specifies the port that the database engine is listening on.+ePort :: Lens' Endpoint (Maybe Int)+ePort = lens _ePort (\s a -> s { _ePort = a })++instance FromXML Endpoint where+    parseXML x = Endpoint+        <$> x .@? "Address"+        <*> x .@? "Port"++instance ToQuery Endpoint where+    toQuery Endpoint{..} = mconcat+        [ "Address" =? _eAddress+        , "Port"    =? _ePort+        ]++data OptionConfiguration = OptionConfiguration+    { _ocDBSecurityGroupMemberships  :: List "DBSecurityGroupName" Text+    , _ocOptionName                  :: Text+    , _ocOptionSettings              :: List "OptionSetting" OptionSetting+    , _ocPort                        :: Maybe Int+    , _ocVpcSecurityGroupMemberships :: List "VpcSecurityGroupId" Text+    } deriving (Eq, Show)++-- | 'OptionConfiguration' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ocDBSecurityGroupMemberships' @::@ ['Text']+--+-- * 'ocOptionName' @::@ 'Text'+--+-- * 'ocOptionSettings' @::@ ['OptionSetting']+--+-- * 'ocPort' @::@ 'Maybe' 'Int'+--+-- * 'ocVpcSecurityGroupMemberships' @::@ ['Text']+--+optionConfiguration :: Text -- ^ 'ocOptionName'+                    -> OptionConfiguration+optionConfiguration p1 = OptionConfiguration+    { _ocOptionName                  = p1+    , _ocPort                        = Nothing+    , _ocDBSecurityGroupMemberships  = mempty+    , _ocVpcSecurityGroupMemberships = mempty+    , _ocOptionSettings              = mempty+    }++-- | A list of DBSecurityGroupMemebrship name strings used for this option.+ocDBSecurityGroupMemberships :: Lens' OptionConfiguration [Text]+ocDBSecurityGroupMemberships =+    lens _ocDBSecurityGroupMemberships+        (\s a -> s { _ocDBSecurityGroupMemberships = a })+            . _List++-- | The configuration of options to include in a group.+ocOptionName :: Lens' OptionConfiguration Text+ocOptionName = lens _ocOptionName (\s a -> s { _ocOptionName = a })++-- | The option settings to include in an option group.+ocOptionSettings :: Lens' OptionConfiguration [OptionSetting]+ocOptionSettings = lens _ocOptionSettings (\s a -> s { _ocOptionSettings = a }) . _List++-- | The optional port for the option.+ocPort :: Lens' OptionConfiguration (Maybe Int)+ocPort = lens _ocPort (\s a -> s { _ocPort = a })++-- | A list of VpcSecurityGroupMemebrship name strings used for this option.+ocVpcSecurityGroupMemberships :: Lens' OptionConfiguration [Text]+ocVpcSecurityGroupMemberships =+    lens _ocVpcSecurityGroupMemberships+        (\s a -> s { _ocVpcSecurityGroupMemberships = a })+            . _List++instance FromXML OptionConfiguration where+    parseXML x = OptionConfiguration+        <$> x .@  "DBSecurityGroupMemberships"+        <*> x .@  "OptionName"+        <*> x .@  "OptionSettings"+        <*> x .@? "Port"+        <*> x .@  "VpcSecurityGroupMemberships"++instance ToQuery OptionConfiguration where+    toQuery OptionConfiguration{..} = mconcat+        [ "DBSecurityGroupMemberships"  =? _ocDBSecurityGroupMemberships+        , "OptionName"                  =? _ocOptionName+        , "OptionSettings"              =? _ocOptionSettings+        , "Port"                        =? _ocPort+        , "VpcSecurityGroupMemberships" =? _ocVpcSecurityGroupMemberships+        ]++data Option = Option+    { _oDBSecurityGroupMemberships  :: List "DBSecurityGroup" DBSecurityGroupMembership+    , _oOptionDescription           :: Maybe Text+    , _oOptionName                  :: Maybe Text+    , _oOptionSettings              :: List "OptionSetting" OptionSetting+    , _oPermanent                   :: Maybe Bool+    , _oPersistent                  :: Maybe Bool+    , _oPort                        :: Maybe Int+    , _oVpcSecurityGroupMemberships :: List "VpcSecurityGroupMembership" VpcSecurityGroupMembership+    } deriving (Eq, Show)++-- | 'Option' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'oDBSecurityGroupMemberships' @::@ ['DBSecurityGroupMembership']+--+-- * 'oOptionDescription' @::@ 'Maybe' 'Text'+--+-- * 'oOptionName' @::@ 'Maybe' 'Text'+--+-- * 'oOptionSettings' @::@ ['OptionSetting']+--+-- * 'oPermanent' @::@ 'Maybe' 'Bool'+--+-- * 'oPersistent' @::@ 'Maybe' 'Bool'+--+-- * 'oPort' @::@ 'Maybe' 'Int'+--+-- * 'oVpcSecurityGroupMemberships' @::@ ['VpcSecurityGroupMembership']+--+option :: Option+option = Option+    { _oOptionName                  = Nothing+    , _oOptionDescription           = Nothing+    , _oPersistent                  = Nothing+    , _oPermanent                   = Nothing+    , _oPort                        = Nothing+    , _oOptionSettings              = mempty+    , _oDBSecurityGroupMemberships  = mempty+    , _oVpcSecurityGroupMemberships = mempty+    }++-- | If the option requires access to a port, then this DB security group+-- allows access to the port.+oDBSecurityGroupMemberships :: Lens' Option [DBSecurityGroupMembership]+oDBSecurityGroupMemberships =+    lens _oDBSecurityGroupMemberships+        (\s a -> s { _oDBSecurityGroupMemberships = a })+            . _List++-- | The description of the option.+oOptionDescription :: Lens' Option (Maybe Text)+oOptionDescription =+    lens _oOptionDescription (\s a -> s { _oOptionDescription = a })++-- | The name of the option.+oOptionName :: Lens' Option (Maybe Text)+oOptionName = lens _oOptionName (\s a -> s { _oOptionName = a })++-- | The option settings for this option.+oOptionSettings :: Lens' Option [OptionSetting]+oOptionSettings = lens _oOptionSettings (\s a -> s { _oOptionSettings = a }) . _List++-- | Indicate if this option is permanent.+oPermanent :: Lens' Option (Maybe Bool)+oPermanent = lens _oPermanent (\s a -> s { _oPermanent = a })++-- | Indicate if this option is persistent.+oPersistent :: Lens' Option (Maybe Bool)+oPersistent = lens _oPersistent (\s a -> s { _oPersistent = a })++-- | If required, the port configured for this option to use.+oPort :: Lens' Option (Maybe Int)+oPort = lens _oPort (\s a -> s { _oPort = a })++-- | If the option requires access to a port, then this VPC security group+-- allows access to the port.+oVpcSecurityGroupMemberships :: Lens' Option [VpcSecurityGroupMembership]+oVpcSecurityGroupMemberships =+    lens _oVpcSecurityGroupMemberships+        (\s a -> s { _oVpcSecurityGroupMemberships = a })+            . _List++instance FromXML Option where+    parseXML x = Option+        <$> x .@  "DBSecurityGroupMemberships"+        <*> x .@? "OptionDescription"+        <*> x .@? "OptionName"+        <*> x .@  "OptionSettings"+        <*> x .@? "Permanent"+        <*> x .@? "Persistent"+        <*> x .@? "Port"+        <*> x .@  "VpcSecurityGroupMemberships"++instance ToQuery Option where+    toQuery Option{..} = mconcat+        [ "DBSecurityGroupMemberships"  =? _oDBSecurityGroupMemberships+        , "OptionDescription"           =? _oOptionDescription+        , "OptionName"                  =? _oOptionName+        , "OptionSettings"              =? _oOptionSettings+        , "Permanent"                   =? _oPermanent+        , "Persistent"                  =? _oPersistent+        , "Port"                        =? _oPort+        , "VpcSecurityGroupMemberships" =? _oVpcSecurityGroupMemberships+        ]++data IPRange = IPRange+    { _iprCIDRIP :: Maybe Text+    , _iprStatus :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'IPRange' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'iprCIDRIP' @::@ 'Maybe' 'Text'+--+-- * 'iprStatus' @::@ 'Maybe' 'Text'+--+iprange :: IPRange+iprange = IPRange+    { _iprStatus = Nothing+    , _iprCIDRIP = Nothing+    }++-- | Specifies the IP range.+iprCIDRIP :: Lens' IPRange (Maybe Text)+iprCIDRIP = lens _iprCIDRIP (\s a -> s { _iprCIDRIP = a })++-- | Specifies the status of the IP range. Status can be "authorizing",+-- "authorized", "revoking", and "revoked".+iprStatus :: Lens' IPRange (Maybe Text)+iprStatus = lens _iprStatus (\s a -> s { _iprStatus = a })++instance FromXML IPRange where+    parseXML x = IPRange+        <$> x .@? "CIDRIP"+        <*> x .@? "Status"++instance ToQuery IPRange where+    toQuery IPRange{..} = mconcat+        [ "CIDRIP" =? _iprCIDRIP+        , "Status" =? _iprStatus+        ]++data OptionGroupMembership = OptionGroupMembership+    { _ogmOptionGroupName :: Maybe Text+    , _ogmStatus          :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'OptionGroupMembership' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ogmOptionGroupName' @::@ 'Maybe' 'Text'+--+-- * 'ogmStatus' @::@ 'Maybe' 'Text'+--+optionGroupMembership :: OptionGroupMembership+optionGroupMembership = OptionGroupMembership+    { _ogmOptionGroupName = Nothing+    , _ogmStatus          = Nothing+    }++-- | The name of the option group that the instance belongs to.+ogmOptionGroupName :: Lens' OptionGroupMembership (Maybe Text)+ogmOptionGroupName =+    lens _ogmOptionGroupName (\s a -> s { _ogmOptionGroupName = a })++-- | The status of the DB instance's option group membership (e.g. in-sync,+-- pending, pending-maintenance, applying).+ogmStatus :: Lens' OptionGroupMembership (Maybe Text)+ogmStatus = lens _ogmStatus (\s a -> s { _ogmStatus = a })++instance FromXML OptionGroupMembership where+    parseXML x = OptionGroupMembership+        <$> x .@? "OptionGroupName"+        <*> x .@? "Status"++instance ToQuery OptionGroupMembership where+    toQuery OptionGroupMembership{..} = mconcat+        [ "OptionGroupName" =? _ogmOptionGroupName+        , "Status"          =? _ogmStatus+        ]++data EventCategoriesMap = EventCategoriesMap+    { _ecmEventCategories :: List "EventCategory" Text+    , _ecmSourceType      :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'EventCategoriesMap' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ecmEventCategories' @::@ ['Text']+--+-- * 'ecmSourceType' @::@ 'Maybe' 'Text'+--+eventCategoriesMap :: EventCategoriesMap+eventCategoriesMap = EventCategoriesMap+    { _ecmSourceType      = Nothing+    , _ecmEventCategories = mempty+    }++-- | The event categories for the specified source type.+ecmEventCategories :: Lens' EventCategoriesMap [Text]+ecmEventCategories =+    lens _ecmEventCategories (\s a -> s { _ecmEventCategories = a })+        . _List++-- | The source type that the returned categories belong to.+ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)+ecmSourceType = lens _ecmSourceType (\s a -> s { _ecmSourceType = a })++instance FromXML EventCategoriesMap where+    parseXML x = EventCategoriesMap+        <$> x .@  "EventCategories"+        <*> x .@? "SourceType"++instance ToQuery EventCategoriesMap where+    toQuery EventCategoriesMap{..} = mconcat+        [ "EventCategories" =? _ecmEventCategories+        , "SourceType"      =? _ecmSourceType+        ]++data PendingModifiedValues = PendingModifiedValues+    { _pmvAllocatedStorage      :: Maybe Int+    , _pmvBackupRetentionPeriod :: Maybe Int+    , _pmvDBInstanceClass       :: Maybe Text+    , _pmvDBInstanceIdentifier  :: Maybe Text+    , _pmvEngineVersion         :: Maybe Text+    , _pmvIops                  :: Maybe Int+    , _pmvMasterUserPassword    :: Maybe Text+    , _pmvMultiAZ               :: Maybe Bool+    , _pmvPort                  :: Maybe Int+    , _pmvStorageType           :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'PendingModifiedValues' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'pmvAllocatedStorage' @::@ 'Maybe' 'Int'+--+-- * 'pmvBackupRetentionPeriod' @::@ 'Maybe' 'Int'+--+-- * 'pmvDBInstanceClass' @::@ 'Maybe' 'Text'+--+-- * 'pmvDBInstanceIdentifier' @::@ 'Maybe' 'Text'+--+-- * 'pmvEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'pmvIops' @::@ 'Maybe' 'Int'+--+-- * 'pmvMasterUserPassword' @::@ 'Maybe' 'Text'+--+-- * 'pmvMultiAZ' @::@ 'Maybe' 'Bool'+--+-- * 'pmvPort' @::@ 'Maybe' 'Int'+--+-- * 'pmvStorageType' @::@ 'Maybe' 'Text'+--+pendingModifiedValues :: PendingModifiedValues+pendingModifiedValues = PendingModifiedValues+    { _pmvDBInstanceClass       = Nothing+    , _pmvAllocatedStorage      = Nothing+    , _pmvMasterUserPassword    = Nothing+    , _pmvPort                  = Nothing+    , _pmvBackupRetentionPeriod = Nothing+    , _pmvMultiAZ               = Nothing+    , _pmvEngineVersion         = Nothing+    , _pmvIops                  = Nothing+    , _pmvDBInstanceIdentifier  = Nothing+    , _pmvStorageType           = Nothing+    }++-- | Contains the new AllocatedStorage size for the DB instance that will be+-- applied or is in progress.+pmvAllocatedStorage :: Lens' PendingModifiedValues (Maybe Int)+pmvAllocatedStorage =+    lens _pmvAllocatedStorage (\s a -> s { _pmvAllocatedStorage = a })++-- | Specifies the pending number of days for which automated backups are+-- retained.+pmvBackupRetentionPeriod :: Lens' PendingModifiedValues (Maybe Int)+pmvBackupRetentionPeriod =+    lens _pmvBackupRetentionPeriod+        (\s a -> s { _pmvBackupRetentionPeriod = a })++-- | Contains the new DBInstanceClass for the DB instance that will be applied+-- or is in progress.+pmvDBInstanceClass :: Lens' PendingModifiedValues (Maybe Text)+pmvDBInstanceClass =+    lens _pmvDBInstanceClass (\s a -> s { _pmvDBInstanceClass = a })++-- | Contains the new DBInstanceIdentifier for the DB instance that will be+-- applied or is in progress.+pmvDBInstanceIdentifier :: Lens' PendingModifiedValues (Maybe Text)+pmvDBInstanceIdentifier =+    lens _pmvDBInstanceIdentifier (\s a -> s { _pmvDBInstanceIdentifier = a })++-- | Indicates the database engine version.+pmvEngineVersion :: Lens' PendingModifiedValues (Maybe Text)+pmvEngineVersion = lens _pmvEngineVersion (\s a -> s { _pmvEngineVersion = a })++-- | Specifies the new Provisioned IOPS value for the DB instance that will be+-- applied or is being applied.+pmvIops :: Lens' PendingModifiedValues (Maybe Int)+pmvIops = lens _pmvIops (\s a -> s { _pmvIops = a })++-- | Contains the pending or in-progress change of the master credentials for+-- the DB instance.+pmvMasterUserPassword :: Lens' PendingModifiedValues (Maybe Text)+pmvMasterUserPassword =+    lens _pmvMasterUserPassword (\s a -> s { _pmvMasterUserPassword = a })++-- | Indicates that the Single-AZ DB instance is to change to a Multi-AZ+-- deployment.+pmvMultiAZ :: Lens' PendingModifiedValues (Maybe Bool)+pmvMultiAZ = lens _pmvMultiAZ (\s a -> s { _pmvMultiAZ = a })++-- | Specifies the pending port for the DB instance.+pmvPort :: Lens' PendingModifiedValues (Maybe Int)+pmvPort = lens _pmvPort (\s a -> s { _pmvPort = a })++-- | Specifies storage type to be associated with the DB instance.+pmvStorageType :: Lens' PendingModifiedValues (Maybe Text)+pmvStorageType = lens _pmvStorageType (\s a -> s { _pmvStorageType = a })++instance FromXML PendingModifiedValues where+    parseXML x = PendingModifiedValues+        <$> x .@? "AllocatedStorage"+        <*> x .@? "BackupRetentionPeriod"+        <*> x .@? "DBInstanceClass"+        <*> x .@? "DBInstanceIdentifier"+        <*> x .@? "EngineVersion"+        <*> x .@? "Iops"+        <*> x .@? "MasterUserPassword"+        <*> x .@? "MultiAZ"+        <*> x .@? "Port"+        <*> x .@? "StorageType"++instance ToQuery PendingModifiedValues where+    toQuery PendingModifiedValues{..} = mconcat+        [ "AllocatedStorage"      =? _pmvAllocatedStorage+        , "BackupRetentionPeriod" =? _pmvBackupRetentionPeriod+        , "DBInstanceClass"       =? _pmvDBInstanceClass+        , "DBInstanceIdentifier"  =? _pmvDBInstanceIdentifier+        , "EngineVersion"         =? _pmvEngineVersion+        , "Iops"                  =? _pmvIops+        , "MasterUserPassword"    =? _pmvMasterUserPassword+        , "MultiAZ"               =? _pmvMultiAZ+        , "Port"                  =? _pmvPort+        , "StorageType"           =? _pmvStorageType+        ]++data VpcSecurityGroupMembership = VpcSecurityGroupMembership+    { _vsgmStatus             :: Maybe Text+    , _vsgmVpcSecurityGroupId :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'VpcSecurityGroupMembership' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'vsgmStatus' @::@ 'Maybe' 'Text'+--+-- * 'vsgmVpcSecurityGroupId' @::@ 'Maybe' 'Text'+--+vpcSecurityGroupMembership :: VpcSecurityGroupMembership+vpcSecurityGroupMembership = VpcSecurityGroupMembership+    { _vsgmVpcSecurityGroupId = Nothing+    , _vsgmStatus             = Nothing+    }++-- | The status of the VPC security group.+vsgmStatus :: Lens' VpcSecurityGroupMembership (Maybe Text)+vsgmStatus = lens _vsgmStatus (\s a -> s { _vsgmStatus = a })++-- | The name of the VPC security group.+vsgmVpcSecurityGroupId :: Lens' VpcSecurityGroupMembership (Maybe Text)+vsgmVpcSecurityGroupId =+    lens _vsgmVpcSecurityGroupId (\s a -> s { _vsgmVpcSecurityGroupId = a })++instance FromXML VpcSecurityGroupMembership where+    parseXML x = VpcSecurityGroupMembership+        <$> x .@? "Status"+        <*> x .@? "VpcSecurityGroupId"++instance ToQuery VpcSecurityGroupMembership where+    toQuery VpcSecurityGroupMembership{..} = mconcat+        [ "Status"             =? _vsgmStatus+        , "VpcSecurityGroupId" =? _vsgmVpcSecurityGroupId+        ]++data Parameter = Parameter+    { _pAllowedValues        :: Maybe Text+    , _pApplyMethod          :: Maybe Text+    , _pApplyType            :: Maybe Text+    , _pDataType             :: Maybe Text+    , _pDescription          :: Maybe Text+    , _pIsModifiable         :: Maybe Bool+    , _pMinimumEngineVersion :: Maybe Text+    , _pParameterName        :: Maybe Text+    , _pParameterValue       :: Maybe Text+    , _pSource               :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'Parameter' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'pAllowedValues' @::@ 'Maybe' 'Text'+--+-- * 'pApplyMethod' @::@ 'Maybe' 'Text'+--+-- * 'pApplyType' @::@ 'Maybe' 'Text'+--+-- * 'pDataType' @::@ 'Maybe' 'Text'+--+-- * 'pDescription' @::@ 'Maybe' 'Text'+--+-- * 'pIsModifiable' @::@ 'Maybe' 'Bool'+--+-- * 'pMinimumEngineVersion' @::@ 'Maybe' 'Text'+--+-- * 'pParameterName' @::@ 'Maybe' 'Text'+--+-- * 'pParameterValue' @::@ 'Maybe' 'Text'+--+-- * 'pSource' @::@ 'Maybe' 'Text'+--+parameter :: Parameter+parameter = Parameter+    { _pParameterName        = Nothing+    , _pParameterValue       = Nothing+    , _pDescription          = Nothing+    , _pSource               = Nothing+    , _pApplyType            = Nothing+    , _pDataType             = Nothing+    , _pAllowedValues        = Nothing+    , _pIsModifiable         = Nothing+    , _pMinimumEngineVersion = Nothing+    , _pApplyMethod          = Nothing+    }++-- | Specifies the valid range of values for the parameter.+pAllowedValues :: Lens' Parameter (Maybe Text)+pAllowedValues = lens _pAllowedValues (\s a -> s { _pAllowedValues = a })++-- | Indicates when to apply parameter updates.+pApplyMethod :: Lens' Parameter (Maybe Text)+pApplyMethod = lens _pApplyMethod (\s a -> s { _pApplyMethod = a })++-- | Specifies the engine specific parameters type.+pApplyType :: Lens' Parameter (Maybe Text)+pApplyType = lens _pApplyType (\s a -> s { _pApplyType = a })++-- | Specifies the valid data type for the parameter.+pDataType :: Lens' Parameter (Maybe Text)+pDataType = lens _pDataType (\s a -> s { _pDataType = a })++-- | Provides a description of the parameter.+pDescription :: Lens' Parameter (Maybe Text)+pDescription = lens _pDescription (\s a -> s { _pDescription = a })++-- | Indicates whether (true) or not (false) the parameter can be modified.+-- Some parameters have security or operational implications that prevent+-- them from being changed.+pIsModifiable :: Lens' Parameter (Maybe Bool)+pIsModifiable = lens _pIsModifiable (\s a -> s { _pIsModifiable = a })++-- | The earliest engine version to which the parameter can apply.+pMinimumEngineVersion :: Lens' Parameter (Maybe Text)+pMinimumEngineVersion =+    lens _pMinimumEngineVersion (\s a -> s { _pMinimumEngineVersion = a })++-- | Specifies the name of the parameter.+pParameterName :: Lens' Parameter (Maybe Text)+pParameterName = lens _pParameterName (\s a -> s { _pParameterName = a })++-- | Specifies the value of the parameter.+pParameterValue :: Lens' Parameter (Maybe Text)+pParameterValue = lens _pParameterValue (\s a -> s { _pParameterValue = a })++-- | Indicates the source of the parameter value.+pSource :: Lens' Parameter (Maybe Text)+pSource = lens _pSource (\s a -> s { _pSource = a })++instance FromXML Parameter where+    parseXML x = Parameter+        <$> x .@? "AllowedValues"+        <*> x .@? "ApplyMethod"+        <*> x .@? "ApplyType"+        <*> x .@? "DataType"+        <*> x .@? "Description"+        <*> x .@? "IsModifiable"+        <*> x .@? "MinimumEngineVersion"+        <*> x .@? "ParameterName"+        <*> x .@? "ParameterValue"+        <*> x .@? "Source"++instance ToQuery Parameter where+    toQuery Parameter{..} = mconcat+        [ "AllowedValues"        =? _pAllowedValues+        , "ApplyMethod"          =? _pApplyMethod+        , "ApplyType"            =? _pApplyType+        , "DataType"             =? _pDataType+        , "Description"          =? _pDescription+        , "IsModifiable"         =? _pIsModifiable+        , "MinimumEngineVersion" =? _pMinimumEngineVersion+        , "ParameterName"        =? _pParameterName+        , "ParameterValue"       =? _pParameterValue+        , "Source"               =? _pSource+        ]++data OptionGroupOptionSetting = OptionGroupOptionSetting+    { _ogosAllowedValues      :: Maybe Text+    , _ogosApplyType          :: Maybe Text+    , _ogosDefaultValue       :: Maybe Text+    , _ogosIsModifiable       :: Maybe Bool+    , _ogosSettingDescription :: Maybe Text+    , _ogosSettingName        :: Maybe Text+    } deriving (Eq, Ord, Show)++-- | 'OptionGroupOptionSetting' constructor.+--+-- The fields accessible through corresponding lenses are:+--+-- * 'ogosAllowedValues' @::@ 'Maybe' 'Text'+--+-- * 'ogosApplyType' @::@ 'Maybe' 'Text'+--+-- * 'ogosDefaultValue' @::@ 'Maybe' 'Text'+--+-- * 'ogosIsModifiable' @::@ 'Maybe' 'Bool'+--+-- * 'ogosSettingDescription' @::@ 'Maybe' 'Text'+--+-- * 'ogosSettingName' @::@ 'Maybe' 'Text'+--+optionGroupOptionSetting :: OptionGroupOptionSetting+optionGroupOptionSetting = OptionGroupOptionSetting+    { _ogosSettingName        = Nothing+    , _ogosSettingDescription = Nothing+    , _ogosDefaultValue       = Nothing+    , _ogosApplyType          = Nothing+    , _ogosAllowedValues      = Nothing+    , _ogosIsModifiable       = Nothing+    }++-- | Indicates the acceptable values for the option group option.+ogosAllowedValues :: Lens' OptionGroupOptionSetting (Maybe Text)+ogosAllowedValues =+    lens _ogosAllowedValues (\s a -> s { _ogosAllowedValues = a })++-- | The DB engine specific parameter type for the option group option.+ogosApplyType :: Lens' OptionGroupOptionSetting (Maybe Text)+ogosApplyType = lens _ogosApplyType (\s a -> s { _ogosApplyType = a })++-- | The default value for the option group option.+ogosDefaultValue :: Lens' OptionGroupOptionSetting (Maybe Text)+ogosDefaultValue = lens _ogosDefaultValue (\s a -> s { _ogosDefaultValue = a })++-- | Boolean value where true indicates that this option group option can be+-- changed from the default value.+ogosIsModifiable :: Lens' OptionGroupOptionSetting (Maybe Bool)+ogosIsModifiable = lens _ogosIsModifiable (\s a -> s { _ogosIsModifiable = a })++-- | The description of the option group option.+ogosSettingDescription :: Lens' OptionGroupOptionSetting (Maybe Text)+ogosSettingDescription =+    lens _ogosSettingDescription (\s a -> s { _ogosSettingDescription = a })++-- | The name of the option group option.+ogosSettingName :: Lens' OptionGroupOptionSetting (Maybe Text)+ogosSettingName = lens _ogosSettingName (\s a -> s { _ogosSettingName = a })++instance FromXML OptionGroupOptionSetting where+    parseXML x = OptionGroupOptionSetting+        <$> x .@? "AllowedValues"+        <*> x .@? "ApplyType"+        <*> x .@? "DefaultValue"+        <*> x .@? "IsModifiable"+        <*> x .@? "SettingDescription"+        <*> x .@? "SettingName"++instance ToQuery OptionGroupOptionSetting where+    toQuery OptionGroupOptionSetting{..} = mconcat+        [ "AllowedValues"      =? _ogosAllowedValues+        , "ApplyType"          =? _ogosApplyType+        , "DefaultValue"       =? _ogosDefaultValue+        , "IsModifiable"       =? _ogosIsModifiable+        , "SettingDescription" =? _ogosSettingDescription+        , "SettingName"        =? _ogosSettingName+        ]