diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,46 +8,27 @@
 
 ## Version
 
-`1.4.4`
+`1.4.5`
 
 
 ## Description
 
-Amazon Relational Database Service
-
-Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.
-
-Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your database instance\'s compute resources and storage capacity to meet your application\'s demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.
-
-This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.
-
-__Amazon RDS API Reference__
-
--   For the alphabetical list of API actions, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html API Actions>.
-
--   For the alphabetical list of data types, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Types.html Data Types>.
-
--   For a list of common query parameters, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonParameters.html Common Parameters>.
-
--   For descriptions of the error codes, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonErrors.html Common Errors>.
-
-__Amazon RDS User Guide__
-
--   For a summary of the Amazon RDS interfaces, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Interfaces Available RDS Interfaces>.
-
--   For more information about how to use the Query API, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Using_the_Query_API.html Using the Query API>.
-
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-rds)
 and the [AWS API Reference](https://aws.amazon.com/documentation/).
 
 The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),
-which provides mechanisms for specifying AuthN/AuthZ information and sending requests.
+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,
+and receiving responses.
 
-Use of lenses is required for constructing and manipulating types.
-This is due to the amount of nesting of AWS types and transparency regarding
+Lenses are used for constructing and manipulating types,
+due to the depth of nesting of AWS types and transparency regarding
 de/serialisation into more palatable Haskell values.
 The provided lenses should be compatible with any of the major lens libraries
 [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).
+
+See [Network.AWS.RDS](http://hackage.haskell.org/package/amazonka-rds/docs/Network-AWS-RDS.html)
+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.
+
 
 ## Contribute
 
diff --git a/amazonka-rds.cabal b/amazonka-rds.cabal
--- a/amazonka-rds.cabal
+++ b/amazonka-rds.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-rds
-version:               1.4.4
+version:               1.4.5
 synopsis:              Amazon Relational Database Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -13,42 +13,19 @@
 cabal-version:         >= 1.10
 extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep
 description:
-    Amazon Relational Database Service
-
-    Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.
-
-    Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your database instance\'s compute resources and storage capacity to meet your application\'s demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.
-
-    This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.
-
-    __Amazon RDS API Reference__
-
-    -   For the alphabetical list of API actions, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html API Actions>.
-
-    -   For the alphabetical list of data types, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Types.html Data Types>.
-
-    -   For a list of common query parameters, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonParameters.html Common Parameters>.
-
-    -   For descriptions of the error codes, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonErrors.html Common Errors>.
-
-    __Amazon RDS User Guide__
-
-    -   For a summary of the Amazon RDS interfaces, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Interfaces Available RDS Interfaces>.
-
-    -   For more information about how to use the Query API, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Using_the_Query_API.html Using the Query API>.
-    .
     The types from this library are intended to be used with
     <http://hackage.haskell.org/package/amazonka amazonka>, which provides
-    mechanisms for specifying AuthN/AuthZ information and sending requests.
+    mechanisms for specifying AuthN/AuthZ information, sending requests,
+    and receiving responses.
     .
-    Use of lenses is required for constructing and manipulating types.
-    This is due to the amount of nesting of AWS types and transparency regarding
+    Lenses are used for constructing and manipulating types,
+    due to the depth of nesting of AWS types and transparency regarding
     de/serialisation into more palatable Haskell values.
     The provided lenses should be compatible with any of the major lens libraries
     such as <http://hackage.haskell.org/package/lens lens> or
     <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
     .
-    See "Network.AWS.RDS" or <https://aws.amazon.com/documentation/ the AWS Documentation>
+    See "Network.AWS.RDS" or <https://aws.amazon.com/documentation/ the AWS documentation>
     to get started.
 
 source-repository head
@@ -63,6 +40,7 @@
 
     exposed-modules:
           Network.AWS.RDS
+        , Network.AWS.RDS.AddRoleToDBCluster
         , Network.AWS.RDS.AddSourceIdentifierToSubscription
         , Network.AWS.RDS.AddTagsToResource
         , Network.AWS.RDS.ApplyPendingMaintenanceAction
@@ -137,6 +115,7 @@
         , Network.AWS.RDS.PromoteReadReplicaDBCluster
         , Network.AWS.RDS.PurchaseReservedDBInstancesOffering
         , Network.AWS.RDS.RebootDBInstance
+        , Network.AWS.RDS.RemoveRoleFromDBCluster
         , Network.AWS.RDS.RemoveSourceIdentifierFromSubscription
         , Network.AWS.RDS.RemoveTagsFromResource
         , Network.AWS.RDS.ResetDBClusterParameterGroup
@@ -155,7 +134,7 @@
         , Network.AWS.RDS.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.4.*
+          amazonka-core == 1.4.5.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-rds-test
@@ -175,9 +154,9 @@
         , Test.AWS.RDS.Internal
 
     build-depends:
-          amazonka-core == 1.4.4.*
-        , amazonka-test == 1.4.4.*
-        , amazonka-rds == 1.4.4.*
+          amazonka-core == 1.4.5.*
+        , amazonka-test == 1.4.5.*
+        , amazonka-rds == 1.4.5.*
         , base
         , bytestring
         , tasty
diff --git a/fixture/AddRoleToDBCluster.yaml b/fixture/AddRoleToDBCluster.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/AddRoleToDBCluster.yaml
diff --git a/fixture/AddRoleToDBClusterResponse.proto b/fixture/AddRoleToDBClusterResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/AddRoleToDBClusterResponse.proto
diff --git a/fixture/RemoveRoleFromDBCluster.yaml b/fixture/RemoveRoleFromDBCluster.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/RemoveRoleFromDBCluster.yaml
diff --git a/fixture/RemoveRoleFromDBClusterResponse.proto b/fixture/RemoveRoleFromDBClusterResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/RemoveRoleFromDBClusterResponse.proto
diff --git a/gen/Network/AWS/RDS.hs b/gen/Network/AWS/RDS.hs
--- a/gen/Network/AWS/RDS.hs
+++ b/gen/Network/AWS/RDS.hs
@@ -11,30 +11,36 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Amazon Relational Database Service
+-- __Amazon Relational Database Service__
 --
+--
+--
 -- Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.
 --
--- Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your database instance\'s compute resources and storage capacity to meet your application\'s demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.
+-- Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your database instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.
 --
 -- This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.
 --
 -- __Amazon RDS API Reference__
 --
--- -   For the alphabetical list of API actions, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html API Actions>.
+--     * For the alphabetical list of API actions, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html API Actions> .
 --
--- -   For the alphabetical list of data types, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Types.html Data Types>.
+--     * For the alphabetical list of data types, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Types.html Data Types> .
 --
--- -   For a list of common query parameters, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonParameters.html Common Parameters>.
+--     * For a list of common query parameters, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonParameters.html Common Parameters> .
 --
--- -   For descriptions of the error codes, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonErrors.html Common Errors>.
+--     * For descriptions of the error codes, see <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/CommonErrors.html Common Errors> .
 --
+--
+--
 -- __Amazon RDS User Guide__
 --
--- -   For a summary of the Amazon RDS interfaces, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Interfaces Available RDS Interfaces>.
+--     * For a summary of the Amazon RDS interfaces, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html#Welcome.Interfaces Available RDS Interfaces> .
 --
--- -   For more information about how to use the Query API, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Using_the_Query_API.html Using the Query API>.
+--     * For more information about how to use the Query API, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Using_the_Query_API.html Using the Query API> .
 --
+--
+--
 module Network.AWS.RDS
     (
     -- * Service Configuration
@@ -193,6 +199,12 @@
     -- ** SubscriptionAlreadyExistFault
     , _SubscriptionAlreadyExistFault
 
+    -- ** DBClusterRoleAlreadyExistsFault
+    , _DBClusterRoleAlreadyExistsFault
+
+    -- ** DBClusterRoleQuotaExceededFault
+    , _DBClusterRoleQuotaExceededFault
+
     -- ** InvalidVPCNetworkStateFault
     , _InvalidVPCNetworkStateFault
 
@@ -262,6 +274,9 @@
     -- ** SubnetAlreadyInUse
     , _SubnetAlreadyInUse
 
+    -- ** DBClusterRoleNotFoundFault
+    , _DBClusterRoleNotFoundFault
+
     -- * Waiters
     -- $waiters
 
@@ -451,6 +466,9 @@
     -- ** DescribePendingMaintenanceActions
     , module Network.AWS.RDS.DescribePendingMaintenanceActions
 
+    -- ** AddRoleToDBCluster
+    , module Network.AWS.RDS.AddRoleToDBCluster
+
     -- ** CopyDBClusterSnapshot
     , module Network.AWS.RDS.CopyDBClusterSnapshot
 
@@ -460,6 +478,9 @@
     -- ** CreateDBCluster
     , module Network.AWS.RDS.CreateDBCluster
 
+    -- ** RemoveRoleFromDBCluster
+    , module Network.AWS.RDS.RemoveRoleFromDBCluster
+
     -- ** FailoverDBCluster
     , module Network.AWS.RDS.FailoverDBCluster
 
@@ -588,6 +609,7 @@
     , dcCharacterSetName
     , dcKMSKeyId
     , dcPreferredBackupWindow
+    , dcAssociatedRoles
     , dcVPCSecurityGroups
     , dcBackupRetentionPeriod
     , dcDBSubnetGroup
@@ -595,6 +617,7 @@
     , dcAllocatedStorage
     , dcEndpoint
     , dcPercentProgress
+    , dcReaderEndpoint
     , dcPort
     , dcDBClusterOptionGroupMemberships
 
@@ -625,6 +648,12 @@
     , dbClusterParameterGroupNameMessage
     , dcpgnmDBClusterParameterGroupName
 
+    -- ** DBClusterRole
+    , DBClusterRole
+    , dbClusterRole
+    , dcrStatus
+    , dcrRoleARN
+
     -- ** DBClusterSnapshot
     , DBClusterSnapshot
     , dbClusterSnapshot
@@ -670,6 +699,7 @@
     , devSupportedCharacterSets
     , devDBEngineDescription
     , devValidUpgradeTarget
+    , devSupportedTimezones
 
     -- ** DBInstance
     , DBInstance
@@ -711,6 +741,7 @@
     , diDBiResourceId
     , diDBParameterGroups
     , diCopyTagsToSnapshot
+    , diTimezone
     , diTDECredentialARN
     , diEndpoint
     , diDBInstanceStatus
@@ -788,6 +819,7 @@
     , dsSnapshotCreateTime
     , dsAllocatedStorage
     , dsOptionGroupName
+    , dsTimezone
     , dsTDECredentialARN
     , dsPercentProgress
     , dsPort
@@ -1103,6 +1135,11 @@
     , tagValue
     , tagKey
 
+    -- ** Timezone
+    , Timezone
+    , timezone
+    , tTimezoneName
+
     -- ** UpgradeTarget
     , UpgradeTarget
     , upgradeTarget
@@ -1119,6 +1156,7 @@
     , vsgmVPCSecurityGroupId
     ) where
 
+import           Network.AWS.RDS.AddRoleToDBCluster
 import           Network.AWS.RDS.AddSourceIdentifierToSubscription
 import           Network.AWS.RDS.AddTagsToResource
 import           Network.AWS.RDS.ApplyPendingMaintenanceAction
@@ -1193,6 +1231,7 @@
 import           Network.AWS.RDS.PromoteReadReplicaDBCluster
 import           Network.AWS.RDS.PurchaseReservedDBInstancesOffering
 import           Network.AWS.RDS.RebootDBInstance
+import           Network.AWS.RDS.RemoveRoleFromDBCluster
 import           Network.AWS.RDS.RemoveSourceIdentifierFromSubscription
 import           Network.AWS.RDS.RemoveTagsFromResource
 import           Network.AWS.RDS.ResetDBClusterParameterGroup
diff --git a/gen/Network/AWS/RDS/AddRoleToDBCluster.hs b/gen/Network/AWS/RDS/AddRoleToDBCluster.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/RDS/AddRoleToDBCluster.hs
@@ -0,0 +1,111 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.RDS.AddRoleToDBCluster
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Associates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Authorizing.AWSServices.html Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf> .
+--
+--
+module Network.AWS.RDS.AddRoleToDBCluster
+    (
+    -- * Creating a Request
+      addRoleToDBCluster
+    , AddRoleToDBCluster
+    -- * Request Lenses
+    , artdcDBClusterIdentifier
+    , artdcRoleARN
+
+    -- * Destructuring the Response
+    , addRoleToDBClusterResponse
+    , AddRoleToDBClusterResponse
+    ) where
+
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.RDS.Types
+import           Network.AWS.RDS.Types.Product
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'addRoleToDBCluster' smart constructor.
+data AddRoleToDBCluster = AddRoleToDBCluster'
+    { _artdcDBClusterIdentifier :: !Text
+    , _artdcRoleARN             :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'AddRoleToDBCluster' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'artdcDBClusterIdentifier' - The name of the DB cluster to associate the IAM role with.
+--
+-- * 'artdcRoleARN' - The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora DB cluster, for example @arn:aws:iam::123456789012:role/AuroraAccessRole@ .
+addRoleToDBCluster
+    :: Text -- ^ 'artdcDBClusterIdentifier'
+    -> Text -- ^ 'artdcRoleARN'
+    -> AddRoleToDBCluster
+addRoleToDBCluster pDBClusterIdentifier_ pRoleARN_ =
+    AddRoleToDBCluster'
+    { _artdcDBClusterIdentifier = pDBClusterIdentifier_
+    , _artdcRoleARN = pRoleARN_
+    }
+
+-- | The name of the DB cluster to associate the IAM role with.
+artdcDBClusterIdentifier :: Lens' AddRoleToDBCluster Text
+artdcDBClusterIdentifier = lens _artdcDBClusterIdentifier (\ s a -> s{_artdcDBClusterIdentifier = a});
+
+-- | The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora DB cluster, for example @arn:aws:iam::123456789012:role/AuroraAccessRole@ .
+artdcRoleARN :: Lens' AddRoleToDBCluster Text
+artdcRoleARN = lens _artdcRoleARN (\ s a -> s{_artdcRoleARN = a});
+
+instance AWSRequest AddRoleToDBCluster where
+        type Rs AddRoleToDBCluster =
+             AddRoleToDBClusterResponse
+        request = postQuery rds
+        response = receiveNull AddRoleToDBClusterResponse'
+
+instance Hashable AddRoleToDBCluster
+
+instance NFData AddRoleToDBCluster
+
+instance ToHeaders AddRoleToDBCluster where
+        toHeaders = const mempty
+
+instance ToPath AddRoleToDBCluster where
+        toPath = const "/"
+
+instance ToQuery AddRoleToDBCluster where
+        toQuery AddRoleToDBCluster'{..}
+          = mconcat
+              ["Action" =: ("AddRoleToDBCluster" :: ByteString),
+               "Version" =: ("2014-10-31" :: ByteString),
+               "DBClusterIdentifier" =: _artdcDBClusterIdentifier,
+               "RoleArn" =: _artdcRoleARN]
+
+-- | /See:/ 'addRoleToDBClusterResponse' smart constructor.
+data AddRoleToDBClusterResponse =
+    AddRoleToDBClusterResponse'
+    deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'AddRoleToDBClusterResponse' with the minimum fields required to make a request.
+--
+addRoleToDBClusterResponse
+    :: AddRoleToDBClusterResponse
+addRoleToDBClusterResponse = AddRoleToDBClusterResponse'
+
+instance NFData AddRoleToDBClusterResponse
diff --git a/gen/Network/AWS/RDS/AddSourceIdentifierToSubscription.hs b/gen/Network/AWS/RDS/AddSourceIdentifierToSubscription.hs
--- a/gen/Network/AWS/RDS/AddSourceIdentifierToSubscription.hs
+++ b/gen/Network/AWS/RDS/AddSourceIdentifierToSubscription.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Adds a source identifier to an existing RDS event notification subscription.
+--
+--
 module Network.AWS.RDS.AddSourceIdentifierToSubscription
     (
     -- * Creating a Request
@@ -45,6 +47,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'addSourceIdentifierToSubscription' smart constructor.
 data AddSourceIdentifierToSubscription = AddSourceIdentifierToSubscription'
     { _asitsSubscriptionName :: !Text
@@ -55,9 +59,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'asitsSubscriptionName'
+-- * 'asitsSubscriptionName' - The name of the RDS event notification subscription you want to add a source identifier to.
 --
--- * 'asitsSourceIdentifier'
+-- * 'asitsSourceIdentifier' - 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.
 addSourceIdentifierToSubscription
     :: Text -- ^ 'asitsSubscriptionName'
     -> Text -- ^ 'asitsSourceIdentifier'
@@ -72,18 +76,7 @@
 asitsSubscriptionName :: Lens' AddSourceIdentifierToSubscription Text
 asitsSubscriptionName = lens _asitsSubscriptionName (\ s a -> s{_asitsSubscriptionName = a});
 
--- | 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.
---
+-- | 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});
 
@@ -131,9 +124,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'asitsrsEventSubscription'
+-- * 'asitsrsEventSubscription' - Undocumented member.
 --
--- * 'asitsrsResponseStatus'
+-- * 'asitsrsResponseStatus' - -- | The response status code.
 addSourceIdentifierToSubscriptionResponse
     :: Int -- ^ 'asitsrsResponseStatus'
     -> AddSourceIdentifierToSubscriptionResponse
@@ -147,7 +140,7 @@
 asitsrsEventSubscription :: Lens' AddSourceIdentifierToSubscriptionResponse (Maybe EventSubscription)
 asitsrsEventSubscription = lens _asitsrsEventSubscription (\ s a -> s{_asitsrsEventSubscription = a});
 
--- | The response status code.
+-- | -- | The response status code.
 asitsrsResponseStatus :: Lens' AddSourceIdentifierToSubscriptionResponse Int
 asitsrsResponseStatus = lens _asitsrsResponseStatus (\ s a -> s{_asitsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/AddTagsToResource.hs b/gen/Network/AWS/RDS/AddTagsToResource.hs
--- a/gen/Network/AWS/RDS/AddTagsToResource.hs
+++ b/gen/Network/AWS/RDS/AddTagsToResource.hs
@@ -20,7 +20,9 @@
 --
 -- 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 a Condition statement in an IAM policy for Amazon RDS.
 --
--- For an overview on tagging Amazon RDS resources, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html Tagging Amazon RDS Resources>.
+--
+-- For an overview on tagging Amazon RDS resources, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html Tagging Amazon RDS Resources> .
+--
 module Network.AWS.RDS.AddTagsToResource
     (
     -- * Creating a Request
@@ -44,6 +46,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'addTagsToResource' smart constructor.
 data AddTagsToResource = AddTagsToResource'
     { _attrResourceName :: !Text
@@ -54,9 +58,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'attrResourceName'
+-- * 'attrResourceName' - 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 --
--- * 'attrTags'
+-- * 'attrTags' - The tags to be assigned to the Amazon RDS resource.
 addTagsToResource
     :: Text -- ^ 'attrResourceName'
     -> AddTagsToResource
@@ -66,7 +70,7 @@
     , _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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)>.
+-- | 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 attrResourceName :: Lens' AddTagsToResource Text
 attrResourceName = lens _attrResourceName (\ s a -> s{_attrResourceName = a});
 
diff --git a/gen/Network/AWS/RDS/ApplyPendingMaintenanceAction.hs b/gen/Network/AWS/RDS/ApplyPendingMaintenanceAction.hs
--- a/gen/Network/AWS/RDS/ApplyPendingMaintenanceAction.hs
+++ b/gen/Network/AWS/RDS/ApplyPendingMaintenanceAction.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Applies a pending maintenance action to a resource (for example, to a DB instance).
+--
+--
 module Network.AWS.RDS.ApplyPendingMaintenanceAction
     (
     -- * Creating a Request
@@ -46,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'applyPendingMaintenanceAction' smart constructor.
 data ApplyPendingMaintenanceAction = ApplyPendingMaintenanceAction'
     { _apmaResourceIdentifier :: !Text
@@ -57,11 +61,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'apmaResourceIdentifier'
+-- * 'apmaResourceIdentifier' - The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 --
--- * 'apmaApplyAction'
+-- * 'apmaApplyAction' - The pending maintenance action to apply to this resource. Valid values: @system-update@ , @db-upgrade@
 --
--- * 'apmaOptInType'
+-- * 'apmaOptInType' - A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type @immediate@ cannot be undone. Valid values:     * @immediate@ - Apply the maintenance action immediately.     * @next-maintenance@ - Apply the maintenance action during the next maintenance window for the resource.     * @undo-opt-in@ - Cancel any existing @next-maintenance@ opt-in requests.
 applyPendingMaintenanceAction
     :: Text -- ^ 'apmaResourceIdentifier'
     -> Text -- ^ 'apmaApplyAction'
@@ -74,26 +78,15 @@
     , _apmaOptInType = pOptInType_
     }
 
--- | The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)>.
+-- | The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 apmaResourceIdentifier :: Lens' ApplyPendingMaintenanceAction Text
 apmaResourceIdentifier = lens _apmaResourceIdentifier (\ s a -> s{_apmaResourceIdentifier = a});
 
--- | The pending maintenance action to apply to this resource.
---
--- Valid values: 'system-update', 'db-upgrade'
+-- | The pending maintenance action to apply to this resource. Valid values: @system-update@ , @db-upgrade@
 apmaApplyAction :: Lens' ApplyPendingMaintenanceAction Text
 apmaApplyAction = lens _apmaApplyAction (\ s a -> s{_apmaApplyAction = a});
 
--- | A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type 'immediate' cannot be undone.
---
--- Valid values:
---
--- -   'immediate' - Apply the maintenance action immediately.
---
--- -   'next-maintenance' - Apply the maintenance action during the next maintenance window for the resource.
---
--- -   'undo-opt-in' - Cancel any existing 'next-maintenance' opt-in requests.
---
+-- | A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type @immediate@ cannot be undone. Valid values:     * @immediate@ - Apply the maintenance action immediately.     * @next-maintenance@ - Apply the maintenance action during the next maintenance window for the resource.     * @undo-opt-in@ - Cancel any existing @next-maintenance@ opt-in requests.
 apmaOptInType :: Lens' ApplyPendingMaintenanceAction Text
 apmaOptInType = lens _apmaOptInType (\ s a -> s{_apmaOptInType = a});
 
@@ -141,9 +134,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'apmarsResourcePendingMaintenanceActions'
+-- * 'apmarsResourcePendingMaintenanceActions' - Undocumented member.
 --
--- * 'apmarsResponseStatus'
+-- * 'apmarsResponseStatus' - -- | The response status code.
 applyPendingMaintenanceActionResponse
     :: Int -- ^ 'apmarsResponseStatus'
     -> ApplyPendingMaintenanceActionResponse
@@ -157,7 +150,7 @@
 apmarsResourcePendingMaintenanceActions :: Lens' ApplyPendingMaintenanceActionResponse (Maybe ResourcePendingMaintenanceActions)
 apmarsResourcePendingMaintenanceActions = lens _apmarsResourcePendingMaintenanceActions (\ s a -> s{_apmarsResourcePendingMaintenanceActions = a});
 
--- | The response status code.
+-- | -- | The response status code.
 apmarsResponseStatus :: Lens' ApplyPendingMaintenanceActionResponse Int
 apmarsResponseStatus = lens _apmarsResponseStatus (\ s a -> s{_apmarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/AuthorizeDBSecurityGroupIngress.hs b/gen/Network/AWS/RDS/AuthorizeDBSecurityGroupIngress.hs
--- a/gen/Network/AWS/RDS/AuthorizeDBSecurityGroupIngress.hs
+++ b/gen/Network/AWS/RDS/AuthorizeDBSecurityGroupIngress.hs
@@ -20,9 +20,9 @@
 --
 -- 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).
 --
--- You cannot authorize ingress from an EC2 security group in one region to an Amazon RDS DB instance in another. You cannot authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.
 --
--- For an overview of CIDR ranges, go to the <http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Wikipedia Tutorial>.
+-- For an overview of CIDR ranges, go to the <http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Wikipedia Tutorial> .
+--
 module Network.AWS.RDS.AuthorizeDBSecurityGroupIngress
     (
     -- * Creating a Request
@@ -52,6 +52,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'authorizeDBSecurityGroupIngress' smart constructor.
 data AuthorizeDBSecurityGroupIngress = AuthorizeDBSecurityGroupIngress'
     { _adsgiEC2SecurityGroupOwnerId :: !(Maybe Text)
@@ -65,15 +67,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'adsgiEC2SecurityGroupOwnerId'
+-- * 'adsgiEC2SecurityGroupOwnerId' - 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.
 --
--- * 'adsgiEC2SecurityGroupName'
+-- * 'adsgiEC2SecurityGroupName' - 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.
 --
--- * 'adsgiCIdRIP'
+-- * 'adsgiCIdRIP' - The IP range to authorize.
 --
--- * 'adsgiEC2SecurityGroupId'
+-- * 'adsgiEC2SecurityGroupId' - 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.
 --
--- * 'adsgiDBSecurityGroupName'
+-- * 'adsgiDBSecurityGroupName' - The name of the DB security group to add authorization to.
 authorizeDBSecurityGroupIngress
     :: Text -- ^ 'adsgiDBSecurityGroupName'
     -> AuthorizeDBSecurityGroupIngress
@@ -86,11 +88,11 @@
     , _adsgiDBSecurityGroupName = pDBSecurityGroupName_
     }
 
--- | 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.
+-- | 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.
 adsgiEC2SecurityGroupOwnerId :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)
 adsgiEC2SecurityGroupOwnerId = lens _adsgiEC2SecurityGroupOwnerId (\ s a -> s{_adsgiEC2SecurityGroupOwnerId = 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.
+-- | 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.
 adsgiEC2SecurityGroupName :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)
 adsgiEC2SecurityGroupName = lens _adsgiEC2SecurityGroupName (\ s a -> s{_adsgiEC2SecurityGroupName = a});
 
@@ -98,7 +100,7 @@
 adsgiCIdRIP :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)
 adsgiCIdRIP = lens _adsgiCIdRIP (\ s a -> s{_adsgiCIdRIP = 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.
+-- | 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.
 adsgiEC2SecurityGroupId :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)
 adsgiEC2SecurityGroupId = lens _adsgiEC2SecurityGroupId (\ s a -> s{_adsgiEC2SecurityGroupId = a});
 
@@ -153,9 +155,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'adsgirsDBSecurityGroup'
+-- * 'adsgirsDBSecurityGroup' - Undocumented member.
 --
--- * 'adsgirsResponseStatus'
+-- * 'adsgirsResponseStatus' - -- | The response status code.
 authorizeDBSecurityGroupIngressResponse
     :: Int -- ^ 'adsgirsResponseStatus'
     -> AuthorizeDBSecurityGroupIngressResponse
@@ -169,7 +171,7 @@
 adsgirsDBSecurityGroup :: Lens' AuthorizeDBSecurityGroupIngressResponse (Maybe DBSecurityGroup)
 adsgirsDBSecurityGroup = lens _adsgirsDBSecurityGroup (\ s a -> s{_adsgirsDBSecurityGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 adsgirsResponseStatus :: Lens' AuthorizeDBSecurityGroupIngressResponse Int
 adsgirsResponseStatus = lens _adsgirsResponseStatus (\ s a -> s{_adsgirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CopyDBClusterParameterGroup.hs b/gen/Network/AWS/RDS/CopyDBClusterParameterGroup.hs
--- a/gen/Network/AWS/RDS/CopyDBClusterParameterGroup.hs
+++ b/gen/Network/AWS/RDS/CopyDBClusterParameterGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Copies the specified DB cluster parameter group.
+--
+--
 module Network.AWS.RDS.CopyDBClusterParameterGroup
     (
     -- * Creating a Request
@@ -57,13 +59,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbcpgTags'
+-- * 'cdbcpgTags' - Undocumented member.
 --
--- * 'cdbcpgSourceDBClusterParameterGroupIdentifier'
+-- * 'cdbcpgSourceDBClusterParameterGroupIdentifier' - The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .  Constraints:     * Must specify a valid DB cluster parameter group.     * If the source DB cluster parameter group is in the same region as the copy, specify a valid DB parameter group identifier, for example @my-db-cluster-param-group@ , or a valid ARN.     * If the source DB parameter group is in a different region than the copy, specify a valid DB cluster parameter group ARN, for example @arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1@ .
 --
--- * 'cdbcpgTargetDBClusterParameterGroupIdentifier'
+-- * 'cdbcpgTargetDBClusterParameterGroupIdentifier' - The identifier for the copied DB cluster 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-cluster-param-group1@
 --
--- * 'cdbcpgTargetDBClusterParameterGroupDescription'
+-- * 'cdbcpgTargetDBClusterParameterGroupDescription' - A description for the copied DB cluster parameter group.
 copyDBClusterParameterGroup
     :: Text -- ^ 'cdbcpgSourceDBClusterParameterGroupIdentifier'
     -> Text -- ^ 'cdbcpgTargetDBClusterParameterGroupIdentifier'
@@ -81,32 +83,11 @@
 cdbcpgTags :: Lens' CopyDBClusterParameterGroup [Tag]
 cdbcpgTags = lens _cdbcpgTags (\ s a -> s{_cdbcpgTags = a}) . _Default . _Coerce;
 
--- | The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)>.
---
--- Constraints:
---
--- -   Must specify a valid DB cluster parameter group.
---
--- -   If the source DB cluster parameter group is in the same region as the copy, specify a valid DB parameter group identifier, for example 'my-db-cluster-param-group', or a valid ARN.
---
--- -   If the source DB parameter group is in a different region than the copy, specify a valid DB cluster parameter group ARN, for example 'arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1'.
---
+-- | The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .  Constraints:     * Must specify a valid DB cluster parameter group.     * If the source DB cluster parameter group is in the same region as the copy, specify a valid DB parameter group identifier, for example @my-db-cluster-param-group@ , or a valid ARN.     * If the source DB parameter group is in a different region than the copy, specify a valid DB cluster parameter group ARN, for example @arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1@ .
 cdbcpgSourceDBClusterParameterGroupIdentifier :: Lens' CopyDBClusterParameterGroup Text
 cdbcpgSourceDBClusterParameterGroupIdentifier = lens _cdbcpgSourceDBClusterParameterGroupIdentifier (\ s a -> s{_cdbcpgSourceDBClusterParameterGroupIdentifier = a});
 
--- | The identifier for the copied DB cluster 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-cluster-param-group1'
+-- | The identifier for the copied DB cluster 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-cluster-param-group1@
 cdbcpgTargetDBClusterParameterGroupIdentifier :: Lens' CopyDBClusterParameterGroup Text
 cdbcpgTargetDBClusterParameterGroupIdentifier = lens _cdbcpgTargetDBClusterParameterGroupIdentifier (\ s a -> s{_cdbcpgTargetDBClusterParameterGroupIdentifier = a});
 
@@ -161,9 +142,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdcpgrsDBClusterParameterGroup'
+-- * 'cdcpgrsDBClusterParameterGroup' - Undocumented member.
 --
--- * 'cdcpgrsResponseStatus'
+-- * 'cdcpgrsResponseStatus' - -- | The response status code.
 copyDBClusterParameterGroupResponse
     :: Int -- ^ 'cdcpgrsResponseStatus'
     -> CopyDBClusterParameterGroupResponse
@@ -177,7 +158,7 @@
 cdcpgrsDBClusterParameterGroup :: Lens' CopyDBClusterParameterGroupResponse (Maybe DBClusterParameterGroup)
 cdcpgrsDBClusterParameterGroup = lens _cdcpgrsDBClusterParameterGroup (\ s a -> s{_cdcpgrsDBClusterParameterGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdcpgrsResponseStatus :: Lens' CopyDBClusterParameterGroupResponse Int
 cdcpgrsResponseStatus = lens _cdcpgrsResponseStatus (\ s a -> s{_cdcpgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CopyDBClusterSnapshot.hs b/gen/Network/AWS/RDS/CopyDBClusterSnapshot.hs
--- a/gen/Network/AWS/RDS/CopyDBClusterSnapshot.hs
+++ b/gen/Network/AWS/RDS/CopyDBClusterSnapshot.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
+--
 module Network.AWS.RDS.CopyDBClusterSnapshot
     (
     -- * Creating a Request
@@ -46,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'copyDBClusterSnapshot' smart constructor.
 data CopyDBClusterSnapshot = CopyDBClusterSnapshot'
     { _cdbcsTags                              :: !(Maybe [Tag])
@@ -57,11 +61,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbcsTags'
+-- * 'cdbcsTags' - Undocumented member.
 --
--- * 'cdbcsSourceDBClusterSnapshotIdentifier'
+-- * 'cdbcsSourceDBClusterSnapshotIdentifier' - The identifier of the DB cluster snapshot to copy. 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. Example: @my-cluster-snapshot1@
 --
--- * 'cdbcsTargetDBClusterSnapshotIdentifier'
+-- * 'cdbcsTargetDBClusterSnapshotIdentifier' - The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. 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. Example: @my-cluster-snapshot2@
 copyDBClusterSnapshot
     :: Text -- ^ 'cdbcsSourceDBClusterSnapshotIdentifier'
     -> Text -- ^ 'cdbcsTargetDBClusterSnapshotIdentifier'
@@ -77,31 +81,11 @@
 cdbcsTags :: Lens' CopyDBClusterSnapshot [Tag]
 cdbcsTags = lens _cdbcsTags (\ s a -> s{_cdbcsTags = a}) . _Default . _Coerce;
 
--- | The identifier of the DB cluster snapshot to copy. 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.
---
--- Example: 'my-cluster-snapshot1'
+-- | The identifier of the DB cluster snapshot to copy. 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. Example: @my-cluster-snapshot1@
 cdbcsSourceDBClusterSnapshotIdentifier :: Lens' CopyDBClusterSnapshot Text
 cdbcsSourceDBClusterSnapshotIdentifier = lens _cdbcsSourceDBClusterSnapshotIdentifier (\ s a -> s{_cdbcsSourceDBClusterSnapshotIdentifier = a});
 
--- | The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. 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.
---
--- Example: 'my-cluster-snapshot2'
+-- | The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. 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. Example: @my-cluster-snapshot2@
 cdbcsTargetDBClusterSnapshotIdentifier :: Lens' CopyDBClusterSnapshot Text
 cdbcsTargetDBClusterSnapshotIdentifier = lens _cdbcsTargetDBClusterSnapshotIdentifier (\ s a -> s{_cdbcsTargetDBClusterSnapshotIdentifier = a});
 
@@ -146,9 +130,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdcsrsDBClusterSnapshot'
+-- * 'cdcsrsDBClusterSnapshot' - Undocumented member.
 --
--- * 'cdcsrsResponseStatus'
+-- * 'cdcsrsResponseStatus' - -- | The response status code.
 copyDBClusterSnapshotResponse
     :: Int -- ^ 'cdcsrsResponseStatus'
     -> CopyDBClusterSnapshotResponse
@@ -162,7 +146,7 @@
 cdcsrsDBClusterSnapshot :: Lens' CopyDBClusterSnapshotResponse (Maybe DBClusterSnapshot)
 cdcsrsDBClusterSnapshot = lens _cdcsrsDBClusterSnapshot (\ s a -> s{_cdcsrsDBClusterSnapshot = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdcsrsResponseStatus :: Lens' CopyDBClusterSnapshotResponse Int
 cdcsrsResponseStatus = lens _cdcsrsResponseStatus (\ s a -> s{_cdcsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CopyDBParameterGroup.hs b/gen/Network/AWS/RDS/CopyDBParameterGroup.hs
--- a/gen/Network/AWS/RDS/CopyDBParameterGroup.hs
+++ b/gen/Network/AWS/RDS/CopyDBParameterGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Copies the specified DB parameter group.
+--
+--
 module Network.AWS.RDS.CopyDBParameterGroup
     (
     -- * Creating a Request
@@ -47,6 +49,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'copyDBParameterGroup' smart constructor.
 data CopyDBParameterGroup = CopyDBParameterGroup'
     { _cdpgTags                              :: !(Maybe [Tag])
@@ -59,13 +63,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdpgTags'
+-- * 'cdpgTags' - Undocumented member.
 --
--- * 'cdpgSourceDBParameterGroupIdentifier'
+-- * 'cdpgSourceDBParameterGroupIdentifier' - The identifier or ARN for the source DB parameter group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .  Constraints:     * Must specify a valid DB parameter group.     * Must specify a valid DB parameter group identifier, for example @my-db-param-group@ , or a valid ARN.
 --
--- * 'cdpgTargetDBParameterGroupIdentifier'
+-- * 'cdpgTargetDBParameterGroupIdentifier' - 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@
 --
--- * 'cdpgTargetDBParameterGroupDescription'
+-- * 'cdpgTargetDBParameterGroupDescription' - A description for the copied DB parameter group.
 copyDBParameterGroup
     :: Text -- ^ 'cdpgSourceDBParameterGroupIdentifier'
     -> Text -- ^ 'cdpgTargetDBParameterGroupIdentifier'
@@ -83,30 +87,11 @@
 cdpgTags :: Lens' CopyDBParameterGroup [Tag]
 cdpgTags = lens _cdpgTags (\ s a -> s{_cdpgTags = a}) . _Default . _Coerce;
 
--- | The identifier or ARN for the source DB parameter group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)>.
---
--- Constraints:
---
--- -   Must specify a valid DB parameter group.
---
--- -   Must specify a valid DB parameter group identifier, for example 'my-db-param-group', or a valid ARN.
---
+-- | The identifier or ARN for the source DB parameter group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .  Constraints:     * Must specify a valid DB parameter group.     * Must specify a valid DB parameter group identifier, for example @my-db-param-group@ , or a valid ARN.
 cdpgSourceDBParameterGroupIdentifier :: Lens' CopyDBParameterGroup Text
 cdpgSourceDBParameterGroupIdentifier = lens _cdpgSourceDBParameterGroupIdentifier (\ s a -> s{_cdpgSourceDBParameterGroupIdentifier = 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'
+-- | 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@
 cdpgTargetDBParameterGroupIdentifier :: Lens' CopyDBParameterGroup Text
 cdpgTargetDBParameterGroupIdentifier = lens _cdpgTargetDBParameterGroupIdentifier (\ s a -> s{_cdpgTargetDBParameterGroupIdentifier = a});
 
@@ -157,9 +142,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbpgrsDBParameterGroup'
+-- * 'cdbpgrsDBParameterGroup' - Undocumented member.
 --
--- * 'cdbpgrsResponseStatus'
+-- * 'cdbpgrsResponseStatus' - -- | The response status code.
 copyDBParameterGroupResponse
     :: Int -- ^ 'cdbpgrsResponseStatus'
     -> CopyDBParameterGroupResponse
@@ -173,7 +158,7 @@
 cdbpgrsDBParameterGroup :: Lens' CopyDBParameterGroupResponse (Maybe DBParameterGroup)
 cdbpgrsDBParameterGroup = lens _cdbpgrsDBParameterGroup (\ s a -> s{_cdbpgrsDBParameterGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdbpgrsResponseStatus :: Lens' CopyDBParameterGroupResponse Int
 cdbpgrsResponseStatus = lens _cdbpgrsResponseStatus (\ s a -> s{_cdbpgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CopyDBSnapshot.hs b/gen/Network/AWS/RDS/CopyDBSnapshot.hs
--- a/gen/Network/AWS/RDS/CopyDBSnapshot.hs
+++ b/gen/Network/AWS/RDS/CopyDBSnapshot.hs
@@ -18,9 +18,11 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.
+-- Copies the specified DB snapshot. The source DB snapshot must be in the "available" state.
 --
--- If you are copying from a shared manual DB snapshot, the 'SourceDBSnapshotIdentifier' must be the ARN of the shared DB snapshot.
+--
+-- If you are copying from a shared manual DB snapshot, the @SourceDBSnapshotIdentifier@ must be the ARN of the shared DB snapshot.
+--
 module Network.AWS.RDS.CopyDBSnapshot
     (
     -- * Creating a Request
@@ -50,6 +52,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'copyDBSnapshot' smart constructor.
 data CopyDBSnapshot = CopyDBSnapshot'
     { _cdsCopyTags                   :: !(Maybe Bool)
@@ -63,15 +67,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdsCopyTags'
+-- * 'cdsCopyTags' - True to copy all tags from the source DB snapshot to the target DB snapshot; otherwise false. The default is false.
 --
--- * 'cdsKMSKeyId'
+-- * 'cdsKMSKeyId' - The AWS Key Management Service (AWS KMS) key identifier for an encrypted DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or the KMS key alias for the KMS encryption key. If you copy an unencrypted DB snapshot and specify a value for the @KmsKeyId@ parameter, Amazon RDS encrypts the target DB snapshot using the specified KMS encryption key. If you copy an encrypted DB snapshot from your AWS account, you can specify a value for @KmsKeyId@ to encrypt the copy with a new KMS encryption key. If you don't specify a value for @KmsKeyId@ then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.  If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for @KmsKeyId@ .
 --
--- * 'cdsTags'
+-- * 'cdsTags' - Undocumented member.
 --
--- * 'cdsSourceDBSnapshotIdentifier'
+-- * 'cdsSourceDBSnapshotIdentifier' - The identifier for the source DB snapshot. If you are copying from a shared manual DB snapshot, this must be the ARN of the shared 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html 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@
 --
--- * 'cdsTargetDBSnapshotIdentifier'
+-- * 'cdsTargetDBSnapshotIdentifier' - 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@
 copyDBSnapshot
     :: Text -- ^ 'cdsSourceDBSnapshotIdentifier'
     -> Text -- ^ 'cdsTargetDBSnapshotIdentifier'
@@ -89,13 +93,7 @@
 cdsCopyTags :: Lens' CopyDBSnapshot (Maybe Bool)
 cdsCopyTags = lens _cdsCopyTags (\ s a -> s{_cdsCopyTags = a});
 
--- | The AWS Key Management Service (AWS KMS) key identifier for an encrypted DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or the KMS key alias for the KMS encryption key.
---
--- If you copy an unencrypted DB snapshot and specify a value for the 'KmsKeyId' parameter, Amazon RDS encrypts the target DB snapshot using the specified KMS encryption key.
---
--- If you copy an encrypted DB snapshot from your AWS account, you can specify a value for 'KmsKeyId' to encrypt the copy with a new KMS encryption key. If you don\'t specify a value for 'KmsKeyId' then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.
---
--- If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for 'KmsKeyId'.
+-- | The AWS Key Management Service (AWS KMS) key identifier for an encrypted DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or the KMS key alias for the KMS encryption key. If you copy an unencrypted DB snapshot and specify a value for the @KmsKeyId@ parameter, Amazon RDS encrypts the target DB snapshot using the specified KMS encryption key. If you copy an encrypted DB snapshot from your AWS account, you can specify a value for @KmsKeyId@ to encrypt the copy with a new KMS encryption key. If you don't specify a value for @KmsKeyId@ then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.  If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for @KmsKeyId@ .
 cdsKMSKeyId :: Lens' CopyDBSnapshot (Maybe Text)
 cdsKMSKeyId = lens _cdsKMSKeyId (\ s a -> s{_cdsKMSKeyId = a});
 
@@ -103,37 +101,11 @@
 cdsTags :: Lens' CopyDBSnapshot [Tag]
 cdsTags = lens _cdsTags (\ s a -> s{_cdsTags = a}) . _Default . _Coerce;
 
--- | The identifier for the source DB snapshot.
---
--- If you are copying from a shared manual DB snapshot, this must be the ARN of the shared 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html 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'
+-- | The identifier for the source DB snapshot. If you are copying from a shared manual DB snapshot, this must be the ARN of the shared 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html 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@
 cdsSourceDBSnapshotIdentifier :: Lens' CopyDBSnapshot Text
 cdsSourceDBSnapshotIdentifier = lens _cdsSourceDBSnapshotIdentifier (\ s a -> s{_cdsSourceDBSnapshotIdentifier = a});
 
--- | 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'
+-- | 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@
 cdsTargetDBSnapshotIdentifier :: Lens' CopyDBSnapshot Text
 cdsTargetDBSnapshotIdentifier = lens _cdsTargetDBSnapshotIdentifier (\ s a -> s{_cdsTargetDBSnapshotIdentifier = a});
 
@@ -179,9 +151,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdsrsDBSnapshot'
+-- * 'cdsrsDBSnapshot' - Undocumented member.
 --
--- * 'cdsrsResponseStatus'
+-- * 'cdsrsResponseStatus' - -- | The response status code.
 copyDBSnapshotResponse
     :: Int -- ^ 'cdsrsResponseStatus'
     -> CopyDBSnapshotResponse
@@ -195,7 +167,7 @@
 cdsrsDBSnapshot :: Lens' CopyDBSnapshotResponse (Maybe DBSnapshot)
 cdsrsDBSnapshot = lens _cdsrsDBSnapshot (\ s a -> s{_cdsrsDBSnapshot = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdsrsResponseStatus :: Lens' CopyDBSnapshotResponse Int
 cdsrsResponseStatus = lens _cdsrsResponseStatus (\ s a -> s{_cdsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CopyOptionGroup.hs b/gen/Network/AWS/RDS/CopyOptionGroup.hs
--- a/gen/Network/AWS/RDS/CopyOptionGroup.hs
+++ b/gen/Network/AWS/RDS/CopyOptionGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Copies the specified option group.
+--
+--
 module Network.AWS.RDS.CopyOptionGroup
     (
     -- * Creating a Request
@@ -47,6 +49,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'copyOptionGroup' smart constructor.
 data CopyOptionGroup = CopyOptionGroup'
     { _cTags                         :: !(Maybe [Tag])
@@ -59,13 +63,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cTags'
+-- * 'cTags' - Undocumented member.
 --
--- * 'cSourceOptionGroupIdentifier'
+-- * 'cSourceOptionGroupIdentifier' - The identifier or ARN for the source option group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .  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, for example @my-option-group@ , or a valid ARN.     * If the source option group is in a different region than the copy, specify a valid option group ARN, for example @arn:aws:rds:us-west-2:123456789012:og:special-options@ .
 --
--- * 'cTargetOptionGroupIdentifier'
+-- * 'cTargetOptionGroupIdentifier' - 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@
 --
--- * 'cTargetOptionGroupDescription'
+-- * 'cTargetOptionGroupDescription' - The description for the copied option group.
 copyOptionGroup
     :: Text -- ^ 'cSourceOptionGroupIdentifier'
     -> Text -- ^ 'cTargetOptionGroupIdentifier'
@@ -83,32 +87,11 @@
 cTags :: Lens' CopyOptionGroup [Tag]
 cTags = lens _cTags (\ s a -> s{_cTags = a}) . _Default . _Coerce;
 
--- | The identifier or ARN for the source option group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)>.
---
--- 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, for example 'my-option-group', or a valid ARN.
---
--- -   If the source option group is in a different region than the copy, specify a valid option group ARN, for example 'arn:aws:rds:us-west-2:123456789012:og:special-options'.
---
+-- | The identifier or ARN for the source option group. For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .  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, for example @my-option-group@ , or a valid ARN.     * If the source option group is in a different region than the copy, specify a valid option group ARN, for example @arn:aws:rds:us-west-2:123456789012:og:special-options@ .
 cSourceOptionGroupIdentifier :: Lens' CopyOptionGroup Text
 cSourceOptionGroupIdentifier = lens _cSourceOptionGroupIdentifier (\ s a -> s{_cSourceOptionGroupIdentifier = 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'
+-- | 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@
 cTargetOptionGroupIdentifier :: Lens' CopyOptionGroup Text
 cTargetOptionGroupIdentifier = lens _cTargetOptionGroupIdentifier (\ s a -> s{_cTargetOptionGroupIdentifier = a});
 
@@ -158,9 +141,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cogrsOptionGroup'
+-- * 'cogrsOptionGroup' - Undocumented member.
 --
--- * 'cogrsResponseStatus'
+-- * 'cogrsResponseStatus' - -- | The response status code.
 copyOptionGroupResponse
     :: Int -- ^ 'cogrsResponseStatus'
     -> CopyOptionGroupResponse
@@ -174,7 +157,7 @@
 cogrsOptionGroup :: Lens' CopyOptionGroupResponse (Maybe OptionGroup)
 cogrsOptionGroup = lens _cogrsOptionGroup (\ s a -> s{_cogrsOptionGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cogrsResponseStatus :: Lens' CopyOptionGroupResponse Int
 cogrsResponseStatus = lens _cogrsResponseStatus (\ s a -> s{_cogrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBCluster.hs b/gen/Network/AWS/RDS/CreateDBCluster.hs
--- a/gen/Network/AWS/RDS/CreateDBCluster.hs
+++ b/gen/Network/AWS/RDS/CreateDBCluster.hs
@@ -20,9 +20,11 @@
 --
 -- Creates a new Amazon Aurora DB cluster.
 --
--- You can use the 'ReplicationSourceIdentifier' parameter to create the DB cluster as a Read Replica of another DB cluster.
 --
+-- You can use the @ReplicationSourceIdentifier@ parameter to create the DB cluster as a Read Replica of another DB cluster.
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.CreateDBCluster
     (
     -- * Creating a Request
@@ -67,6 +69,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBCluster' smart constructor.
 data CreateDBCluster = CreateDBCluster'
     { _cdcEngineVersion               :: !(Maybe Text)
@@ -95,45 +99,45 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdcEngineVersion'
+-- * 'cdcEngineVersion' - The version number of the database engine to use. __Aurora__  Example: @5.6.10a@
 --
--- * 'cdcStorageEncrypted'
+-- * 'cdcStorageEncrypted' - Specifies whether the DB cluster is encrypted.
 --
--- * 'cdcMasterUserPassword'
+-- * 'cdcMasterUserPassword' - The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@". Constraints: Must contain from 8 to 41 characters.
 --
--- * 'cdcReplicationSourceIdentifier'
+-- * 'cdcReplicationSourceIdentifier' - The Amazon Resource Name (ARN) of the source DB cluster if this DB cluster is created as a Read Replica.
 --
--- * 'cdcMasterUsername'
+-- * 'cdcMasterUsername' - The name of the master user for the DB cluster. Constraints:     * Must be 1 to 16 alphanumeric characters.     * First character must be a letter.     * Cannot be a reserved word for the chosen database engine.
 --
--- * 'cdcDBSubnetGroupName'
+-- * 'cdcDBSubnetGroupName' - A DB subnet group to associate with this DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'cdcPreferredMaintenanceWindow'
+-- * 'cdcPreferredMaintenanceWindow' - The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 --
--- * 'cdcAvailabilityZones'
+-- * 'cdcAvailabilityZones' - A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions and Availability Zones, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html Regions and Availability Zones> .
 --
--- * 'cdcCharacterSetName'
+-- * 'cdcCharacterSetName' - A value that indicates that the DB cluster should be associated with the specified CharacterSet.
 --
--- * 'cdcKMSKeyId'
+-- * 'cdcKMSKeyId' - The KMS key identifier for an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the @StorageEncrypted@ parameter is true, and you do not specify a value for the @KmsKeyId@ parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
 --
--- * 'cdcPreferredBackupWindow'
+-- * 'cdcPreferredBackupWindow' - 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 --
--- * 'cdcBackupRetentionPeriod'
+-- * 'cdcBackupRetentionPeriod' - The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints:     * Must be a value from 1 to 35
 --
--- * 'cdcVPCSecurityGroupIds'
+-- * 'cdcVPCSecurityGroupIds' - A list of EC2 VPC security groups to associate with this DB cluster.
 --
--- * 'cdcDatabaseName'
+-- * 'cdcDatabaseName' - The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS will not create a database in the DB cluster you are creating.
 --
--- * 'cdcDBClusterParameterGroupName'
+-- * 'cdcDBClusterParameterGroupName' - The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, @default.aurora5.6@ 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
 --
--- * 'cdcOptionGroupName'
+-- * 'cdcOptionGroupName' - A value that indicates that the DB cluster should be associated with the specified option group. Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.
 --
--- * 'cdcTags'
+-- * 'cdcTags' - Undocumented member.
 --
--- * 'cdcPort'
+-- * 'cdcPort' - The port number on which the instances in the DB cluster accept connections. Default: @3306@
 --
--- * 'cdcDBClusterIdentifier'
+-- * 'cdcDBClusterIdentifier' - The DB cluster 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. Example: @my-cluster1@
 --
--- * 'cdcEngine'
+-- * 'cdcEngine' - The name of the database engine to be used for this DB cluster. Valid Values: @aurora@
 createDBCluster
     :: Text -- ^ 'cdcDBClusterIdentifier'
     -> Text -- ^ 'cdcEngine'
@@ -162,11 +166,7 @@
     , _cdcEngine = pEngine_
     }
 
--- | The version number of the database engine to use.
---
--- __Aurora__
---
--- Example: '5.6.10a'
+-- | The version number of the database engine to use. __Aurora__  Example: @5.6.10a@
 cdcEngineVersion :: Lens' CreateDBCluster (Maybe Text)
 cdcEngineVersion = lens _cdcEngineVersion (\ s a -> s{_cdcEngineVersion = a});
 
@@ -174,9 +174,7 @@
 cdcStorageEncrypted :: Lens' CreateDBCluster (Maybe Bool)
 cdcStorageEncrypted = lens _cdcStorageEncrypted (\ s a -> s{_cdcStorageEncrypted = a});
 
--- | The password for the master database user. This password can contain any printable ASCII character except \"\/\", \"\"\", or \"\'\".
---
--- Constraints: Must contain from 8 to 41 characters.
+-- | The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@". Constraints: Must contain from 8 to 41 characters.
 cdcMasterUserPassword :: Lens' CreateDBCluster (Maybe Text)
 cdcMasterUserPassword = lens _cdcMasterUserPassword (\ s a -> s{_cdcMasterUserPassword = a});
 
@@ -184,40 +182,19 @@
 cdcReplicationSourceIdentifier :: Lens' CreateDBCluster (Maybe Text)
 cdcReplicationSourceIdentifier = lens _cdcReplicationSourceIdentifier (\ s a -> s{_cdcReplicationSourceIdentifier = a});
 
--- | The name of the master user for the DB cluster.
---
--- Constraints:
---
--- -   Must be 1 to 16 alphanumeric characters.
---
--- -   First character must be a letter.
---
--- -   Cannot be a reserved word for the chosen database engine.
---
+-- | The name of the master user for the DB cluster. Constraints:     * Must be 1 to 16 alphanumeric characters.     * First character must be a letter.     * Cannot be a reserved word for the chosen database engine.
 cdcMasterUsername :: Lens' CreateDBCluster (Maybe Text)
 cdcMasterUsername = lens _cdcMasterUsername (\ s a -> s{_cdcMasterUsername = a});
 
--- | A DB subnet group to associate with this DB cluster.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | A DB subnet group to associate with this DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 cdcDBSubnetGroupName :: Lens' CreateDBCluster (Maybe Text)
 cdcDBSubnetGroupName = lens _cdcDBSubnetGroupName (\ s a -> s{_cdcDBSubnetGroupName = a});
 
--- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
---
--- 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
+-- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 cdcPreferredMaintenanceWindow :: Lens' CreateDBCluster (Maybe Text)
 cdcPreferredMaintenanceWindow = lens _cdcPreferredMaintenanceWindow (\ s a -> s{_cdcPreferredMaintenanceWindow = a});
 
--- | A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions and Availability Zones, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html Regions and Availability Zones>.
+-- | A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions and Availability Zones, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html Regions and Availability Zones> .
 cdcAvailabilityZones :: Lens' CreateDBCluster [Text]
 cdcAvailabilityZones = lens _cdcAvailabilityZones (\ s a -> s{_cdcAvailabilityZones = a}) . _Default . _Coerce;
 
@@ -225,39 +202,15 @@
 cdcCharacterSetName :: Lens' CreateDBCluster (Maybe Text)
 cdcCharacterSetName = lens _cdcCharacterSetName (\ s a -> s{_cdcCharacterSetName = a});
 
--- | The KMS key identifier for an encrypted DB cluster.
---
--- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.
---
--- If the 'StorageEncrypted' parameter is true, and you do not specify a value for the 'KmsKeyId' parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
+-- | The KMS key identifier for an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the @StorageEncrypted@ parameter is true, and you do not specify a value for the @KmsKeyId@ parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
 cdcKMSKeyId :: Lens' CreateDBCluster (Maybe Text)
 cdcKMSKeyId = lens _cdcKMSKeyId (\ s a -> s{_cdcKMSKeyId = 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./
---
--- Constraints:
---
--- -   Must be in the format 'hh24:mi-hh24:mi'.
---
--- -   Times should be in Universal Coordinated Time (UTC).
---
--- -   Must not conflict with the preferred maintenance window.
---
--- -   Must be at least 30 minutes.
---
+-- | 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 cdcPreferredBackupWindow :: Lens' CreateDBCluster (Maybe Text)
 cdcPreferredBackupWindow = lens _cdcPreferredBackupWindow (\ s a -> s{_cdcPreferredBackupWindow = a});
 
--- | The number of days for which automated backups are retained. You must specify a minimum value of 1.
---
--- Default: 1
---
--- Constraints:
---
--- -   Must be a value from 1 to 35
---
+-- | The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints:     * Must be a value from 1 to 35
 cdcBackupRetentionPeriod :: Lens' CreateDBCluster (Maybe Int)
 cdcBackupRetentionPeriod = lens _cdcBackupRetentionPeriod (\ s a -> s{_cdcBackupRetentionPeriod = a});
 
@@ -269,22 +222,11 @@
 cdcDatabaseName :: Lens' CreateDBCluster (Maybe Text)
 cdcDatabaseName = lens _cdcDatabaseName (\ s a -> s{_cdcDatabaseName = a});
 
--- | The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, 'default.aurora5.6' 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
---
+-- | The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, @default.aurora5.6@ 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
 cdcDBClusterParameterGroupName :: Lens' CreateDBCluster (Maybe Text)
 cdcDBClusterParameterGroupName = lens _cdcDBClusterParameterGroupName (\ s a -> s{_cdcDBClusterParameterGroupName = a});
 
--- | A value that indicates that the DB cluster should be associated with the specified option group.
---
--- Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.
+-- | A value that indicates that the DB cluster should be associated with the specified option group. Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.
 cdcOptionGroupName :: Lens' CreateDBCluster (Maybe Text)
 cdcOptionGroupName = lens _cdcOptionGroupName (\ s a -> s{_cdcOptionGroupName = a});
 
@@ -292,29 +234,15 @@
 cdcTags :: Lens' CreateDBCluster [Tag]
 cdcTags = lens _cdcTags (\ s a -> s{_cdcTags = a}) . _Default . _Coerce;
 
--- | The port number on which the instances in the DB cluster accept connections.
---
--- Default: '3306'
+-- | The port number on which the instances in the DB cluster accept connections. Default: @3306@
 cdcPort :: Lens' CreateDBCluster (Maybe Int)
 cdcPort = lens _cdcPort (\ s a -> s{_cdcPort = a});
 
--- | The DB cluster 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.
---
--- Example: 'my-cluster1'
+-- | The DB cluster 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. Example: @my-cluster1@
 cdcDBClusterIdentifier :: Lens' CreateDBCluster Text
 cdcDBClusterIdentifier = lens _cdcDBClusterIdentifier (\ s a -> s{_cdcDBClusterIdentifier = a});
 
--- | The name of the database engine to be used for this DB cluster.
---
--- Valid Values: 'aurora'
+-- | The name of the database engine to be used for this DB cluster. Valid Values: @aurora@
 cdcEngine :: Lens' CreateDBCluster Text
 cdcEngine = lens _cdcEngine (\ s a -> s{_cdcEngine = a});
 
@@ -382,9 +310,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdcrsDBCluster'
+-- * 'cdcrsDBCluster' - Undocumented member.
 --
--- * 'cdcrsResponseStatus'
+-- * 'cdcrsResponseStatus' - -- | The response status code.
 createDBClusterResponse
     :: Int -- ^ 'cdcrsResponseStatus'
     -> CreateDBClusterResponse
@@ -398,7 +326,7 @@
 cdcrsDBCluster :: Lens' CreateDBClusterResponse (Maybe DBCluster)
 cdcrsDBCluster = lens _cdcrsDBCluster (\ s a -> s{_cdcrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdcrsResponseStatus :: Lens' CreateDBClusterResponse Int
 cdcrsResponseStatus = lens _cdcrsResponseStatus (\ s a -> s{_cdcrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBClusterParameterGroup.hs b/gen/Network/AWS/RDS/CreateDBClusterParameterGroup.hs
--- a/gen/Network/AWS/RDS/CreateDBClusterParameterGroup.hs
+++ b/gen/Network/AWS/RDS/CreateDBClusterParameterGroup.hs
@@ -20,13 +20,15 @@
 --
 -- Creates a new DB cluster parameter group.
 --
+--
 -- Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.
 --
--- A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using < ModifyDBClusterParameterGroup>. Once you\'ve created a DB cluster parameter group, you need to associate it with your DB cluster using < ModifyDBCluster>. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.
+-- A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using 'ModifyDBClusterParameterGroup' . Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using 'ModifyDBCluster' . When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.
 --
--- After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the < DescribeDBClusterParameters> command to verify that your DB cluster parameter group has been created or modified.
+-- /Important:/ After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the 'DescribeDBClusterParameters' command to verify that your DB cluster parameter group has been created or modified.
 --
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.CreateDBClusterParameterGroup
     (
     -- * Creating a Request
@@ -55,6 +57,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBClusterParameterGroup' smart constructor.
 data CreateDBClusterParameterGroup = CreateDBClusterParameterGroup'
     { _cdcpgTags                        :: !(Maybe [Tag])
@@ -67,13 +71,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdcpgTags'
+-- * 'cdcpgTags' - Undocumented member.
 --
--- * 'cdcpgDBClusterParameterGroupName'
+-- * 'cdcpgDBClusterParameterGroupName' - The name of the DB cluster 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
 --
--- * 'cdcpgDBParameterGroupFamily'
+-- * 'cdcpgDBParameterGroupFamily' - The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.
 --
--- * 'cdcpgDescription'
+-- * 'cdcpgDescription' - The description for the DB cluster parameter group.
 createDBClusterParameterGroup
     :: Text -- ^ 'cdcpgDBClusterParameterGroupName'
     -> Text -- ^ 'cdcpgDBParameterGroupFamily'
@@ -91,17 +95,7 @@
 cdcpgTags :: Lens' CreateDBClusterParameterGroup [Tag]
 cdcpgTags = lens _cdcpgTags (\ s a -> s{_cdcpgTags = a}) . _Default . _Coerce;
 
--- | The name of the DB cluster 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
---
--- This value is stored as a lowercase string.
+-- | The name of the DB cluster 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
 cdcpgDBClusterParameterGroupName :: Lens' CreateDBClusterParameterGroup Text
 cdcpgDBClusterParameterGroupName = lens _cdcpgDBClusterParameterGroupName (\ s a -> s{_cdcpgDBClusterParameterGroupName = a});
 
@@ -160,9 +154,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbcpgrsDBClusterParameterGroup'
+-- * 'cdbcpgrsDBClusterParameterGroup' - Undocumented member.
 --
--- * 'cdbcpgrsResponseStatus'
+-- * 'cdbcpgrsResponseStatus' - -- | The response status code.
 createDBClusterParameterGroupResponse
     :: Int -- ^ 'cdbcpgrsResponseStatus'
     -> CreateDBClusterParameterGroupResponse
@@ -176,7 +170,7 @@
 cdbcpgrsDBClusterParameterGroup :: Lens' CreateDBClusterParameterGroupResponse (Maybe DBClusterParameterGroup)
 cdbcpgrsDBClusterParameterGroup = lens _cdbcpgrsDBClusterParameterGroup (\ s a -> s{_cdbcpgrsDBClusterParameterGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdbcpgrsResponseStatus :: Lens' CreateDBClusterParameterGroupResponse Int
 cdbcpgrsResponseStatus = lens _cdbcpgrsResponseStatus (\ s a -> s{_cdbcpgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBClusterSnapshot.hs b/gen/Network/AWS/RDS/CreateDBClusterSnapshot.hs
--- a/gen/Network/AWS/RDS/CreateDBClusterSnapshot.hs
+++ b/gen/Network/AWS/RDS/CreateDBClusterSnapshot.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
+--
 module Network.AWS.RDS.CreateDBClusterSnapshot
     (
     -- * Creating a Request
@@ -46,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBClusterSnapshot' smart constructor.
 data CreateDBClusterSnapshot = CreateDBClusterSnapshot'
     { _cdcsTags                        :: !(Maybe [Tag])
@@ -57,11 +61,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdcsTags'
+-- * 'cdcsTags' - The tags to be assigned to the DB cluster snapshot.
 --
--- * 'cdcsDBClusterSnapshotIdentifier'
+-- * 'cdcsDBClusterSnapshotIdentifier' - The identifier of the DB cluster snapshot. 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. Example: @my-cluster1-snapshot1@
 --
--- * 'cdcsDBClusterIdentifier'
+-- * 'cdcsDBClusterIdentifier' - The identifier of the DB cluster to create a snapshot for. 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. Example: @my-cluster1@
 createDBClusterSnapshot
     :: Text -- ^ 'cdcsDBClusterSnapshotIdentifier'
     -> Text -- ^ 'cdcsDBClusterIdentifier'
@@ -77,31 +81,11 @@
 cdcsTags :: Lens' CreateDBClusterSnapshot [Tag]
 cdcsTags = lens _cdcsTags (\ s a -> s{_cdcsTags = a}) . _Default . _Coerce;
 
--- | The identifier of the DB cluster snapshot. 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.
---
--- Example: 'my-cluster1-snapshot1'
+-- | The identifier of the DB cluster snapshot. 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. Example: @my-cluster1-snapshot1@
 cdcsDBClusterSnapshotIdentifier :: Lens' CreateDBClusterSnapshot Text
 cdcsDBClusterSnapshotIdentifier = lens _cdcsDBClusterSnapshotIdentifier (\ s a -> s{_cdcsDBClusterSnapshotIdentifier = a});
 
--- | The identifier of the DB cluster to create a snapshot for. 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.
---
--- Example: 'my-cluster1'
+-- | The identifier of the DB cluster to create a snapshot for. 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. Example: @my-cluster1@
 cdcsDBClusterIdentifier :: Lens' CreateDBClusterSnapshot Text
 cdcsDBClusterIdentifier = lens _cdcsDBClusterIdentifier (\ s a -> s{_cdcsDBClusterIdentifier = a});
 
@@ -146,9 +130,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbcsrsDBClusterSnapshot'
+-- * 'cdbcsrsDBClusterSnapshot' - Undocumented member.
 --
--- * 'cdbcsrsResponseStatus'
+-- * 'cdbcsrsResponseStatus' - -- | The response status code.
 createDBClusterSnapshotResponse
     :: Int -- ^ 'cdbcsrsResponseStatus'
     -> CreateDBClusterSnapshotResponse
@@ -162,7 +146,7 @@
 cdbcsrsDBClusterSnapshot :: Lens' CreateDBClusterSnapshotResponse (Maybe DBClusterSnapshot)
 cdbcsrsDBClusterSnapshot = lens _cdbcsrsDBClusterSnapshot (\ s a -> s{_cdbcsrsDBClusterSnapshot = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdbcsrsResponseStatus :: Lens' CreateDBClusterSnapshotResponse Int
 cdbcsrsResponseStatus = lens _cdbcsrsResponseStatus (\ s a -> s{_cdbcsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBInstance.hs b/gen/Network/AWS/RDS/CreateDBInstance.hs
--- a/gen/Network/AWS/RDS/CreateDBInstance.hs
+++ b/gen/Network/AWS/RDS/CreateDBInstance.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a new DB instance.
+--
+--
 module Network.AWS.RDS.CreateDBInstance
     (
     -- * Creating a Request
@@ -53,6 +55,7 @@
     , cdiAllocatedStorage
     , cdiOptionGroupName
     , cdiCopyTagsToSnapshot
+    , cdiTimezone
     , cdiTDECredentialARN
     , cdiDomainIAMRoleName
     , cdiTags
@@ -80,6 +83,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBInstance' smart constructor.
 data CreateDBInstance = CreateDBInstance'
     { _cdiEngineVersion              :: !(Maybe Text)
@@ -110,6 +115,7 @@
     , _cdiAllocatedStorage           :: !(Maybe Int)
     , _cdiOptionGroupName            :: !(Maybe Text)
     , _cdiCopyTagsToSnapshot         :: !(Maybe Bool)
+    , _cdiTimezone                   :: !(Maybe Text)
     , _cdiTDECredentialARN           :: !(Maybe Text)
     , _cdiDomainIAMRoleName          :: !(Maybe Text)
     , _cdiTags                       :: !(Maybe [Tag])
@@ -125,79 +131,81 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdiEngineVersion'
+-- * 'cdiEngineVersion' - The version number of the database engine to use. The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region. __Amazon Aurora__      * __Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-west-2):__ @5.6.10a@  __MariaDB__      * __Version 10.1 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @10.1.14@      * __Version 10.0 (available in all AWS regions):__ @10.0.17 | 10.0.24@  __MySQL__      * __Version 5.7 (available in all AWS regions):__ @5.7.10 | 5.7.11@      * __Version 5.6 (available in all AWS regions):__ @5.6.27 | 5.6.29@      * __Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.6.23@      * __Version 5.6 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22@      * __Version 5.5 (available in all AWS regions):__ @5.5.46@      * __Version 5.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.5.42@      * __Version 5.5 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.5.40b | 5.5.41@      * __Version 5.5 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.5.40 | 5.5.40a@  __Oracle Database Enterprise Edition (oracle-ee)__      * __Version 12.1.0.2 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.2.v5@      * __Version 12.1.0.2 (available in all AWS regions):__ @12.1.0.2.v1 | 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.1.v6@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v1 | 12.1.0.1.v2@      * __Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @11.2.0.4.v6 | 11.2.0.4.v9@      * __Version 11.2.0.4 (available in all AWS regions):__ @11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8@  __Oracle Database Standard Edition Two (oracle-se2)__      * __Version 12.1.0.2 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.2.v5@      * __Version 12.1.0.2 (available in all AWS regions):__ @12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4@  __Oracle Database Standard Edition One (oracle-se1)__      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.1.v6@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v1 | 12.1.0.1.v2@      * __Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @11.2.0.4.v6 | 11.2.0.4.v9@      * __Version 11.2.0.4 (available in all AWS regions):__ @11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8@  __Oracle Database Standard Edition (oracle-se)__      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.1.v6@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v1 | 12.1.0.1.v2@      * __Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @11.2.0.4.v6 | 11.2.0.4.v9@      * __Version 11.2.0.4 (available in all AWS regions):__ @11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8@  __PostgreSQL__      * __Version 9.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @9.5.2 | 9.5.4@      * __Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @9.4.7 | 9.4.9@      * __Version 9.4 (available in all AWS regions):__ @9.4.5@      * __Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @9.4.1 | 9.4.4@      * __Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9@      * __Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @9.3.1 | 9.3.2@      * __Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @9.3.12 | 9.3.14@  __Microsoft SQL Server Enterprise Edition (sqlserver-ee)__      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@  __Microsoft SQL Server Express Edition (sqlserver-ex)__      * __Version 12.00 (available in all AWS regions):__ @12.00.4422.0.v1@      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@  __Microsoft SQL Server Standard Edition (sqlserver-se)__      * __Version 12.00 (available in all AWS regions):__ @12.00.4422.0.v1@      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@  __Microsoft SQL Server Web Edition (sqlserver-web)__      * __Version 12.00 (available in all AWS regions):__ @12.00.4422.0.v1@      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@
 --
--- * 'cdiDBSecurityGroups'
+-- * 'cdiDBSecurityGroups' - A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine.
 --
--- * 'cdiStorageEncrypted'
+-- * 'cdiStorageEncrypted' - Specifies whether the DB instance is encrypted. Default: false
 --
--- * 'cdiDBClusterIdentifier'
+-- * 'cdiDBClusterIdentifier' - The identifier of the DB cluster that the instance will belong to. For information on creating a DB cluster, see 'CreateDBCluster' . Type: String
 --
--- * 'cdiMasterUserPassword'
+-- * 'cdiMasterUserPassword' - 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. __MariaDB__  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. __PostgreSQL__  Constraints: Must contain from 8 to 128 characters. __Amazon Aurora__  Constraints: Must contain from 8 to 41 characters.
 --
--- * 'cdiPubliclyAccessible'
+-- * 'cdiPubliclyAccessible' - 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.
 --
--- * 'cdiAutoMinorVersionUpgrade'
+-- * 'cdiAutoMinorVersionUpgrade' - Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default: @true@
 --
--- * 'cdiMasterUsername'
+-- * 'cdiMasterUsername' - 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. __MariaDB__  Constraints:     * Must be 1 to 16 alphanumeric characters.     * 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. __PostgreSQL__  Constraints:     * Must be 1 to 63 alphanumeric characters.     * First character must be a letter.     * Cannot be a reserved word for the chosen database engine.
 --
--- * 'cdiDBSubnetGroupName'
+-- * 'cdiDBSubnetGroupName' - 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.
 --
--- * 'cdiMonitoringRoleARN'
+-- * 'cdiMonitoringRoleARN' - The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, @arn:aws:iam:123456789012:role/emaccess@ . For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring> . If @MonitoringInterval@ is set to a value other than 0, then you must supply a @MonitoringRoleArn@ value.
 --
--- * 'cdiIOPS'
+-- * 'cdiIOPS' - The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your @Iops@ value can be 2000, 3000, 4000, or 5000.
 --
--- * 'cdiDomain'
+-- * 'cdiDomain' - Specify the Active Directory Domain to create the instance in.
 --
--- * 'cdiMonitoringInterval'
+-- * 'cdiMonitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If @MonitoringRoleArn@ is specified, then you must also set @MonitoringInterval@ to a value other than 0. Valid Values: @0, 1, 5, 10, 15, 30, 60@
 --
--- * 'cdiTDECredentialPassword'
+-- * 'cdiTDECredentialPassword' - The password for the given ARN from the Key Store in order to access the device.
 --
--- * 'cdiPromotionTier'
+-- * 'cdiPromotionTier' - A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .  Default: 1 Valid Values: 0 - 15
 --
--- * 'cdiLicenseModel'
+-- * 'cdiLicenseModel' - License model information for this DB instance. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 --
--- * 'cdiPreferredMaintenanceWindow'
+-- * 'cdiPreferredMaintenanceWindow' - The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBMaintenance.html DB Instance Maintenance> .  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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 --
--- * 'cdiCharacterSetName'
+-- * 'cdiCharacterSetName' - For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.
 --
--- * 'cdiKMSKeyId'
+-- * 'cdiKMSKeyId' - The KMS key identifier for an encrypted DB instance. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the @StorageEncrypted@ parameter is true, and you do not specify a value for the @KmsKeyId@ parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
 --
--- * 'cdiDBParameterGroupName'
+-- * 'cdiDBParameterGroupName' - 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
 --
--- * 'cdiPreferredBackupWindow'
+-- * 'cdiPreferredBackupWindow' - The daily time range during which automated backups are created if automated backups are enabled, using the @BackupRetentionPeriod@ parameter. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.BackingUpAndRestoringAmazonRDSInstances.html DB Instance Backups> .  Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 --
--- * 'cdiAvailabilityZone'
+-- * 'cdiAvailabilityZone' - The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html Regions and Availability Zones> .  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.
 --
--- * 'cdiBackupRetentionPeriod'
+-- * 'cdiBackupRetentionPeriod' - 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
 --
--- * 'cdiVPCSecurityGroupIds'
+-- * 'cdiVPCSecurityGroupIds' - 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.
 --
--- * 'cdiMultiAZ'
+-- * 'cdiMultiAZ' - Specifies if the DB instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.
 --
--- * 'cdiAllocatedStorage'
+-- * 'cdiAllocatedStorage' - 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 6144. __MariaDB__  Constraints: Must be an integer from 5 to 6144. __PostgreSQL__  Constraints: Must be an integer from 5 to 6144. __Oracle__  Constraints: Must be an integer from 10 to 6144. __SQL Server__  Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)
 --
--- * 'cdiOptionGroupName'
+-- * 'cdiOptionGroupName' - 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
 --
--- * 'cdiCopyTagsToSnapshot'
+-- * 'cdiCopyTagsToSnapshot' - True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.
 --
--- * 'cdiTDECredentialARN'
+-- * 'cdiTimezone' - The time zone of the DB instance. The time zone parameter is currently supported only by <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone Microsoft SQL Server> .
 --
--- * 'cdiDomainIAMRoleName'
+-- * 'cdiTDECredentialARN' - The ARN from the Key Store with which to associate the instance for TDE encryption.
 --
--- * 'cdiTags'
+-- * 'cdiDomainIAMRoleName' - Specify the name of the IAM role to be used when making API calls to the Directory Service.
 --
--- * 'cdiPort'
+-- * 'cdiTags' - Undocumented member.
 --
--- * 'cdiStorageType'
+-- * 'cdiPort' - The port number on which the database accepts connections. __MySQL__  Default: @3306@  Valid Values: @1150-65535@  Type: Integer __MariaDB__  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@ .  __Amazon Aurora__  Default: @3306@  Valid Values: @1150-65535@  Type: Integer
 --
--- * 'cdiDBName'
+-- * 'cdiStorageType' - Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 --
--- * 'cdiDBInstanceIdentifier'
+-- * 'cdiDBName' - 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 __MariaDB__  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, the default "postgres" 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. __Amazon Aurora__  The name of the database to create when the primary instance of the DB cluster 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
 --
--- * 'cdiDBInstanceClass'
+-- * 'cdiDBInstanceIdentifier' - 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@
 --
--- * 'cdiEngine'
+-- * 'cdiDBInstanceClass' - 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@
+--
+-- * 'cdiEngine' - The name of the database engine to be used for this instance. Valid Values: @mysql@ | @mariadb@ | @oracle-se1@ | @oracle-se2@ | @oracle-se@ | @oracle-ee@ | @sqlserver-ee@ | @sqlserver-se@ | @sqlserver-ex@ | @sqlserver-web@ | @postgres@ | @aurora@  Not every database engine is available for every AWS region.
 createDBInstance
     :: Text -- ^ 'cdiDBInstanceIdentifier'
     -> Text -- ^ 'cdiDBInstanceClass'
@@ -233,6 +241,7 @@
     , _cdiAllocatedStorage = Nothing
     , _cdiOptionGroupName = Nothing
     , _cdiCopyTagsToSnapshot = Nothing
+    , _cdiTimezone = Nothing
     , _cdiTDECredentialARN = Nothing
     , _cdiDomainIAMRoleName = Nothing
     , _cdiTags = Nothing
@@ -244,263 +253,47 @@
     , _cdiEngine = pEngine_
     }
 
--- | The version number of the database engine to use.
---
--- The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region.
---
--- __Amazon Aurora__
---
--- -   __Version 5.6 (only available in AWS regions ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-west-2):__ ' 5.6.10a'
---
--- __MariaDB__
---
--- -   __Version 10.1 (available in all AWS regions except us-gov-west-1):__ ' 10.1.14'
---
--- -   __Version 10.0 (available in all AWS regions):__ ' 10.0.17 | 10.0.24'
---
--- __Microsoft SQL Server Enterprise Edition (sqlserver-ee)__
---
--- -   __Version 11.00 (available in all AWS regions):__ ' 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1'
---
--- -   __Version 10.50 (available in all AWS regions):__ ' 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1'
---
--- __Microsoft SQL Server Express Edition (sqlserver-ex)__
---
--- -   __Version 12.00 (available in all AWS regions):__ ' 12.00.4422.0.v1'
---
--- -   __Version 11.00 (available in all AWS regions):__ ' 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1'
---
--- -   __Version 10.50 (available in all AWS regions):__ ' 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1'
---
--- __Microsoft SQL Server Standard Edition (sqlserver-se)__
---
--- -   __Version 12.00 (available in all AWS regions):__ ' 12.00.4422.0.v1'
---
--- -   __Version 11.00 (available in all AWS regions):__ ' 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1'
---
--- -   __Version 10.50 (available in all AWS regions):__ ' 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1'
---
--- __Microsoft SQL Server Web Edition (sqlserver-web)__
---
--- -   __Version 12.00 (available in all AWS regions):__ ' 12.00.4422.0.v1'
---
--- -   __Version 11.00 (available in all AWS regions):__ ' 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1'
---
--- -   __Version 10.50 (available in all AWS regions):__ ' 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1'
---
--- __MySQL__
---
--- -   __Version 5.7 (available in all AWS regions):__ ' 5.7.10 | 5.7.11'
---
--- -   __Version 5.6 (available in all AWS regions except ap-south-1, ap-northeast-2):__ ' 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22'
---
--- -   __Version 5.6 (available in all AWS regions except ap-south-1):__ ' 5.6.23'
---
--- -   __Version 5.6 (available in all AWS regions):__ ' 5.6.27 | 5.6.29'
---
--- -   __Version 5.5 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ ' 5.5.40 | 5.5.40a'
---
--- -   __Version 5.5 (available in all AWS regions except ap-south-1, ap-northeast-2):__ ' 5.5.40b | 5.5.41'
---
--- -   __Version 5.5 (available in all AWS regions except ap-south-1):__ ' 5.5.42'
---
--- -   __Version 5.5 (available in all AWS regions):__ ' 5.5.46'
---
--- __Oracle Database Enterprise Edition (oracle-ee)__
---
--- -   __Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2):__ ' 12.1.0.1.v1 | 12.1.0.1.v2'
---
--- -   __Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ ' 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5'
---
--- -   __Version 12.1 (available in all AWS regions):__ ' 12.1.0.2.v1'
---
--- -   __Version 12.1 (available in all AWS regions except us-gov-west-1):__ ' 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4'
---
--- -   __Version 11.2 (available in all AWS regions):__ ' 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4'
---
--- -   __Version 11.2 (available in all AWS regions except us-gov-west-1):__ ' 11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8'
---
--- __Oracle Database Standard Edition (oracle-se)__
---
--- -   __Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2):__ ' 12.1.0.1.v1 | 12.1.0.1.v2'
---
--- -   __Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ ' 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5'
---
--- -   __Version 11.2 (available in all AWS regions):__ ' 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4'
---
--- -   __Version 11.2 (available in all AWS regions except us-gov-west-1):__ ' 11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8'
---
--- __Oracle Database Standard Edition One (oracle-se1)__
---
--- -   __Version 12.1 (available in all AWS regions except ap-south-1, ap-northeast-2):__ ' 12.1.0.1.v1 | 12.1.0.1.v2'
---
--- -   __Version 12.1 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ ' 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5'
---
--- -   __Version 11.2 (available in all AWS regions):__ ' 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4'
---
--- -   __Version 11.2 (available in all AWS regions except us-gov-west-1):__ ' 11.2.0.4.v5 | 11.2.0.4.v6 | 11.2.0.4.v7 | 11.2.0.4.v8'
---
--- __Oracle Database Standard Edition Two (oracle-se2)__
---
--- -   __Version 12.1 (available in all AWS regions except us-gov-west-1):__ ' 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4'
---
--- __PostgreSQL__
---
--- -   __Version 9.5 (available in all AWS regions except us-gov-west-1):__ ' 9.5.2'
---
--- -   __Version 9.4 (available in all AWS regions except ap-south-1):__ ' 9.4.1 | 9.4.4'
---
--- -   __Version 9.4 (available in all AWS regions):__ ' 9.4.5'
---
--- -   __Version 9.4 (available in all AWS regions except us-gov-west-1):__ ' 9.4.7'
---
--- -   __Version 9.3 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ ' 9.3.1 | 9.3.2'
---
--- -   __Version 9.3 (available in all AWS regions except ap-south-1, ap-northeast-2):__ ' 9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9'
---
--- -   __Version 9.3 (only available in AWS regions ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ ' 9.3.12'
---
+-- | The version number of the database engine to use. The following are the database engines and major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS region. __Amazon Aurora__      * __Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-west-2):__ @5.6.10a@  __MariaDB__      * __Version 10.1 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @10.1.14@      * __Version 10.0 (available in all AWS regions):__ @10.0.17 | 10.0.24@  __MySQL__      * __Version 5.7 (available in all AWS regions):__ @5.7.10 | 5.7.11@      * __Version 5.6 (available in all AWS regions):__ @5.6.27 | 5.6.29@      * __Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.6.23@      * __Version 5.6 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22@      * __Version 5.5 (available in all AWS regions):__ @5.5.46@      * __Version 5.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.5.42@      * __Version 5.5 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.5.40b | 5.5.41@      * __Version 5.5 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @5.5.40 | 5.5.40a@  __Oracle Database Enterprise Edition (oracle-ee)__      * __Version 12.1.0.2 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.2.v5@      * __Version 12.1.0.2 (available in all AWS regions):__ @12.1.0.2.v1 | 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.1.v6@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v1 | 12.1.0.1.v2@      * __Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @11.2.0.4.v6 | 11.2.0.4.v9@      * __Version 11.2.0.4 (available in all AWS regions):__ @11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8@  __Oracle Database Standard Edition Two (oracle-se2)__      * __Version 12.1.0.2 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.2.v5@      * __Version 12.1.0.2 (available in all AWS regions):__ @12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4@  __Oracle Database Standard Edition One (oracle-se1)__      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.1.v6@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v1 | 12.1.0.1.v2@      * __Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @11.2.0.4.v6 | 11.2.0.4.v9@      * __Version 11.2.0.4 (available in all AWS regions):__ @11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8@  __Oracle Database Standard Edition (oracle-se)__      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @12.1.0.1.v6@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5@      * __Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2):__ @12.1.0.1.v1 | 12.1.0.1.v2@      * __Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @11.2.0.4.v6 | 11.2.0.4.v9@      * __Version 11.2.0.4 (available in all AWS regions):__ @11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8@  __PostgreSQL__      * __Version 9.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @9.5.2 | 9.5.4@      * __Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @9.4.7 | 9.4.9@      * __Version 9.4 (available in all AWS regions):__ @9.4.5@      * __Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @9.4.1 | 9.4.4@      * __Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9@      * __Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2):__ @9.3.1 | 9.3.2@      * __Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2):__ @9.3.12 | 9.3.14@  __Microsoft SQL Server Enterprise Edition (sqlserver-ee)__      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@  __Microsoft SQL Server Express Edition (sqlserver-ex)__      * __Version 12.00 (available in all AWS regions):__ @12.00.4422.0.v1@      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@  __Microsoft SQL Server Standard Edition (sqlserver-se)__      * __Version 12.00 (available in all AWS regions):__ @12.00.4422.0.v1@      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@  __Microsoft SQL Server Web Edition (sqlserver-web)__      * __Version 12.00 (available in all AWS regions):__ @12.00.4422.0.v1@      * __Version 11.00 (available in all AWS regions):__ @11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1@      * __Version 10.50 (available in all AWS regions):__ @10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1@
 cdiEngineVersion :: Lens' CreateDBInstance (Maybe Text)
 cdiEngineVersion = lens _cdiEngineVersion (\ s a -> s{_cdiEngineVersion = a});
 
--- | A list of DB security groups to associate with this DB instance.
---
--- Default: The default DB security group for the database engine.
+-- | A list of DB security groups to associate with this DB instance. Default: The default DB security group for the database engine.
 cdiDBSecurityGroups :: Lens' CreateDBInstance [Text]
 cdiDBSecurityGroups = lens _cdiDBSecurityGroups (\ s a -> s{_cdiDBSecurityGroups = a}) . _Default . _Coerce;
 
--- | Specifies whether the DB instance is encrypted.
---
--- Default: false
+-- | Specifies whether the DB instance is encrypted. Default: false
 cdiStorageEncrypted :: Lens' CreateDBInstance (Maybe Bool)
 cdiStorageEncrypted = lens _cdiStorageEncrypted (\ s a -> s{_cdiStorageEncrypted = a});
 
--- | The identifier of the DB cluster that the instance will belong to.
---
--- For information on creating a DB cluster, see < CreateDBCluster>.
---
--- Type: String
+-- | The identifier of the DB cluster that the instance will belong to. For information on creating a DB cluster, see 'CreateDBCluster' . Type: String
 cdiDBClusterIdentifier :: Lens' CreateDBInstance (Maybe Text)
 cdiDBClusterIdentifier = lens _cdiDBClusterIdentifier (\ s a -> s{_cdiDBClusterIdentifier = 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.
---
--- __MariaDB__
---
--- 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.
---
--- __PostgreSQL__
---
--- Constraints: Must contain from 8 to 128 characters.
---
--- __Amazon Aurora__
---
--- Constraints: Must contain from 8 to 41 characters.
+-- | 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. __MariaDB__  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. __PostgreSQL__  Constraints: Must contain from 8 to 128 characters. __Amazon Aurora__  Constraints: Must contain from 8 to 41 characters.
 cdiMasterUserPassword :: Lens' CreateDBInstance (Maybe Text)
 cdiMasterUserPassword = lens _cdiMasterUserPassword (\ s a -> s{_cdiMasterUserPassword = 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.
+-- | 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.
 cdiPubliclyAccessible :: Lens' CreateDBInstance (Maybe Bool)
 cdiPubliclyAccessible = lens _cdiPubliclyAccessible (\ s a -> s{_cdiPubliclyAccessible = a});
 
--- | Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.
---
--- Default: 'true'
+-- | Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default: @true@
 cdiAutoMinorVersionUpgrade :: Lens' CreateDBInstance (Maybe Bool)
 cdiAutoMinorVersionUpgrade = lens _cdiAutoMinorVersionUpgrade (\ s a -> s{_cdiAutoMinorVersionUpgrade = 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.
---
--- __MariaDB__
---
--- Constraints:
---
--- -   Must be 1 to 16 alphanumeric characters.
---
--- -   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.
---
--- __PostgreSQL__
---
--- Constraints:
---
--- -   Must be 1 to 63 alphanumeric characters.
---
--- -   First character must be a letter.
---
--- -   Cannot be a reserved word for the chosen database engine.
---
+-- | 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. __MariaDB__  Constraints:     * Must be 1 to 16 alphanumeric characters.     * 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. __PostgreSQL__  Constraints:     * Must be 1 to 63 alphanumeric characters.     * First character must be a letter.     * Cannot be a reserved word for the chosen database engine.
 cdiMasterUsername :: Lens' CreateDBInstance (Maybe Text)
 cdiMasterUsername = lens _cdiMasterUsername (\ s a -> s{_cdiMasterUsername = a});
 
--- | 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.
+-- | 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.
 cdiDBSubnetGroupName :: Lens' CreateDBInstance (Maybe Text)
 cdiDBSubnetGroupName = lens _cdiDBSubnetGroupName (\ s a -> s{_cdiDBSubnetGroupName = a});
 
--- | The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, 'arn:aws:iam:123456789012:role\/emaccess'. For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring>.
---
--- If 'MonitoringInterval' is set to a value other than 0, then you must supply a 'MonitoringRoleArn' value.
+-- | The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, @arn:aws:iam:123456789012:role/emaccess@ . For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring> . If @MonitoringInterval@ is set to a value other than 0, then you must supply a @MonitoringRoleArn@ value.
 cdiMonitoringRoleARN :: Lens' CreateDBInstance (Maybe Text)
 cdiMonitoringRoleARN = lens _cdiMonitoringRoleARN (\ s a -> s{_cdiMonitoringRoleARN = a});
 
--- | The amount of Provisioned IOPS (input\/output operations per second) to be initially allocated for the DB instance.
---
--- Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your 'Iops' value can be 2000, 3000, 4000, or 5000.
+-- | The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your @Iops@ value can be 2000, 3000, 4000, or 5000.
 cdiIOPS :: Lens' CreateDBInstance (Maybe Int)
 cdiIOPS = lens _cdiIOPS (\ s a -> s{_cdiIOPS = a});
 
@@ -508,11 +301,7 @@
 cdiDomain :: Lens' CreateDBInstance (Maybe Text)
 cdiDomain = lens _cdiDomain (\ s a -> s{_cdiDomain = a});
 
--- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.
---
--- If 'MonitoringRoleArn' is specified, then you must also set 'MonitoringInterval' to a value other than 0.
---
--- Valid Values: '0, 1, 5, 10, 15, 30, 60'
+-- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If @MonitoringRoleArn@ is specified, then you must also set @MonitoringInterval@ to a value other than 0. Valid Values: @0, 1, 5, 10, 15, 30, 60@
 cdiMonitoringInterval :: Lens' CreateDBInstance (Maybe Int)
 cdiMonitoringInterval = lens _cdiMonitoringInterval (\ s a -> s{_cdiMonitoringInterval = a});
 
@@ -520,29 +309,15 @@
 cdiTDECredentialPassword :: Lens' CreateDBInstance (Maybe Text)
 cdiTDECredentialPassword = lens _cdiTDECredentialPassword (\ s a -> s{_cdiTDECredentialPassword = a});
 
--- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster>.
---
--- Default: 1
---
--- Valid Values: 0 - 15
+-- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .  Default: 1 Valid Values: 0 - 15
 cdiPromotionTier :: Lens' CreateDBInstance (Maybe Int)
 cdiPromotionTier = lens _cdiPromotionTier (\ s a -> s{_cdiPromotionTier = a});
 
--- | License model information for this DB instance.
---
--- Valid values: 'license-included' | 'bring-your-own-license' | 'general-public-license'
+-- | License model information for this DB instance. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 cdiLicenseModel :: Lens' CreateDBInstance (Maybe Text)
 cdiLicenseModel = lens _cdiLicenseModel (\ s a -> s{_cdiLicenseModel = a});
 
--- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBMaintenance.html DB Instance Maintenance>.
---
--- 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
+-- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBMaintenance.html DB Instance Maintenance> .  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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 cdiPreferredMaintenanceWindow :: Lens' CreateDBInstance (Maybe Text)
 cdiPreferredMaintenanceWindow = lens _cdiPreferredMaintenanceWindow (\ s a -> s{_cdiPreferredMaintenanceWindow = a});
 
@@ -550,70 +325,27 @@
 cdiCharacterSetName :: Lens' CreateDBInstance (Maybe Text)
 cdiCharacterSetName = lens _cdiCharacterSetName (\ s a -> s{_cdiCharacterSetName = a});
 
--- | The KMS key identifier for an encrypted DB instance.
---
--- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.
---
--- If the 'StorageEncrypted' parameter is true, and you do not specify a value for the 'KmsKeyId' parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
+-- | The KMS key identifier for an encrypted DB instance. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the @StorageEncrypted@ parameter is true, and you do not specify a value for the @KmsKeyId@ parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
 cdiKMSKeyId :: Lens' CreateDBInstance (Maybe Text)
 cdiKMSKeyId = lens _cdiKMSKeyId (\ s a -> s{_cdiKMSKeyId = 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
---
+-- | 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
 cdiDBParameterGroupName :: Lens' CreateDBInstance (Maybe Text)
 cdiDBParameterGroupName = lens _cdiDBParameterGroupName (\ s a -> s{_cdiDBParameterGroupName = a});
 
--- | The daily time range during which automated backups are created if automated backups are enabled, using the 'BackupRetentionPeriod' parameter. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.BackingUpAndRestoringAmazonRDSInstances.html DB Instance Backups>.
---
--- Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./
---
--- Constraints:
---
--- -   Must be in the format 'hh24:mi-hh24:mi'.
---
--- -   Times should be in Universal Coordinated Time (UTC).
---
--- -   Must not conflict with the preferred maintenance window.
---
--- -   Must be at least 30 minutes.
---
+-- | The daily time range during which automated backups are created if automated backups are enabled, using the @BackupRetentionPeriod@ parameter. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.BackingUpAndRestoringAmazonRDSInstances.html DB Instance Backups> .  Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 cdiPreferredBackupWindow :: Lens' CreateDBInstance (Maybe Text)
 cdiPreferredBackupWindow = lens _cdiPreferredBackupWindow (\ s a -> s{_cdiPreferredBackupWindow = a});
 
--- | The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html Regions and Availability Zones>.
---
--- 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.
+-- | The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html Regions and Availability Zones> .  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.
 cdiAvailabilityZone :: Lens' CreateDBInstance (Maybe Text)
 cdiAvailabilityZone = lens _cdiAvailabilityZone (\ s a -> s{_cdiAvailabilityZone = 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
---
+-- | 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
 cdiBackupRetentionPeriod :: Lens' CreateDBInstance (Maybe Int)
 cdiBackupRetentionPeriod = lens _cdiBackupRetentionPeriod (\ s a -> s{_cdiBackupRetentionPeriod = 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.
+-- | 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.
 cdiVPCSecurityGroupIds :: Lens' CreateDBInstance [Text]
 cdiVPCSecurityGroupIds = lens _cdiVPCSecurityGroupIds (\ s a -> s{_cdiVPCSecurityGroupIds = a}) . _Default . _Coerce;
 
@@ -621,35 +353,11 @@
 cdiMultiAZ :: Lens' CreateDBInstance (Maybe Bool)
 cdiMultiAZ = lens _cdiMultiAZ (\ s a -> s{_cdiMultiAZ = a});
 
--- | 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 6144.
---
--- __MariaDB__
---
--- Constraints: Must be an integer from 5 to 6144.
---
--- __PostgreSQL__
---
--- Constraints: Must be an integer from 5 to 6144.
---
--- __Oracle__
---
--- Constraints: Must be an integer from 10 to 6144.
---
--- __SQL Server__
---
--- Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)
+-- | 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 6144. __MariaDB__  Constraints: Must be an integer from 5 to 6144. __PostgreSQL__  Constraints: Must be an integer from 5 to 6144. __Oracle__  Constraints: Must be an integer from 10 to 6144. __SQL Server__  Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)
 cdiAllocatedStorage :: Lens' CreateDBInstance (Maybe Int)
 cdiAllocatedStorage = lens _cdiAllocatedStorage (\ s a -> s{_cdiAllocatedStorage = 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
+-- | 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
 cdiOptionGroupName :: Lens' CreateDBInstance (Maybe Text)
 cdiOptionGroupName = lens _cdiOptionGroupName (\ s a -> s{_cdiOptionGroupName = a});
 
@@ -657,6 +365,10 @@
 cdiCopyTagsToSnapshot :: Lens' CreateDBInstance (Maybe Bool)
 cdiCopyTagsToSnapshot = lens _cdiCopyTagsToSnapshot (\ s a -> s{_cdiCopyTagsToSnapshot = a});
 
+-- | The time zone of the DB instance. The time zone parameter is currently supported only by <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone Microsoft SQL Server> .
+cdiTimezone :: Lens' CreateDBInstance (Maybe Text)
+cdiTimezone = lens _cdiTimezone (\ s a -> s{_cdiTimezone = a});
+
 -- | The ARN from the Key Store with which to associate the instance for TDE encryption.
 cdiTDECredentialARN :: Lens' CreateDBInstance (Maybe Text)
 cdiTDECredentialARN = lens _cdiTDECredentialARN (\ s a -> s{_cdiTDECredentialARN = a});
@@ -669,152 +381,27 @@
 cdiTags :: Lens' CreateDBInstance [Tag]
 cdiTags = lens _cdiTags (\ s a -> s{_cdiTags = a}) . _Default . _Coerce;
 
--- | The port number on which the database accepts connections.
---
--- __MySQL__
---
--- Default: '3306'
---
--- Valid Values: '1150-65535'
---
--- Type: Integer
---
--- __MariaDB__
---
--- 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'.
---
--- __Amazon Aurora__
---
--- Default: '3306'
---
--- Valid Values: '1150-65535'
---
--- Type: Integer
+-- | The port number on which the database accepts connections. __MySQL__  Default: @3306@  Valid Values: @1150-65535@  Type: Integer __MariaDB__  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@ .  __Amazon Aurora__  Default: @3306@  Valid Values: @1150-65535@  Type: Integer
 cdiPort :: Lens' CreateDBInstance (Maybe Int)
 cdiPort = lens _cdiPort (\ s a -> s{_cdiPort = a});
 
--- | Specifies the 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.
---
--- Default: 'io1' if the 'Iops' parameter is specified; otherwise 'standard'
+-- | Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 cdiStorageType :: Lens' CreateDBInstance (Maybe Text)
 cdiStorageType = lens _cdiStorageType (\ s a -> s{_cdiStorageType = 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
---
--- __MariaDB__
---
--- 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, the default \"postgres\" 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.
---
--- __Amazon Aurora__
---
--- The name of the database to create when the primary instance of the DB cluster 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
---
+-- | 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 __MariaDB__  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, the default "postgres" 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. __Amazon Aurora__  The name of the database to create when the primary instance of the DB cluster 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
 cdiDBName :: Lens' CreateDBInstance (Maybe Text)
 cdiDBName = lens _cdiDBName (\ s a -> s{_cdiDBName = 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'
+-- | 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@
 cdiDBInstanceIdentifier :: Lens' CreateDBInstance Text
 cdiDBInstanceIdentifier = lens _cdiDBInstanceIdentifier (\ s a -> s{_cdiDBInstanceIdentifier = 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- | 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@
 cdiDBInstanceClass :: Lens' CreateDBInstance Text
 cdiDBInstanceClass = lens _cdiDBInstanceClass (\ s a -> s{_cdiDBInstanceClass = a});
 
--- | The name of the database engine to be used for this instance.
---
--- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' | 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web' | 'postgres' | 'aurora'
---
--- Not every database engine is available for every AWS region.
+-- | The name of the database engine to be used for this instance. Valid Values: @mysql@ | @mariadb@ | @oracle-se1@ | @oracle-se2@ | @oracle-se@ | @oracle-ee@ | @sqlserver-ee@ | @sqlserver-se@ | @sqlserver-ex@ | @sqlserver-web@ | @postgres@ | @aurora@  Not every database engine is available for every AWS region.
 cdiEngine :: Lens' CreateDBInstance Text
 cdiEngine = lens _cdiEngine (\ s a -> s{_cdiEngine = a});
 
@@ -877,6 +464,7 @@
                "AllocatedStorage" =: _cdiAllocatedStorage,
                "OptionGroupName" =: _cdiOptionGroupName,
                "CopyTagsToSnapshot" =: _cdiCopyTagsToSnapshot,
+               "Timezone" =: _cdiTimezone,
                "TdeCredentialArn" =: _cdiTDECredentialARN,
                "DomainIAMRoleName" =: _cdiDomainIAMRoleName,
                "Tags" =: toQuery (toQueryList "Tag" <$> _cdiTags),
@@ -896,9 +484,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdirsDBInstance'
+-- * 'cdirsDBInstance' - Undocumented member.
 --
--- * 'cdirsResponseStatus'
+-- * 'cdirsResponseStatus' - -- | The response status code.
 createDBInstanceResponse
     :: Int -- ^ 'cdirsResponseStatus'
     -> CreateDBInstanceResponse
@@ -912,7 +500,7 @@
 cdirsDBInstance :: Lens' CreateDBInstanceResponse (Maybe DBInstance)
 cdirsDBInstance = lens _cdirsDBInstance (\ s a -> s{_cdirsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdirsResponseStatus :: Lens' CreateDBInstanceResponse Int
 cdirsResponseStatus = lens _cdirsResponseStatus (\ s a -> s{_cdirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBInstanceReadReplica.hs b/gen/Network/AWS/RDS/CreateDBInstanceReadReplica.hs
--- a/gen/Network/AWS/RDS/CreateDBInstanceReadReplica.hs
+++ b/gen/Network/AWS/RDS/CreateDBInstanceReadReplica.hs
@@ -20,9 +20,11 @@
 --
 -- Creates a DB instance for a DB instance running MySQL, MariaDB, or PostgreSQL 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.
+-- /Important:/ The source DB instance must have backup retention enabled.
+--
 module Network.AWS.RDS.CreateDBInstanceReadReplica
     (
     -- * Creating a Request
@@ -83,35 +85,35 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdirrPubliclyAccessible'
+-- * 'cdirrPubliclyAccessible' - 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.
 --
--- * 'cdirrAutoMinorVersionUpgrade'
+-- * 'cdirrAutoMinorVersionUpgrade' - Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window. Default: Inherits from the source DB instance
 --
--- * 'cdirrDBSubnetGroupName'
+-- * 'cdirrDBSubnetGroupName' - 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. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'cdirrMonitoringRoleARN'
+-- * 'cdirrMonitoringRoleARN' - The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, @arn:aws:iam:123456789012:role/emaccess@ . For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring> . If @MonitoringInterval@ is set to a value other than 0, then you must supply a @MonitoringRoleArn@ value.
 --
--- * 'cdirrIOPS'
+-- * 'cdirrIOPS' - The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.
 --
--- * 'cdirrMonitoringInterval'
+-- * 'cdirrMonitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If @MonitoringRoleArn@ is specified, then you must also set @MonitoringInterval@ to a value other than 0. Valid Values: @0, 1, 5, 10, 15, 30, 60@
 --
--- * 'cdirrDBInstanceClass'
+-- * 'cdirrDBInstanceClass' - 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@  Default: Inherits from the source DB instance.
 --
--- * 'cdirrAvailabilityZone'
+-- * 'cdirrAvailabilityZone' - 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@
 --
--- * 'cdirrOptionGroupName'
+-- * 'cdirrOptionGroupName' - The option group the DB instance will be associated with. If omitted, the default option group for the engine specified will be used.
 --
--- * 'cdirrCopyTagsToSnapshot'
+-- * 'cdirrCopyTagsToSnapshot' - True to copy all tags from the Read Replica to snapshots of the Read Replica; otherwise false. The default is false.
 --
--- * 'cdirrTags'
+-- * 'cdirrTags' - Undocumented member.
 --
--- * 'cdirrPort'
+-- * 'cdirrPort' - The port number that the DB instance uses for connections. Default: Inherits from the source DB instance Valid Values: @1150-65535@
 --
--- * 'cdirrStorageType'
+-- * 'cdirrStorageType' - Specifies the storage type to be associated with the Read Replica. Valid values: @standard | gp2 | io1@  If you specify @io1@ , you must also include a value for the @Iops@ parameter.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 --
--- * 'cdirrDBInstanceIdentifier'
+-- * 'cdirrDBInstanceIdentifier' - The DB instance identifier of the Read Replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.
 --
--- * 'cdirrSourceDBInstanceIdentifier'
+-- * 'cdirrSourceDBInstanceIdentifier' - 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 MySQL, MariaDB, or PostgreSQL DB instance.     * Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.     * Can specify a DB instance that is a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5.     * 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing a Amazon RDS Amazon Resource Name (ARN)> .
 createDBInstanceReadReplica
     :: Text -- ^ 'cdirrDBInstanceIdentifier'
     -> Text -- ^ 'cdirrSourceDBInstanceIdentifier'
@@ -135,75 +137,35 @@
     , _cdirrSourceDBInstanceIdentifier = pSourceDBInstanceIdentifier_
     }
 
--- | 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.
+-- | 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.
 cdirrPubliclyAccessible :: Lens' CreateDBInstanceReadReplica (Maybe Bool)
 cdirrPubliclyAccessible = lens _cdirrPubliclyAccessible (\ s a -> s{_cdirrPubliclyAccessible = a});
 
--- | Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window.
---
--- Default: Inherits from the source DB instance
+-- | Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window. Default: Inherits from the source DB instance
 cdirrAutoMinorVersionUpgrade :: Lens' CreateDBInstanceReadReplica (Maybe Bool)
 cdirrAutoMinorVersionUpgrade = lens _cdirrAutoMinorVersionUpgrade (\ s a -> s{_cdirrAutoMinorVersionUpgrade = 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.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | 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. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 cdirrDBSubnetGroupName :: Lens' CreateDBInstanceReadReplica (Maybe Text)
 cdirrDBSubnetGroupName = lens _cdirrDBSubnetGroupName (\ s a -> s{_cdirrDBSubnetGroupName = a});
 
--- | The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, 'arn:aws:iam:123456789012:role\/emaccess'. For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring>.
---
--- If 'MonitoringInterval' is set to a value other than 0, then you must supply a 'MonitoringRoleArn' value.
+-- | The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, @arn:aws:iam:123456789012:role/emaccess@ . For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring> . If @MonitoringInterval@ is set to a value other than 0, then you must supply a @MonitoringRoleArn@ value.
 cdirrMonitoringRoleARN :: Lens' CreateDBInstanceReadReplica (Maybe Text)
 cdirrMonitoringRoleARN = lens _cdirrMonitoringRoleARN (\ s a -> s{_cdirrMonitoringRoleARN = a});
 
--- | The amount of Provisioned IOPS (input\/output operations per second) to be initially allocated for the DB instance.
+-- | The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.
 cdirrIOPS :: Lens' CreateDBInstanceReadReplica (Maybe Int)
 cdirrIOPS = lens _cdirrIOPS (\ s a -> s{_cdirrIOPS = a});
 
--- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.
---
--- If 'MonitoringRoleArn' is specified, then you must also set 'MonitoringInterval' to a value other than 0.
---
--- Valid Values: '0, 1, 5, 10, 15, 30, 60'
+-- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If @MonitoringRoleArn@ is specified, then you must also set @MonitoringInterval@ to a value other than 0. Valid Values: @0, 1, 5, 10, 15, 30, 60@
 cdirrMonitoringInterval :: Lens' CreateDBInstanceReadReplica (Maybe Int)
 cdirrMonitoringInterval = lens _cdirrMonitoringInterval (\ s a -> s{_cdirrMonitoringInterval = 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
---
--- Default: Inherits from the source DB instance.
+-- | 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@  Default: Inherits from the source DB instance.
 cdirrDBInstanceClass :: Lens' CreateDBInstanceReadReplica (Maybe Text)
 cdirrDBInstanceClass = lens _cdirrDBInstanceClass (\ s a -> s{_cdirrDBInstanceClass = 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'
+-- | 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@
 cdirrAvailabilityZone :: Lens' CreateDBInstanceReadReplica (Maybe Text)
 cdirrAvailabilityZone = lens _cdirrAvailabilityZone (\ s a -> s{_cdirrAvailabilityZone = a});
 
@@ -219,21 +181,11 @@
 cdirrTags :: Lens' CreateDBInstanceReadReplica [Tag]
 cdirrTags = lens _cdirrTags (\ s a -> s{_cdirrTags = a}) . _Default . _Coerce;
 
--- | The port number that the DB instance uses for connections.
---
--- Default: Inherits from the source DB instance
---
--- Valid Values: '1150-65535'
+-- | The port number that the DB instance uses for connections. Default: Inherits from the source DB instance Valid Values: @1150-65535@
 cdirrPort :: Lens' CreateDBInstanceReadReplica (Maybe Int)
 cdirrPort = lens _cdirrPort (\ s a -> s{_cdirrPort = a});
 
--- | Specifies the storage type to be associated with the Read Replica.
---
--- Valid values: 'standard | gp2 | io1'
---
--- If you specify 'io1', you must also include a value for the 'Iops' parameter.
---
--- Default: 'io1' if the 'Iops' parameter is specified; otherwise 'standard'
+-- | Specifies the storage type to be associated with the Read Replica. Valid values: @standard | gp2 | io1@  If you specify @io1@ , you must also include a value for the @Iops@ parameter.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 cdirrStorageType :: Lens' CreateDBInstanceReadReplica (Maybe Text)
 cdirrStorageType = lens _cdirrStorageType (\ s a -> s{_cdirrStorageType = a});
 
@@ -241,22 +193,7 @@
 cdirrDBInstanceIdentifier :: Lens' CreateDBInstanceReadReplica Text
 cdirrDBInstanceIdentifier = lens _cdirrDBInstanceIdentifier (\ s a -> s{_cdirrDBInstanceIdentifier = 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 MySQL, MariaDB, or PostgreSQL DB instance.
---
--- -   Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.
---
--- -   Can specify a DB instance that is a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5.
---
--- -   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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing a Amazon RDS Amazon Resource Name (ARN)>.
---
+-- | 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 MySQL, MariaDB, or PostgreSQL DB instance.     * Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.     * Can specify a DB instance that is a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5.     * 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing a Amazon RDS Amazon Resource Name (ARN)> .
 cdirrSourceDBInstanceIdentifier :: Lens' CreateDBInstanceReadReplica Text
 cdirrSourceDBInstanceIdentifier = lens _cdirrSourceDBInstanceIdentifier (\ s a -> s{_cdirrSourceDBInstanceIdentifier = a});
 
@@ -315,9 +252,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdirrrsDBInstance'
+-- * 'cdirrrsDBInstance' - Undocumented member.
 --
--- * 'cdirrrsResponseStatus'
+-- * 'cdirrrsResponseStatus' - -- | The response status code.
 createDBInstanceReadReplicaResponse
     :: Int -- ^ 'cdirrrsResponseStatus'
     -> CreateDBInstanceReadReplicaResponse
@@ -331,7 +268,7 @@
 cdirrrsDBInstance :: Lens' CreateDBInstanceReadReplicaResponse (Maybe DBInstance)
 cdirrrsDBInstance = lens _cdirrrsDBInstance (\ s a -> s{_cdirrrsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdirrrsResponseStatus :: Lens' CreateDBInstanceReadReplicaResponse Int
 cdirrrsResponseStatus = lens _cdirrrsResponseStatus (\ s a -> s{_cdirrrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBParameterGroup.hs b/gen/Network/AWS/RDS/CreateDBParameterGroup.hs
--- a/gen/Network/AWS/RDS/CreateDBParameterGroup.hs
+++ b/gen/Network/AWS/RDS/CreateDBParameterGroup.hs
@@ -20,9 +20,11 @@
 --
 -- 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the /DescribeDBParameters/ command to verify that your DB parameter group has been created or modified.
+-- 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.
+--
+-- /Important:/ 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the /DescribeDBParameters/ command to verify that your DB parameter group has been created or modified.
+--
 module Network.AWS.RDS.CreateDBParameterGroup
     (
     -- * Creating a Request
@@ -51,6 +53,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBParameterGroup' smart constructor.
 data CreateDBParameterGroup = CreateDBParameterGroup'
     { _cdbpgTags                   :: !(Maybe [Tag])
@@ -63,13 +67,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbpgTags'
+-- * 'cdbpgTags' - Undocumented member.
 --
--- * 'cdbpgDBParameterGroupName'
+-- * 'cdbpgDBParameterGroupName' - 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
 --
--- * 'cdbpgDBParameterGroupFamily'
+-- * 'cdbpgDBParameterGroupFamily' - 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.
 --
--- * 'cdbpgDescription'
+-- * 'cdbpgDescription' - The description for the DB parameter group.
 createDBParameterGroup
     :: Text -- ^ 'cdbpgDBParameterGroupName'
     -> Text -- ^ 'cdbpgDBParameterGroupFamily'
@@ -87,17 +91,7 @@
 cdbpgTags :: Lens' CreateDBParameterGroup [Tag]
 cdbpgTags = lens _cdbpgTags (\ s a -> s{_cdbpgTags = a}) . _Default . _Coerce;
 
--- | 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
---
--- This value is stored as a lowercase string.
+-- | 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
 cdbpgDBParameterGroupName :: Lens' CreateDBParameterGroup Text
 cdbpgDBParameterGroupName = lens _cdbpgDBParameterGroupName (\ s a -> s{_cdbpgDBParameterGroupName = a});
 
@@ -151,9 +145,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdpgrsDBParameterGroup'
+-- * 'cdpgrsDBParameterGroup' - Undocumented member.
 --
--- * 'cdpgrsResponseStatus'
+-- * 'cdpgrsResponseStatus' - -- | The response status code.
 createDBParameterGroupResponse
     :: Int -- ^ 'cdpgrsResponseStatus'
     -> CreateDBParameterGroupResponse
@@ -167,7 +161,7 @@
 cdpgrsDBParameterGroup :: Lens' CreateDBParameterGroupResponse (Maybe DBParameterGroup)
 cdpgrsDBParameterGroup = lens _cdpgrsDBParameterGroup (\ s a -> s{_cdpgrsDBParameterGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdpgrsResponseStatus :: Lens' CreateDBParameterGroupResponse Int
 cdpgrsResponseStatus = lens _cdpgrsResponseStatus (\ s a -> s{_cdpgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBSecurityGroup.hs b/gen/Network/AWS/RDS/CreateDBSecurityGroup.hs
--- a/gen/Network/AWS/RDS/CreateDBSecurityGroup.hs
+++ b/gen/Network/AWS/RDS/CreateDBSecurityGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a new DB security group. DB security groups control access to a DB instance.
+--
+--
 module Network.AWS.RDS.CreateDBSecurityGroup
     (
     -- * Creating a Request
@@ -46,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBSecurityGroup' smart constructor.
 data CreateDBSecurityGroup = CreateDBSecurityGroup'
     { _cdsgTags                       :: !(Maybe [Tag])
@@ -57,11 +61,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdsgTags'
+-- * 'cdsgTags' - Undocumented member.
 --
--- * 'cdsgDBSecurityGroupName'
+-- * 'cdsgDBSecurityGroupName' - 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" Example: @mysecuritygroup@
 --
--- * 'cdsgDBSecurityGroupDescription'
+-- * 'cdsgDBSecurityGroupDescription' - The description for the DB security group.
 createDBSecurityGroup
     :: Text -- ^ 'cdsgDBSecurityGroupName'
     -> Text -- ^ 'cdsgDBSecurityGroupDescription'
@@ -77,19 +81,7 @@
 cdsgTags :: Lens' CreateDBSecurityGroup [Tag]
 cdsgTags = lens _cdsgTags (\ s a -> s{_cdsgTags = a}) . _Default . _Coerce;
 
--- | 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\"
---
--- Example: 'mysecuritygroup'
+-- | 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" Example: @mysecuritygroup@
 cdsgDBSecurityGroupName :: Lens' CreateDBSecurityGroup Text
 cdsgDBSecurityGroupName = lens _cdsgDBSecurityGroupName (\ s a -> s{_cdsgDBSecurityGroupName = a});
 
@@ -137,9 +129,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbsgrsDBSecurityGroup'
+-- * 'cdbsgrsDBSecurityGroup' - Undocumented member.
 --
--- * 'cdbsgrsResponseStatus'
+-- * 'cdbsgrsResponseStatus' - -- | The response status code.
 createDBSecurityGroupResponse
     :: Int -- ^ 'cdbsgrsResponseStatus'
     -> CreateDBSecurityGroupResponse
@@ -153,7 +145,7 @@
 cdbsgrsDBSecurityGroup :: Lens' CreateDBSecurityGroupResponse (Maybe DBSecurityGroup)
 cdbsgrsDBSecurityGroup = lens _cdbsgrsDBSecurityGroup (\ s a -> s{_cdbsgrsDBSecurityGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdbsgrsResponseStatus :: Lens' CreateDBSecurityGroupResponse Int
 cdbsgrsResponseStatus = lens _cdbsgrsResponseStatus (\ s a -> s{_cdbsgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBSnapshot.hs b/gen/Network/AWS/RDS/CreateDBSnapshot.hs
--- a/gen/Network/AWS/RDS/CreateDBSnapshot.hs
+++ b/gen/Network/AWS/RDS/CreateDBSnapshot.hs
@@ -18,7 +18,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a DBSnapshot. The source DBInstance must be in \"available\" state.
+-- Creates a DBSnapshot. The source DBInstance must be in "available" state.
+--
+--
 module Network.AWS.RDS.CreateDBSnapshot
     (
     -- * Creating a Request
@@ -46,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBSnapshot' smart constructor.
 data CreateDBSnapshot = CreateDBSnapshot'
     { _cdbsTags                 :: !(Maybe [Tag])
@@ -57,11 +61,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbsTags'
+-- * 'cdbsTags' - Undocumented member.
 --
--- * 'cdbsDBSnapshotIdentifier'
+-- * 'cdbsDBSnapshotIdentifier' - 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@
 --
--- * 'cdbsDBInstanceIdentifier'
+-- * 'cdbsDBInstanceIdentifier' - 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
 createDBSnapshot
     :: Text -- ^ 'cdbsDBSnapshotIdentifier'
     -> Text -- ^ 'cdbsDBInstanceIdentifier'
@@ -77,32 +81,11 @@
 cdbsTags :: Lens' CreateDBSnapshot [Tag]
 cdbsTags = lens _cdbsTags (\ s a -> s{_cdbsTags = a}) . _Default . _Coerce;
 
--- | 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'
+-- | 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@
 cdbsDBSnapshotIdentifier :: Lens' CreateDBSnapshot Text
 cdbsDBSnapshotIdentifier = lens _cdbsDBSnapshotIdentifier (\ s a -> s{_cdbsDBSnapshotIdentifier = a});
 
--- | 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
---
+-- | 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
 cdbsDBInstanceIdentifier :: Lens' CreateDBSnapshot Text
 cdbsDBInstanceIdentifier = lens _cdbsDBInstanceIdentifier (\ s a -> s{_cdbsDBInstanceIdentifier = a});
 
@@ -144,9 +127,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbsrsDBSnapshot'
+-- * 'cdbsrsDBSnapshot' - Undocumented member.
 --
--- * 'cdbsrsResponseStatus'
+-- * 'cdbsrsResponseStatus' - -- | The response status code.
 createDBSnapshotResponse
     :: Int -- ^ 'cdbsrsResponseStatus'
     -> CreateDBSnapshotResponse
@@ -160,7 +143,7 @@
 cdbsrsDBSnapshot :: Lens' CreateDBSnapshotResponse (Maybe DBSnapshot)
 cdbsrsDBSnapshot = lens _cdbsrsDBSnapshot (\ s a -> s{_cdbsrsDBSnapshot = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdbsrsResponseStatus :: Lens' CreateDBSnapshotResponse Int
 cdbsrsResponseStatus = lens _cdbsrsResponseStatus (\ s a -> s{_cdbsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateDBSubnetGroup.hs b/gen/Network/AWS/RDS/CreateDBSubnetGroup.hs
--- a/gen/Network/AWS/RDS/CreateDBSubnetGroup.hs
+++ b/gen/Network/AWS/RDS/CreateDBSubnetGroup.hs
@@ -19,6 +19,8 @@
 -- 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.
+--
+--
 module Network.AWS.RDS.CreateDBSubnetGroup
     (
     -- * Creating a Request
@@ -47,6 +49,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createDBSubnetGroup' smart constructor.
 data CreateDBSubnetGroup = CreateDBSubnetGroup'
     { _cdbsgTags                     :: !(Maybe [Tag])
@@ -59,13 +63,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdbsgTags'
+-- * 'cdbsgTags' - Undocumented member.
 --
--- * 'cdbsgDBSubnetGroupName'
+-- * 'cdbsgDBSubnetGroupName' - The name for the DB subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'cdbsgDBSubnetGroupDescription'
+-- * 'cdbsgDBSubnetGroupDescription' - The description for the DB subnet group.
 --
--- * 'cdbsgSubnetIds'
+-- * 'cdbsgSubnetIds' - The EC2 Subnet IDs for the DB subnet group.
 createDBSubnetGroup
     :: Text -- ^ 'cdbsgDBSubnetGroupName'
     -> Text -- ^ 'cdbsgDBSubnetGroupDescription'
@@ -82,11 +86,7 @@
 cdbsgTags :: Lens' CreateDBSubnetGroup [Tag]
 cdbsgTags = lens _cdbsgTags (\ s a -> s{_cdbsgTags = a}) . _Default . _Coerce;
 
--- | The name for the DB subnet group. This value is stored as a lowercase string.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | The name for the DB subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 cdbsgDBSubnetGroupName :: Lens' CreateDBSubnetGroup Text
 cdbsgDBSubnetGroupName = lens _cdbsgDBSubnetGroupName (\ s a -> s{_cdbsgDBSubnetGroupName = a});
 
@@ -140,9 +140,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cdsgrsDBSubnetGroup'
+-- * 'cdsgrsDBSubnetGroup' - Undocumented member.
 --
--- * 'cdsgrsResponseStatus'
+-- * 'cdsgrsResponseStatus' - -- | The response status code.
 createDBSubnetGroupResponse
     :: Int -- ^ 'cdsgrsResponseStatus'
     -> CreateDBSubnetGroupResponse
@@ -156,7 +156,7 @@
 cdsgrsDBSubnetGroup :: Lens' CreateDBSubnetGroupResponse (Maybe DBSubnetGroup)
 cdsgrsDBSubnetGroup = lens _cdsgrsDBSubnetGroup (\ s a -> s{_cdsgrsDBSubnetGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cdsgrsResponseStatus :: Lens' CreateDBSubnetGroupResponse Int
 cdsgrsResponseStatus = lens _cdsgrsResponseStatus (\ s a -> s{_cdsgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateEventSubscription.hs b/gen/Network/AWS/RDS/CreateEventSubscription.hs
--- a/gen/Network/AWS/RDS/CreateEventSubscription.hs
+++ b/gen/Network/AWS/RDS/CreateEventSubscription.hs
@@ -20,9 +20,11 @@
 --
 -- 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.
+--
 module Network.AWS.RDS.CreateEventSubscription
     (
     -- * Creating a Request
@@ -54,6 +56,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createEventSubscription' smart constructor.
 data CreateEventSubscription = CreateEventSubscription'
     { _cesEnabled          :: !(Maybe Bool)
@@ -69,19 +73,19 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cesEnabled'
+-- * 'cesEnabled' - A Boolean value; set to __true__ to activate the subscription, set to __false__ to create the subscription but not active it.
 --
--- * 'cesSourceType'
+-- * 'cesSourceType' - 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-cluster@ | @db-parameter-group@ | @db-security-group@ | @db-snapshot@ | @db-cluster-snapshot@
 --
--- * 'cesEventCategories'
+-- * 'cesEventCategories' - 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html Events> topic in the Amazon RDS User Guide or by using the __DescribeEventCategories__ action.
 --
--- * 'cesSourceIds'
+-- * 'cesSourceIds' - 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.
 --
--- * 'cesTags'
+-- * 'cesTags' - Undocumented member.
 --
--- * 'cesSubscriptionName'
+-- * 'cesSubscriptionName' - The name of the subscription. Constraints: The name must be less than 255 characters.
 --
--- * 'cesSNSTopicARN'
+-- * 'cesSNSTopicARN' - 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.
 createEventSubscription
     :: Text -- ^ 'cesSubscriptionName'
     -> Text -- ^ 'cesSNSTopicARN'
@@ -101,9 +105,7 @@
 cesEnabled :: Lens' CreateEventSubscription (Maybe Bool)
 cesEnabled = lens _cesEnabled (\ s a -> s{_cesEnabled = 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-cluster' | 'db-parameter-group' | 'db-security-group' | 'db-snapshot' | 'db-cluster-snapshot'
+-- | 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-cluster@ | @db-parameter-group@ | @db-security-group@ | @db-snapshot@ | @db-cluster-snapshot@
 cesSourceType :: Lens' CreateEventSubscription (Maybe Text)
 cesSourceType = lens _cesSourceType (\ s a -> s{_cesSourceType = a});
 
@@ -111,20 +113,7 @@
 cesEventCategories :: Lens' CreateEventSubscription [Text]
 cesEventCategories = lens _cesEventCategories (\ s a -> s{_cesEventCategories = a}) . _Default . _Coerce;
 
--- | 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.
---
+-- | 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}) . _Default . _Coerce;
 
@@ -132,9 +121,7 @@
 cesTags :: Lens' CreateEventSubscription [Tag]
 cesTags = lens _cesTags (\ s a -> s{_cesTags = a}) . _Default . _Coerce;
 
--- | The name of the subscription.
---
--- Constraints: The name must be less than 255 characters.
+-- | 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});
 
@@ -190,9 +177,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cesrsEventSubscription'
+-- * 'cesrsEventSubscription' - Undocumented member.
 --
--- * 'cesrsResponseStatus'
+-- * 'cesrsResponseStatus' - -- | The response status code.
 createEventSubscriptionResponse
     :: Int -- ^ 'cesrsResponseStatus'
     -> CreateEventSubscriptionResponse
@@ -206,7 +193,7 @@
 cesrsEventSubscription :: Lens' CreateEventSubscriptionResponse (Maybe EventSubscription)
 cesrsEventSubscription = lens _cesrsEventSubscription (\ s a -> s{_cesrsEventSubscription = a});
 
--- | The response status code.
+-- | -- | The response status code.
 cesrsResponseStatus :: Lens' CreateEventSubscriptionResponse Int
 cesrsResponseStatus = lens _cesrsResponseStatus (\ s a -> s{_cesrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/CreateOptionGroup.hs b/gen/Network/AWS/RDS/CreateOptionGroup.hs
--- a/gen/Network/AWS/RDS/CreateOptionGroup.hs
+++ b/gen/Network/AWS/RDS/CreateOptionGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a new option group. You can create up to 20 option groups.
+--
+--
 module Network.AWS.RDS.CreateOptionGroup
     (
     -- * Creating a Request
@@ -48,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'createOptionGroup' smart constructor.
 data CreateOptionGroup = CreateOptionGroup'
     { _cogTags                   :: !(Maybe [Tag])
@@ -61,15 +65,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'cogTags'
+-- * 'cogTags' - Undocumented member.
 --
--- * 'cogOptionGroupName'
+-- * 'cogOptionGroupName' - 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@
 --
--- * 'cogEngineName'
+-- * 'cogEngineName' - Specifies the name of the engine that this option group should be associated with.
 --
--- * 'cogMajorEngineVersion'
+-- * 'cogMajorEngineVersion' - Specifies the major version of the engine that this option group should be associated with.
 --
--- * 'cogOptionGroupDescription'
+-- * 'cogOptionGroupDescription' - The description of the option group.
 createOptionGroup
     :: Text -- ^ 'cogOptionGroupName'
     -> Text -- ^ 'cogEngineName'
@@ -89,17 +93,7 @@
 cogTags :: Lens' CreateOptionGroup [Tag]
 cogTags = lens _cogTags (\ s a -> s{_cogTags = a}) . _Default . _Coerce;
 
--- | 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'
+-- | 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});
 
@@ -156,9 +150,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'crsOptionGroup'
+-- * 'crsOptionGroup' - Undocumented member.
 --
--- * 'crsResponseStatus'
+-- * 'crsResponseStatus' - -- | The response status code.
 createOptionGroupResponse
     :: Int -- ^ 'crsResponseStatus'
     -> CreateOptionGroupResponse
@@ -172,7 +166,7 @@
 crsOptionGroup :: Lens' CreateOptionGroupResponse (Maybe OptionGroup)
 crsOptionGroup = lens _crsOptionGroup (\ s a -> s{_crsOptionGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 crsResponseStatus :: Lens' CreateOptionGroupResponse Int
 crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBCluster.hs b/gen/Network/AWS/RDS/DeleteDBCluster.hs
--- a/gen/Network/AWS/RDS/DeleteDBCluster.hs
+++ b/gen/Network/AWS/RDS/DeleteDBCluster.hs
@@ -20,7 +20,11 @@
 --
 -- The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and cannot be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.
 --
+--
+--
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.DeleteDBCluster
     (
     -- * Creating a Request
@@ -48,6 +52,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBCluster' smart constructor.
 data DeleteDBCluster = DeleteDBCluster'
     { _ddbcFinalDBSnapshotIdentifier :: !(Maybe Text)
@@ -59,11 +65,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbcFinalDBSnapshotIdentifier'
+-- * 'ddbcFinalDBSnapshotIdentifier' - The DB cluster snapshot identifier of the new DB cluster snapshot 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
 --
--- * 'ddbcSkipFinalSnapshot'
+-- * 'ddbcSkipFinalSnapshot' - Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If @true@ is specified, no DB cluster snapshot is created. If @false@ is specified, a DB cluster snapshot is created before the DB cluster is deleted.  Default: @false@
 --
--- * 'ddbcDBClusterIdentifier'
+-- * 'ddbcDBClusterIdentifier' - The DB cluster identifier for the DB cluster 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
 deleteDBCluster
     :: Text -- ^ 'ddbcDBClusterIdentifier'
     -> DeleteDBCluster
@@ -74,39 +80,15 @@
     , _ddbcDBClusterIdentifier = pDBClusterIdentifier_
     }
 
--- | The DB cluster snapshot identifier of the new DB cluster snapshot created when 'SkipFinalSnapshot' is set to 'false'.
---
--- Specifying this parameter and also setting the 'SkipFinalShapshot' parameter to true results in an error.
---
--- Constraints:
---
--- -   Must be 1 to 255 alphanumeric characters
---
--- -   First character must be a letter
---
--- -   Cannot end with a hyphen or contain two consecutive hyphens
---
+-- | The DB cluster snapshot identifier of the new DB cluster snapshot 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
 ddbcFinalDBSnapshotIdentifier :: Lens' DeleteDBCluster (Maybe Text)
 ddbcFinalDBSnapshotIdentifier = lens _ddbcFinalDBSnapshotIdentifier (\ s a -> s{_ddbcFinalDBSnapshotIdentifier = a});
 
--- | Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If 'true' is specified, no DB cluster snapshot is created. If 'false' is specified, a DB cluster snapshot is created before the DB cluster is deleted.
---
--- You must specify a 'FinalDBSnapshotIdentifier' parameter if 'SkipFinalSnapshot' is 'false'.
---
--- Default: 'false'
+-- | Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If @true@ is specified, no DB cluster snapshot is created. If @false@ is specified, a DB cluster snapshot is created before the DB cluster is deleted.  Default: @false@
 ddbcSkipFinalSnapshot :: Lens' DeleteDBCluster (Maybe Bool)
 ddbcSkipFinalSnapshot = lens _ddbcSkipFinalSnapshot (\ s a -> s{_ddbcSkipFinalSnapshot = a});
 
--- | The DB cluster identifier for the DB cluster 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
---
+-- | The DB cluster identifier for the DB cluster 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
 ddbcDBClusterIdentifier :: Lens' DeleteDBCluster Text
 ddbcDBClusterIdentifier = lens _ddbcDBClusterIdentifier (\ s a -> s{_ddbcDBClusterIdentifier = a});
 
@@ -149,9 +131,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbcrsDBCluster'
+-- * 'ddbcrsDBCluster' - Undocumented member.
 --
--- * 'ddbcrsResponseStatus'
+-- * 'ddbcrsResponseStatus' - -- | The response status code.
 deleteDBClusterResponse
     :: Int -- ^ 'ddbcrsResponseStatus'
     -> DeleteDBClusterResponse
@@ -165,7 +147,7 @@
 ddbcrsDBCluster :: Lens' DeleteDBClusterResponse (Maybe DBCluster)
 ddbcrsDBCluster = lens _ddbcrsDBCluster (\ s a -> s{_ddbcrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddbcrsResponseStatus :: Lens' DeleteDBClusterResponse Int
 ddbcrsResponseStatus = lens _ddbcrsResponseStatus (\ s a -> s{_ddbcrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBClusterParameterGroup.hs b/gen/Network/AWS/RDS/DeleteDBClusterParameterGroup.hs
--- a/gen/Network/AWS/RDS/DeleteDBClusterParameterGroup.hs
+++ b/gen/Network/AWS/RDS/DeleteDBClusterParameterGroup.hs
@@ -20,7 +20,9 @@
 --
 -- Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted cannot be associated with any DB clusters.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.DeleteDBClusterParameterGroup
     (
     -- * Creating a Request
@@ -43,6 +45,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBClusterParameterGroup' smart constructor.
 newtype DeleteDBClusterParameterGroup = DeleteDBClusterParameterGroup'
     { _ddbcpgDBClusterParameterGroupName :: Text
@@ -52,7 +56,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbcpgDBClusterParameterGroupName'
+-- * 'ddbcpgDBClusterParameterGroupName' - The name of the DB cluster parameter group. Constraints:     * Must be the name of an existing DB cluster parameter group.     * You cannot delete a default DB cluster parameter group.     * Cannot be associated with any DB clusters.
 deleteDBClusterParameterGroup
     :: Text -- ^ 'ddbcpgDBClusterParameterGroupName'
     -> DeleteDBClusterParameterGroup
@@ -61,16 +65,7 @@
     { _ddbcpgDBClusterParameterGroupName = pDBClusterParameterGroupName_
     }
 
--- | The name of the DB cluster parameter group.
---
--- Constraints:
---
--- -   Must be the name of an existing DB cluster parameter group.
---
--- -   You cannot delete a default DB cluster parameter group.
---
--- -   Cannot be associated with any DB clusters.
---
+-- | The name of the DB cluster parameter group. Constraints:     * Must be the name of an existing DB cluster parameter group.     * You cannot delete a default DB cluster parameter group.     * Cannot be associated with any DB clusters.
 ddbcpgDBClusterParameterGroupName :: Lens' DeleteDBClusterParameterGroup Text
 ddbcpgDBClusterParameterGroupName = lens _ddbcpgDBClusterParameterGroupName (\ s a -> s{_ddbcpgDBClusterParameterGroupName = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBClusterSnapshot.hs b/gen/Network/AWS/RDS/DeleteDBClusterSnapshot.hs
--- a/gen/Network/AWS/RDS/DeleteDBClusterSnapshot.hs
+++ b/gen/Network/AWS/RDS/DeleteDBClusterSnapshot.hs
@@ -20,9 +20,9 @@
 --
 -- Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.
 --
--- The DB cluster snapshot must be in the 'available' state to be deleted.
 --
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.DeleteDBClusterSnapshot
     (
     -- * Creating a Request
@@ -48,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBClusterSnapshot' smart constructor.
 newtype DeleteDBClusterSnapshot = DeleteDBClusterSnapshot'
     { _ddcsDBClusterSnapshotIdentifier :: Text
@@ -57,7 +59,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcsDBClusterSnapshotIdentifier'
+-- * 'ddcsDBClusterSnapshotIdentifier' - The identifier of the DB cluster snapshot to delete. Constraints: Must be the name of an existing DB cluster snapshot in the @available@ state.
 deleteDBClusterSnapshot
     :: Text -- ^ 'ddcsDBClusterSnapshotIdentifier'
     -> DeleteDBClusterSnapshot
@@ -66,9 +68,7 @@
     { _ddcsDBClusterSnapshotIdentifier = pDBClusterSnapshotIdentifier_
     }
 
--- | The identifier of the DB cluster snapshot to delete.
---
--- Constraints: Must be the name of an existing DB cluster snapshot in the 'available' state.
+-- | The identifier of the DB cluster snapshot to delete. Constraints: Must be the name of an existing DB cluster snapshot in the @available@ state.
 ddcsDBClusterSnapshotIdentifier :: Lens' DeleteDBClusterSnapshot Text
 ddcsDBClusterSnapshotIdentifier = lens _ddcsDBClusterSnapshotIdentifier (\ s a -> s{_ddcsDBClusterSnapshotIdentifier = a});
 
@@ -111,9 +111,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcsrsDBClusterSnapshot'
+-- * 'ddcsrsDBClusterSnapshot' - Undocumented member.
 --
--- * 'ddcsrsResponseStatus'
+-- * 'ddcsrsResponseStatus' - -- | The response status code.
 deleteDBClusterSnapshotResponse
     :: Int -- ^ 'ddcsrsResponseStatus'
     -> DeleteDBClusterSnapshotResponse
@@ -127,7 +127,7 @@
 ddcsrsDBClusterSnapshot :: Lens' DeleteDBClusterSnapshotResponse (Maybe DBClusterSnapshot)
 ddcsrsDBClusterSnapshot = lens _ddcsrsDBClusterSnapshot (\ s a -> s{_ddcsrsDBClusterSnapshot = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddcsrsResponseStatus :: Lens' DeleteDBClusterSnapshotResponse Int
 ddcsrsResponseStatus = lens _ddcsrsResponseStatus (\ s a -> s{_ddcsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBInstance.hs b/gen/Network/AWS/RDS/DeleteDBInstance.hs
--- a/gen/Network/AWS/RDS/DeleteDBInstance.hs
+++ b/gen/Network/AWS/RDS/DeleteDBInstance.hs
@@ -18,19 +18,23 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- The DeleteDBInstance action deletes a previously provisioned DB instance. 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 by 'DeleteDBInstance' are not deleted.
+-- The DeleteDBInstance action deletes a previously provisioned DB instance. 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 by @DeleteDBInstance@ are not deleted.
 --
--- If you request a final DB snapshot the status of the Amazon RDS DB instance is '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.
 --
--- Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', you can only delete it when the 'SkipFinalSnapshot' parameter is set to 'true'.
+-- If you request a final DB snapshot the status of the Amazon RDS DB instance is @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.
 --
+-- Note that when a DB instance is in a failure state and has a status of @failed@ , @incompatible-restore@ , or @incompatible-network@ , you can only delete it when the @SkipFinalSnapshot@ parameter is set to @true@ .
+--
 -- If the specified DB instance is part of an Amazon Aurora DB cluster, you cannot delete the DB instance if the following are true:
 --
--- -   The DB cluster is a Read Replica of another Amazon Aurora DB cluster.
+--     * The DB cluster is a Read Replica of another Amazon Aurora DB cluster.
 --
--- -   The DB instance is the only instance in the DB cluster.
+--     * The DB instance is the only instance in the DB cluster.
 --
--- To delete a DB instance in this case, first call the < PromoteReadReplicaDBCluster> API action to promote the DB cluster so it\'s no longer a Read Replica. After the promotion completes, then call the 'DeleteDBInstance' API action to delete the final instance in the DB cluster.
+--
+--
+-- To delete a DB instance in this case, first call the 'PromoteReadReplicaDBCluster' API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the @DeleteDBInstance@ API action to delete the final instance in the DB cluster.
+--
 module Network.AWS.RDS.DeleteDBInstance
     (
     -- * Creating a Request
@@ -58,6 +62,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBInstance' smart constructor.
 data DeleteDBInstance = DeleteDBInstance'
     { _ddiFinalDBSnapshotIdentifier :: !(Maybe Text)
@@ -69,11 +75,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddiFinalDBSnapshotIdentifier'
+-- * 'ddiFinalDBSnapshotIdentifier' - 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.
 --
--- * 'ddiSkipFinalSnapshot'
+-- * 'ddiSkipFinalSnapshot' - 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.  Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to "true". Specify @true@ when deleting a Read Replica. Default: @false@
 --
--- * 'ddiDBInstanceIdentifier'
+-- * 'ddiDBInstanceIdentifier' - 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
 deleteDBInstance
     :: Text -- ^ 'ddiDBInstanceIdentifier'
     -> DeleteDBInstance
@@ -84,45 +90,15 @@
     , _ddiDBInstanceIdentifier = pDBInstanceIdentifier_
     }
 
--- | The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to 'false'.
---
--- Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.
---
--- 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.
---
+-- | 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.
 ddiFinalDBSnapshotIdentifier :: Lens' DeleteDBInstance (Maybe Text)
 ddiFinalDBSnapshotIdentifier = lens _ddiFinalDBSnapshotIdentifier (\ s a -> s{_ddiFinalDBSnapshotIdentifier = 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.
---
--- Note that when a DB instance is in a failure state and has a status of \'failed\', \'incompatible-restore\', or \'incompatible-network\', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\".
---
--- Specify 'true' when deleting a Read Replica.
---
--- The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is 'false'.
---
--- Default: 'false'
+-- | 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.  Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to "true". Specify @true@ when deleting a Read Replica. Default: @false@
 ddiSkipFinalSnapshot :: Lens' DeleteDBInstance (Maybe Bool)
 ddiSkipFinalSnapshot = lens _ddiSkipFinalSnapshot (\ s a -> s{_ddiSkipFinalSnapshot = a});
 
--- | 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
---
+-- | 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
 ddiDBInstanceIdentifier :: Lens' DeleteDBInstance Text
 ddiDBInstanceIdentifier = lens _ddiDBInstanceIdentifier (\ s a -> s{_ddiDBInstanceIdentifier = a});
 
@@ -165,9 +141,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddirsDBInstance'
+-- * 'ddirsDBInstance' - Undocumented member.
 --
--- * 'ddirsResponseStatus'
+-- * 'ddirsResponseStatus' - -- | The response status code.
 deleteDBInstanceResponse
     :: Int -- ^ 'ddirsResponseStatus'
     -> DeleteDBInstanceResponse
@@ -181,7 +157,7 @@
 ddirsDBInstance :: Lens' DeleteDBInstanceResponse (Maybe DBInstance)
 ddirsDBInstance = lens _ddirsDBInstance (\ s a -> s{_ddirsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddirsResponseStatus :: Lens' DeleteDBInstanceResponse Int
 ddirsResponseStatus = lens _ddirsResponseStatus (\ s a -> s{_ddirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBParameterGroup.hs b/gen/Network/AWS/RDS/DeleteDBParameterGroup.hs
--- a/gen/Network/AWS/RDS/DeleteDBParameterGroup.hs
+++ b/gen/Network/AWS/RDS/DeleteDBParameterGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted cannot be associated with any DB instances.
+--
+--
 module Network.AWS.RDS.DeleteDBParameterGroup
     (
     -- * Creating a Request
@@ -41,6 +43,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBParameterGroup' smart constructor.
 newtype DeleteDBParameterGroup = DeleteDBParameterGroup'
     { _ddbpgDBParameterGroupName :: Text
@@ -50,7 +54,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbpgDBParameterGroupName'
+-- * 'ddbpgDBParameterGroupName' - 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
 deleteDBParameterGroup
     :: Text -- ^ 'ddbpgDBParameterGroupName'
     -> DeleteDBParameterGroup
@@ -59,16 +63,7 @@
     { _ddbpgDBParameterGroupName = pDBParameterGroupName_
     }
 
--- | 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
---
+-- | 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
 ddbpgDBParameterGroupName :: Lens' DeleteDBParameterGroup Text
 ddbpgDBParameterGroupName = lens _ddbpgDBParameterGroupName (\ s a -> s{_ddbpgDBParameterGroupName = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBSecurityGroup.hs b/gen/Network/AWS/RDS/DeleteDBSecurityGroup.hs
--- a/gen/Network/AWS/RDS/DeleteDBSecurityGroup.hs
+++ b/gen/Network/AWS/RDS/DeleteDBSecurityGroup.hs
@@ -20,7 +20,7 @@
 --
 -- Deletes a DB security group.
 --
--- The specified DB security group must not be associated with any DB instances.
+--
 module Network.AWS.RDS.DeleteDBSecurityGroup
     (
     -- * Creating a Request
@@ -43,6 +43,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBSecurityGroup' smart constructor.
 newtype DeleteDBSecurityGroup = DeleteDBSecurityGroup'
     { _ddsgDBSecurityGroupName :: Text
@@ -52,7 +54,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddsgDBSecurityGroupName'
+-- * 'ddsgDBSecurityGroupName' - 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"
 deleteDBSecurityGroup
     :: Text -- ^ 'ddsgDBSecurityGroupName'
     -> DeleteDBSecurityGroup
@@ -61,20 +63,7 @@
     { _ddsgDBSecurityGroupName = pDBSecurityGroupName_
     }
 
--- | The name of the DB security group to delete.
---
--- You cannot delete the default DB security 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
---
--- -   Must not be \"Default\"
---
+-- | 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"
 ddsgDBSecurityGroupName :: Lens' DeleteDBSecurityGroup Text
 ddsgDBSecurityGroupName = lens _ddsgDBSecurityGroupName (\ s a -> s{_ddsgDBSecurityGroupName = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBSnapshot.hs b/gen/Network/AWS/RDS/DeleteDBSnapshot.hs
--- a/gen/Network/AWS/RDS/DeleteDBSnapshot.hs
+++ b/gen/Network/AWS/RDS/DeleteDBSnapshot.hs
@@ -20,7 +20,7 @@
 --
 -- Deletes a DBSnapshot. If the snapshot is being copied, the copy operation is terminated.
 --
--- The DBSnapshot must be in the 'available' state to be deleted.
+--
 module Network.AWS.RDS.DeleteDBSnapshot
     (
     -- * Creating a Request
@@ -46,6 +46,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBSnapshot' smart constructor.
 newtype DeleteDBSnapshot = DeleteDBSnapshot'
     { _ddbsDBSnapshotIdentifier :: Text
@@ -55,7 +57,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbsDBSnapshotIdentifier'
+-- * 'ddbsDBSnapshotIdentifier' - The DBSnapshot identifier. Constraints: Must be the name of an existing DB snapshot in the @available@ state.
 deleteDBSnapshot
     :: Text -- ^ 'ddbsDBSnapshotIdentifier'
     -> DeleteDBSnapshot
@@ -64,9 +66,7 @@
     { _ddbsDBSnapshotIdentifier = pDBSnapshotIdentifier_
     }
 
--- | The DBSnapshot identifier.
---
--- Constraints: Must be the name of an existing DB snapshot in the 'available' state.
+-- | The DBSnapshot identifier. Constraints: Must be the name of an existing DB snapshot in the @available@ state.
 ddbsDBSnapshotIdentifier :: Lens' DeleteDBSnapshot Text
 ddbsDBSnapshotIdentifier = lens _ddbsDBSnapshotIdentifier (\ s a -> s{_ddbsDBSnapshotIdentifier = a});
 
@@ -106,9 +106,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbsrsDBSnapshot'
+-- * 'ddbsrsDBSnapshot' - Undocumented member.
 --
--- * 'ddbsrsResponseStatus'
+-- * 'ddbsrsResponseStatus' - -- | The response status code.
 deleteDBSnapshotResponse
     :: Int -- ^ 'ddbsrsResponseStatus'
     -> DeleteDBSnapshotResponse
@@ -122,7 +122,7 @@
 ddbsrsDBSnapshot :: Lens' DeleteDBSnapshotResponse (Maybe DBSnapshot)
 ddbsrsDBSnapshot = lens _ddbsrsDBSnapshot (\ s a -> s{_ddbsrsDBSnapshot = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddbsrsResponseStatus :: Lens' DeleteDBSnapshotResponse Int
 ddbsrsResponseStatus = lens _ddbsrsResponseStatus (\ s a -> s{_ddbsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteDBSubnetGroup.hs b/gen/Network/AWS/RDS/DeleteDBSubnetGroup.hs
--- a/gen/Network/AWS/RDS/DeleteDBSubnetGroup.hs
+++ b/gen/Network/AWS/RDS/DeleteDBSubnetGroup.hs
@@ -20,7 +20,7 @@
 --
 -- Deletes a DB subnet group.
 --
--- The specified database subnet group must not be associated with any DB instances.
+--
 module Network.AWS.RDS.DeleteDBSubnetGroup
     (
     -- * Creating a Request
@@ -43,6 +43,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteDBSubnetGroup' smart constructor.
 newtype DeleteDBSubnetGroup = DeleteDBSubnetGroup'
     { _ddbsgDBSubnetGroupName :: Text
@@ -52,7 +54,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbsgDBSubnetGroupName'
+-- * 'ddbsgDBSubnetGroupName' - The name of the database subnet group to delete. Constraints: Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 deleteDBSubnetGroup
     :: Text -- ^ 'ddbsgDBSubnetGroupName'
     -> DeleteDBSubnetGroup
@@ -61,15 +63,7 @@
     { _ddbsgDBSubnetGroupName = pDBSubnetGroupName_
     }
 
--- | The name of the database subnet group to delete.
---
--- You cannot delete the default subnet group.
---
--- Constraints:
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | The name of the database subnet group to delete. Constraints: Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 ddbsgDBSubnetGroupName :: Lens' DeleteDBSubnetGroup Text
 ddbsgDBSubnetGroupName = lens _ddbsgDBSubnetGroupName (\ s a -> s{_ddbsgDBSubnetGroupName = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteEventSubscription.hs b/gen/Network/AWS/RDS/DeleteEventSubscription.hs
--- a/gen/Network/AWS/RDS/DeleteEventSubscription.hs
+++ b/gen/Network/AWS/RDS/DeleteEventSubscription.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Deletes an RDS event notification subscription.
+--
+--
 module Network.AWS.RDS.DeleteEventSubscription
     (
     -- * Creating a Request
@@ -44,6 +46,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteEventSubscription' smart constructor.
 newtype DeleteEventSubscription = DeleteEventSubscription'
     { _desSubscriptionName :: Text
@@ -53,7 +57,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'desSubscriptionName'
+-- * 'desSubscriptionName' - The name of the RDS event notification subscription you want to delete.
 deleteEventSubscription
     :: Text -- ^ 'desSubscriptionName'
     -> DeleteEventSubscription
@@ -104,9 +108,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'drsEventSubscription'
+-- * 'drsEventSubscription' - Undocumented member.
 --
--- * 'drsResponseStatus'
+-- * 'drsResponseStatus' - -- | The response status code.
 deleteEventSubscriptionResponse
     :: Int -- ^ 'drsResponseStatus'
     -> DeleteEventSubscriptionResponse
@@ -120,7 +124,7 @@
 drsEventSubscription :: Lens' DeleteEventSubscriptionResponse (Maybe EventSubscription)
 drsEventSubscription = lens _drsEventSubscription (\ s a -> s{_drsEventSubscription = a});
 
--- | The response status code.
+-- | -- | The response status code.
 drsResponseStatus :: Lens' DeleteEventSubscriptionResponse Int
 drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DeleteOptionGroup.hs b/gen/Network/AWS/RDS/DeleteOptionGroup.hs
--- a/gen/Network/AWS/RDS/DeleteOptionGroup.hs
+++ b/gen/Network/AWS/RDS/DeleteOptionGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Deletes an existing option group.
+--
+--
 module Network.AWS.RDS.DeleteOptionGroup
     (
     -- * Creating a Request
@@ -41,6 +43,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'deleteOptionGroup' smart constructor.
 newtype DeleteOptionGroup = DeleteOptionGroup'
     { _dOptionGroupName :: Text
@@ -50,7 +54,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dOptionGroupName'
+-- * 'dOptionGroupName' - The name of the option group to be deleted.
 deleteOptionGroup
     :: Text -- ^ 'dOptionGroupName'
     -> DeleteOptionGroup
@@ -60,8 +64,6 @@
     }
 
 -- | The name of the option group to be deleted.
---
--- You cannot delete default option groups.
 dOptionGroupName :: Lens' DeleteOptionGroup Text
 dOptionGroupName = lens _dOptionGroupName (\ s a -> s{_dOptionGroupName = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeAccountAttributes.hs b/gen/Network/AWS/RDS/DescribeAccountAttributes.hs
--- a/gen/Network/AWS/RDS/DescribeAccountAttributes.hs
+++ b/gen/Network/AWS/RDS/DescribeAccountAttributes.hs
@@ -18,9 +18,11 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota\'s maximum value.
+-- Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.
 --
+--
 -- This command does not take any parameters.
+--
 module Network.AWS.RDS.DescribeAccountAttributes
     (
     -- * Creating a Request
@@ -44,6 +46,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeAccountAttributes' smart constructor.
 data DescribeAccountAttributes =
     DescribeAccountAttributes'
@@ -87,6 +91,8 @@
 
 -- | Data returned by the __DescribeAccountAttributes__ action.
 --
+--
+--
 -- /See:/ 'describeAccountAttributesResponse' smart constructor.
 data DescribeAccountAttributesResponse = DescribeAccountAttributesResponse'
     { _daarsAccountQuotas  :: !(Maybe [AccountQuota])
@@ -97,9 +103,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'daarsAccountQuotas'
+-- * 'daarsAccountQuotas' - A list of 'AccountQuota' objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.
 --
--- * 'daarsResponseStatus'
+-- * 'daarsResponseStatus' - -- | The response status code.
 describeAccountAttributesResponse
     :: Int -- ^ 'daarsResponseStatus'
     -> DescribeAccountAttributesResponse
@@ -109,11 +115,11 @@
     , _daarsResponseStatus = pResponseStatus_
     }
 
--- | A list of < AccountQuota> objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.
+-- | A list of 'AccountQuota' objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.
 daarsAccountQuotas :: Lens' DescribeAccountAttributesResponse [AccountQuota]
 daarsAccountQuotas = lens _daarsAccountQuotas (\ s a -> s{_daarsAccountQuotas = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 daarsResponseStatus :: Lens' DescribeAccountAttributesResponse Int
 daarsResponseStatus = lens _daarsResponseStatus (\ s a -> s{_daarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeCertificates.hs b/gen/Network/AWS/RDS/DescribeCertificates.hs
--- a/gen/Network/AWS/RDS/DescribeCertificates.hs
+++ b/gen/Network/AWS/RDS/DescribeCertificates.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Lists the set of CA certificates provided by Amazon RDS for this AWS account.
+--
+--
 module Network.AWS.RDS.DescribeCertificates
     (
     -- * Creating a Request
@@ -48,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeCertificates' smart constructor.
 data DescribeCertificates = DescribeCertificates'
     { _dcFilters               :: !(Maybe [Filter])
@@ -60,13 +64,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dcFilters'
+-- * 'dcFilters' - This parameter is not currently supported.
 --
--- * 'dcCertificateIdentifier'
+-- * 'dcCertificateIdentifier' - The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate 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
 --
--- * 'dcMarker'
+-- * 'dcMarker' - An optional pagination token provided by a previous 'DescribeCertificates' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'dcMaxRecords'
+-- * 'dcMaxRecords' - 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.
 describeCertificates
     :: DescribeCertificates
 describeCertificates =
@@ -81,28 +85,15 @@
 dcFilters :: Lens' DescribeCertificates [Filter]
 dcFilters = lens _dcFilters (\ s a -> s{_dcFilters = a}) . _Default . _Coerce;
 
--- | The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate 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
---
+-- | The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate 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
 dcCertificateIdentifier :: Lens' DescribeCertificates (Maybe Text)
 dcCertificateIdentifier = lens _dcCertificateIdentifier (\ s a -> s{_dcCertificateIdentifier = a});
 
--- | An optional pagination token provided by a previous < DescribeCertificates> request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous 'DescribeCertificates' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 dcMarker :: Lens' DescribeCertificates (Maybe Text)
 dcMarker = lens _dcMarker (\ s a -> s{_dcMarker = 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.
+-- | 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.
 dcMaxRecords :: Lens' DescribeCertificates (Maybe Int)
 dcMaxRecords = lens _dcMaxRecords (\ s a -> s{_dcMaxRecords = a});
 
@@ -141,6 +132,8 @@
 
 -- | Data returned by the __DescribeCertificates__ action.
 --
+--
+--
 -- /See:/ 'describeCertificatesResponse' smart constructor.
 data DescribeCertificatesResponse = DescribeCertificatesResponse'
     { _dcrsCertificates   :: !(Maybe [Certificate])
@@ -152,11 +145,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dcrsCertificates'
+-- * 'dcrsCertificates' - The list of 'Certificate' objects for the AWS account.
 --
--- * 'dcrsMarker'
+-- * 'dcrsMarker' - An optional pagination token provided by a previous 'DescribeCertificates' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'dcrsResponseStatus'
+-- * 'dcrsResponseStatus' - -- | The response status code.
 describeCertificatesResponse
     :: Int -- ^ 'dcrsResponseStatus'
     -> DescribeCertificatesResponse
@@ -167,15 +160,15 @@
     , _dcrsResponseStatus = pResponseStatus_
     }
 
--- | The list of < Certificate> objects for the AWS account.
+-- | The list of 'Certificate' objects for the AWS account.
 dcrsCertificates :: Lens' DescribeCertificatesResponse [Certificate]
 dcrsCertificates = lens _dcrsCertificates (\ s a -> s{_dcrsCertificates = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous < DescribeCertificates> request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords' .
+-- | An optional pagination token provided by a previous 'DescribeCertificates' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 dcrsMarker :: Lens' DescribeCertificatesResponse (Maybe Text)
 dcrsMarker = lens _dcrsMarker (\ s a -> s{_dcrsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 dcrsResponseStatus :: Lens' DescribeCertificatesResponse Int
 dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBClusterParameterGroups.hs b/gen/Network/AWS/RDS/DescribeDBClusterParameterGroups.hs
--- a/gen/Network/AWS/RDS/DescribeDBClusterParameterGroups.hs
+++ b/gen/Network/AWS/RDS/DescribeDBClusterParameterGroups.hs
@@ -18,9 +18,11 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Returns a list of 'DBClusterParameterGroup' descriptions. If a 'DBClusterParameterGroupName' parameter is specified, the list will contain only the description of the specified DB cluster parameter group.
+-- Returns a list of @DBClusterParameterGroup@ descriptions. If a @DBClusterParameterGroupName@ parameter is specified, the list will contain only the description of the specified DB cluster parameter group.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.DescribeDBClusterParameterGroups
     (
     -- * Creating a Request
@@ -50,6 +52,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBClusterParameterGroups' smart constructor.
 data DescribeDBClusterParameterGroups = DescribeDBClusterParameterGroups'
     { _ddcpgFilters                     :: !(Maybe [Filter])
@@ -62,13 +66,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcpgFilters'
+-- * 'ddcpgFilters' - This parameter is not currently supported.
 --
--- * 'ddcpgMarker'
+-- * 'ddcpgMarker' - An optional pagination token provided by a previous @DescribeDBClusterParameterGroups@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'ddcpgMaxRecords'
+-- * 'ddcpgMaxRecords' - 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.
 --
--- * 'ddcpgDBClusterParameterGroupName'
+-- * 'ddcpgDBClusterParameterGroupName' - The name of a specific DB cluster 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
 describeDBClusterParameterGroups
     :: DescribeDBClusterParameterGroups
 describeDBClusterParameterGroups =
@@ -83,28 +87,15 @@
 ddcpgFilters :: Lens' DescribeDBClusterParameterGroups [Filter]
 ddcpgFilters = lens _ddcpgFilters (\ s a -> s{_ddcpgFilters = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous 'DescribeDBClusterParameterGroups' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous @DescribeDBClusterParameterGroups@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 ddcpgMarker :: Lens' DescribeDBClusterParameterGroups (Maybe Text)
 ddcpgMarker = lens _ddcpgMarker (\ s a -> s{_ddcpgMarker = 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.
+-- | 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.
 ddcpgMaxRecords :: Lens' DescribeDBClusterParameterGroups (Maybe Int)
 ddcpgMaxRecords = lens _ddcpgMaxRecords (\ s a -> s{_ddcpgMaxRecords = a});
 
--- | The name of a specific DB cluster 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
---
+-- | The name of a specific DB cluster 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
 ddcpgDBClusterParameterGroupName :: Lens' DescribeDBClusterParameterGroups (Maybe Text)
 ddcpgDBClusterParameterGroupName = lens _ddcpgDBClusterParameterGroupName (\ s a -> s{_ddcpgDBClusterParameterGroupName = a});
 
@@ -151,6 +142,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBClusterParameterGroupsResponse' smart constructor.
 data DescribeDBClusterParameterGroupsResponse = DescribeDBClusterParameterGroupsResponse'
     { _ddcpgrsMarker                   :: !(Maybe Text)
@@ -162,11 +155,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcpgrsMarker'
+-- * 'ddcpgrsMarker' - An optional pagination token provided by a previous @DescribeDBClusterParameterGroups@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'ddcpgrsDBClusterParameterGroups'
+-- * 'ddcpgrsDBClusterParameterGroups' - A list of DB cluster parameter groups.
 --
--- * 'ddcpgrsResponseStatus'
+-- * 'ddcpgrsResponseStatus' - -- | The response status code.
 describeDBClusterParameterGroupsResponse
     :: Int -- ^ 'ddcpgrsResponseStatus'
     -> DescribeDBClusterParameterGroupsResponse
@@ -177,7 +170,7 @@
     , _ddcpgrsResponseStatus = pResponseStatus_
     }
 
--- | An optional pagination token provided by a previous 'DescribeDBClusterParameterGroups' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous @DescribeDBClusterParameterGroups@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 ddcpgrsMarker :: Lens' DescribeDBClusterParameterGroupsResponse (Maybe Text)
 ddcpgrsMarker = lens _ddcpgrsMarker (\ s a -> s{_ddcpgrsMarker = a});
 
@@ -185,7 +178,7 @@
 ddcpgrsDBClusterParameterGroups :: Lens' DescribeDBClusterParameterGroupsResponse [DBClusterParameterGroup]
 ddcpgrsDBClusterParameterGroups = lens _ddcpgrsDBClusterParameterGroups (\ s a -> s{_ddcpgrsDBClusterParameterGroups = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ddcpgrsResponseStatus :: Lens' DescribeDBClusterParameterGroupsResponse Int
 ddcpgrsResponseStatus = lens _ddcpgrsResponseStatus (\ s a -> s{_ddcpgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBClusterParameters.hs b/gen/Network/AWS/RDS/DescribeDBClusterParameters.hs
--- a/gen/Network/AWS/RDS/DescribeDBClusterParameters.hs
+++ b/gen/Network/AWS/RDS/DescribeDBClusterParameters.hs
@@ -20,7 +20,9 @@
 --
 -- Returns the detailed parameter list for a particular DB cluster parameter group.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.DescribeDBClusterParameters
     (
     -- * Creating a Request
@@ -51,6 +53,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBClusterParameters' smart constructor.
 data DescribeDBClusterParameters = DescribeDBClusterParameters'
     { _ddcpFilters                     :: !(Maybe [Filter])
@@ -64,15 +68,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcpFilters'
+-- * 'ddcpFilters' - This parameter is not currently supported.
 --
--- * 'ddcpMarker'
+-- * 'ddcpMarker' - An optional pagination token provided by a previous @DescribeDBClusterParameters@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'ddcpMaxRecords'
+-- * 'ddcpMaxRecords' - 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.
 --
--- * 'ddcpSource'
+-- * 'ddcpSource' - A value that indicates to return only parameters for a specific source. Parameter sources can be @engine@ , @service@ , or @customer@ .
 --
--- * 'ddcpDBClusterParameterGroupName'
+-- * 'ddcpDBClusterParameterGroupName' - The name of a specific DB cluster parameter group to return parameter 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
 describeDBClusterParameters
     :: Text -- ^ 'ddcpDBClusterParameterGroupName'
     -> DescribeDBClusterParameters
@@ -89,32 +93,19 @@
 ddcpFilters :: Lens' DescribeDBClusterParameters [Filter]
 ddcpFilters = lens _ddcpFilters (\ s a -> s{_ddcpFilters = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous 'DescribeDBClusterParameters' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous @DescribeDBClusterParameters@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 ddcpMarker :: Lens' DescribeDBClusterParameters (Maybe Text)
 ddcpMarker = lens _ddcpMarker (\ s a -> s{_ddcpMarker = 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.
+-- | 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.
 ddcpMaxRecords :: Lens' DescribeDBClusterParameters (Maybe Int)
 ddcpMaxRecords = lens _ddcpMaxRecords (\ s a -> s{_ddcpMaxRecords = a});
 
--- | A value that indicates to return only parameters for a specific source. Parameter sources can be 'engine', 'service', or 'customer'.
+-- | A value that indicates to return only parameters for a specific source. Parameter sources can be @engine@ , @service@ , or @customer@ .
 ddcpSource :: Lens' DescribeDBClusterParameters (Maybe Text)
 ddcpSource = lens _ddcpSource (\ s a -> s{_ddcpSource = a});
 
--- | The name of a specific DB cluster parameter group to return parameter 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
---
+-- | The name of a specific DB cluster parameter group to return parameter 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
 ddcpDBClusterParameterGroupName :: Lens' DescribeDBClusterParameters Text
 ddcpDBClusterParameterGroupName = lens _ddcpDBClusterParameterGroupName (\ s a -> s{_ddcpDBClusterParameterGroupName = a});
 
@@ -158,6 +149,8 @@
 
 -- | Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.
 --
+--
+--
 -- /See:/ 'describeDBClusterParametersResponse' smart constructor.
 data DescribeDBClusterParametersResponse = DescribeDBClusterParametersResponse'
     { _ddcprsMarker         :: !(Maybe Text)
@@ -169,11 +162,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcprsMarker'
+-- * 'ddcprsMarker' - An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'ddcprsParameters'
+-- * 'ddcprsParameters' - Provides a list of parameters for the DB cluster parameter group.
 --
--- * 'ddcprsResponseStatus'
+-- * 'ddcprsResponseStatus' - -- | The response status code.
 describeDBClusterParametersResponse
     :: Int -- ^ 'ddcprsResponseStatus'
     -> DescribeDBClusterParametersResponse
@@ -184,7 +177,7 @@
     , _ddcprsResponseStatus = pResponseStatus_
     }
 
--- | An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords' .
+-- | An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 ddcprsMarker :: Lens' DescribeDBClusterParametersResponse (Maybe Text)
 ddcprsMarker = lens _ddcprsMarker (\ s a -> s{_ddcprsMarker = a});
 
@@ -192,7 +185,7 @@
 ddcprsParameters :: Lens' DescribeDBClusterParametersResponse [Parameter]
 ddcprsParameters = lens _ddcprsParameters (\ s a -> s{_ddcprsParameters = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ddcprsResponseStatus :: Lens' DescribeDBClusterParametersResponse Int
 ddcprsResponseStatus = lens _ddcprsResponseStatus (\ s a -> s{_ddcprsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBClusterSnapshotAttributes.hs b/gen/Network/AWS/RDS/DescribeDBClusterSnapshotAttributes.hs
--- a/gen/Network/AWS/RDS/DescribeDBClusterSnapshotAttributes.hs
+++ b/gen/Network/AWS/RDS/DescribeDBClusterSnapshotAttributes.hs
@@ -20,9 +20,11 @@
 --
 -- Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.
 --
--- When sharing snapshots with other AWS accounts, 'DescribeDBClusterSnapshotAttributes' returns the 'restore' attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If 'all' is included in the list of values for the 'restore' attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.
 --
--- To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the < ModifyDBClusterSnapshotAttribute> API action.
+-- When sharing snapshots with other AWS accounts, @DescribeDBClusterSnapshotAttributes@ returns the @restore@ attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If @all@ is included in the list of values for the @restore@ attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.
+--
+-- To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the 'ModifyDBClusterSnapshotAttribute' API action.
+--
 module Network.AWS.RDS.DescribeDBClusterSnapshotAttributes
     (
     -- * Creating a Request
@@ -48,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBClusterSnapshotAttributes' smart constructor.
 newtype DescribeDBClusterSnapshotAttributes = DescribeDBClusterSnapshotAttributes'
     { _ddcsaDBClusterSnapshotIdentifier :: Text
@@ -57,7 +61,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcsaDBClusterSnapshotIdentifier'
+-- * 'ddcsaDBClusterSnapshotIdentifier' - The identifier for the DB cluster snapshot to describe the attributes for.
 describeDBClusterSnapshotAttributes
     :: Text -- ^ 'ddcsaDBClusterSnapshotIdentifier'
     -> DescribeDBClusterSnapshotAttributes
@@ -116,9 +120,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcsarsDBClusterSnapshotAttributesResult'
+-- * 'ddcsarsDBClusterSnapshotAttributesResult' - Undocumented member.
 --
--- * 'ddcsarsResponseStatus'
+-- * 'ddcsarsResponseStatus' - -- | The response status code.
 describeDBClusterSnapshotAttributesResponse
     :: Int -- ^ 'ddcsarsResponseStatus'
     -> DescribeDBClusterSnapshotAttributesResponse
@@ -132,7 +136,7 @@
 ddcsarsDBClusterSnapshotAttributesResult :: Lens' DescribeDBClusterSnapshotAttributesResponse (Maybe DBClusterSnapshotAttributesResult)
 ddcsarsDBClusterSnapshotAttributesResult = lens _ddcsarsDBClusterSnapshotAttributesResult (\ s a -> s{_ddcsarsDBClusterSnapshotAttributesResult = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddcsarsResponseStatus :: Lens' DescribeDBClusterSnapshotAttributesResponse Int
 ddcsarsResponseStatus = lens _ddcsarsResponseStatus (\ s a -> s{_ddcsarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBClusterSnapshots.hs b/gen/Network/AWS/RDS/DescribeDBClusterSnapshots.hs
--- a/gen/Network/AWS/RDS/DescribeDBClusterSnapshots.hs
+++ b/gen/Network/AWS/RDS/DescribeDBClusterSnapshots.hs
@@ -20,8 +20,10 @@
 --
 -- Returns information about DB cluster snapshots. This API action supports pagination.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
 --
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBClusterSnapshots
     (
@@ -57,6 +59,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBClusterSnapshots' smart constructor.
 data DescribeDBClusterSnapshots = DescribeDBClusterSnapshots'
     { _ddbcsDBClusterIdentifier         :: !(Maybe Text)
@@ -73,21 +77,21 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbcsDBClusterIdentifier'
+-- * 'ddbcsDBClusterIdentifier' - The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter cannot be used in conjunction with the @DBClusterSnapshotIdentifier@ parameter. 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
 --
--- * 'ddbcsIncludeShared'
+-- * 'ddbcsIncludeShared' - Set this value to @true@ to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to @false@ . The default is @false@ . You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the 'ModifyDBClusterSnapshotAttribute' API action.
 --
--- * 'ddbcsDBClusterSnapshotIdentifier'
+-- * 'ddbcsDBClusterSnapshotIdentifier' - A specific DB cluster snapshot identifier to describe. This parameter cannot be used in conjunction with the @DBClusterIdentifier@ parameter. 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 identifier is for an automated snapshot, the @SnapshotType@ parameter must also be specified.
 --
--- * 'ddbcsFilters'
+-- * 'ddbcsFilters' - This parameter is not currently supported.
 --
--- * 'ddbcsSnapshotType'
+-- * 'ddbcsSnapshotType' - The type of DB cluster snapshots to be returned. You can specify one of the following values:     * @automated@ - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.     * @manual@ - Return all DB cluster snapshots that have been taken by my AWS account.     * @shared@ - Return all manual DB cluster snapshots that have been shared to my AWS account.     * @public@ - Return all DB cluster snapshots that have been marked as public. If you don't specify a @SnapshotType@ value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the @IncludeShared@ parameter to @true@ . You can include public DB cluster snapshots with these results by setting the @IncludePublic@ parameter to @true@ . The @IncludeShared@ and @IncludePublic@ parameters don't apply for @SnapshotType@ values of @manual@ or @automated@ . The @IncludePublic@ parameter doesn't apply when @SnapshotType@ is set to @shared@ . The @IncludeShared@ parameter doesn't apply when @SnapshotType@ is set to @public@ .
 --
--- * 'ddbcsMarker'
+-- * 'ddbcsMarker' - An optional pagination token provided by a previous @DescribeDBClusterSnapshots@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'ddbcsMaxRecords'
+-- * 'ddbcsMaxRecords' - 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.
 --
--- * 'ddbcsIncludePublic'
+-- * 'ddbcsIncludePublic' - Set this value to @true@ to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to @false@ . The default is @false@ . The default is false. You can share a manual DB cluster snapshot as public by using the 'ModifyDBClusterSnapshotAttribute' API action.
 describeDBClusterSnapshots
     :: DescribeDBClusterSnapshots
 describeDBClusterSnapshots =
@@ -102,37 +106,15 @@
     , _ddbcsIncludePublic = Nothing
     }
 
--- | The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter cannot be used in conjunction with the 'DBClusterSnapshotIdentifier' parameter. 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
---
+-- | The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter cannot be used in conjunction with the @DBClusterSnapshotIdentifier@ parameter. 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
 ddbcsDBClusterIdentifier :: Lens' DescribeDBClusterSnapshots (Maybe Text)
 ddbcsDBClusterIdentifier = lens _ddbcsDBClusterIdentifier (\ s a -> s{_ddbcsDBClusterIdentifier = a});
 
--- | Set this value to 'true' to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to 'false'. The default is 'false'.
---
--- You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the < ModifyDBClusterSnapshotAttribute> API action.
+-- | Set this value to @true@ to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to @false@ . The default is @false@ . You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the 'ModifyDBClusterSnapshotAttribute' API action.
 ddbcsIncludeShared :: Lens' DescribeDBClusterSnapshots (Maybe Bool)
 ddbcsIncludeShared = lens _ddbcsIncludeShared (\ s a -> s{_ddbcsIncludeShared = a});
 
--- | A specific DB cluster snapshot identifier to describe. This parameter cannot be used in conjunction with the 'DBClusterIdentifier' parameter. 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 identifier is for an automated snapshot, the 'SnapshotType' parameter must also be specified.
---
+-- | A specific DB cluster snapshot identifier to describe. This parameter cannot be used in conjunction with the @DBClusterIdentifier@ parameter. 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 identifier is for an automated snapshot, the @SnapshotType@ parameter must also be specified.
 ddbcsDBClusterSnapshotIdentifier :: Lens' DescribeDBClusterSnapshots (Maybe Text)
 ddbcsDBClusterSnapshotIdentifier = lens _ddbcsDBClusterSnapshotIdentifier (\ s a -> s{_ddbcsDBClusterSnapshotIdentifier = a});
 
@@ -140,37 +122,19 @@
 ddbcsFilters :: Lens' DescribeDBClusterSnapshots [Filter]
 ddbcsFilters = lens _ddbcsFilters (\ s a -> s{_ddbcsFilters = a}) . _Default . _Coerce;
 
--- | The type of DB cluster snapshots to be returned. You can specify one of the following values:
---
--- -   'automated' - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.
---
--- -   'manual' - Return all DB cluster snapshots that have been taken by my AWS account.
---
--- -   'shared' - Return all manual DB cluster snapshots that have been shared to my AWS account.
---
--- -   'public' - Return all DB cluster snapshots that have been marked as public.
---
--- If you don\'t specify a 'SnapshotType' value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the 'IncludeShared' parameter to 'true'. You can include public DB cluster snapshots with these results by setting the 'IncludePublic' parameter to 'true'.
---
--- The 'IncludeShared' and 'IncludePublic' parameters don\'t apply for 'SnapshotType' values of 'manual' or 'automated'. The 'IncludePublic' parameter doesn\'t apply when 'SnapshotType' is set to 'shared'. The 'IncludeShared' parameter doesn\'t apply when 'SnapshotType' is set to 'public'.
+-- | The type of DB cluster snapshots to be returned. You can specify one of the following values:     * @automated@ - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.     * @manual@ - Return all DB cluster snapshots that have been taken by my AWS account.     * @shared@ - Return all manual DB cluster snapshots that have been shared to my AWS account.     * @public@ - Return all DB cluster snapshots that have been marked as public. If you don't specify a @SnapshotType@ value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the @IncludeShared@ parameter to @true@ . You can include public DB cluster snapshots with these results by setting the @IncludePublic@ parameter to @true@ . The @IncludeShared@ and @IncludePublic@ parameters don't apply for @SnapshotType@ values of @manual@ or @automated@ . The @IncludePublic@ parameter doesn't apply when @SnapshotType@ is set to @shared@ . The @IncludeShared@ parameter doesn't apply when @SnapshotType@ is set to @public@ .
 ddbcsSnapshotType :: Lens' DescribeDBClusterSnapshots (Maybe Text)
 ddbcsSnapshotType = lens _ddbcsSnapshotType (\ s a -> s{_ddbcsSnapshotType = a});
 
--- | An optional pagination token provided by a previous 'DescribeDBClusterSnapshots' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous @DescribeDBClusterSnapshots@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 ddbcsMarker :: Lens' DescribeDBClusterSnapshots (Maybe Text)
 ddbcsMarker = lens _ddbcsMarker (\ s a -> s{_ddbcsMarker = 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.
+-- | 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.
 ddbcsMaxRecords :: Lens' DescribeDBClusterSnapshots (Maybe Int)
 ddbcsMaxRecords = lens _ddbcsMaxRecords (\ s a -> s{_ddbcsMaxRecords = a});
 
--- | Set this value to 'true' to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to 'false'. The default is 'false'. The default is false.
---
--- You can share a manual DB cluster snapshot as public by using the < ModifyDBClusterSnapshotAttribute> API action.
+-- | Set this value to @true@ to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to @false@ . The default is @false@ . The default is false. You can share a manual DB cluster snapshot as public by using the 'ModifyDBClusterSnapshotAttribute' API action.
 ddbcsIncludePublic :: Lens' DescribeDBClusterSnapshots (Maybe Bool)
 ddbcsIncludePublic = lens _ddbcsIncludePublic (\ s a -> s{_ddbcsIncludePublic = a});
 
@@ -222,8 +186,10 @@
                "MaxRecords" =: _ddbcsMaxRecords,
                "IncludePublic" =: _ddbcsIncludePublic]
 
--- | Provides a list of DB cluster snapshots for the user as the result of a call to the < DescribeDBClusterSnapshots> action.
+-- | Provides a list of DB cluster snapshots for the user as the result of a call to the 'DescribeDBClusterSnapshots' action.
 --
+--
+--
 -- /See:/ 'describeDBClusterSnapshotsResponse' smart constructor.
 data DescribeDBClusterSnapshotsResponse = DescribeDBClusterSnapshotsResponse'
     { _ddbcsrsMarker             :: !(Maybe Text)
@@ -235,11 +201,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbcsrsMarker'
+-- * 'ddbcsrsMarker' - An optional pagination token provided by a previous 'DescribeDBClusterSnapshots' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'ddbcsrsDBClusterSnapshots'
+-- * 'ddbcsrsDBClusterSnapshots' - Provides a list of DB cluster snapshots for the user.
 --
--- * 'ddbcsrsResponseStatus'
+-- * 'ddbcsrsResponseStatus' - -- | The response status code.
 describeDBClusterSnapshotsResponse
     :: Int -- ^ 'ddbcsrsResponseStatus'
     -> DescribeDBClusterSnapshotsResponse
@@ -250,7 +216,7 @@
     , _ddbcsrsResponseStatus = pResponseStatus_
     }
 
--- | An optional pagination token provided by a previous < DescribeDBClusterSnapshots> request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous 'DescribeDBClusterSnapshots' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 ddbcsrsMarker :: Lens' DescribeDBClusterSnapshotsResponse (Maybe Text)
 ddbcsrsMarker = lens _ddbcsrsMarker (\ s a -> s{_ddbcsrsMarker = a});
 
@@ -258,7 +224,7 @@
 ddbcsrsDBClusterSnapshots :: Lens' DescribeDBClusterSnapshotsResponse [DBClusterSnapshot]
 ddbcsrsDBClusterSnapshots = lens _ddbcsrsDBClusterSnapshots (\ s a -> s{_ddbcsrsDBClusterSnapshots = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ddbcsrsResponseStatus :: Lens' DescribeDBClusterSnapshotsResponse Int
 ddbcsrsResponseStatus = lens _ddbcsrsResponseStatus (\ s a -> s{_ddbcsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBClusters.hs b/gen/Network/AWS/RDS/DescribeDBClusters.hs
--- a/gen/Network/AWS/RDS/DescribeDBClusters.hs
+++ b/gen/Network/AWS/RDS/DescribeDBClusters.hs
@@ -20,7 +20,9 @@
 --
 -- Returns information about provisioned Aurora DB clusters. This API supports pagination.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.DescribeDBClusters
     (
     -- * Creating a Request
@@ -50,6 +52,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBClusters' smart constructor.
 data DescribeDBClusters = DescribeDBClusters'
     { _ddcDBClusterIdentifier :: !(Maybe Text)
@@ -62,13 +66,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcDBClusterIdentifier'
+-- * 'ddcDBClusterIdentifier' - The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster 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
 --
--- * 'ddcFilters'
+-- * 'ddcFilters' - This parameter is not currently supported.
 --
--- * 'ddcMarker'
+-- * 'ddcMarker' - An optional pagination token provided by a previous 'DescribeDBClusters' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'ddcMaxRecords'
+-- * 'ddcMaxRecords' - 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.
 describeDBClusters
     :: DescribeDBClusters
 describeDBClusters =
@@ -79,16 +83,7 @@
     , _ddcMaxRecords = Nothing
     }
 
--- | The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster 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
---
+-- | The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster 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
 ddcDBClusterIdentifier :: Lens' DescribeDBClusters (Maybe Text)
 ddcDBClusterIdentifier = lens _ddcDBClusterIdentifier (\ s a -> s{_ddcDBClusterIdentifier = a});
 
@@ -96,15 +91,11 @@
 ddcFilters :: Lens' DescribeDBClusters [Filter]
 ddcFilters = lens _ddcFilters (\ s a -> s{_ddcFilters = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous < DescribeDBClusters> request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous 'DescribeDBClusters' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 ddcMarker :: Lens' DescribeDBClusters (Maybe Text)
 ddcMarker = lens _ddcMarker (\ s a -> s{_ddcMarker = 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.
+-- | 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.
 ddcMaxRecords :: Lens' DescribeDBClusters (Maybe Int)
 ddcMaxRecords = lens _ddcMaxRecords (\ s a -> s{_ddcMaxRecords = a});
 
@@ -142,8 +133,10 @@
                "Marker" =: _ddcMarker,
                "MaxRecords" =: _ddcMaxRecords]
 
--- | Contains the result of a successful invocation of the < DescribeDBClusters> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBClusters' action.
 --
+--
+--
 -- /See:/ 'describeDBClustersResponse' smart constructor.
 data DescribeDBClustersResponse = DescribeDBClustersResponse'
     { _ddcrsDBClusters     :: !(Maybe [DBCluster])
@@ -155,11 +148,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddcrsDBClusters'
+-- * 'ddcrsDBClusters' - Contains a list of DB clusters for the user.
 --
--- * 'ddcrsMarker'
+-- * 'ddcrsMarker' - A pagination token that can be used in a subsequent DescribeDBClusters request.
 --
--- * 'ddcrsResponseStatus'
+-- * 'ddcrsResponseStatus' - -- | The response status code.
 describeDBClustersResponse
     :: Int -- ^ 'ddcrsResponseStatus'
     -> DescribeDBClustersResponse
@@ -178,7 +171,7 @@
 ddcrsMarker :: Lens' DescribeDBClustersResponse (Maybe Text)
 ddcrsMarker = lens _ddcrsMarker (\ s a -> s{_ddcrsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddcrsResponseStatus :: Lens' DescribeDBClustersResponse Int
 ddcrsResponseStatus = lens _ddcrsResponseStatus (\ s a -> s{_ddcrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBEngineVersions.hs b/gen/Network/AWS/RDS/DescribeDBEngineVersions.hs
--- a/gen/Network/AWS/RDS/DescribeDBEngineVersions.hs
+++ b/gen/Network/AWS/RDS/DescribeDBEngineVersions.hs
@@ -20,6 +20,8 @@
 --
 -- Returns a list of the available DB engines.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBEngineVersions
     (
@@ -28,6 +30,7 @@
     , DescribeDBEngineVersions
     -- * Request Lenses
     , ddevEngineVersion
+    , ddevListSupportedTimezones
     , ddevDefaultOnly
     , ddevFilters
     , ddevEngine
@@ -56,6 +59,7 @@
 -- | /See:/ 'describeDBEngineVersions' smart constructor.
 data DescribeDBEngineVersions = DescribeDBEngineVersions'
     { _ddevEngineVersion              :: !(Maybe Text)
+    , _ddevListSupportedTimezones     :: !(Maybe Bool)
     , _ddevDefaultOnly                :: !(Maybe Bool)
     , _ddevFilters                    :: !(Maybe [Filter])
     , _ddevEngine                     :: !(Maybe Text)
@@ -69,26 +73,29 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddevEngineVersion'
+-- * 'ddevEngineVersion' - The database engine version to return. Example: @5.1.49@
 --
--- * 'ddevDefaultOnly'
+-- * 'ddevListSupportedTimezones' - If this parameter is specified and the requested engine supports the @TimeZone@ parameter for @CreateDBInstance@ , the response includes a list of supported time zones for each engine version.
 --
--- * 'ddevFilters'
+-- * 'ddevDefaultOnly' - Indicates that only the default version of the specified engine or engine and major version combination is returned.
 --
--- * 'ddevEngine'
+-- * 'ddevFilters' - Not currently supported.
 --
--- * 'ddevDBParameterGroupFamily'
+-- * 'ddevEngine' - The database engine to return.
 --
--- * 'ddevListSupportedCharacterSets'
+-- * 'ddevDBParameterGroupFamily' - 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
 --
--- * 'ddevMarker'
+-- * 'ddevListSupportedCharacterSets' - If this parameter is specified and the requested engine supports the @CharacterSetName@ parameter for @CreateDBInstance@ , the response includes a list of supported character sets for each engine version.
 --
--- * 'ddevMaxRecords'
+-- * 'ddevMarker' - 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@ .
+--
+-- * 'ddevMaxRecords' - 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.
 describeDBEngineVersions
     :: DescribeDBEngineVersions
 describeDBEngineVersions =
     DescribeDBEngineVersions'
     { _ddevEngineVersion = Nothing
+    , _ddevListSupportedTimezones = Nothing
     , _ddevDefaultOnly = Nothing
     , _ddevFilters = Nothing
     , _ddevEngine = Nothing
@@ -98,12 +105,14 @@
     , _ddevMaxRecords = Nothing
     }
 
--- | The database engine version to return.
---
--- Example: '5.1.49'
+-- | The database engine version to return. Example: @5.1.49@
 ddevEngineVersion :: Lens' DescribeDBEngineVersions (Maybe Text)
 ddevEngineVersion = lens _ddevEngineVersion (\ s a -> s{_ddevEngineVersion = a});
 
+-- | If this parameter is specified and the requested engine supports the @TimeZone@ parameter for @CreateDBInstance@ , the response includes a list of supported time zones for each engine version.
+ddevListSupportedTimezones :: Lens' DescribeDBEngineVersions (Maybe Bool)
+ddevListSupportedTimezones = lens _ddevListSupportedTimezones (\ s a -> s{_ddevListSupportedTimezones = a});
+
 -- | Indicates that only the default version of the specified engine or engine and major version combination is returned.
 ddevDefaultOnly :: Lens' DescribeDBEngineVersions (Maybe Bool)
 ddevDefaultOnly = lens _ddevDefaultOnly (\ s a -> s{_ddevDefaultOnly = a});
@@ -116,32 +125,19 @@
 ddevEngine :: Lens' DescribeDBEngineVersions (Maybe Text)
 ddevEngine = lens _ddevEngine (\ s a -> s{_ddevEngine = a});
 
--- | 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
---
+-- | 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
 ddevDBParameterGroupFamily :: Lens' DescribeDBEngineVersions (Maybe Text)
 ddevDBParameterGroupFamily = lens _ddevDBParameterGroupFamily (\ s a -> s{_ddevDBParameterGroupFamily = a});
 
--- | 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.
+-- | If this parameter is specified and the requested engine supports the @CharacterSetName@ parameter for @CreateDBInstance@ , the response includes a list of supported character sets for each engine version.
 ddevListSupportedCharacterSets :: Lens' DescribeDBEngineVersions (Maybe Bool)
 ddevListSupportedCharacterSets = lens _ddevListSupportedCharacterSets (\ s a -> s{_ddevListSupportedCharacterSets = 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'.
+-- | 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@ .
 ddevMarker :: Lens' DescribeDBEngineVersions (Maybe Text)
 ddevMarker = lens _ddevMarker (\ s a -> s{_ddevMarker = 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.
+-- | 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.
 ddevMaxRecords :: Lens' DescribeDBEngineVersions (Maybe Int)
 ddevMaxRecords = lens _ddevMaxRecords (\ s a -> s{_ddevMaxRecords = a});
 
@@ -182,6 +178,8 @@
                  ("DescribeDBEngineVersions" :: ByteString),
                "Version" =: ("2014-10-31" :: ByteString),
                "EngineVersion" =: _ddevEngineVersion,
+               "ListSupportedTimezones" =:
+                 _ddevListSupportedTimezones,
                "DefaultOnly" =: _ddevDefaultOnly,
                "Filters" =:
                  toQuery (toQueryList "Filter" <$> _ddevFilters),
@@ -193,8 +191,10 @@
                "Marker" =: _ddevMarker,
                "MaxRecords" =: _ddevMaxRecords]
 
--- | Contains the result of a successful invocation of the < DescribeDBEngineVersions> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBEngineVersions' action.
 --
+--
+--
 -- /See:/ 'describeDBEngineVersionsResponse' smart constructor.
 data DescribeDBEngineVersionsResponse = DescribeDBEngineVersionsResponse'
     { _ddevrsMarker           :: !(Maybe Text)
@@ -206,11 +206,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddevrsMarker'
+-- * 'ddevrsMarker' - 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@ .
 --
--- * 'ddevrsDBEngineVersions'
+-- * 'ddevrsDBEngineVersions' - A list of @DBEngineVersion@ elements.
 --
--- * 'ddevrsResponseStatus'
+-- * 'ddevrsResponseStatus' - -- | The response status code.
 describeDBEngineVersionsResponse
     :: Int -- ^ 'ddevrsResponseStatus'
     -> DescribeDBEngineVersionsResponse
@@ -221,15 +221,15 @@
     , _ddevrsResponseStatus = pResponseStatus_
     }
 
--- | 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'.
+-- | 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@ .
 ddevrsMarker :: Lens' DescribeDBEngineVersionsResponse (Maybe Text)
 ddevrsMarker = lens _ddevrsMarker (\ s a -> s{_ddevrsMarker = a});
 
--- | A list of 'DBEngineVersion' elements.
+-- | A list of @DBEngineVersion@ elements.
 ddevrsDBEngineVersions :: Lens' DescribeDBEngineVersionsResponse [DBEngineVersion]
 ddevrsDBEngineVersions = lens _ddevrsDBEngineVersions (\ s a -> s{_ddevrsDBEngineVersions = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ddevrsResponseStatus :: Lens' DescribeDBEngineVersionsResponse Int
 ddevrsResponseStatus = lens _ddevrsResponseStatus (\ s a -> s{_ddevrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBInstances.hs b/gen/Network/AWS/RDS/DescribeDBInstances.hs
--- a/gen/Network/AWS/RDS/DescribeDBInstances.hs
+++ b/gen/Network/AWS/RDS/DescribeDBInstances.hs
@@ -20,6 +20,8 @@
 --
 -- Returns information about provisioned RDS instances. This API supports pagination.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBInstances
     (
@@ -51,6 +53,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBInstances' smart constructor.
 data DescribeDBInstances = DescribeDBInstances'
     { _ddbiFilters              :: !(Maybe [Filter])
@@ -63,13 +67,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbiFilters'
+-- * 'ddbiFilters' - This parameter is not currently supported.
 --
--- * 'ddbiDBInstanceIdentifier'
+-- * 'ddbiDBInstanceIdentifier' - 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
 --
--- * 'ddbiMarker'
+-- * 'ddbiMarker' - 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@ .
 --
--- * 'ddbiMaxRecords'
+-- * 'ddbiMaxRecords' - 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.
 describeDBInstances
     :: DescribeDBInstances
 describeDBInstances =
@@ -84,28 +88,15 @@
 ddbiFilters :: Lens' DescribeDBInstances [Filter]
 ddbiFilters = lens _ddbiFilters (\ s a -> s{_ddbiFilters = a}) . _Default . _Coerce;
 
--- | 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
---
+-- | 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
 ddbiDBInstanceIdentifier :: Lens' DescribeDBInstances (Maybe Text)
 ddbiDBInstanceIdentifier = lens _ddbiDBInstanceIdentifier (\ s a -> s{_ddbiDBInstanceIdentifier = a});
 
--- | 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'.
+-- | 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@ .
 ddbiMarker :: Lens' DescribeDBInstances (Maybe Text)
 ddbiMarker = lens _ddbiMarker (\ s a -> s{_ddbiMarker = 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.
+-- | 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.
 ddbiMaxRecords :: Lens' DescribeDBInstances (Maybe Int)
 ddbiMaxRecords = lens _ddbiMaxRecords (\ s a -> s{_ddbiMaxRecords = a});
 
@@ -150,8 +141,10 @@
                "Marker" =: _ddbiMarker,
                "MaxRecords" =: _ddbiMaxRecords]
 
--- | Contains the result of a successful invocation of the < DescribeDBInstances> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBInstances' action.
 --
+--
+--
 -- /See:/ 'describeDBInstancesResponse' smart constructor.
 data DescribeDBInstancesResponse = DescribeDBInstancesResponse'
     { _ddbirsDBInstances    :: !(Maybe [DBInstance])
@@ -163,11 +156,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbirsDBInstances'
+-- * 'ddbirsDBInstances' - A list of 'DBInstance' instances.
 --
--- * 'ddbirsMarker'
+-- * 'ddbirsMarker' - 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@ .
 --
--- * 'ddbirsResponseStatus'
+-- * 'ddbirsResponseStatus' - -- | The response status code.
 describeDBInstancesResponse
     :: Int -- ^ 'ddbirsResponseStatus'
     -> DescribeDBInstancesResponse
@@ -178,15 +171,15 @@
     , _ddbirsResponseStatus = pResponseStatus_
     }
 
--- | A list of < DBInstance> instances.
+-- | A list of 'DBInstance' instances.
 ddbirsDBInstances :: Lens' DescribeDBInstancesResponse [DBInstance]
 ddbirsDBInstances = lens _ddbirsDBInstances (\ s a -> s{_ddbirsDBInstances = a}) . _Default . _Coerce;
 
--- | 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' .
+-- | 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@ .
 ddbirsMarker :: Lens' DescribeDBInstancesResponse (Maybe Text)
 ddbirsMarker = lens _ddbirsMarker (\ s a -> s{_ddbirsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddbirsResponseStatus :: Lens' DescribeDBInstancesResponse Int
 ddbirsResponseStatus = lens _ddbirsResponseStatus (\ s a -> s{_ddbirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBLogFiles.hs b/gen/Network/AWS/RDS/DescribeDBLogFiles.hs
--- a/gen/Network/AWS/RDS/DescribeDBLogFiles.hs
+++ b/gen/Network/AWS/RDS/DescribeDBLogFiles.hs
@@ -20,6 +20,8 @@
 --
 -- Returns a list of DB log files for the DB instance.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBLogFiles
     (
@@ -54,6 +56,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBLogFiles' smart constructor.
 data DescribeDBLogFiles = DescribeDBLogFiles'
     { _ddlfFilenameContains     :: !(Maybe Text)
@@ -69,19 +73,19 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddlfFilenameContains'
+-- * 'ddlfFilenameContains' - Filters the available log files for log file names that contain the specified string.
 --
--- * 'ddlfFilters'
+-- * 'ddlfFilters' - This parameter is not currently supported.
 --
--- * 'ddlfFileSize'
+-- * 'ddlfFileSize' - Filters the available log files for files larger than the specified size.
 --
--- * 'ddlfFileLastWritten'
+-- * 'ddlfFileLastWritten' - Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.
 --
--- * 'ddlfMarker'
+-- * 'ddlfMarker' - The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.
 --
--- * 'ddlfMaxRecords'
+-- * 'ddlfMaxRecords' - 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.
 --
--- * 'ddlfDBInstanceIdentifier'
+-- * 'ddlfDBInstanceIdentifier' - 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
 describeDBLogFiles
     :: Text -- ^ 'ddlfDBInstanceIdentifier'
     -> DescribeDBLogFiles
@@ -120,16 +124,7 @@
 ddlfMaxRecords :: Lens' DescribeDBLogFiles (Maybe Int)
 ddlfMaxRecords = lens _ddlfMaxRecords (\ s a -> s{_ddlfMaxRecords = a});
 
--- | 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
---
+-- | 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
 ddlfDBInstanceIdentifier :: Lens' DescribeDBLogFiles Text
 ddlfDBInstanceIdentifier = lens _ddlfDBInstanceIdentifier (\ s a -> s{_ddlfDBInstanceIdentifier = a});
 
@@ -177,8 +172,10 @@
                "MaxRecords" =: _ddlfMaxRecords,
                "DBInstanceIdentifier" =: _ddlfDBInstanceIdentifier]
 
--- | The response from a call to < DescribeDBLogFiles>.
+-- | The response from a call to 'DescribeDBLogFiles' .
 --
+--
+--
 -- /See:/ 'describeDBLogFilesResponse' smart constructor.
 data DescribeDBLogFilesResponse = DescribeDBLogFilesResponse'
     { _ddlfrsDescribeDBLogFiles :: !(Maybe [DescribeDBLogFilesDetails])
@@ -190,11 +187,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddlfrsDescribeDBLogFiles'
+-- * 'ddlfrsDescribeDBLogFiles' - The DB log files returned.
 --
--- * 'ddlfrsMarker'
+-- * 'ddlfrsMarker' - A pagination token that can be used in a subsequent DescribeDBLogFiles request.
 --
--- * 'ddlfrsResponseStatus'
+-- * 'ddlfrsResponseStatus' - -- | The response status code.
 describeDBLogFilesResponse
     :: Int -- ^ 'ddlfrsResponseStatus'
     -> DescribeDBLogFilesResponse
@@ -213,7 +210,7 @@
 ddlfrsMarker :: Lens' DescribeDBLogFilesResponse (Maybe Text)
 ddlfrsMarker = lens _ddlfrsMarker (\ s a -> s{_ddlfrsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddlfrsResponseStatus :: Lens' DescribeDBLogFilesResponse Int
 ddlfrsResponseStatus = lens _ddlfrsResponseStatus (\ s a -> s{_ddlfrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBParameterGroups.hs b/gen/Network/AWS/RDS/DescribeDBParameterGroups.hs
--- a/gen/Network/AWS/RDS/DescribeDBParameterGroups.hs
+++ b/gen/Network/AWS/RDS/DescribeDBParameterGroups.hs
@@ -18,8 +18,10 @@
 -- Stability   : auto-generated
 -- 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.
+-- Returns a list of @DBParameterGroup@ descriptions. If a @DBParameterGroupName@ is specified, the list will contain only the description of the specified DB parameter group.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBParameterGroups
     (
@@ -51,6 +53,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBParameterGroups' smart constructor.
 data DescribeDBParameterGroups = DescribeDBParameterGroups'
     { _ddpgFilters              :: !(Maybe [Filter])
@@ -63,13 +67,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddpgFilters'
+-- * 'ddpgFilters' - This parameter is not currently supported.
 --
--- * 'ddpgDBParameterGroupName'
+-- * 'ddpgDBParameterGroupName' - 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
 --
--- * 'ddpgMarker'
+-- * 'ddpgMarker' - 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@ .
 --
--- * 'ddpgMaxRecords'
+-- * 'ddpgMaxRecords' - 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.
 describeDBParameterGroups
     :: DescribeDBParameterGroups
 describeDBParameterGroups =
@@ -84,28 +88,15 @@
 ddpgFilters :: Lens' DescribeDBParameterGroups [Filter]
 ddpgFilters = lens _ddpgFilters (\ s a -> s{_ddpgFilters = a}) . _Default . _Coerce;
 
--- | 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
---
+-- | 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
 ddpgDBParameterGroupName :: Lens' DescribeDBParameterGroups (Maybe Text)
 ddpgDBParameterGroupName = lens _ddpgDBParameterGroupName (\ s a -> s{_ddpgDBParameterGroupName = a});
 
--- | 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'.
+-- | 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@ .
 ddpgMarker :: Lens' DescribeDBParameterGroups (Maybe Text)
 ddpgMarker = lens _ddpgMarker (\ s a -> s{_ddpgMarker = 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.
+-- | 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.
 ddpgMaxRecords :: Lens' DescribeDBParameterGroups (Maybe Int)
 ddpgMaxRecords = lens _ddpgMaxRecords (\ s a -> s{_ddpgMaxRecords = a});
 
@@ -151,8 +142,10 @@
                "Marker" =: _ddpgMarker,
                "MaxRecords" =: _ddpgMaxRecords]
 
--- | Contains the result of a successful invocation of the < DescribeDBParameterGroups> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBParameterGroups' action.
 --
+--
+--
 -- /See:/ 'describeDBParameterGroupsResponse' smart constructor.
 data DescribeDBParameterGroupsResponse = DescribeDBParameterGroupsResponse'
     { _ddpgrsMarker            :: !(Maybe Text)
@@ -164,11 +157,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddpgrsMarker'
+-- * 'ddpgrsMarker' - 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@ .
 --
--- * 'ddpgrsDBParameterGroups'
+-- * 'ddpgrsDBParameterGroups' - A list of 'DBParameterGroup' instances.
 --
--- * 'ddpgrsResponseStatus'
+-- * 'ddpgrsResponseStatus' - -- | The response status code.
 describeDBParameterGroupsResponse
     :: Int -- ^ 'ddpgrsResponseStatus'
     -> DescribeDBParameterGroupsResponse
@@ -179,15 +172,15 @@
     , _ddpgrsResponseStatus = pResponseStatus_
     }
 
--- | 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'.
+-- | 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@ .
 ddpgrsMarker :: Lens' DescribeDBParameterGroupsResponse (Maybe Text)
 ddpgrsMarker = lens _ddpgrsMarker (\ s a -> s{_ddpgrsMarker = a});
 
--- | A list of < DBParameterGroup> instances.
+-- | A list of 'DBParameterGroup' instances.
 ddpgrsDBParameterGroups :: Lens' DescribeDBParameterGroupsResponse [DBParameterGroup]
 ddpgrsDBParameterGroups = lens _ddpgrsDBParameterGroups (\ s a -> s{_ddpgrsDBParameterGroups = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ddpgrsResponseStatus :: Lens' DescribeDBParameterGroupsResponse Int
 ddpgrsResponseStatus = lens _ddpgrsResponseStatus (\ s a -> s{_ddpgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBParameters.hs b/gen/Network/AWS/RDS/DescribeDBParameters.hs
--- a/gen/Network/AWS/RDS/DescribeDBParameters.hs
+++ b/gen/Network/AWS/RDS/DescribeDBParameters.hs
@@ -20,6 +20,8 @@
 --
 -- Returns the detailed parameter list for a particular DB parameter group.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBParameters
     (
@@ -63,15 +65,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddpFilters'
+-- * 'ddpFilters' - This parameter is not currently supported.
 --
--- * 'ddpMarker'
+-- * 'ddpMarker' - 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@ .
 --
--- * 'ddpMaxRecords'
+-- * 'ddpMaxRecords' - 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.
 --
--- * 'ddpSource'
+-- * 'ddpSource' - The parameter types to return. Default: All parameter types returned Valid Values: @user | system | engine-default@
 --
--- * 'ddpDBParameterGroupName'
+-- * 'ddpDBParameterGroupName' - 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
 describeDBParameters
     :: Text -- ^ 'ddpDBParameterGroupName'
     -> DescribeDBParameters
@@ -88,36 +90,19 @@
 ddpFilters :: Lens' DescribeDBParameters [Filter]
 ddpFilters = lens _ddpFilters (\ s a -> s{_ddpFilters = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 ddpMarker :: Lens' DescribeDBParameters (Maybe Text)
 ddpMarker = lens _ddpMarker (\ s a -> s{_ddpMarker = 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.
+-- | 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.
 ddpMaxRecords :: Lens' DescribeDBParameters (Maybe Int)
 ddpMaxRecords = lens _ddpMaxRecords (\ s a -> s{_ddpMaxRecords = a});
 
--- | The parameter types to return.
---
--- Default: All parameter types returned
---
--- Valid Values: 'user | system | engine-default'
+-- | The parameter types to return. Default: All parameter types returned Valid Values: @user | system | engine-default@
 ddpSource :: Lens' DescribeDBParameters (Maybe Text)
 ddpSource = lens _ddpSource (\ s a -> s{_ddpSource = a});
 
--- | 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
---
+-- | 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
 ddpDBParameterGroupName :: Lens' DescribeDBParameters Text
 ddpDBParameterGroupName = lens _ddpDBParameterGroupName (\ s a -> s{_ddpDBParameterGroupName = a});
 
@@ -163,8 +148,10 @@
                "Source" =: _ddpSource,
                "DBParameterGroupName" =: _ddpDBParameterGroupName]
 
--- | Contains the result of a successful invocation of the < DescribeDBParameters> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBParameters' action.
 --
+--
+--
 -- /See:/ 'describeDBParametersResponse' smart constructor.
 data DescribeDBParametersResponse = DescribeDBParametersResponse'
     { _ddprsMarker         :: !(Maybe Text)
@@ -176,11 +163,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddprsMarker'
+-- * 'ddprsMarker' - 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@ .
 --
--- * 'ddprsParameters'
+-- * 'ddprsParameters' - A list of 'Parameter' values.
 --
--- * 'ddprsResponseStatus'
+-- * 'ddprsResponseStatus' - -- | The response status code.
 describeDBParametersResponse
     :: Int -- ^ 'ddprsResponseStatus'
     -> DescribeDBParametersResponse
@@ -191,15 +178,15 @@
     , _ddprsResponseStatus = pResponseStatus_
     }
 
--- | 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'.
+-- | 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@ .
 ddprsMarker :: Lens' DescribeDBParametersResponse (Maybe Text)
 ddprsMarker = lens _ddprsMarker (\ s a -> s{_ddprsMarker = a});
 
--- | A list of < Parameter> values.
+-- | A list of 'Parameter' values.
 ddprsParameters :: Lens' DescribeDBParametersResponse [Parameter]
 ddprsParameters = lens _ddprsParameters (\ s a -> s{_ddprsParameters = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ddprsResponseStatus :: Lens' DescribeDBParametersResponse Int
 ddprsResponseStatus = lens _ddprsResponseStatus (\ s a -> s{_ddprsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBSecurityGroups.hs b/gen/Network/AWS/RDS/DescribeDBSecurityGroups.hs
--- a/gen/Network/AWS/RDS/DescribeDBSecurityGroups.hs
+++ b/gen/Network/AWS/RDS/DescribeDBSecurityGroups.hs
@@ -18,8 +18,10 @@
 -- Stability   : auto-generated
 -- 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.
+-- Returns a list of @DBSecurityGroup@ descriptions. If a @DBSecurityGroupName@ is specified, the list will contain only the descriptions of the specified DB security group.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBSecurityGroups
     (
@@ -51,6 +53,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBSecurityGroups' smart constructor.
 data DescribeDBSecurityGroups = DescribeDBSecurityGroups'
     { _ddbsgFilters             :: !(Maybe [Filter])
@@ -63,13 +67,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbsgFilters'
+-- * 'ddbsgFilters' - This parameter is not currently supported.
 --
--- * 'ddbsgMarker'
+-- * 'ddbsgMarker' - 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@ .
 --
--- * 'ddbsgMaxRecords'
+-- * 'ddbsgMaxRecords' - 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.
 --
--- * 'ddbsgDBSecurityGroupName'
+-- * 'ddbsgDBSecurityGroupName' - The name of the DB security group to return details for.
 describeDBSecurityGroups
     :: DescribeDBSecurityGroups
 describeDBSecurityGroups =
@@ -84,15 +88,11 @@
 ddbsgFilters :: Lens' DescribeDBSecurityGroups [Filter]
 ddbsgFilters = lens _ddbsgFilters (\ s a -> s{_ddbsgFilters = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 ddbsgMarker :: Lens' DescribeDBSecurityGroups (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 can be retrieved.
---
--- Default: 100
---
--- Constraints: Minimum 20, maximum 100.
+-- | 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.
 ddbsgMaxRecords :: Lens' DescribeDBSecurityGroups (Maybe Int)
 ddbsgMaxRecords = lens _ddbsgMaxRecords (\ s a -> s{_ddbsgMaxRecords = a});
 
@@ -142,8 +142,10 @@
                "MaxRecords" =: _ddbsgMaxRecords,
                "DBSecurityGroupName" =: _ddbsgDBSecurityGroupName]
 
--- | Contains the result of a successful invocation of the < DescribeDBSecurityGroups> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBSecurityGroups' action.
 --
+--
+--
 -- /See:/ 'describeDBSecurityGroupsResponse' smart constructor.
 data DescribeDBSecurityGroupsResponse = DescribeDBSecurityGroupsResponse'
     { _ddbsgrsDBSecurityGroups :: !(Maybe [DBSecurityGroup])
@@ -155,11 +157,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddbsgrsDBSecurityGroups'
+-- * 'ddbsgrsDBSecurityGroups' - A list of 'DBSecurityGroup' instances.
 --
--- * 'ddbsgrsMarker'
+-- * 'ddbsgrsMarker' - 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@ .
 --
--- * 'ddbsgrsResponseStatus'
+-- * 'ddbsgrsResponseStatus' - -- | The response status code.
 describeDBSecurityGroupsResponse
     :: Int -- ^ 'ddbsgrsResponseStatus'
     -> DescribeDBSecurityGroupsResponse
@@ -170,15 +172,15 @@
     , _ddbsgrsResponseStatus = pResponseStatus_
     }
 
--- | A list of < DBSecurityGroup> instances.
+-- | A list of 'DBSecurityGroup' instances.
 ddbsgrsDBSecurityGroups :: Lens' DescribeDBSecurityGroupsResponse [DBSecurityGroup]
 ddbsgrsDBSecurityGroups = lens _ddbsgrsDBSecurityGroups (\ s a -> s{_ddbsgrsDBSecurityGroups = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 ddbsgrsMarker :: Lens' DescribeDBSecurityGroupsResponse (Maybe Text)
 ddbsgrsMarker = lens _ddbsgrsMarker (\ s a -> s{_ddbsgrsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddbsgrsResponseStatus :: Lens' DescribeDBSecurityGroupsResponse Int
 ddbsgrsResponseStatus = lens _ddbsgrsResponseStatus (\ s a -> s{_ddbsgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBSnapshotAttributes.hs b/gen/Network/AWS/RDS/DescribeDBSnapshotAttributes.hs
--- a/gen/Network/AWS/RDS/DescribeDBSnapshotAttributes.hs
+++ b/gen/Network/AWS/RDS/DescribeDBSnapshotAttributes.hs
@@ -20,9 +20,11 @@
 --
 -- Returns a list of DB snapshot attribute names and values for a manual DB snapshot.
 --
--- When sharing snapshots with other AWS accounts, 'DescribeDBSnapshotAttributes' returns the 'restore' attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If 'all' is included in the list of values for the 'restore' attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts.
 --
--- To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the < ModifyDBSnapshotAttribute> API action.
+-- When sharing snapshots with other AWS accounts, @DescribeDBSnapshotAttributes@ returns the @restore@ attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If @all@ is included in the list of values for the @restore@ attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts.
+--
+-- To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the 'ModifyDBSnapshotAttribute' API action.
+--
 module Network.AWS.RDS.DescribeDBSnapshotAttributes
     (
     -- * Creating a Request
@@ -48,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBSnapshotAttributes' smart constructor.
 newtype DescribeDBSnapshotAttributes = DescribeDBSnapshotAttributes'
     { _ddsaDBSnapshotIdentifier :: Text
@@ -57,7 +61,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddsaDBSnapshotIdentifier'
+-- * 'ddsaDBSnapshotIdentifier' - The identifier for the DB snapshot to describe the attributes for.
 describeDBSnapshotAttributes
     :: Text -- ^ 'ddsaDBSnapshotIdentifier'
     -> DescribeDBSnapshotAttributes
@@ -111,9 +115,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddsarsDBSnapshotAttributesResult'
+-- * 'ddsarsDBSnapshotAttributesResult' - Undocumented member.
 --
--- * 'ddsarsResponseStatus'
+-- * 'ddsarsResponseStatus' - -- | The response status code.
 describeDBSnapshotAttributesResponse
     :: Int -- ^ 'ddsarsResponseStatus'
     -> DescribeDBSnapshotAttributesResponse
@@ -127,7 +131,7 @@
 ddsarsDBSnapshotAttributesResult :: Lens' DescribeDBSnapshotAttributesResponse (Maybe DBSnapshotAttributesResult)
 ddsarsDBSnapshotAttributesResult = lens _ddsarsDBSnapshotAttributesResult (\ s a -> s{_ddsarsDBSnapshotAttributesResult = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddsarsResponseStatus :: Lens' DescribeDBSnapshotAttributesResponse Int
 ddsarsResponseStatus = lens _ddsarsResponseStatus (\ s a -> s{_ddsarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBSnapshots.hs b/gen/Network/AWS/RDS/DescribeDBSnapshots.hs
--- a/gen/Network/AWS/RDS/DescribeDBSnapshots.hs
+++ b/gen/Network/AWS/RDS/DescribeDBSnapshots.hs
@@ -20,6 +20,8 @@
 --
 -- Returns information about DB snapshots. This API action supports pagination.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBSnapshots
     (
@@ -55,6 +57,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBSnapshots' smart constructor.
 data DescribeDBSnapshots = DescribeDBSnapshots'
     { _ddsIncludeShared        :: !(Maybe Bool)
@@ -71,21 +75,21 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddsIncludeShared'
+-- * 'ddsIncludeShared' - Set this value to @true@ to include shared manual DB snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to @false@ . The default is @false@ . You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the 'ModifyDBSnapshotAttribute' API action.
 --
--- * 'ddsFilters'
+-- * 'ddsFilters' - This parameter is not currently supported.
 --
--- * 'ddsDBSnapshotIdentifier'
+-- * 'ddsDBSnapshotIdentifier' - A specific DB snapshot identifier to describe. This parameter 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 identifier is for an automated snapshot, the @SnapshotType@ parameter must also be specified.
 --
--- * 'ddsSnapshotType'
+-- * 'ddsSnapshotType' - The type of snapshots to be returned. You can specify one of the following values:     * @automated@ - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.     * @manual@ - Return all DB snapshots that have been taken by my AWS account.     * @shared@ - Return all manual DB snapshots that have been shared to my AWS account.     * @public@ - Return all DB snapshots that have been marked as public. If you don't specify a @SnapshotType@ value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by setting the @IncludeShared@ parameter to @true@ . You can include public snapshots with these results by setting the @IncludePublic@ parameter to @true@ . The @IncludeShared@ and @IncludePublic@ parameters don't apply for @SnapshotType@ values of @manual@ or @automated@ . The @IncludePublic@ parameter doesn't apply when @SnapshotType@ is set to @shared@ . The @IncludeShared@ parameter doesn't apply when @SnapshotType@ is set to @public@ .
 --
--- * 'ddsDBInstanceIdentifier'
+-- * 'ddsDBInstanceIdentifier' - The ID of the DB instance to retrieve the list of DB snapshots for. This parameter 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
 --
--- * 'ddsMarker'
+-- * 'ddsMarker' - 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@ .
 --
--- * 'ddsMaxRecords'
+-- * 'ddsMaxRecords' - 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.
 --
--- * 'ddsIncludePublic'
+-- * 'ddsIncludePublic' - Set this value to @true@ to include manual DB snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to @false@ . The default is @false@ . You can share a manual DB snapshot as public by using the 'ModifyDBSnapshotAttribute' API.
 describeDBSnapshots
     :: DescribeDBSnapshots
 describeDBSnapshots =
@@ -100,9 +104,7 @@
     , _ddsIncludePublic = Nothing
     }
 
--- | Set this value to 'true' to include shared manual DB snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to 'false'. The default is 'false'.
---
--- You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the < ModifyDBSnapshotAttribute> API action.
+-- | Set this value to @true@ to include shared manual DB snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to @false@ . The default is @false@ . You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the 'ModifyDBSnapshotAttribute' API action.
 ddsIncludeShared :: Lens' DescribeDBSnapshots (Maybe Bool)
 ddsIncludeShared = lens _ddsIncludeShared (\ s a -> s{_ddsIncludeShared = a});
 
@@ -110,65 +112,27 @@
 ddsFilters :: Lens' DescribeDBSnapshots [Filter]
 ddsFilters = lens _ddsFilters (\ s a -> s{_ddsFilters = a}) . _Default . _Coerce;
 
--- | A specific DB snapshot identifier to describe. This parameter 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 identifier is for an automated snapshot, the 'SnapshotType' parameter must also be specified.
---
+-- | A specific DB snapshot identifier to describe. This parameter 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 identifier is for an automated snapshot, the @SnapshotType@ parameter must also be specified.
 ddsDBSnapshotIdentifier :: Lens' DescribeDBSnapshots (Maybe Text)
 ddsDBSnapshotIdentifier = lens _ddsDBSnapshotIdentifier (\ s a -> s{_ddsDBSnapshotIdentifier = a});
 
--- | The type of snapshots to be returned. You can specify one of the following values:
---
--- -   'automated' - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.
---
--- -   'manual' - Return all DB snapshots that have been taken by my AWS account.
---
--- -   'shared' - Return all manual DB snapshots that have been shared to my AWS account.
---
--- -   'public' - Return all DB snapshots that have been marked as public.
---
--- If you don\'t specify a 'SnapshotType' value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by setting the 'IncludeShared' parameter to 'true'. You can include public snapshots with these results by setting the 'IncludePublic' parameter to 'true'.
---
--- The 'IncludeShared' and 'IncludePublic' parameters don\'t apply for 'SnapshotType' values of 'manual' or 'automated'. The 'IncludePublic' parameter doesn\'t apply when 'SnapshotType' is set to 'shared'. The 'IncludeShared' parameter doesn\'t apply when 'SnapshotType' is set to 'public'.
+-- | The type of snapshots to be returned. You can specify one of the following values:     * @automated@ - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.     * @manual@ - Return all DB snapshots that have been taken by my AWS account.     * @shared@ - Return all manual DB snapshots that have been shared to my AWS account.     * @public@ - Return all DB snapshots that have been marked as public. If you don't specify a @SnapshotType@ value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by setting the @IncludeShared@ parameter to @true@ . You can include public snapshots with these results by setting the @IncludePublic@ parameter to @true@ . The @IncludeShared@ and @IncludePublic@ parameters don't apply for @SnapshotType@ values of @manual@ or @automated@ . The @IncludePublic@ parameter doesn't apply when @SnapshotType@ is set to @shared@ . The @IncludeShared@ parameter doesn't apply when @SnapshotType@ is set to @public@ .
 ddsSnapshotType :: Lens' DescribeDBSnapshots (Maybe Text)
 ddsSnapshotType = lens _ddsSnapshotType (\ s a -> s{_ddsSnapshotType = a});
 
--- | The ID of the DB instance to retrieve the list of DB snapshots for. This parameter 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
---
+-- | The ID of the DB instance to retrieve the list of DB snapshots for. This parameter 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
 ddsDBInstanceIdentifier :: Lens' DescribeDBSnapshots (Maybe Text)
 ddsDBInstanceIdentifier = lens _ddsDBInstanceIdentifier (\ s a -> s{_ddsDBInstanceIdentifier = a});
 
--- | 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'.
+-- | 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@ .
 ddsMarker :: Lens' DescribeDBSnapshots (Maybe Text)
 ddsMarker = lens _ddsMarker (\ s a -> s{_ddsMarker = 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.
+-- | 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.
 ddsMaxRecords :: Lens' DescribeDBSnapshots (Maybe Int)
 ddsMaxRecords = lens _ddsMaxRecords (\ s a -> s{_ddsMaxRecords = a});
 
--- | Set this value to 'true' to include manual DB snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to 'false'. The default is 'false'.
---
--- You can share a manual DB snapshot as public by using the < ModifyDBSnapshotAttribute> API.
+-- | Set this value to @true@ to include manual DB snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to @false@ . The default is @false@ . You can share a manual DB snapshot as public by using the 'ModifyDBSnapshotAttribute' API.
 ddsIncludePublic :: Lens' DescribeDBSnapshots (Maybe Bool)
 ddsIncludePublic = lens _ddsIncludePublic (\ s a -> s{_ddsIncludePublic = a});
 
@@ -217,8 +181,10 @@
                "MaxRecords" =: _ddsMaxRecords,
                "IncludePublic" =: _ddsIncludePublic]
 
--- | Contains the result of a successful invocation of the < DescribeDBSnapshots> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBSnapshots' action.
 --
+--
+--
 -- /See:/ 'describeDBSnapshotsResponse' smart constructor.
 data DescribeDBSnapshotsResponse = DescribeDBSnapshotsResponse'
     { _ddsrsMarker         :: !(Maybe Text)
@@ -230,11 +196,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddsrsMarker'
+-- * 'ddsrsMarker' - 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@ .
 --
--- * 'ddsrsDBSnapshots'
+-- * 'ddsrsDBSnapshots' - A list of 'DBSnapshot' instances.
 --
--- * 'ddsrsResponseStatus'
+-- * 'ddsrsResponseStatus' - -- | The response status code.
 describeDBSnapshotsResponse
     :: Int -- ^ 'ddsrsResponseStatus'
     -> DescribeDBSnapshotsResponse
@@ -245,15 +211,15 @@
     , _ddsrsResponseStatus = pResponseStatus_
     }
 
--- | 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'.
+-- | 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@ .
 ddsrsMarker :: Lens' DescribeDBSnapshotsResponse (Maybe Text)
 ddsrsMarker = lens _ddsrsMarker (\ s a -> s{_ddsrsMarker = a});
 
--- | A list of < DBSnapshot> instances.
+-- | A list of 'DBSnapshot' instances.
 ddsrsDBSnapshots :: Lens' DescribeDBSnapshotsResponse [DBSnapshot]
 ddsrsDBSnapshots = lens _ddsrsDBSnapshots (\ s a -> s{_ddsrsDBSnapshots = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ddsrsResponseStatus :: Lens' DescribeDBSnapshotsResponse Int
 ddsrsResponseStatus = lens _ddsrsResponseStatus (\ s a -> s{_ddsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeDBSubnetGroups.hs b/gen/Network/AWS/RDS/DescribeDBSubnetGroups.hs
--- a/gen/Network/AWS/RDS/DescribeDBSubnetGroups.hs
+++ b/gen/Network/AWS/RDS/DescribeDBSubnetGroups.hs
@@ -20,8 +20,10 @@
 --
 -- 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 <http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Wikipedia Tutorial>.
 --
+-- For an overview of CIDR ranges, go to the <http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Wikipedia Tutorial> .
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeDBSubnetGroups
     (
@@ -53,6 +55,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeDBSubnetGroups' smart constructor.
 data DescribeDBSubnetGroups = DescribeDBSubnetGroups'
     { _ddsgDBSubnetGroupName :: !(Maybe Text)
@@ -65,13 +69,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddsgDBSubnetGroupName'
+-- * 'ddsgDBSubnetGroupName' - The name of the DB subnet group to return details for.
 --
--- * 'ddsgFilters'
+-- * 'ddsgFilters' - This parameter is not currently supported.
 --
--- * 'ddsgMarker'
+-- * 'ddsgMarker' - 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@ .
 --
--- * 'ddsgMaxRecords'
+-- * 'ddsgMaxRecords' - 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.
 describeDBSubnetGroups
     :: DescribeDBSubnetGroups
 describeDBSubnetGroups =
@@ -90,15 +94,11 @@
 ddsgFilters :: Lens' DescribeDBSubnetGroups [Filter]
 ddsgFilters = lens _ddsgFilters (\ s a -> s{_ddsgFilters = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 ddsgMarker :: Lens' DescribeDBSubnetGroups (Maybe Text)
 ddsgMarker = lens _ddsgMarker (\ s a -> s{_ddsgMarker = 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.
+-- | 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.
 ddsgMaxRecords :: Lens' DescribeDBSubnetGroups (Maybe Int)
 ddsgMaxRecords = lens _ddsgMaxRecords (\ s a -> s{_ddsgMaxRecords = a});
 
@@ -144,8 +144,10 @@
                "Marker" =: _ddsgMarker,
                "MaxRecords" =: _ddsgMaxRecords]
 
--- | Contains the result of a successful invocation of the < DescribeDBSubnetGroups> action.
+-- | Contains the result of a successful invocation of the 'DescribeDBSubnetGroups' action.
 --
+--
+--
 -- /See:/ 'describeDBSubnetGroupsResponse' smart constructor.
 data DescribeDBSubnetGroupsResponse = DescribeDBSubnetGroupsResponse'
     { _ddsgrsDBSubnetGroups :: !(Maybe [DBSubnetGroup])
@@ -157,11 +159,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddsgrsDBSubnetGroups'
+-- * 'ddsgrsDBSubnetGroups' - A list of 'DBSubnetGroup' instances.
 --
--- * 'ddsgrsMarker'
+-- * 'ddsgrsMarker' - 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@ .
 --
--- * 'ddsgrsResponseStatus'
+-- * 'ddsgrsResponseStatus' - -- | The response status code.
 describeDBSubnetGroupsResponse
     :: Int -- ^ 'ddsgrsResponseStatus'
     -> DescribeDBSubnetGroupsResponse
@@ -172,15 +174,15 @@
     , _ddsgrsResponseStatus = pResponseStatus_
     }
 
--- | A list of < DBSubnetGroup> instances.
+-- | A list of 'DBSubnetGroup' instances.
 ddsgrsDBSubnetGroups :: Lens' DescribeDBSubnetGroupsResponse [DBSubnetGroup]
 ddsgrsDBSubnetGroups = lens _ddsgrsDBSubnetGroups (\ s a -> s{_ddsgrsDBSubnetGroups = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 ddsgrsMarker :: Lens' DescribeDBSubnetGroupsResponse (Maybe Text)
 ddsgrsMarker = lens _ddsgrsMarker (\ s a -> s{_ddsgrsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddsgrsResponseStatus :: Lens' DescribeDBSubnetGroupsResponse Int
 ddsgrsResponseStatus = lens _ddsgrsResponseStatus (\ s a -> s{_ddsgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeEngineDefaultClusterParameters.hs b/gen/Network/AWS/RDS/DescribeEngineDefaultClusterParameters.hs
--- a/gen/Network/AWS/RDS/DescribeEngineDefaultClusterParameters.hs
+++ b/gen/Network/AWS/RDS/DescribeEngineDefaultClusterParameters.hs
@@ -20,7 +20,9 @@
 --
 -- Returns the default engine and system parameter information for the cluster database engine.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.DescribeEngineDefaultClusterParameters
     (
     -- * Creating a Request
@@ -49,6 +51,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeEngineDefaultClusterParameters' smart constructor.
 data DescribeEngineDefaultClusterParameters = DescribeEngineDefaultClusterParameters'
     { _dedcpFilters                :: !(Maybe [Filter])
@@ -61,13 +65,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dedcpFilters'
+-- * 'dedcpFilters' - This parameter is not currently supported.
 --
--- * 'dedcpMarker'
+-- * 'dedcpMarker' - An optional pagination token provided by a previous @DescribeEngineDefaultClusterParameters@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'dedcpMaxRecords'
+-- * 'dedcpMaxRecords' - 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.
 --
--- * 'dedcpDBParameterGroupFamily'
+-- * 'dedcpDBParameterGroupFamily' - The name of the DB cluster parameter group family to return engine parameter information for.
 describeEngineDefaultClusterParameters
     :: Text -- ^ 'dedcpDBParameterGroupFamily'
     -> DescribeEngineDefaultClusterParameters
@@ -83,15 +87,11 @@
 dedcpFilters :: Lens' DescribeEngineDefaultClusterParameters [Filter]
 dedcpFilters = lens _dedcpFilters (\ s a -> s{_dedcpFilters = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous 'DescribeEngineDefaultClusterParameters' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous @DescribeEngineDefaultClusterParameters@ request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 dedcpMarker :: Lens' DescribeEngineDefaultClusterParameters (Maybe Text)
 dedcpMarker = lens _dedcpMarker (\ s a -> s{_dedcpMarker = 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.
+-- | 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.
 dedcpMaxRecords :: Lens' DescribeEngineDefaultClusterParameters (Maybe Int)
 dedcpMaxRecords = lens _dedcpMaxRecords (\ s a -> s{_dedcpMaxRecords = a});
 
@@ -150,9 +150,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dedcprsEngineDefaults'
+-- * 'dedcprsEngineDefaults' - Undocumented member.
 --
--- * 'dedcprsResponseStatus'
+-- * 'dedcprsResponseStatus' - -- | The response status code.
 describeEngineDefaultClusterParametersResponse
     :: Int -- ^ 'dedcprsResponseStatus'
     -> DescribeEngineDefaultClusterParametersResponse
@@ -166,7 +166,7 @@
 dedcprsEngineDefaults :: Lens' DescribeEngineDefaultClusterParametersResponse (Maybe EngineDefaults)
 dedcprsEngineDefaults = lens _dedcprsEngineDefaults (\ s a -> s{_dedcprsEngineDefaults = a});
 
--- | The response status code.
+-- | -- | The response status code.
 dedcprsResponseStatus :: Lens' DescribeEngineDefaultClusterParametersResponse Int
 dedcprsResponseStatus = lens _dedcprsResponseStatus (\ s a -> s{_dedcprsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeEngineDefaultParameters.hs b/gen/Network/AWS/RDS/DescribeEngineDefaultParameters.hs
--- a/gen/Network/AWS/RDS/DescribeEngineDefaultParameters.hs
+++ b/gen/Network/AWS/RDS/DescribeEngineDefaultParameters.hs
@@ -20,6 +20,8 @@
 --
 -- Returns the default engine and system parameter information for the specified database engine.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeEngineDefaultParameters
     (
@@ -50,6 +52,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeEngineDefaultParameters' smart constructor.
 data DescribeEngineDefaultParameters = DescribeEngineDefaultParameters'
     { _dedpFilters                :: !(Maybe [Filter])
@@ -62,13 +66,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dedpFilters'
+-- * 'dedpFilters' - Not currently supported.
 --
--- * 'dedpMarker'
+-- * 'dedpMarker' - 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@ .
 --
--- * 'dedpMaxRecords'
+-- * 'dedpMaxRecords' - 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.
 --
--- * 'dedpDBParameterGroupFamily'
+-- * 'dedpDBParameterGroupFamily' - The name of the DB parameter group family.
 describeEngineDefaultParameters
     :: Text -- ^ 'dedpDBParameterGroupFamily'
     -> DescribeEngineDefaultParameters
@@ -84,15 +88,11 @@
 dedpFilters :: Lens' DescribeEngineDefaultParameters [Filter]
 dedpFilters = lens _dedpFilters (\ s a -> s{_dedpFilters = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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 can be retrieved.
---
--- Default: 100
---
--- Constraints: Minimum 20, maximum 100.
+-- | 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.
 dedpMaxRecords :: Lens' DescribeEngineDefaultParameters (Maybe Int)
 dedpMaxRecords = lens _dedpMaxRecords (\ s a -> s{_dedpMaxRecords = a});
 
@@ -160,9 +160,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dedprsResponseStatus'
+-- * 'dedprsResponseStatus' - -- | The response status code.
 --
--- * 'dedprsEngineDefaults'
+-- * 'dedprsEngineDefaults' - Undocumented member.
 describeEngineDefaultParametersResponse
     :: Int -- ^ 'dedprsResponseStatus'
     -> EngineDefaults -- ^ 'dedprsEngineDefaults'
@@ -173,7 +173,7 @@
     , _dedprsEngineDefaults = pEngineDefaults_
     }
 
--- | The response status code.
+-- | -- | The response status code.
 dedprsResponseStatus :: Lens' DescribeEngineDefaultParametersResponse Int
 dedprsResponseStatus = lens _dedprsResponseStatus (\ s a -> s{_dedprsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeEventCategories.hs b/gen/Network/AWS/RDS/DescribeEventCategories.hs
--- a/gen/Network/AWS/RDS/DescribeEventCategories.hs
+++ b/gen/Network/AWS/RDS/DescribeEventCategories.hs
@@ -19,6 +19,8 @@
 -- 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html Events> topic in the /Amazon RDS User Guide./
+--
+--
 module Network.AWS.RDS.DescribeEventCategories
     (
     -- * Creating a Request
@@ -45,6 +47,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeEventCategories' smart constructor.
 data DescribeEventCategories = DescribeEventCategories'
     { _decSourceType :: !(Maybe Text)
@@ -55,9 +59,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'decSourceType'
+-- * 'decSourceType' - The type of source that will be generating the events. Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
 --
--- * 'decFilters'
+-- * 'decFilters' - This parameter is not currently supported.
 describeEventCategories
     :: DescribeEventCategories
 describeEventCategories =
@@ -66,9 +70,7 @@
     , _decFilters = Nothing
     }
 
--- | The type of source that will be generating the events.
---
--- Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
+-- | 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});
 
@@ -110,6 +112,8 @@
 
 -- | Data returned from the __DescribeEventCategories__ action.
 --
+--
+--
 -- /See:/ 'describeEventCategoriesResponse' smart constructor.
 data DescribeEventCategoriesResponse = DescribeEventCategoriesResponse'
     { _decrsEventCategoriesMapList :: !(Maybe [EventCategoriesMap])
@@ -120,9 +124,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'decrsEventCategoriesMapList'
+-- * 'decrsEventCategoriesMapList' - A list of EventCategoriesMap data types.
 --
--- * 'decrsResponseStatus'
+-- * 'decrsResponseStatus' - -- | The response status code.
 describeEventCategoriesResponse
     :: Int -- ^ 'decrsResponseStatus'
     -> DescribeEventCategoriesResponse
@@ -136,7 +140,7 @@
 decrsEventCategoriesMapList :: Lens' DescribeEventCategoriesResponse [EventCategoriesMap]
 decrsEventCategoriesMapList = lens _decrsEventCategoriesMapList (\ s a -> s{_decrsEventCategoriesMapList = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 decrsResponseStatus :: Lens' DescribeEventCategoriesResponse Int
 decrsResponseStatus = lens _decrsResponseStatus (\ s a -> s{_decrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeEventSubscriptions.hs b/gen/Network/AWS/RDS/DescribeEventSubscriptions.hs
--- a/gen/Network/AWS/RDS/DescribeEventSubscriptions.hs
+++ b/gen/Network/AWS/RDS/DescribeEventSubscriptions.hs
@@ -20,8 +20,10 @@
 --
 -- 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.
 --
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeEventSubscriptions
     (
@@ -53,6 +55,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeEventSubscriptions' smart constructor.
 data DescribeEventSubscriptions = DescribeEventSubscriptions'
     { _dSubscriptionName :: !(Maybe Text)
@@ -65,13 +69,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dSubscriptionName'
+-- * 'dSubscriptionName' - The name of the RDS event notification subscription you want to describe.
 --
--- * 'dFilters'
+-- * 'dFilters' - This parameter is not currently supported.
 --
--- * 'dMarker'
+-- * 'dMarker' - 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@ .
 --
--- * 'dMaxRecords'
+-- * 'dMaxRecords' - 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.
 describeEventSubscriptions
     :: DescribeEventSubscriptions
 describeEventSubscriptions =
@@ -90,15 +94,11 @@
 dFilters :: Lens' DescribeEventSubscriptions [Filter]
 dFilters = lens _dFilters (\ s a -> s{_dFilters = a}) . _Default . _Coerce;
 
--- | 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' .
+-- | 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@ .
 dMarker :: Lens' DescribeEventSubscriptions (Maybe Text)
 dMarker = lens _dMarker (\ s a -> s{_dMarker = 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.
+-- | 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.
 dMaxRecords :: Lens' DescribeEventSubscriptions (Maybe Int)
 dMaxRecords = lens _dMaxRecords (\ s a -> s{_dMaxRecords = a});
 
@@ -146,6 +146,8 @@
 
 -- | Data returned by the __DescribeEventSubscriptions__ action.
 --
+--
+--
 -- /See:/ 'describeEventSubscriptionsResponse' smart constructor.
 data DescribeEventSubscriptionsResponse = DescribeEventSubscriptionsResponse'
     { _desrsEventSubscriptionsList :: !(Maybe [EventSubscription])
@@ -157,11 +159,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'desrsEventSubscriptionsList'
+-- * 'desrsEventSubscriptionsList' - A list of EventSubscriptions data types.
 --
--- * 'desrsMarker'
+-- * 'desrsMarker' - 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@ .
 --
--- * 'desrsResponseStatus'
+-- * 'desrsResponseStatus' - -- | The response status code.
 describeEventSubscriptionsResponse
     :: Int -- ^ 'desrsResponseStatus'
     -> DescribeEventSubscriptionsResponse
@@ -176,11 +178,11 @@
 desrsEventSubscriptionsList :: Lens' DescribeEventSubscriptionsResponse [EventSubscription]
 desrsEventSubscriptionsList = lens _desrsEventSubscriptionsList (\ s a -> s{_desrsEventSubscriptionsList = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 desrsMarker :: Lens' DescribeEventSubscriptionsResponse (Maybe Text)
 desrsMarker = lens _desrsMarker (\ s a -> s{_desrsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 desrsResponseStatus :: Lens' DescribeEventSubscriptionsResponse Int
 desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeEvents.hs b/gen/Network/AWS/RDS/DescribeEvents.hs
--- a/gen/Network/AWS/RDS/DescribeEvents.hs
+++ b/gen/Network/AWS/RDS/DescribeEvents.hs
@@ -20,6 +20,8 @@
 --
 -- 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.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeEvents
     (
@@ -56,6 +58,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeEvents' smart constructor.
 data DescribeEvents = DescribeEvents'
     { _deStartTime        :: !(Maybe ISO8601)
@@ -73,23 +77,23 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'deStartTime'
+-- * 'deStartTime' - The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>  Example: 2009-07-08T18:00Z
 --
--- * 'deSourceType'
+-- * 'deSourceType' - The event source to retrieve events for. If no value is specified, all events are returned.
 --
--- * 'deFilters'
+-- * 'deFilters' - This parameter is not currently supported.
 --
--- * 'deSourceIdentifier'
+-- * 'deSourceIdentifier' - 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.
 --
--- * 'deEventCategories'
+-- * 'deEventCategories' - A list of event categories that trigger notifications for a event notification subscription.
 --
--- * 'deMarker'
+-- * 'deMarker' - 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@ .
 --
--- * 'deMaxRecords'
+-- * 'deMaxRecords' - 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.
 --
--- * 'deEndTime'
+-- * 'deEndTime' - 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 <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>  Example: 2009-07-08T18:00Z
 --
--- * 'deDuration'
+-- * 'deDuration' - The number of minutes to retrieve events for. Default: 60
 describeEvents
     :: DescribeEvents
 describeEvents =
@@ -105,9 +109,7 @@
     , _deDuration = Nothing
     }
 
--- | The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>
---
--- Example: 2009-07-08T18:00Z
+-- | The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>  Example: 2009-07-08T18:00Z
 deStartTime :: Lens' DescribeEvents (Maybe UTCTime)
 deStartTime = lens _deStartTime (\ s a -> s{_deStartTime = a}) . mapping _Time;
 
@@ -119,22 +121,7 @@
 deFilters :: Lens' DescribeEvents [Filter]
 deFilters = lens _deFilters (\ s a -> s{_deFilters = a}) . _Default . _Coerce;
 
--- | 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.
---
+-- | 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});
 
@@ -142,27 +129,19 @@
 deEventCategories :: Lens' DescribeEvents [Text]
 deEventCategories = lens _deEventCategories (\ s a -> s{_deEventCategories = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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 can be retrieved.
---
--- Default: 100
---
--- Constraints: Minimum 20, maximum 100.
+-- | 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.
 deMaxRecords :: Lens' DescribeEvents (Maybe Int)
 deMaxRecords = lens _deMaxRecords (\ s a -> s{_deMaxRecords = 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 <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>
---
--- Example: 2009-07-08T18:00Z
+-- | 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 <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>  Example: 2009-07-08T18:00Z
 deEndTime :: Lens' DescribeEvents (Maybe UTCTime)
 deEndTime = lens _deEndTime (\ s a -> s{_deEndTime = a}) . mapping _Time;
 
--- | The number of minutes to retrieve events for.
---
--- Default: 60
+-- | The number of minutes to retrieve events for. Default: 60
 deDuration :: Lens' DescribeEvents (Maybe Int)
 deDuration = lens _deDuration (\ s a -> s{_deDuration = a});
 
@@ -211,8 +190,10 @@
                "Marker" =: _deMarker, "MaxRecords" =: _deMaxRecords,
                "EndTime" =: _deEndTime, "Duration" =: _deDuration]
 
--- | Contains the result of a successful invocation of the < DescribeEvents> action.
+-- | Contains the result of a successful invocation of the 'DescribeEvents' action.
 --
+--
+--
 -- /See:/ 'describeEventsResponse' smart constructor.
 data DescribeEventsResponse = DescribeEventsResponse'
     { _dersEvents         :: !(Maybe [Event])
@@ -224,11 +205,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dersEvents'
+-- * 'dersEvents' - A list of 'Event' instances.
 --
--- * 'dersMarker'
+-- * 'dersMarker' - 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@ .
 --
--- * 'dersResponseStatus'
+-- * 'dersResponseStatus' - -- | The response status code.
 describeEventsResponse
     :: Int -- ^ 'dersResponseStatus'
     -> DescribeEventsResponse
@@ -239,15 +220,15 @@
     , _dersResponseStatus = pResponseStatus_
     }
 
--- | A list of < Event> instances.
+-- | A list of 'Event' instances.
 dersEvents :: Lens' DescribeEventsResponse [Event]
 dersEvents = lens _dersEvents (\ s a -> s{_dersEvents = a}) . _Default . _Coerce;
 
--- | 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' .
+-- | 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@ .
 dersMarker :: Lens' DescribeEventsResponse (Maybe Text)
 dersMarker = lens _dersMarker (\ s a -> s{_dersMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 dersResponseStatus :: Lens' DescribeEventsResponse Int
 dersResponseStatus = lens _dersResponseStatus (\ s a -> s{_dersResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeOptionGroupOptions.hs b/gen/Network/AWS/RDS/DescribeOptionGroupOptions.hs
--- a/gen/Network/AWS/RDS/DescribeOptionGroupOptions.hs
+++ b/gen/Network/AWS/RDS/DescribeOptionGroupOptions.hs
@@ -20,6 +20,8 @@
 --
 -- Describes all available options.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeOptionGroupOptions
     (
@@ -52,6 +54,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeOptionGroupOptions' smart constructor.
 data DescribeOptionGroupOptions = DescribeOptionGroupOptions'
     { _dogoFilters            :: !(Maybe [Filter])
@@ -65,15 +69,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dogoFilters'
+-- * 'dogoFilters' - This parameter is not currently supported.
 --
--- * 'dogoMajorEngineVersion'
+-- * 'dogoMajorEngineVersion' - If specified, filters the results to include only options for the specified major engine version.
 --
--- * 'dogoMarker'
+-- * 'dogoMarker' - 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@ .
 --
--- * 'dogoMaxRecords'
+-- * 'dogoMaxRecords' - 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.
 --
--- * 'dogoEngineName'
+-- * 'dogoEngineName' - A required parameter. Options available for the given engine name will be described.
 describeOptionGroupOptions
     :: Text -- ^ 'dogoEngineName'
     -> DescribeOptionGroupOptions
@@ -94,15 +98,11 @@
 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'.
+-- | 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.
+-- | 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});
 
@@ -156,6 +156,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeOptionGroupOptionsResponse' smart constructor.
 data DescribeOptionGroupOptionsResponse = DescribeOptionGroupOptionsResponse'
     { _dogorsOptionGroupOptions :: !(Maybe [OptionGroupOption])
@@ -167,11 +169,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dogorsOptionGroupOptions'
+-- * 'dogorsOptionGroupOptions' - Undocumented member.
 --
--- * 'dogorsMarker'
+-- * 'dogorsMarker' - 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@ .
 --
--- * 'dogorsResponseStatus'
+-- * 'dogorsResponseStatus' - -- | The response status code.
 describeOptionGroupOptionsResponse
     :: Int -- ^ 'dogorsResponseStatus'
     -> DescribeOptionGroupOptionsResponse
@@ -186,11 +188,11 @@
 dogorsOptionGroupOptions :: Lens' DescribeOptionGroupOptionsResponse [OptionGroupOption]
 dogorsOptionGroupOptions = lens _dogorsOptionGroupOptions (\ s a -> s{_dogorsOptionGroupOptions = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 dogorsMarker :: Lens' DescribeOptionGroupOptionsResponse (Maybe Text)
 dogorsMarker = lens _dogorsMarker (\ s a -> s{_dogorsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 dogorsResponseStatus :: Lens' DescribeOptionGroupOptionsResponse Int
 dogorsResponseStatus = lens _dogorsResponseStatus (\ s a -> s{_dogorsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeOptionGroups.hs b/gen/Network/AWS/RDS/DescribeOptionGroups.hs
--- a/gen/Network/AWS/RDS/DescribeOptionGroups.hs
+++ b/gen/Network/AWS/RDS/DescribeOptionGroups.hs
@@ -20,6 +20,8 @@
 --
 -- Describes the available option groups.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeOptionGroups
     (
@@ -53,6 +55,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeOptionGroups' smart constructor.
 data DescribeOptionGroups = DescribeOptionGroups'
     { _dogFilters            :: !(Maybe [Filter])
@@ -67,17 +71,17 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dogFilters'
+-- * 'dogFilters' - This parameter is not currently supported.
 --
--- * 'dogEngineName'
+-- * 'dogEngineName' - Filters the list of option groups to only include groups associated with a specific database engine.
 --
--- * 'dogMajorEngineVersion'
+-- * 'dogMajorEngineVersion' - 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.
 --
--- * 'dogMarker'
+-- * 'dogMarker' - 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@ .
 --
--- * 'dogMaxRecords'
+-- * 'dogMaxRecords' - 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.
 --
--- * 'dogOptionGroupName'
+-- * 'dogOptionGroupName' - The name of the option group to describe. Cannot be supplied together with EngineName or MajorEngineVersion.
 describeOptionGroups
     :: DescribeOptionGroups
 describeOptionGroups =
@@ -102,15 +106,11 @@
 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'.
+-- | 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.
+-- | 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});
 
@@ -163,6 +163,8 @@
 
 -- | List of option groups.
 --
+--
+--
 -- /See:/ 'describeOptionGroupsResponse' smart constructor.
 data DescribeOptionGroupsResponse = DescribeOptionGroupsResponse'
     { _dogrsMarker           :: !(Maybe Text)
@@ -174,11 +176,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dogrsMarker'
+-- * 'dogrsMarker' - 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@ .
 --
--- * 'dogrsOptionGroupsList'
+-- * 'dogrsOptionGroupsList' - List of option groups.
 --
--- * 'dogrsResponseStatus'
+-- * 'dogrsResponseStatus' - -- | The response status code.
 describeOptionGroupsResponse
     :: Int -- ^ 'dogrsResponseStatus'
     -> DescribeOptionGroupsResponse
@@ -189,7 +191,7 @@
     , _dogrsResponseStatus = pResponseStatus_
     }
 
--- | 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'.
+-- | 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@ .
 dogrsMarker :: Lens' DescribeOptionGroupsResponse (Maybe Text)
 dogrsMarker = lens _dogrsMarker (\ s a -> s{_dogrsMarker = a});
 
@@ -197,7 +199,7 @@
 dogrsOptionGroupsList :: Lens' DescribeOptionGroupsResponse [OptionGroup]
 dogrsOptionGroupsList = lens _dogrsOptionGroupsList (\ s a -> s{_dogrsOptionGroupsList = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 dogrsResponseStatus :: Lens' DescribeOptionGroupsResponse Int
 dogrsResponseStatus = lens _dogrsResponseStatus (\ s a -> s{_dogrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeOrderableDBInstanceOptions.hs b/gen/Network/AWS/RDS/DescribeOrderableDBInstanceOptions.hs
--- a/gen/Network/AWS/RDS/DescribeOrderableDBInstanceOptions.hs
+++ b/gen/Network/AWS/RDS/DescribeOrderableDBInstanceOptions.hs
@@ -20,6 +20,8 @@
 --
 -- Returns a list of orderable DB instance options for the specified engine.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeOrderableDBInstanceOptions
     (
@@ -55,6 +57,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeOrderableDBInstanceOptions' smart constructor.
 data DescribeOrderableDBInstanceOptions = DescribeOrderableDBInstanceOptions'
     { _dodioEngineVersion   :: !(Maybe Text)
@@ -71,21 +75,21 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dodioEngineVersion'
+-- * 'dodioEngineVersion' - The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.
 --
--- * 'dodioFilters'
+-- * 'dodioFilters' - This parameter is not currently supported.
 --
--- * 'dodioDBInstanceClass'
+-- * 'dodioDBInstanceClass' - The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.
 --
--- * 'dodioLicenseModel'
+-- * 'dodioLicenseModel' - The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.
 --
--- * 'dodioMarker'
+-- * 'dodioMarker' - 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@ .
 --
--- * 'dodioMaxRecords'
+-- * 'dodioMaxRecords' - 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.
 --
--- * 'dodioVPC'
+-- * 'dodioVPC' - The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.
 --
--- * 'dodioEngine'
+-- * 'dodioEngine' - The name of the engine to retrieve DB instance options for.
 describeOrderableDBInstanceOptions
     :: Text -- ^ 'dodioEngine'
     -> DescribeOrderableDBInstanceOptions
@@ -117,15 +121,11 @@
 dodioLicenseModel :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)
 dodioLicenseModel = lens _dodioLicenseModel (\ s a -> s{_dodioLicenseModel = 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' .
+-- | 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@ .
 dodioMarker :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)
 dodioMarker = lens _dodioMarker (\ s a -> s{_dodioMarker = 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.
+-- | 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.
 dodioMaxRecords :: Lens' DescribeOrderableDBInstanceOptions (Maybe Int)
 dodioMaxRecords = lens _dodioMaxRecords (\ s a -> s{_dodioMaxRecords = a});
 
@@ -189,8 +189,10 @@
                "MaxRecords" =: _dodioMaxRecords, "Vpc" =: _dodioVPC,
                "Engine" =: _dodioEngine]
 
--- | Contains the result of a successful invocation of the < DescribeOrderableDBInstanceOptions> action.
+-- | Contains the result of a successful invocation of the 'DescribeOrderableDBInstanceOptions' action.
 --
+--
+--
 -- /See:/ 'describeOrderableDBInstanceOptionsResponse' smart constructor.
 data DescribeOrderableDBInstanceOptionsResponse = DescribeOrderableDBInstanceOptionsResponse'
     { _dodiorsOrderableDBInstanceOptions :: !(Maybe [OrderableDBInstanceOption])
@@ -202,11 +204,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dodiorsOrderableDBInstanceOptions'
+-- * 'dodiorsOrderableDBInstanceOptions' - An 'OrderableDBInstanceOption' structure containing information about orderable options for the DB instance.
 --
--- * 'dodiorsMarker'
+-- * 'dodiorsMarker' - 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@ .
 --
--- * 'dodiorsResponseStatus'
+-- * 'dodiorsResponseStatus' - -- | The response status code.
 describeOrderableDBInstanceOptionsResponse
     :: Int -- ^ 'dodiorsResponseStatus'
     -> DescribeOrderableDBInstanceOptionsResponse
@@ -217,15 +219,15 @@
     , _dodiorsResponseStatus = pResponseStatus_
     }
 
--- | An < OrderableDBInstanceOption> structure containing information about orderable options for the DB instance.
+-- | An 'OrderableDBInstanceOption' structure containing information about orderable options for the DB instance.
 dodiorsOrderableDBInstanceOptions :: Lens' DescribeOrderableDBInstanceOptionsResponse [OrderableDBInstanceOption]
 dodiorsOrderableDBInstanceOptions = lens _dodiorsOrderableDBInstanceOptions (\ s a -> s{_dodiorsOrderableDBInstanceOptions = a}) . _Default . _Coerce;
 
--- | 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' .
+-- | 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@ .
 dodiorsMarker :: Lens' DescribeOrderableDBInstanceOptionsResponse (Maybe Text)
 dodiorsMarker = lens _dodiorsMarker (\ s a -> s{_dodiorsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 dodiorsResponseStatus :: Lens' DescribeOrderableDBInstanceOptionsResponse Int
 dodiorsResponseStatus = lens _dodiorsResponseStatus (\ s a -> s{_dodiorsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribePendingMaintenanceActions.hs b/gen/Network/AWS/RDS/DescribePendingMaintenanceActions.hs
--- a/gen/Network/AWS/RDS/DescribePendingMaintenanceActions.hs
+++ b/gen/Network/AWS/RDS/DescribePendingMaintenanceActions.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.
+--
+--
 module Network.AWS.RDS.DescribePendingMaintenanceActions
     (
     -- * Creating a Request
@@ -48,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describePendingMaintenanceActions' smart constructor.
 data DescribePendingMaintenanceActions = DescribePendingMaintenanceActions'
     { _dpmaFilters            :: !(Maybe [Filter])
@@ -60,13 +64,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dpmaFilters'
+-- * 'dpmaFilters' - A filter that specifies one or more resources to return pending maintenance actions for. Supported filters:     * @db-instance-id@ - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB instances identified by these ARNs.
 --
--- * 'dpmaMarker'
+-- * 'dpmaMarker' - An optional pagination token provided by a previous @DescribePendingMaintenanceActions@ request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by @MaxRecords@ .
 --
--- * 'dpmaMaxRecords'
+-- * 'dpmaMaxRecords' - 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.
 --
--- * 'dpmaResourceIdentifier'
+-- * 'dpmaResourceIdentifier' - The ARN of a resource to return pending maintenance actions for.
 describePendingMaintenanceActions
     :: DescribePendingMaintenanceActions
 describePendingMaintenanceActions =
@@ -77,24 +81,15 @@
     , _dpmaResourceIdentifier = Nothing
     }
 
--- | A filter that specifies one or more resources to return pending maintenance actions for.
---
--- Supported filters:
---
--- -   'db-instance-id' - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB instances identified by these ARNs.
---
+-- | A filter that specifies one or more resources to return pending maintenance actions for. Supported filters:     * @db-instance-id@ - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB instances identified by these ARNs.
 dpmaFilters :: Lens' DescribePendingMaintenanceActions [Filter]
 dpmaFilters = lens _dpmaFilters (\ s a -> s{_dpmaFilters = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous 'DescribePendingMaintenanceActions' request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous @DescribePendingMaintenanceActions@ request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by @MaxRecords@ .
 dpmaMarker :: Lens' DescribePendingMaintenanceActions (Maybe Text)
 dpmaMarker = lens _dpmaMarker (\ s a -> s{_dpmaMarker = 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.
+-- | 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.
 dpmaMaxRecords :: Lens' DescribePendingMaintenanceActions (Maybe Int)
 dpmaMaxRecords = lens _dpmaMaxRecords (\ s a -> s{_dpmaMaxRecords = a});
 
@@ -145,6 +140,8 @@
 
 -- | Data returned from the __DescribePendingMaintenanceActions__ action.
 --
+--
+--
 -- /See:/ 'describePendingMaintenanceActionsResponse' smart constructor.
 data DescribePendingMaintenanceActionsResponse = DescribePendingMaintenanceActionsResponse'
     { _dpmarsPendingMaintenanceActions :: !(Maybe [ResourcePendingMaintenanceActions])
@@ -156,11 +153,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dpmarsPendingMaintenanceActions'
+-- * 'dpmarsPendingMaintenanceActions' - A list of the pending maintenance actions for the resource.
 --
--- * 'dpmarsMarker'
+-- * 'dpmarsMarker' - An optional pagination token provided by a previous @DescribePendingMaintenanceActions@ request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by @MaxRecords@ .
 --
--- * 'dpmarsResponseStatus'
+-- * 'dpmarsResponseStatus' - -- | The response status code.
 describePendingMaintenanceActionsResponse
     :: Int -- ^ 'dpmarsResponseStatus'
     -> DescribePendingMaintenanceActionsResponse
@@ -175,11 +172,11 @@
 dpmarsPendingMaintenanceActions :: Lens' DescribePendingMaintenanceActionsResponse [ResourcePendingMaintenanceActions]
 dpmarsPendingMaintenanceActions = lens _dpmarsPendingMaintenanceActions (\ s a -> s{_dpmarsPendingMaintenanceActions = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous 'DescribePendingMaintenanceActions' request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous @DescribePendingMaintenanceActions@ request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by @MaxRecords@ .
 dpmarsMarker :: Lens' DescribePendingMaintenanceActionsResponse (Maybe Text)
 dpmarsMarker = lens _dpmarsMarker (\ s a -> s{_dpmarsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 dpmarsResponseStatus :: Lens' DescribePendingMaintenanceActionsResponse Int
 dpmarsResponseStatus = lens _dpmarsResponseStatus (\ s a -> s{_dpmarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeReservedDBInstances.hs b/gen/Network/AWS/RDS/DescribeReservedDBInstances.hs
--- a/gen/Network/AWS/RDS/DescribeReservedDBInstances.hs
+++ b/gen/Network/AWS/RDS/DescribeReservedDBInstances.hs
@@ -20,6 +20,8 @@
 --
 -- Returns information about reserved DB instances for this account, or about a specified reserved DB instance.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeReservedDBInstances
     (
@@ -57,6 +59,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeReservedDBInstances' smart constructor.
 data DescribeReservedDBInstances = DescribeReservedDBInstances'
     { _drdiProductDescription            :: !(Maybe Text)
@@ -75,25 +79,25 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'drdiProductDescription'
+-- * 'drdiProductDescription' - The product description filter value. Specify this parameter to show only those reservations matching the specified product description.
 --
--- * 'drdiFilters'
+-- * 'drdiFilters' - This parameter is not currently supported.
 --
--- * 'drdiReservedDBInstanceId'
+-- * 'drdiReservedDBInstanceId' - The reserved DB instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.
 --
--- * 'drdiDBInstanceClass'
+-- * 'drdiDBInstanceClass' - The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.
 --
--- * 'drdiMarker'
+-- * 'drdiMarker' - 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@ .
 --
--- * 'drdiMaxRecords'
+-- * 'drdiMaxRecords' - 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.
 --
--- * 'drdiMultiAZ'
+-- * 'drdiMultiAZ' - The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.
 --
--- * 'drdiReservedDBInstancesOfferingId'
+-- * 'drdiReservedDBInstancesOfferingId' - The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.
 --
--- * 'drdiOfferingType'
+-- * 'drdiOfferingType' - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: @"Partial Upfront" | "All Upfront" | "No Upfront" @
 --
--- * 'drdiDuration'
+-- * 'drdiDuration' - 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@
 describeReservedDBInstances
     :: DescribeReservedDBInstances
 describeReservedDBInstances =
@@ -126,15 +130,11 @@
 drdiDBInstanceClass :: Lens' DescribeReservedDBInstances (Maybe Text)
 drdiDBInstanceClass = lens _drdiDBInstanceClass (\ s a -> s{_drdiDBInstanceClass = 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'.
+-- | 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@ .
 drdiMarker :: Lens' DescribeReservedDBInstances (Maybe Text)
 drdiMarker = lens _drdiMarker (\ s a -> s{_drdiMarker = 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.
+-- | 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.
 drdiMaxRecords :: Lens' DescribeReservedDBInstances (Maybe Int)
 drdiMaxRecords = lens _drdiMaxRecords (\ s a -> s{_drdiMaxRecords = a});
 
@@ -146,15 +146,11 @@
 drdiReservedDBInstancesOfferingId :: Lens' DescribeReservedDBInstances (Maybe Text)
 drdiReservedDBInstancesOfferingId = lens _drdiReservedDBInstancesOfferingId (\ s a -> s{_drdiReservedDBInstancesOfferingId = a});
 
--- | The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.
---
--- Valid Values: '\"Partial Upfront\" | \"All Upfront\" | \"No Upfront\" '
+-- | The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: @"Partial Upfront" | "All Upfront" | "No Upfront" @
 drdiOfferingType :: Lens' DescribeReservedDBInstances (Maybe Text)
 drdiOfferingType = lens _drdiOfferingType (\ s a -> s{_drdiOfferingType = 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'
+-- | 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@
 drdiDuration :: Lens' DescribeReservedDBInstances (Maybe Text)
 drdiDuration = lens _drdiDuration (\ s a -> s{_drdiDuration = a});
 
@@ -208,8 +204,10 @@
                "OfferingType" =: _drdiOfferingType,
                "Duration" =: _drdiDuration]
 
--- | Contains the result of a successful invocation of the < DescribeReservedDBInstances> action.
+-- | Contains the result of a successful invocation of the 'DescribeReservedDBInstances' action.
 --
+--
+--
 -- /See:/ 'describeReservedDBInstancesResponse' smart constructor.
 data DescribeReservedDBInstancesResponse = DescribeReservedDBInstancesResponse'
     { _drdirsReservedDBInstances :: !(Maybe [ReservedDBInstance])
@@ -221,11 +219,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'drdirsReservedDBInstances'
+-- * 'drdirsReservedDBInstances' - A list of reserved DB instances.
 --
--- * 'drdirsMarker'
+-- * 'drdirsMarker' - 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@ .
 --
--- * 'drdirsResponseStatus'
+-- * 'drdirsResponseStatus' - -- | The response status code.
 describeReservedDBInstancesResponse
     :: Int -- ^ 'drdirsResponseStatus'
     -> DescribeReservedDBInstancesResponse
@@ -240,11 +238,11 @@
 drdirsReservedDBInstances :: Lens' DescribeReservedDBInstancesResponse [ReservedDBInstance]
 drdirsReservedDBInstances = lens _drdirsReservedDBInstances (\ s a -> s{_drdirsReservedDBInstances = a}) . _Default . _Coerce;
 
--- | 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'.
+-- | 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@ .
 drdirsMarker :: Lens' DescribeReservedDBInstancesResponse (Maybe Text)
 drdirsMarker = lens _drdirsMarker (\ s a -> s{_drdirsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 drdirsResponseStatus :: Lens' DescribeReservedDBInstancesResponse Int
 drdirsResponseStatus = lens _drdirsResponseStatus (\ s a -> s{_drdirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeReservedDBInstancesOfferings.hs b/gen/Network/AWS/RDS/DescribeReservedDBInstancesOfferings.hs
--- a/gen/Network/AWS/RDS/DescribeReservedDBInstancesOfferings.hs
+++ b/gen/Network/AWS/RDS/DescribeReservedDBInstancesOfferings.hs
@@ -20,6 +20,8 @@
 --
 -- Lists available reserved DB instance offerings.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DescribeReservedDBInstancesOfferings
     (
@@ -56,6 +58,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeReservedDBInstancesOfferings' smart constructor.
 data DescribeReservedDBInstancesOfferings = DescribeReservedDBInstancesOfferings'
     { _drdioProductDescription            :: !(Maybe Text)
@@ -73,23 +77,23 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'drdioProductDescription'
+-- * 'drdioProductDescription' - Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.
 --
--- * 'drdioFilters'
+-- * 'drdioFilters' - This parameter is not currently supported.
 --
--- * 'drdioDBInstanceClass'
+-- * 'drdioDBInstanceClass' - The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.
 --
--- * 'drdioMarker'
+-- * 'drdioMarker' - 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@ .
 --
--- * 'drdioMaxRecords'
+-- * 'drdioMaxRecords' - 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.
 --
--- * 'drdioMultiAZ'
+-- * 'drdioMultiAZ' - The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.
 --
--- * 'drdioReservedDBInstancesOfferingId'
+-- * 'drdioReservedDBInstancesOfferingId' - 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@
 --
--- * 'drdioOfferingType'
+-- * 'drdioOfferingType' - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: @"Partial Upfront" | "All Upfront" | "No Upfront" @
 --
--- * 'drdioDuration'
+-- * 'drdioDuration' - Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: @1 | 3 | 31536000 | 94608000@
 describeReservedDBInstancesOfferings
     :: DescribeReservedDBInstancesOfferings
 describeReservedDBInstancesOfferings =
@@ -117,15 +121,11 @@
 drdioDBInstanceClass :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)
 drdioDBInstanceClass = lens _drdioDBInstanceClass (\ s a -> s{_drdioDBInstanceClass = 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'.
+-- | 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@ .
 drdioMarker :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)
 drdioMarker = lens _drdioMarker (\ s a -> s{_drdioMarker = 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.
+-- | 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.
 drdioMaxRecords :: Lens' DescribeReservedDBInstancesOfferings (Maybe Int)
 drdioMaxRecords = lens _drdioMaxRecords (\ s a -> s{_drdioMaxRecords = a});
 
@@ -133,21 +133,15 @@
 drdioMultiAZ :: Lens' DescribeReservedDBInstancesOfferings (Maybe Bool)
 drdioMultiAZ = lens _drdioMultiAZ (\ s a -> s{_drdioMultiAZ = 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'
+-- | 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@
 drdioReservedDBInstancesOfferingId :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)
 drdioReservedDBInstancesOfferingId = lens _drdioReservedDBInstancesOfferingId (\ s a -> s{_drdioReservedDBInstancesOfferingId = a});
 
--- | The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.
---
--- Valid Values: '\"Partial Upfront\" | \"All Upfront\" | \"No Upfront\" '
+-- | The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: @"Partial Upfront" | "All Upfront" | "No Upfront" @
 drdioOfferingType :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)
 drdioOfferingType = lens _drdioOfferingType (\ s a -> s{_drdioOfferingType = 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'
+-- | Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: @1 | 3 | 31536000 | 94608000@
 drdioDuration :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)
 drdioDuration = lens _drdioDuration (\ s a -> s{_drdioDuration = a});
 
@@ -208,8 +202,10 @@
                "OfferingType" =: _drdioOfferingType,
                "Duration" =: _drdioDuration]
 
--- | Contains the result of a successful invocation of the < DescribeReservedDBInstancesOfferings> action.
+-- | Contains the result of a successful invocation of the 'DescribeReservedDBInstancesOfferings' action.
 --
+--
+--
 -- /See:/ 'describeReservedDBInstancesOfferingsResponse' smart constructor.
 data DescribeReservedDBInstancesOfferingsResponse = DescribeReservedDBInstancesOfferingsResponse'
     { _drdiorsMarker                       :: !(Maybe Text)
@@ -221,11 +217,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'drdiorsMarker'
+-- * 'drdiorsMarker' - 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@ .
 --
--- * 'drdiorsReservedDBInstancesOfferings'
+-- * 'drdiorsReservedDBInstancesOfferings' - A list of reserved DB instance offerings.
 --
--- * 'drdiorsResponseStatus'
+-- * 'drdiorsResponseStatus' - -- | The response status code.
 describeReservedDBInstancesOfferingsResponse
     :: Int -- ^ 'drdiorsResponseStatus'
     -> DescribeReservedDBInstancesOfferingsResponse
@@ -236,7 +232,7 @@
     , _drdiorsResponseStatus = pResponseStatus_
     }
 
--- | 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'.
+-- | 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@ .
 drdiorsMarker :: Lens' DescribeReservedDBInstancesOfferingsResponse (Maybe Text)
 drdiorsMarker = lens _drdiorsMarker (\ s a -> s{_drdiorsMarker = a});
 
@@ -244,7 +240,7 @@
 drdiorsReservedDBInstancesOfferings :: Lens' DescribeReservedDBInstancesOfferingsResponse [ReservedDBInstancesOffering]
 drdiorsReservedDBInstancesOfferings = lens _drdiorsReservedDBInstancesOfferings (\ s a -> s{_drdiorsReservedDBInstancesOfferings = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 drdiorsResponseStatus :: Lens' DescribeReservedDBInstancesOfferingsResponse Int
 drdiorsResponseStatus = lens _drdiorsResponseStatus (\ s a -> s{_drdiorsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DescribeSourceRegions.hs b/gen/Network/AWS/RDS/DescribeSourceRegions.hs
--- a/gen/Network/AWS/RDS/DescribeSourceRegions.hs
+++ b/gen/Network/AWS/RDS/DescribeSourceRegions.hs
@@ -18,7 +18,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Returns a list that includes the status of each source AWS Region that the current region can get a Read Replica or a DB snapshot from. This API action supports pagination.
+-- Returns a list of the source AWS regions where the current AWS region can create a Read Replica or copy a DB snapshot from. This API action supports pagination.
+--
+--
 module Network.AWS.RDS.DescribeSourceRegions
     (
     -- * Creating a Request
@@ -48,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'describeSourceRegions' smart constructor.
 data DescribeSourceRegions = DescribeSourceRegions'
     { _dsrRegionName :: !(Maybe Text)
@@ -60,13 +64,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dsrRegionName'
+-- * 'dsrRegionName' - The source region name. For example, @us-east-1@ . Constraints:     * Must specify a valid AWS Region name.
 --
--- * 'dsrFilters'
+-- * 'dsrFilters' - This parameter is not currently supported.
 --
--- * 'dsrMarker'
+-- * 'dsrMarker' - An optional pagination token provided by a previous 'DescribeSourceRegions' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 --
--- * 'dsrMaxRecords'
+-- * 'dsrMaxRecords' - 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.
 describeSourceRegions
     :: DescribeSourceRegions
 describeSourceRegions =
@@ -77,12 +81,7 @@
     , _dsrMaxRecords = Nothing
     }
 
--- | The source region name, for example US West (Oregon).
---
--- Constraints:
---
--- -   Must specify a valid AWS Region name, for example US West (Oregon).
---
+-- | The source region name. For example, @us-east-1@ . Constraints:     * Must specify a valid AWS Region name.
 dsrRegionName :: Lens' DescribeSourceRegions (Maybe Text)
 dsrRegionName = lens _dsrRegionName (\ s a -> s{_dsrRegionName = a});
 
@@ -90,15 +89,11 @@
 dsrFilters :: Lens' DescribeSourceRegions [Filter]
 dsrFilters = lens _dsrFilters (\ s a -> s{_dsrFilters = a}) . _Default . _Coerce;
 
--- | An optional pagination token provided by a previous < DescribeSourceRegions> request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by 'MaxRecords'.
+-- | An optional pagination token provided by a previous 'DescribeSourceRegions' request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by @MaxRecords@ .
 dsrMarker :: Lens' DescribeSourceRegions (Maybe Text)
 dsrMarker = lens _dsrMarker (\ s a -> s{_dsrMarker = 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.
+-- | 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.
 dsrMaxRecords :: Lens' DescribeSourceRegions (Maybe Int)
 dsrMaxRecords = lens _dsrMaxRecords (\ s a -> s{_dsrMaxRecords = a});
 
@@ -136,8 +131,10 @@
                "Marker" =: _dsrMarker,
                "MaxRecords" =: _dsrMaxRecords]
 
--- | Contains the result of a successful invocation of the < DescribeSourceRegions> action.
+-- | Contains the result of a successful invocation of the 'DescribeSourceRegions' action.
 --
+--
+--
 -- /See:/ 'describeSourceRegionsResponse' smart constructor.
 data DescribeSourceRegionsResponse = DescribeSourceRegionsResponse'
     { _dsrrsMarker         :: !(Maybe Text)
@@ -149,11 +146,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dsrrsMarker'
+-- * 'dsrrsMarker' - 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@ .
 --
--- * 'dsrrsSourceRegions'
+-- * 'dsrrsSourceRegions' - A list of SourceRegion instances that contains each source AWS Region that the current region can get a Read Replica or a DB snapshot from.
 --
--- * 'dsrrsResponseStatus'
+-- * 'dsrrsResponseStatus' - -- | The response status code.
 describeSourceRegionsResponse
     :: Int -- ^ 'dsrrsResponseStatus'
     -> DescribeSourceRegionsResponse
@@ -164,7 +161,7 @@
     , _dsrrsResponseStatus = pResponseStatus_
     }
 
--- | 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'.
+-- | 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@ .
 dsrrsMarker :: Lens' DescribeSourceRegionsResponse (Maybe Text)
 dsrrsMarker = lens _dsrrsMarker (\ s a -> s{_dsrrsMarker = a});
 
@@ -172,7 +169,7 @@
 dsrrsSourceRegions :: Lens' DescribeSourceRegionsResponse [SourceRegion]
 dsrrsSourceRegions = lens _dsrrsSourceRegions (\ s a -> s{_dsrrsSourceRegions = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 dsrrsResponseStatus :: Lens' DescribeSourceRegionsResponse Int
 dsrrsResponseStatus = lens _dsrrsResponseStatus (\ s a -> s{_dsrrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/DownloadDBLogFilePortion.hs b/gen/Network/AWS/RDS/DownloadDBLogFilePortion.hs
--- a/gen/Network/AWS/RDS/DownloadDBLogFilePortion.hs
+++ b/gen/Network/AWS/RDS/DownloadDBLogFilePortion.hs
@@ -20,6 +20,8 @@
 --
 -- Downloads all or a portion of the specified log file, up to 1 MB in size.
 --
+--
+--
 -- This operation returns paginated results.
 module Network.AWS.RDS.DownloadDBLogFilePortion
     (
@@ -52,6 +54,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'downloadDBLogFilePortion' smart constructor.
 data DownloadDBLogFilePortion = DownloadDBLogFilePortion'
     { _ddlfpNumberOfLines        :: !(Maybe Int)
@@ -64,13 +68,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddlfpNumberOfLines'
+-- * 'ddlfpNumberOfLines' - The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file will be truncated at 1 MB in size. 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 up to a maximum of 10000 lines, starting with the most recent log entries first.     * 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.
 --
--- * 'ddlfpMarker'
+-- * 'ddlfpMarker' - 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.
 --
--- * 'ddlfpDBInstanceIdentifier'
+-- * 'ddlfpDBInstanceIdentifier' - 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
 --
--- * 'ddlfpLogFileName'
+-- * 'ddlfpLogFileName' - The name of the log file to be downloaded.
 downloadDBLogFilePortion
     :: Text -- ^ 'ddlfpDBInstanceIdentifier'
     -> Text -- ^ 'ddlfpLogFileName'
@@ -83,35 +87,15 @@
     , _ddlfpLogFileName = pLogFileName_
     }
 
--- | The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file will be truncated at 1 MB in size.
---
--- 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 up to a maximum of 10000 lines, starting with the most recent log entries first.
---
--- -   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.
---
+-- | The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file will be truncated at 1 MB in size. 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 up to a maximum of 10000 lines, starting with the most recent log entries first.     * 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.
 ddlfpNumberOfLines :: Lens' DownloadDBLogFilePortion (Maybe Int)
 ddlfpNumberOfLines = lens _ddlfpNumberOfLines (\ s a -> s{_ddlfpNumberOfLines = 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.
+-- | 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.
 ddlfpMarker :: Lens' DownloadDBLogFilePortion (Maybe Text)
 ddlfpMarker = lens _ddlfpMarker (\ s a -> s{_ddlfpMarker = a});
 
--- | 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
---
+-- | 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
 ddlfpDBInstanceIdentifier :: Lens' DownloadDBLogFilePortion Text
 ddlfpDBInstanceIdentifier = lens _ddlfpDBInstanceIdentifier (\ s a -> s{_ddlfpDBInstanceIdentifier = a});
 
@@ -160,8 +144,10 @@
                "DBInstanceIdentifier" =: _ddlfpDBInstanceIdentifier,
                "LogFileName" =: _ddlfpLogFileName]
 
--- | This data type is used as a response element to < DownloadDBLogFilePortion>.
+-- | This data type is used as a response element to 'DownloadDBLogFilePortion' .
 --
+--
+--
 -- /See:/ 'downloadDBLogFilePortionResponse' smart constructor.
 data DownloadDBLogFilePortionResponse = DownloadDBLogFilePortionResponse'
     { _ddlfprsLogFileData           :: !(Maybe Text)
@@ -174,13 +160,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ddlfprsLogFileData'
+-- * 'ddlfprsLogFileData' - Entries from the specified log file.
 --
--- * 'ddlfprsAdditionalDataPending'
+-- * 'ddlfprsAdditionalDataPending' - Boolean value that if true, indicates there is more data to be downloaded.
 --
--- * 'ddlfprsMarker'
+-- * 'ddlfprsMarker' - A pagination token that can be used in a subsequent DownloadDBLogFilePortion request.
 --
--- * 'ddlfprsResponseStatus'
+-- * 'ddlfprsResponseStatus' - -- | The response status code.
 downloadDBLogFilePortionResponse
     :: Int -- ^ 'ddlfprsResponseStatus'
     -> DownloadDBLogFilePortionResponse
@@ -204,7 +190,7 @@
 ddlfprsMarker :: Lens' DownloadDBLogFilePortionResponse (Maybe Text)
 ddlfprsMarker = lens _ddlfprsMarker (\ s a -> s{_ddlfprsMarker = a});
 
--- | The response status code.
+-- | -- | The response status code.
 ddlfprsResponseStatus :: Lens' DownloadDBLogFilePortionResponse Int
 ddlfprsResponseStatus = lens _ddlfprsResponseStatus (\ s a -> s{_ddlfprsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/FailoverDBCluster.hs b/gen/Network/AWS/RDS/FailoverDBCluster.hs
--- a/gen/Network/AWS/RDS/FailoverDBCluster.hs
+++ b/gen/Network/AWS/RDS/FailoverDBCluster.hs
@@ -20,11 +20,13 @@
 --
 -- Forces a failover for a DB cluster.
 --
+--
 -- A failover for a DB cluster promotes one of the read-only instances in the DB cluster to the master DB instance (the cluster writer) and deletes the current primary instance.
 --
 -- Amazon Aurora will automatically fail over to a read-only instance, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a DB instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.
 --
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.FailoverDBCluster
     (
     -- * Creating a Request
@@ -51,6 +53,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'failoverDBCluster' smart constructor.
 data FailoverDBCluster = FailoverDBCluster'
     { _fdcDBClusterIdentifier        :: !(Maybe Text)
@@ -61,9 +65,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'fdcDBClusterIdentifier'
+-- * 'fdcDBClusterIdentifier' - A DB cluster identifier to force a failover for. 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
 --
--- * 'fdcTargetDBInstanceIdentifier'
+-- * 'fdcTargetDBInstanceIdentifier' - The name of the instance to promote to the primary instance. You must specify the instance identifier for an Aurora Replica in the DB cluster. For example, @mydbcluster-replica1@ .
 failoverDBCluster
     :: FailoverDBCluster
 failoverDBCluster =
@@ -72,22 +76,11 @@
     , _fdcTargetDBInstanceIdentifier = Nothing
     }
 
--- | A DB cluster identifier to force a failover for. 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
---
+-- | A DB cluster identifier to force a failover for. 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
 fdcDBClusterIdentifier :: Lens' FailoverDBCluster (Maybe Text)
 fdcDBClusterIdentifier = lens _fdcDBClusterIdentifier (\ s a -> s{_fdcDBClusterIdentifier = a});
 
--- | The name of the instance to promote to the primary instance.
---
--- You must specify the instance identifier for an Aurora Replica in the DB cluster. For example, 'mydbcluster-replica1'.
+-- | The name of the instance to promote to the primary instance. You must specify the instance identifier for an Aurora Replica in the DB cluster. For example, @mydbcluster-replica1@ .
 fdcTargetDBInstanceIdentifier :: Lens' FailoverDBCluster (Maybe Text)
 fdcTargetDBInstanceIdentifier = lens _fdcTargetDBInstanceIdentifier (\ s a -> s{_fdcTargetDBInstanceIdentifier = a});
 
@@ -129,9 +122,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'fdcrsDBCluster'
+-- * 'fdcrsDBCluster' - Undocumented member.
 --
--- * 'fdcrsResponseStatus'
+-- * 'fdcrsResponseStatus' - -- | The response status code.
 failoverDBClusterResponse
     :: Int -- ^ 'fdcrsResponseStatus'
     -> FailoverDBClusterResponse
@@ -145,7 +138,7 @@
 fdcrsDBCluster :: Lens' FailoverDBClusterResponse (Maybe DBCluster)
 fdcrsDBCluster = lens _fdcrsDBCluster (\ s a -> s{_fdcrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 fdcrsResponseStatus :: Lens' FailoverDBClusterResponse Int
 fdcrsResponseStatus = lens _fdcrsResponseStatus (\ s a -> s{_fdcrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ListTagsForResource.hs b/gen/Network/AWS/RDS/ListTagsForResource.hs
--- a/gen/Network/AWS/RDS/ListTagsForResource.hs
+++ b/gen/Network/AWS/RDS/ListTagsForResource.hs
@@ -20,7 +20,9 @@
 --
 -- Lists all tags on an Amazon RDS resource.
 --
--- For an overview on tagging an Amazon RDS resource, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html Tagging Amazon RDS Resources>.
+--
+-- For an overview on tagging an Amazon RDS resource, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html Tagging Amazon RDS Resources> .
+--
 module Network.AWS.RDS.ListTagsForResource
     (
     -- * Creating a Request
@@ -47,6 +49,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'listTagsForResource' smart constructor.
 data ListTagsForResource = ListTagsForResource'
     { _ltfrFilters      :: !(Maybe [Filter])
@@ -57,9 +61,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ltfrFilters'
+-- * 'ltfrFilters' - This parameter is not currently supported.
 --
--- * 'ltfrResourceName'
+-- * 'ltfrResourceName' - The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 listTagsForResource
     :: Text -- ^ 'ltfrResourceName'
     -> ListTagsForResource
@@ -73,7 +77,7 @@
 ltfrFilters :: Lens' ListTagsForResource [Filter]
 ltfrFilters = lens _ltfrFilters (\ s a -> s{_ltfrFilters = a}) . _Default . _Coerce;
 
--- | The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)>.
+-- | The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 ltfrResourceName :: Lens' ListTagsForResource Text
 ltfrResourceName = lens _ltfrResourceName (\ s a -> s{_ltfrResourceName = a});
 
@@ -110,6 +114,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'listTagsForResourceResponse' smart constructor.
 data ListTagsForResourceResponse = ListTagsForResourceResponse'
     { _ltfrrsTagList        :: !(Maybe [Tag])
@@ -120,9 +126,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ltfrrsTagList'
+-- * 'ltfrrsTagList' - List of tags returned by the ListTagsForResource operation.
 --
--- * 'ltfrrsResponseStatus'
+-- * 'ltfrrsResponseStatus' - -- | The response status code.
 listTagsForResourceResponse
     :: Int -- ^ 'ltfrrsResponseStatus'
     -> ListTagsForResourceResponse
@@ -136,7 +142,7 @@
 ltfrrsTagList :: Lens' ListTagsForResourceResponse [Tag]
 ltfrrsTagList = lens _ltfrrsTagList (\ s a -> s{_ltfrrsTagList = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int
 ltfrrsResponseStatus = lens _ltfrrsResponseStatus (\ s a -> s{_ltfrrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ModifyDBCluster.hs b/gen/Network/AWS/RDS/ModifyDBCluster.hs
--- a/gen/Network/AWS/RDS/ModifyDBCluster.hs
+++ b/gen/Network/AWS/RDS/ModifyDBCluster.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
+--
 module Network.AWS.RDS.ModifyDBCluster
     (
     -- * Creating a Request
@@ -54,6 +56,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyDBCluster' smart constructor.
 data ModifyDBCluster = ModifyDBCluster'
     { _mdcMasterUserPassword          :: !(Maybe Text)
@@ -73,27 +77,27 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdcMasterUserPassword'
+-- * 'mdcMasterUserPassword' - The new password for the master database user. This password can contain any printable ASCII character except "/", """, or "@". Constraints: Must contain from 8 to 41 characters.
 --
--- * 'mdcPreferredMaintenanceWindow'
+-- * 'mdcPreferredMaintenanceWindow' - The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 --
--- * 'mdcPreferredBackupWindow'
+-- * 'mdcPreferredBackupWindow' - 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 --
--- * 'mdcBackupRetentionPeriod'
+-- * 'mdcBackupRetentionPeriod' - The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints:     * Must be a value from 1 to 35
 --
--- * 'mdcVPCSecurityGroupIds'
+-- * 'mdcVPCSecurityGroupIds' - A lst of VPC security groups that the DB cluster will belong to.
 --
--- * 'mdcDBClusterParameterGroupName'
+-- * 'mdcDBClusterParameterGroupName' - The name of the DB cluster parameter group to use for the DB cluster.
 --
--- * 'mdcApplyImmediately'
+-- * 'mdcApplyImmediately' - A value that 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 cluster. If this parameter is set to @false@ , changes to the DB cluster are applied during the next maintenance window. The @ApplyImmediately@ parameter only affects the @NewDBClusterIdentifier@ and @MasterUserPassword@ values. If you set the @ApplyImmediately@ parameter value to false, then changes to the @NewDBClusterIdentifier@ and @MasterUserPassword@ values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the @ApplyImmediately@ parameter. Default: @false@
 --
--- * 'mdcOptionGroupName'
+-- * 'mdcOptionGroupName' - A value that indicates that the DB cluster 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 cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.
 --
--- * 'mdcNewDBClusterIdentifier'
+-- * 'mdcNewDBClusterIdentifier' - The new DB cluster identifier for the DB cluster when renaming a DB cluster. 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 Example: @my-cluster2@
 --
--- * 'mdcPort'
+-- * 'mdcPort' - The port number on which the DB cluster accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB cluster.
 --
--- * 'mdcDBClusterIdentifier'
+-- * 'mdcDBClusterIdentifier' - The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive. Constraints:     * Must be the identifier for an existing DB cluster.     * 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.
 modifyDBCluster
     :: Text -- ^ 'mdcDBClusterIdentifier'
     -> ModifyDBCluster
@@ -112,49 +116,19 @@
     , _mdcDBClusterIdentifier = pDBClusterIdentifier_
     }
 
--- | The new password for the master database user. This password can contain any printable ASCII character except \"\/\", \"\"\", or \"\'\".
---
--- Constraints: Must contain from 8 to 41 characters.
+-- | The new password for the master database user. This password can contain any printable ASCII character except "/", """, or "@". Constraints: Must contain from 8 to 41 characters.
 mdcMasterUserPassword :: Lens' ModifyDBCluster (Maybe Text)
 mdcMasterUserPassword = lens _mdcMasterUserPassword (\ s a -> s{_mdcMasterUserPassword = a});
 
--- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
---
--- 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
+-- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 mdcPreferredMaintenanceWindow :: Lens' ModifyDBCluster (Maybe Text)
 mdcPreferredMaintenanceWindow = lens _mdcPreferredMaintenanceWindow (\ s a -> s{_mdcPreferredMaintenanceWindow = 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./
---
--- Constraints:
---
--- -   Must be in the format 'hh24:mi-hh24:mi'.
---
--- -   Times should be in Universal Coordinated Time (UTC).
---
--- -   Must not conflict with the preferred maintenance window.
---
--- -   Must be at least 30 minutes.
---
+-- | 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 mdcPreferredBackupWindow :: Lens' ModifyDBCluster (Maybe Text)
 mdcPreferredBackupWindow = lens _mdcPreferredBackupWindow (\ s a -> s{_mdcPreferredBackupWindow = a});
 
--- | The number of days for which automated backups are retained. You must specify a minimum value of 1.
---
--- Default: 1
---
--- Constraints:
---
--- -   Must be a value from 1 to 35
---
+-- | The number of days for which automated backups are retained. You must specify a minimum value of 1. Default: 1 Constraints:     * Must be a value from 1 to 35
 mdcBackupRetentionPeriod :: Lens' ModifyDBCluster (Maybe Int)
 mdcBackupRetentionPeriod = lens _mdcBackupRetentionPeriod (\ s a -> s{_mdcBackupRetentionPeriod = a});
 
@@ -166,54 +140,23 @@
 mdcDBClusterParameterGroupName :: Lens' ModifyDBCluster (Maybe Text)
 mdcDBClusterParameterGroupName = lens _mdcDBClusterParameterGroupName (\ s a -> s{_mdcDBClusterParameterGroupName = a});
 
--- | A value that 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 cluster. If this parameter is set to 'false', changes to the DB cluster are applied during the next maintenance window.
---
--- The 'ApplyImmediately' parameter only affects the 'NewDBClusterIdentifier' and 'MasterUserPassword' values. If you set the 'ApplyImmediately' parameter value to false, then changes to the 'NewDBClusterIdentifier' and 'MasterUserPassword' values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the 'ApplyImmediately' parameter.
---
--- Default: 'false'
+-- | A value that 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 cluster. If this parameter is set to @false@ , changes to the DB cluster are applied during the next maintenance window. The @ApplyImmediately@ parameter only affects the @NewDBClusterIdentifier@ and @MasterUserPassword@ values. If you set the @ApplyImmediately@ parameter value to false, then changes to the @NewDBClusterIdentifier@ and @MasterUserPassword@ values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the @ApplyImmediately@ parameter. Default: @false@
 mdcApplyImmediately :: Lens' ModifyDBCluster (Maybe Bool)
 mdcApplyImmediately = lens _mdcApplyImmediately (\ s a -> s{_mdcApplyImmediately = a});
 
--- | A value that indicates that the DB cluster 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 cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.
+-- | A value that indicates that the DB cluster 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 cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.
 mdcOptionGroupName :: Lens' ModifyDBCluster (Maybe Text)
 mdcOptionGroupName = lens _mdcOptionGroupName (\ s a -> s{_mdcOptionGroupName = a});
 
--- | The new DB cluster identifier for the DB cluster when renaming a DB cluster. 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
---
--- Example: 'my-cluster2'
+-- | The new DB cluster identifier for the DB cluster when renaming a DB cluster. 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 Example: @my-cluster2@
 mdcNewDBClusterIdentifier :: Lens' ModifyDBCluster (Maybe Text)
 mdcNewDBClusterIdentifier = lens _mdcNewDBClusterIdentifier (\ s a -> s{_mdcNewDBClusterIdentifier = a});
 
--- | The port number on which the DB cluster accepts connections.
---
--- Constraints: Value must be '1150-65535'
---
--- Default: The same port as the original DB cluster.
+-- | The port number on which the DB cluster accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB cluster.
 mdcPort :: Lens' ModifyDBCluster (Maybe Int)
 mdcPort = lens _mdcPort (\ s a -> s{_mdcPort = a});
 
--- | The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.
---
--- Constraints:
---
--- -   Must be the identifier for an existing DB cluster.
---
--- -   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.
---
+-- | The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive. Constraints:     * Must be the identifier for an existing DB cluster.     * 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.
 mdcDBClusterIdentifier :: Lens' ModifyDBCluster Text
 mdcDBClusterIdentifier = lens _mdcDBClusterIdentifier (\ s a -> s{_mdcDBClusterIdentifier = a});
 
@@ -269,9 +212,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdcrsDBCluster'
+-- * 'mdcrsDBCluster' - Undocumented member.
 --
--- * 'mdcrsResponseStatus'
+-- * 'mdcrsResponseStatus' - -- | The response status code.
 modifyDBClusterResponse
     :: Int -- ^ 'mdcrsResponseStatus'
     -> ModifyDBClusterResponse
@@ -285,7 +228,7 @@
 mdcrsDBCluster :: Lens' ModifyDBClusterResponse (Maybe DBCluster)
 mdcrsDBCluster = lens _mdcrsDBCluster (\ s a -> s{_mdcrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 mdcrsResponseStatus :: Lens' ModifyDBClusterResponse Int
 mdcrsResponseStatus = lens _mdcrsResponseStatus (\ s a -> s{_mdcrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ModifyDBClusterParameterGroup.hs b/gen/Network/AWS/RDS/ModifyDBClusterParameterGroup.hs
--- a/gen/Network/AWS/RDS/ModifyDBClusterParameterGroup.hs
+++ b/gen/Network/AWS/RDS/ModifyDBClusterParameterGroup.hs
@@ -18,13 +18,13 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Modifies the parameters of a DB cluster 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.
+-- Modifies the parameters of a DB cluster 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.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
 --
--- Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.
+-- /Important:/ After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster 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 cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the 'DescribeDBClusterParameters' command to verify that your DB cluster parameter group has been created or modified.
 --
--- After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster 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 cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the < DescribeDBClusterParameters> command to verify that your DB cluster parameter group has been created or modified.
 module Network.AWS.RDS.ModifyDBClusterParameterGroup
     (
     -- * Creating a Request
@@ -50,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyDBClusterParameterGroup' smart constructor.
 data ModifyDBClusterParameterGroup = ModifyDBClusterParameterGroup'
     { _mdcpgDBClusterParameterGroupName :: !Text
@@ -60,9 +62,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdcpgDBClusterParameterGroupName'
+-- * 'mdcpgDBClusterParameterGroupName' - The name of the DB cluster parameter group to modify.
 --
--- * 'mdcpgParameters'
+-- * 'mdcpgParameters' - A list of parameters in the DB cluster parameter group to modify.
 modifyDBClusterParameterGroup
     :: Text -- ^ 'mdcpgDBClusterParameterGroupName'
     -> ModifyDBClusterParameterGroup
diff --git a/gen/Network/AWS/RDS/ModifyDBClusterSnapshotAttribute.hs b/gen/Network/AWS/RDS/ModifyDBClusterSnapshotAttribute.hs
--- a/gen/Network/AWS/RDS/ModifyDBClusterSnapshotAttribute.hs
+++ b/gen/Network/AWS/RDS/ModifyDBClusterSnapshotAttribute.hs
@@ -20,11 +20,13 @@
 --
 -- Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.
 --
--- To share a manual DB cluster snapshot with other AWS accounts, specify 'restore' as the 'AttributeName' and use the 'ValuesToAdd' parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value 'all' to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the 'all' value for any manual DB cluster snapshots that contain private information that you don\'t want available to all AWS accounts.
 --
--- To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the < DescribeDBClusterSnapshotAttributes> API action.
+-- To share a manual DB cluster snapshot with other AWS accounts, specify @restore@ as the @AttributeName@ and use the @ValuesToAdd@ parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value @all@ to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the @all@ value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.
 --
+-- To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the 'DescribeDBClusterSnapshotAttributes' API action.
+--
 -- If a manual DB cluster snapshot is encrypted, it cannot be shared.
+--
 module Network.AWS.RDS.ModifyDBClusterSnapshotAttribute
     (
     -- * Creating a Request
@@ -53,6 +55,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyDBClusterSnapshotAttribute' smart constructor.
 data ModifyDBClusterSnapshotAttribute = ModifyDBClusterSnapshotAttribute'
     { _mdcsaValuesToAdd                 :: !(Maybe [Text])
@@ -65,13 +69,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdcsaValuesToAdd'
+-- * 'mdcsaValuesToAdd' - A list of DB cluster snapshot attributes to add to the attribute specified by @AttributeName@ . To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or @all@ to make the manual DB cluster snapshot restorable by any AWS account. Do not add the @all@ value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.
 --
--- * 'mdcsaValuesToRemove'
+-- * 'mdcsaValuesToRemove' - A list of DB cluster snapshot attributes to remove from the attribute specified by @AttributeName@ . To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or @all@ to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify @all@ , an AWS account whose account ID is explicitly added to the @restore@ attribute can still copy or restore a manual DB cluster snapshot.
 --
--- * 'mdcsaDBClusterSnapshotIdentifier'
+-- * 'mdcsaDBClusterSnapshotIdentifier' - The identifier for the DB cluster snapshot to modify the attributes for.
 --
--- * 'mdcsaAttributeName'
+-- * 'mdcsaAttributeName' - The name of the DB cluster snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to @restore@ .
 modifyDBClusterSnapshotAttribute
     :: Text -- ^ 'mdcsaDBClusterSnapshotIdentifier'
     -> Text -- ^ 'mdcsaAttributeName'
@@ -84,15 +88,11 @@
     , _mdcsaAttributeName = pAttributeName_
     }
 
--- | A list of DB cluster snapshot attributes to add to the attribute specified by 'AttributeName'.
---
--- To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or 'all' to make the manual DB cluster snapshot restorable by any AWS account. Do not add the 'all' value for any manual DB cluster snapshots that contain private information that you don\'t want available to all AWS accounts.
+-- | A list of DB cluster snapshot attributes to add to the attribute specified by @AttributeName@ . To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or @all@ to make the manual DB cluster snapshot restorable by any AWS account. Do not add the @all@ value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.
 mdcsaValuesToAdd :: Lens' ModifyDBClusterSnapshotAttribute [Text]
 mdcsaValuesToAdd = lens _mdcsaValuesToAdd (\ s a -> s{_mdcsaValuesToAdd = a}) . _Default . _Coerce;
 
--- | A list of DB cluster snapshot attributes to remove from the attribute specified by 'AttributeName'.
---
--- To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or 'all' to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify 'all', an AWS account whose account ID is explicitly added to the 'restore' attribute can still copy or restore a manual DB cluster snapshot.
+-- | A list of DB cluster snapshot attributes to remove from the attribute specified by @AttributeName@ . To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or @all@ to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify @all@ , an AWS account whose account ID is explicitly added to the @restore@ attribute can still copy or restore a manual DB cluster snapshot.
 mdcsaValuesToRemove :: Lens' ModifyDBClusterSnapshotAttribute [Text]
 mdcsaValuesToRemove = lens _mdcsaValuesToRemove (\ s a -> s{_mdcsaValuesToRemove = a}) . _Default . _Coerce;
 
@@ -100,9 +100,7 @@
 mdcsaDBClusterSnapshotIdentifier :: Lens' ModifyDBClusterSnapshotAttribute Text
 mdcsaDBClusterSnapshotIdentifier = lens _mdcsaDBClusterSnapshotIdentifier (\ s a -> s{_mdcsaDBClusterSnapshotIdentifier = a});
 
--- | The name of the DB cluster snapshot attribute to modify.
---
--- To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to 'restore'.
+-- | The name of the DB cluster snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to @restore@ .
 mdcsaAttributeName :: Lens' ModifyDBClusterSnapshotAttribute Text
 mdcsaAttributeName = lens _mdcsaAttributeName (\ s a -> s{_mdcsaAttributeName = a});
 
@@ -159,9 +157,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdcsarsDBClusterSnapshotAttributesResult'
+-- * 'mdcsarsDBClusterSnapshotAttributesResult' - Undocumented member.
 --
--- * 'mdcsarsResponseStatus'
+-- * 'mdcsarsResponseStatus' - -- | The response status code.
 modifyDBClusterSnapshotAttributeResponse
     :: Int -- ^ 'mdcsarsResponseStatus'
     -> ModifyDBClusterSnapshotAttributeResponse
@@ -175,7 +173,7 @@
 mdcsarsDBClusterSnapshotAttributesResult :: Lens' ModifyDBClusterSnapshotAttributeResponse (Maybe DBClusterSnapshotAttributesResult)
 mdcsarsDBClusterSnapshotAttributesResult = lens _mdcsarsDBClusterSnapshotAttributesResult (\ s a -> s{_mdcsarsDBClusterSnapshotAttributesResult = a});
 
--- | The response status code.
+-- | -- | The response status code.
 mdcsarsResponseStatus :: Lens' ModifyDBClusterSnapshotAttributeResponse Int
 mdcsarsResponseStatus = lens _mdcsarsResponseStatus (\ s a -> s{_mdcsarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ModifyDBInstance.hs b/gen/Network/AWS/RDS/ModifyDBInstance.hs
--- a/gen/Network/AWS/RDS/ModifyDBInstance.hs
+++ b/gen/Network/AWS/RDS/ModifyDBInstance.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Modifies 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.
+--
+--
 module Network.AWS.RDS.ModifyDBInstance
     (
     -- * Creating a Request
@@ -75,6 +77,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyDBInstance' smart constructor.
 data ModifyDBInstance = ModifyDBInstance'
     { _mdiEngineVersion              :: !(Maybe Text)
@@ -115,69 +119,69 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdiEngineVersion'
+-- * 'mdiEngineVersion' - 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. For a list of valid engine versions, see 'CreateDBInstance' .
 --
--- * 'mdiDBSecurityGroups'
+-- * 'mdiDBSecurityGroups' - 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
 --
--- * 'mdiDBPortNumber'
+-- * 'mdiDBPortNumber' - The port number on which the database accepts connections. The value of the @DBPortNumber@ parameter must not match any of the port values specified for options in the option group for the DB instance. Your database will restart when you change the @DBPortNumber@ value regardless of the value of the @ApplyImmediately@ parameter. __MySQL__  Default: @3306@  Valid Values: @1150-65535@  __MariaDB__  Default: @3306@  Valid Values: @1150-65535@  __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@ .  __Amazon Aurora__  Default: @3306@  Valid Values: @1150-65535@
 --
--- * 'mdiMasterUserPassword'
+-- * 'mdiMasterUserPassword' - 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, MariaDB, and Amazon Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).
 --
--- * 'mdiPubliclyAccessible'
+-- * 'mdiPubliclyAccessible' - Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to @True@ to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to @False@ to make the DB instance internal with a DNS name that resolves to a private IP address.  @PubliclyAccessible@ only applies to DB instances in a VPC. The DB instance must be part of a public subnet and @PubliclyAccessible@ must be true in order for it to be publicly accessible.  Changes to the @PubliclyAccessible@ parameter are applied immediately regardless of the value of the @ApplyImmediately@ parameter. Default: false
 --
--- * 'mdiAutoMinorVersionUpgrade'
+-- * 'mdiAutoMinorVersionUpgrade' - 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.
 --
--- * 'mdiDBSubnetGroupName'
+-- * 'mdiDBSubnetGroupName' - The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC Updating the VPC for a DB Instance> .  Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify @true@ for the @ApplyImmediately@ parameter.  Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Example: @mySubnetGroup@
 --
--- * 'mdiMonitoringRoleARN'
+-- * 'mdiMonitoringRoleARN' - The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, @arn:aws:iam:123456789012:role/emaccess@ . For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring> . If @MonitoringInterval@ is set to a value other than 0, then you must supply a @MonitoringRoleArn@ value.
 --
--- * 'mdiIOPS'
+-- * 'mdiIOPS' - 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 might 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.
 --
--- * 'mdiAllowMajorVersionUpgrade'
+-- * 'mdiAllowMajorVersionUpgrade' - 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.
 --
--- * 'mdiNewDBInstanceIdentifier'
+-- * 'mdiNewDBInstanceIdentifier' - 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
 --
--- * 'mdiDomain'
+-- * 'mdiDomain' - The Active Directory Domain to move the instance to. Specify @none@ to remove the instance from its current domain. The domain must be created prior to this operation. Currently only a Microsoft SQL Server instance can be created in a Active Directory Domain.
 --
--- * 'mdiMonitoringInterval'
+-- * 'mdiMonitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If @MonitoringRoleArn@ is specified, then you must also set @MonitoringInterval@ to a value other than 0. Valid Values: @0, 1, 5, 10, 15, 30, 60@
 --
--- * 'mdiTDECredentialPassword'
+-- * 'mdiTDECredentialPassword' - The password for the given ARN from the Key Store in order to access the device.
 --
--- * 'mdiDBInstanceClass'
+-- * 'mdiDBInstanceClass' - 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@
 --
--- * 'mdiPromotionTier'
+-- * 'mdiPromotionTier' - A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .  Default: 1 Valid Values: 0 - 15
 --
--- * 'mdiLicenseModel'
+-- * 'mdiLicenseModel' - The license model for the DB instance. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 --
--- * 'mdiPreferredMaintenanceWindow'
+-- * 'mdiPreferredMaintenanceWindow' - The weekly time range (in UTC) during which system maintenance can occur, which might 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
 --
--- * 'mdiCACertificateIdentifier'
+-- * 'mdiCACertificateIdentifier' - Indicates the certificate that needs to be associated with the instance.
 --
--- * 'mdiDBParameterGroupName'
+-- * 'mdiDBParameterGroupName' - 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.
 --
--- * 'mdiPreferredBackupWindow'
+-- * 'mdiPreferredBackupWindow' - The daily time range during which automated backups are created if automated backups are enabled, as determined by the @BackupRetentionPeriod@ parameter. 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 in Universal Time Coordinated (UTC)     * Must not conflict with the preferred maintenance window     * Must be at least 30 minutes
 --
--- * 'mdiBackupRetentionPeriod'
+-- * 'mdiBackupRetentionPeriod' - 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 MySQL Read Replica only if the source is running MySQL 5.6     * Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5     * Cannot be set to 0 if the DB instance is a source to Read Replicas
 --
--- * 'mdiVPCSecurityGroupIds'
+-- * 'mdiVPCSecurityGroupIds' - 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
 --
--- * 'mdiMultiAZ'
+-- * 'mdiMultiAZ' - 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.
 --
--- * 'mdiAllocatedStorage'
+-- * 'mdiAllocatedStorage' - 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-6144 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 __MariaDB__  Default: Uses existing setting Valid Values: 5-6144 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-6144 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-6144 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 might 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.
 --
--- * 'mdiApplyImmediately'
+-- * 'mdiApplyImmediately' - 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html 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@
 --
--- * 'mdiOptionGroupName'
+-- * 'mdiOptionGroupName' - 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
 --
--- * 'mdiCopyTagsToSnapshot'
+-- * 'mdiCopyTagsToSnapshot' - True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.
 --
--- * 'mdiTDECredentialARN'
+-- * 'mdiTDECredentialARN' - The ARN from the Key Store with which to associate the instance for TDE encryption.
 --
--- * 'mdiDomainIAMRoleName'
+-- * 'mdiDomainIAMRoleName' - The name of the IAM role to use when making API calls to the Directory Service.
 --
--- * 'mdiStorageType'
+-- * 'mdiStorageType' - Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 --
--- * 'mdiDBInstanceIdentifier'
+-- * 'mdiDBInstanceIdentifier' - 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
 modifyDBInstance
     :: Text -- ^ 'mdiDBInstanceIdentifier'
     -> ModifyDBInstance
@@ -217,161 +221,55 @@
     , _mdiDBInstanceIdentifier = pDBInstanceIdentifier_
     }
 
--- | 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.
---
--- For a list of valid engine versions, see < CreateDBInstance>.
+-- | 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. For a list of valid engine versions, see 'CreateDBInstance' .
 mdiEngineVersion :: Lens' ModifyDBInstance (Maybe Text)
 mdiEngineVersion = lens _mdiEngineVersion (\ s a -> s{_mdiEngineVersion = 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
---
+-- | 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
 mdiDBSecurityGroups :: Lens' ModifyDBInstance [Text]
 mdiDBSecurityGroups = lens _mdiDBSecurityGroups (\ s a -> s{_mdiDBSecurityGroups = a}) . _Default . _Coerce;
 
--- | The port number on which the database accepts connections.
---
--- The value of the 'DBPortNumber' parameter must not match any of the port values specified for options in the option group for the DB instance.
---
--- Your database will restart when you change the 'DBPortNumber' value regardless of the value of the 'ApplyImmediately' parameter.
---
--- __MySQL__
---
--- Default: '3306'
---
--- Valid Values: '1150-65535'
---
--- __MariaDB__
---
--- Default: '3306'
---
--- Valid Values: '1150-65535'
---
--- __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'.
---
--- __Amazon Aurora__
---
--- Default: '3306'
---
--- Valid Values: '1150-65535'
+-- | The port number on which the database accepts connections. The value of the @DBPortNumber@ parameter must not match any of the port values specified for options in the option group for the DB instance. Your database will restart when you change the @DBPortNumber@ value regardless of the value of the @ApplyImmediately@ parameter. __MySQL__  Default: @3306@  Valid Values: @1150-65535@  __MariaDB__  Default: @3306@  Valid Values: @1150-65535@  __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@ .  __Amazon Aurora__  Default: @3306@  Valid Values: @1150-65535@
 mdiDBPortNumber :: Lens' ModifyDBInstance (Maybe Int)
 mdiDBPortNumber = lens _mdiDBPortNumber (\ s a -> s{_mdiDBPortNumber = 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, MariaDB, and Amazon Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).
---
--- Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.
+-- | 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, MariaDB, and Amazon Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).
 mdiMasterUserPassword :: Lens' ModifyDBInstance (Maybe Text)
 mdiMasterUserPassword = lens _mdiMasterUserPassword (\ s a -> s{_mdiMasterUserPassword = a});
 
--- | Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to 'True' to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to 'False' to make the DB instance internal with a DNS name that resolves to a private IP address.
---
--- 'PubliclyAccessible' only applies to DB instances in a VPC. The DB instance must be part of a public subnet and 'PubliclyAccessible' must be true in order for it to be publicly accessible.
---
--- Changes to the 'PubliclyAccessible' parameter are applied immediately regardless of the value of the 'ApplyImmediately' parameter.
---
--- Default: false
+-- | Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to @True@ to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to @False@ to make the DB instance internal with a DNS name that resolves to a private IP address.  @PubliclyAccessible@ only applies to DB instances in a VPC. The DB instance must be part of a public subnet and @PubliclyAccessible@ must be true in order for it to be publicly accessible.  Changes to the @PubliclyAccessible@ parameter are applied immediately regardless of the value of the @ApplyImmediately@ parameter. Default: false
 mdiPubliclyAccessible :: Lens' ModifyDBInstance (Maybe Bool)
 mdiPubliclyAccessible = lens _mdiPubliclyAccessible (\ s a -> s{_mdiPubliclyAccessible = 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.
+-- | 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.
 mdiAutoMinorVersionUpgrade :: Lens' ModifyDBInstance (Maybe Bool)
 mdiAutoMinorVersionUpgrade = lens _mdiAutoMinorVersionUpgrade (\ s a -> s{_mdiAutoMinorVersionUpgrade = a});
 
--- | The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC, or to a different subnet group in the same VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC Updating the VPC for a DB Instance>.
---
--- Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify 'true' for the 'ApplyImmediately' parameter.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens.
---
--- Example: 'mySubnetGroup'
+-- | The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC Updating the VPC for a DB Instance> .  Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify @true@ for the @ApplyImmediately@ parameter.  Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Example: @mySubnetGroup@
 mdiDBSubnetGroupName :: Lens' ModifyDBInstance (Maybe Text)
 mdiDBSubnetGroupName = lens _mdiDBSubnetGroupName (\ s a -> s{_mdiDBSubnetGroupName = a});
 
--- | The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, 'arn:aws:iam:123456789012:role\/emaccess'. For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring>.
---
--- If 'MonitoringInterval' is set to a value other than 0, then you must supply a 'MonitoringRoleArn' value.
+-- | The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, @arn:aws:iam:123456789012:role/emaccess@ . For information on creating a monitoring role, go to <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole To create an IAM role for Amazon RDS Enhanced Monitoring> . If @MonitoringInterval@ is set to a value other than 0, then you must supply a @MonitoringRoleArn@ value.
 mdiMonitoringRoleARN :: Lens' ModifyDBInstance (Maybe Text)
 mdiMonitoringRoleARN = lens _mdiMonitoringRoleARN (\ s a -> s{_mdiMonitoringRoleARN = 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 might 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.
+-- | 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 might 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.
 mdiIOPS :: Lens' ModifyDBInstance (Maybe Int)
 mdiIOPS = lens _mdiIOPS (\ s a -> s{_mdiIOPS = 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.
+-- | 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.
 mdiAllowMajorVersionUpgrade :: Lens' ModifyDBInstance (Maybe Bool)
 mdiAllowMajorVersionUpgrade = lens _mdiAllowMajorVersionUpgrade (\ s a -> s{_mdiAllowMajorVersionUpgrade = 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
---
+-- | 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
 mdiNewDBInstanceIdentifier :: Lens' ModifyDBInstance (Maybe Text)
 mdiNewDBInstanceIdentifier = lens _mdiNewDBInstanceIdentifier (\ s a -> s{_mdiNewDBInstanceIdentifier = a});
 
--- | Specify the Active Directory Domain to move the instance to.
---
--- The specified Active Directory Domain must be created prior to this operation. Currently only a SQL Server instance can be created in a Active Directory Domain.
+-- | The Active Directory Domain to move the instance to. Specify @none@ to remove the instance from its current domain. The domain must be created prior to this operation. Currently only a Microsoft SQL Server instance can be created in a Active Directory Domain.
 mdiDomain :: Lens' ModifyDBInstance (Maybe Text)
 mdiDomain = lens _mdiDomain (\ s a -> s{_mdiDomain = a});
 
--- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.
---
--- If 'MonitoringRoleArn' is specified, then you must also set 'MonitoringInterval' to a value other than 0.
---
--- Valid Values: '0, 1, 5, 10, 15, 30, 60'
+-- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. If @MonitoringRoleArn@ is specified, then you must also set @MonitoringInterval@ to a value other than 0. Valid Values: @0, 1, 5, 10, 15, 30, 60@
 mdiMonitoringInterval :: Lens' ModifyDBInstance (Maybe Int)
 mdiMonitoringInterval = lens _mdiMonitoringInterval (\ s a -> s{_mdiMonitoringInterval = a});
 
@@ -379,39 +277,19 @@
 mdiTDECredentialPassword :: Lens' ModifyDBInstance (Maybe Text)
 mdiTDECredentialPassword = lens _mdiTDECredentialPassword (\ s a -> s{_mdiTDECredentialPassword = 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- | 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@
 mdiDBInstanceClass :: Lens' ModifyDBInstance (Maybe Text)
 mdiDBInstanceClass = lens _mdiDBInstanceClass (\ s a -> s{_mdiDBInstanceClass = a});
 
--- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster>.
---
--- Default: 1
---
--- Valid Values: 0 - 15
+-- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .  Default: 1 Valid Values: 0 - 15
 mdiPromotionTier :: Lens' ModifyDBInstance (Maybe Int)
 mdiPromotionTier = lens _mdiPromotionTier (\ s a -> s{_mdiPromotionTier = a});
 
--- | The license model for the DB instance.
---
--- Valid values: 'license-included' | 'bring-your-own-license' | 'general-public-license'
+-- | The license model for the DB instance. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 mdiLicenseModel :: Lens' ModifyDBInstance (Maybe Text)
 mdiLicenseModel = lens _mdiLicenseModel (\ s a -> s{_mdiLicenseModel = a});
 
--- | The weekly time range (in UTC) during which system maintenance can occur, which might 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
+-- | The weekly time range (in UTC) during which system maintenance can occur, which might 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
 mdiPreferredMaintenanceWindow :: Lens' ModifyDBInstance (Maybe Text)
 mdiPreferredMaintenanceWindow = lens _mdiPreferredMaintenanceWindow (\ s a -> s{_mdiPreferredMaintenanceWindow = a});
 
@@ -419,126 +297,35 @@
 mdiCACertificateIdentifier :: Lens' ModifyDBInstance (Maybe Text)
 mdiCACertificateIdentifier = lens _mdiCACertificateIdentifier (\ s a -> s{_mdiCACertificateIdentifier = 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.
+-- | 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.
 mdiDBParameterGroupName :: Lens' ModifyDBInstance (Maybe Text)
 mdiDBParameterGroupName = lens _mdiDBParameterGroupName (\ s a -> s{_mdiDBParameterGroupName = a});
 
--- | The daily time range during which automated backups are created if automated backups are enabled, as determined by the 'BackupRetentionPeriod' parameter. 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 in Universal Time Coordinated (UTC)
---
--- -   Must not conflict with the preferred maintenance window
---
--- -   Must be at least 30 minutes
---
+-- | The daily time range during which automated backups are created if automated backups are enabled, as determined by the @BackupRetentionPeriod@ parameter. 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 in Universal Time Coordinated (UTC)     * Must not conflict with the preferred maintenance window     * Must be at least 30 minutes
 mdiPreferredBackupWindow :: Lens' ModifyDBInstance (Maybe Text)
 mdiPreferredBackupWindow = lens _mdiPreferredBackupWindow (\ s a -> s{_mdiPreferredBackupWindow = 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 MySQL Read Replica only if the source is running MySQL 5.6
---
--- -   Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5
---
--- -   Cannot be set to 0 if the DB instance is a source to Read Replicas
---
+-- | 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 MySQL Read Replica only if the source is running MySQL 5.6     * Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5     * Cannot be set to 0 if the DB instance is a source to Read Replicas
 mdiBackupRetentionPeriod :: Lens' ModifyDBInstance (Maybe Int)
 mdiBackupRetentionPeriod = lens _mdiBackupRetentionPeriod (\ s a -> s{_mdiBackupRetentionPeriod = 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
---
+-- | 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
 mdiVPCSecurityGroupIds :: Lens' ModifyDBInstance [Text]
 mdiVPCSecurityGroupIds = lens _mdiVPCSecurityGroupIds (\ s a -> s{_mdiVPCSecurityGroupIds = a}) . _Default . _Coerce;
 
--- | 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.
+-- | 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.
 mdiMultiAZ :: Lens' ModifyDBInstance (Maybe Bool)
 mdiMultiAZ = lens _mdiMultiAZ (\ s a -> s{_mdiMultiAZ = a});
 
--- | 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-6144
---
--- 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
---
--- __MariaDB__
---
--- Default: Uses existing setting
---
--- Valid Values: 5-6144
---
--- 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-6144
---
--- 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-6144
---
--- 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 might 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.
+-- | 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-6144 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 __MariaDB__  Default: Uses existing setting Valid Values: 5-6144 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-6144 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-6144 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 might 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.
 mdiAllocatedStorage :: Lens' ModifyDBInstance (Maybe Int)
 mdiAllocatedStorage = lens _mdiAllocatedStorage (\ s a -> s{_mdiAllocatedStorage = 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html 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'
+-- | 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html 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@
 mdiApplyImmediately :: Lens' ModifyDBInstance (Maybe Bool)
 mdiApplyImmediately = lens _mdiApplyImmediately (\ s a -> s{_mdiApplyImmediately = 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
+-- | 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
 mdiOptionGroupName :: Lens' ModifyDBInstance (Maybe Text)
 mdiOptionGroupName = lens _mdiOptionGroupName (\ s a -> s{_mdiOptionGroupName = a});
 
@@ -550,32 +337,15 @@
 mdiTDECredentialARN :: Lens' ModifyDBInstance (Maybe Text)
 mdiTDECredentialARN = lens _mdiTDECredentialARN (\ s a -> s{_mdiTDECredentialARN = a});
 
--- | Specify the name of the IAM role to be used when making API calls to the Directory Service.
+-- | The name of the IAM role to use when making API calls to the Directory Service.
 mdiDomainIAMRoleName :: Lens' ModifyDBInstance (Maybe Text)
 mdiDomainIAMRoleName = lens _mdiDomainIAMRoleName (\ s a -> s{_mdiDomainIAMRoleName = a});
 
--- | Specifies the 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.
---
--- Default: 'io1' if the 'Iops' parameter is specified; otherwise 'standard'
+-- | Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 mdiStorageType :: Lens' ModifyDBInstance (Maybe Text)
 mdiStorageType = lens _mdiStorageType (\ s a -> s{_mdiStorageType = 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
---
+-- | 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
 mdiDBInstanceIdentifier :: Lens' ModifyDBInstance Text
 mdiDBInstanceIdentifier = lens _mdiDBInstanceIdentifier (\ s a -> s{_mdiDBInstanceIdentifier = a});
 
@@ -657,9 +427,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdirsDBInstance'
+-- * 'mdirsDBInstance' - Undocumented member.
 --
--- * 'mdirsResponseStatus'
+-- * 'mdirsResponseStatus' - -- | The response status code.
 modifyDBInstanceResponse
     :: Int -- ^ 'mdirsResponseStatus'
     -> ModifyDBInstanceResponse
@@ -673,7 +443,7 @@
 mdirsDBInstance :: Lens' ModifyDBInstanceResponse (Maybe DBInstance)
 mdirsDBInstance = lens _mdirsDBInstance (\ s a -> s{_mdirsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 mdirsResponseStatus :: Lens' ModifyDBInstanceResponse Int
 mdirsResponseStatus = lens _mdirsResponseStatus (\ s a -> s{_mdirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ModifyDBParameterGroup.hs b/gen/Network/AWS/RDS/ModifyDBParameterGroup.hs
--- a/gen/Network/AWS/RDS/ModifyDBParameterGroup.hs
+++ b/gen/Network/AWS/RDS/ModifyDBParameterGroup.hs
@@ -18,11 +18,11 @@
 -- Stability   : auto-generated
 -- 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.
+-- 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.
 --
--- Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.
 --
--- 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the /DescribeDBParameters/ command to verify that your DB parameter group has been created or modified.
+-- /Important:/ 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 <https://console.aws.amazon.com/rds/ Amazon RDS console> or the /DescribeDBParameters/ command to verify that your DB parameter group has been created or modified.
+--
 module Network.AWS.RDS.ModifyDBParameterGroup
     (
     -- * Creating a Request
@@ -48,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyDBParameterGroup' smart constructor.
 data ModifyDBParameterGroup = ModifyDBParameterGroup'
     { _mdpgDBParameterGroupName :: !Text
@@ -58,9 +60,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdpgDBParameterGroupName'
+-- * 'mdpgDBParameterGroupName' - 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
 --
--- * 'mdpgParameters'
+-- * 'mdpgParameters' - 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 can be modified in a single request. Valid Values (for the application method): @immediate | pending-reboot@
 modifyDBParameterGroup
     :: Text -- ^ 'mdpgDBParameterGroupName'
     -> ModifyDBParameterGroup
@@ -70,26 +72,11 @@
     , _mdpgParameters = 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
---
+-- | 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
 mdpgDBParameterGroupName :: Lens' ModifyDBParameterGroup Text
 mdpgDBParameterGroupName = lens _mdpgDBParameterGroupName (\ s a -> s{_mdpgDBParameterGroupName = 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 can be modified in a single request.
---
--- Valid Values (for the application 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 you reboot the DB instance without failover.
+-- | 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 can be modified in a single request. Valid Values (for the application method): @immediate | pending-reboot@
 mdpgParameters :: Lens' ModifyDBParameterGroup [Parameter]
 mdpgParameters = lens _mdpgParameters (\ s a -> s{_mdpgParameters = a}) . _Coerce;
 
diff --git a/gen/Network/AWS/RDS/ModifyDBSnapshotAttribute.hs b/gen/Network/AWS/RDS/ModifyDBSnapshotAttribute.hs
--- a/gen/Network/AWS/RDS/ModifyDBSnapshotAttribute.hs
+++ b/gen/Network/AWS/RDS/ModifyDBSnapshotAttribute.hs
@@ -20,11 +20,13 @@
 --
 -- Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.
 --
--- To share a manual DB snapshot with other AWS accounts, specify 'restore' as the 'AttributeName' and use the 'ValuesToAdd' parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value 'all' to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the 'all' value for any manual DB snapshots that contain private information that you don\'t want available to all AWS accounts.
 --
--- To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the < DescribeDBSnapshotAttributes> API action.
+-- To share a manual DB snapshot with other AWS accounts, specify @restore@ as the @AttributeName@ and use the @ValuesToAdd@ parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value @all@ to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the @all@ value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts.
 --
+-- To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the 'DescribeDBSnapshotAttributes' API action.
+--
 -- If the manual DB snapshot is encrypted, it cannot be shared.
+--
 module Network.AWS.RDS.ModifyDBSnapshotAttribute
     (
     -- * Creating a Request
@@ -53,6 +55,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyDBSnapshotAttribute' smart constructor.
 data ModifyDBSnapshotAttribute = ModifyDBSnapshotAttribute'
     { _mdsaValuesToAdd          :: !(Maybe [Text])
@@ -65,13 +69,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdsaValuesToAdd'
+-- * 'mdsaValuesToAdd' - A list of DB snapshot attributes to add to the attribute specified by @AttributeName@ . To authorize other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account IDs, or @all@ to make the manual DB snapshot restorable by any AWS account. Do not add the @all@ value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts.
 --
--- * 'mdsaValuesToRemove'
+-- * 'mdsaValuesToRemove' - A list of DB snapshot attributes to remove from the attribute specified by @AttributeName@ . To remove authorization for other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account identifiers, or @all@ to remove authorization for any AWS account to copy or restore the DB snapshot. If you specify @all@ , an AWS account whose account ID is explicitly added to the @restore@ attribute can still copy or restore the manual DB snapshot.
 --
--- * 'mdsaDBSnapshotIdentifier'
+-- * 'mdsaDBSnapshotIdentifier' - The identifier for the DB snapshot to modify the attributes for.
 --
--- * 'mdsaAttributeName'
+-- * 'mdsaAttributeName' - The name of the DB snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual DB snapshot, set this value to @restore@ .
 modifyDBSnapshotAttribute
     :: Text -- ^ 'mdsaDBSnapshotIdentifier'
     -> Text -- ^ 'mdsaAttributeName'
@@ -84,15 +88,11 @@
     , _mdsaAttributeName = pAttributeName_
     }
 
--- | A list of DB snapshot attributes to add to the attribute specified by 'AttributeName'.
---
--- To authorize other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account IDs, or 'all' to make the manual DB snapshot restorable by any AWS account. Do not add the 'all' value for any manual DB snapshots that contain private information that you don\'t want available to all AWS accounts.
+-- | A list of DB snapshot attributes to add to the attribute specified by @AttributeName@ . To authorize other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account IDs, or @all@ to make the manual DB snapshot restorable by any AWS account. Do not add the @all@ value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts.
 mdsaValuesToAdd :: Lens' ModifyDBSnapshotAttribute [Text]
 mdsaValuesToAdd = lens _mdsaValuesToAdd (\ s a -> s{_mdsaValuesToAdd = a}) . _Default . _Coerce;
 
--- | A list of DB snapshot attributes to remove from the attribute specified by 'AttributeName'.
---
--- To remove authorization for other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account identifiers, or 'all' to remove authorization for any AWS account to copy or restore the DB snapshot. If you specify 'all', an AWS account whose account ID is explicitly added to the 'restore' attribute can still copy or restore the manual DB snapshot.
+-- | A list of DB snapshot attributes to remove from the attribute specified by @AttributeName@ . To remove authorization for other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account identifiers, or @all@ to remove authorization for any AWS account to copy or restore the DB snapshot. If you specify @all@ , an AWS account whose account ID is explicitly added to the @restore@ attribute can still copy or restore the manual DB snapshot.
 mdsaValuesToRemove :: Lens' ModifyDBSnapshotAttribute [Text]
 mdsaValuesToRemove = lens _mdsaValuesToRemove (\ s a -> s{_mdsaValuesToRemove = a}) . _Default . _Coerce;
 
@@ -100,9 +100,7 @@
 mdsaDBSnapshotIdentifier :: Lens' ModifyDBSnapshotAttribute Text
 mdsaDBSnapshotIdentifier = lens _mdsaDBSnapshotIdentifier (\ s a -> s{_mdsaDBSnapshotIdentifier = a});
 
--- | The name of the DB snapshot attribute to modify.
---
--- To manage authorization for other AWS accounts to copy or restore a manual DB snapshot, set this value to 'restore'.
+-- | The name of the DB snapshot attribute to modify. To manage authorization for other AWS accounts to copy or restore a manual DB snapshot, set this value to @restore@ .
 mdsaAttributeName :: Lens' ModifyDBSnapshotAttribute Text
 mdsaAttributeName = lens _mdsaAttributeName (\ s a -> s{_mdsaAttributeName = a});
 
@@ -153,9 +151,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdsarsDBSnapshotAttributesResult'
+-- * 'mdsarsDBSnapshotAttributesResult' - Undocumented member.
 --
--- * 'mdsarsResponseStatus'
+-- * 'mdsarsResponseStatus' - -- | The response status code.
 modifyDBSnapshotAttributeResponse
     :: Int -- ^ 'mdsarsResponseStatus'
     -> ModifyDBSnapshotAttributeResponse
@@ -169,7 +167,7 @@
 mdsarsDBSnapshotAttributesResult :: Lens' ModifyDBSnapshotAttributeResponse (Maybe DBSnapshotAttributesResult)
 mdsarsDBSnapshotAttributesResult = lens _mdsarsDBSnapshotAttributesResult (\ s a -> s{_mdsarsDBSnapshotAttributesResult = a});
 
--- | The response status code.
+-- | -- | The response status code.
 mdsarsResponseStatus :: Lens' ModifyDBSnapshotAttributeResponse Int
 mdsarsResponseStatus = lens _mdsarsResponseStatus (\ s a -> s{_mdsarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ModifyDBSubnetGroup.hs b/gen/Network/AWS/RDS/ModifyDBSubnetGroup.hs
--- a/gen/Network/AWS/RDS/ModifyDBSubnetGroup.hs
+++ b/gen/Network/AWS/RDS/ModifyDBSubnetGroup.hs
@@ -19,6 +19,8 @@
 -- 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.
+--
+--
 module Network.AWS.RDS.ModifyDBSubnetGroup
     (
     -- * Creating a Request
@@ -46,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyDBSubnetGroup' smart constructor.
 data ModifyDBSubnetGroup = ModifyDBSubnetGroup'
     { _mdsgDBSubnetGroupDescription :: !(Maybe Text)
@@ -57,11 +61,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdsgDBSubnetGroupDescription'
+-- * 'mdsgDBSubnetGroupDescription' - The description for the DB subnet group.
 --
--- * 'mdsgDBSubnetGroupName'
+-- * 'mdsgDBSubnetGroupName' - The name for the DB subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'mdsgSubnetIds'
+-- * 'mdsgSubnetIds' - The EC2 subnet IDs for the DB subnet group.
 modifyDBSubnetGroup
     :: Text -- ^ 'mdsgDBSubnetGroupName'
     -> ModifyDBSubnetGroup
@@ -76,11 +80,7 @@
 mdsgDBSubnetGroupDescription :: Lens' ModifyDBSubnetGroup (Maybe Text)
 mdsgDBSubnetGroupDescription = lens _mdsgDBSubnetGroupDescription (\ s a -> s{_mdsgDBSubnetGroupDescription = 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, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | The name for the DB subnet group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 mdsgDBSubnetGroupName :: Lens' ModifyDBSubnetGroup Text
 mdsgDBSubnetGroupName = lens _mdsgDBSubnetGroupName (\ s a -> s{_mdsgDBSubnetGroupName = a});
 
@@ -129,9 +129,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mdsgrsDBSubnetGroup'
+-- * 'mdsgrsDBSubnetGroup' - Undocumented member.
 --
--- * 'mdsgrsResponseStatus'
+-- * 'mdsgrsResponseStatus' - -- | The response status code.
 modifyDBSubnetGroupResponse
     :: Int -- ^ 'mdsgrsResponseStatus'
     -> ModifyDBSubnetGroupResponse
@@ -145,7 +145,7 @@
 mdsgrsDBSubnetGroup :: Lens' ModifyDBSubnetGroupResponse (Maybe DBSubnetGroup)
 mdsgrsDBSubnetGroup = lens _mdsgrsDBSubnetGroup (\ s a -> s{_mdsgrsDBSubnetGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 mdsgrsResponseStatus :: Lens' ModifyDBSubnetGroupResponse Int
 mdsgrsResponseStatus = lens _mdsgrsResponseStatus (\ s a -> s{_mdsgrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ModifyEventSubscription.hs b/gen/Network/AWS/RDS/ModifyEventSubscription.hs
--- a/gen/Network/AWS/RDS/ModifyEventSubscription.hs
+++ b/gen/Network/AWS/RDS/ModifyEventSubscription.hs
@@ -18,9 +18,11 @@
 -- Stability   : auto-generated
 -- 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.
+-- 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html Events> topic in the Amazon RDS User Guide or by using the __DescribeEventCategories__ action.
+--
 module Network.AWS.RDS.ModifyEventSubscription
     (
     -- * Creating a Request
@@ -50,6 +52,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyEventSubscription' smart constructor.
 data ModifyEventSubscription = ModifyEventSubscription'
     { _mesSNSTopicARN      :: !(Maybe Text)
@@ -63,15 +67,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mesSNSTopicARN'
+-- * 'mesSNSTopicARN' - 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.
 --
--- * 'mesEnabled'
+-- * 'mesEnabled' - A Boolean value; set to __true__ to activate the subscription.
 --
--- * 'mesSourceType'
+-- * 'mesSourceType' - 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
 --
--- * 'mesEventCategories'
+-- * 'mesEventCategories' - 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html Events> topic in the Amazon RDS User Guide or by using the __DescribeEventCategories__ action.
 --
--- * 'mesSubscriptionName'
+-- * 'mesSubscriptionName' - The name of the RDS event notification subscription.
 modifyEventSubscription
     :: Text -- ^ 'mesSubscriptionName'
     -> ModifyEventSubscription
@@ -92,9 +96,7 @@
 mesEnabled :: Lens' ModifyEventSubscription (Maybe Bool)
 mesEnabled = lens _mesEnabled (\ s a -> s{_mesEnabled = 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
+-- | 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});
 
@@ -151,9 +153,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mesrsEventSubscription'
+-- * 'mesrsEventSubscription' - Undocumented member.
 --
--- * 'mesrsResponseStatus'
+-- * 'mesrsResponseStatus' - -- | The response status code.
 modifyEventSubscriptionResponse
     :: Int -- ^ 'mesrsResponseStatus'
     -> ModifyEventSubscriptionResponse
@@ -167,7 +169,7 @@
 mesrsEventSubscription :: Lens' ModifyEventSubscriptionResponse (Maybe EventSubscription)
 mesrsEventSubscription = lens _mesrsEventSubscription (\ s a -> s{_mesrsEventSubscription = a});
 
--- | The response status code.
+-- | -- | The response status code.
 mesrsResponseStatus :: Lens' ModifyEventSubscriptionResponse Int
 mesrsResponseStatus = lens _mesrsResponseStatus (\ s a -> s{_mesrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/ModifyOptionGroup.hs b/gen/Network/AWS/RDS/ModifyOptionGroup.hs
--- a/gen/Network/AWS/RDS/ModifyOptionGroup.hs
+++ b/gen/Network/AWS/RDS/ModifyOptionGroup.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Modifies an existing option group.
+--
+--
 module Network.AWS.RDS.ModifyOptionGroup
     (
     -- * Creating a Request
@@ -47,6 +49,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'modifyOptionGroup' smart constructor.
 data ModifyOptionGroup = ModifyOptionGroup'
     { _mogOptionsToInclude :: !(Maybe [OptionConfiguration])
@@ -59,13 +63,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mogOptionsToInclude'
+-- * 'mogOptionsToInclude' - Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.
 --
--- * 'mogOptionsToRemove'
+-- * 'mogOptionsToRemove' - Options in this list are removed from the option group.
 --
--- * 'mogApplyImmediately'
+-- * 'mogApplyImmediately' - Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group.
 --
--- * 'mogOptionGroupName'
+-- * 'mogOptionGroupName' - 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
 modifyOptionGroup
     :: Text -- ^ 'mogOptionGroupName'
     -> ModifyOptionGroup
@@ -89,9 +93,7 @@
 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
+-- | 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});
 
@@ -139,9 +141,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'mogrsOptionGroup'
+-- * 'mogrsOptionGroup' - Undocumented member.
 --
--- * 'mogrsResponseStatus'
+-- * 'mogrsResponseStatus' - -- | The response status code.
 modifyOptionGroupResponse
     :: Int -- ^ 'mogrsResponseStatus'
     -> ModifyOptionGroupResponse
@@ -155,7 +157,7 @@
 mogrsOptionGroup :: Lens' ModifyOptionGroupResponse (Maybe OptionGroup)
 mogrsOptionGroup = lens _mogrsOptionGroup (\ s a -> s{_mogrsOptionGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 mogrsResponseStatus :: Lens' ModifyOptionGroupResponse Int
 mogrsResponseStatus = lens _mogrsResponseStatus (\ s a -> s{_mogrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/PromoteReadReplica.hs b/gen/Network/AWS/RDS/PromoteReadReplica.hs
--- a/gen/Network/AWS/RDS/PromoteReadReplica.hs
+++ b/gen/Network/AWS/RDS/PromoteReadReplica.hs
@@ -20,7 +20,7 @@
 --
 -- Promotes a Read Replica DB instance to a standalone DB instance.
 --
--- We recommend that you enable automated backups on your Read Replica before promoting the Read Replica. This ensures that no backup is taken during the promotion process. Once the instance is promoted to a primary instance, backups are taken based on your backup settings.
+--
 module Network.AWS.RDS.PromoteReadReplica
     (
     -- * Creating a Request
@@ -48,6 +48,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'promoteReadReplica' smart constructor.
 data PromoteReadReplica = PromoteReadReplica'
     { _prrPreferredBackupWindow :: !(Maybe Text)
@@ -59,11 +61,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'prrPreferredBackupWindow'
+-- * 'prrPreferredBackupWindow' - 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 --
--- * 'prrBackupRetentionPeriod'
+-- * 'prrBackupRetentionPeriod' - 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
 --
--- * 'prrDBInstanceIdentifier'
+-- * 'prrDBInstanceIdentifier' - 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@
 promoteReadReplica
     :: Text -- ^ 'prrDBInstanceIdentifier'
     -> PromoteReadReplica
@@ -74,47 +76,15 @@
     , _prrDBInstanceIdentifier = pDBInstanceIdentifier_
     }
 
--- | 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./
---
--- Constraints:
---
--- -   Must be in the format 'hh24:mi-hh24:mi'.
---
--- -   Times should be in Universal Coordinated Time (UTC).
---
--- -   Must not conflict with the preferred maintenance window.
---
--- -   Must be at least 30 minutes.
---
+-- | 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (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});
 
--- | 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
---
+-- | 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'
+-- | 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});
 
@@ -157,9 +127,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'prrrsDBInstance'
+-- * 'prrrsDBInstance' - Undocumented member.
 --
--- * 'prrrsResponseStatus'
+-- * 'prrrsResponseStatus' - -- | The response status code.
 promoteReadReplicaResponse
     :: Int -- ^ 'prrrsResponseStatus'
     -> PromoteReadReplicaResponse
@@ -173,7 +143,7 @@
 prrrsDBInstance :: Lens' PromoteReadReplicaResponse (Maybe DBInstance)
 prrrsDBInstance = lens _prrrsDBInstance (\ s a -> s{_prrrsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 prrrsResponseStatus :: Lens' PromoteReadReplicaResponse Int
 prrrsResponseStatus = lens _prrrsResponseStatus (\ s a -> s{_prrrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/PromoteReadReplicaDBCluster.hs b/gen/Network/AWS/RDS/PromoteReadReplicaDBCluster.hs
--- a/gen/Network/AWS/RDS/PromoteReadReplicaDBCluster.hs
+++ b/gen/Network/AWS/RDS/PromoteReadReplicaDBCluster.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Promotes a Read Replica DB cluster to a standalone DB cluster.
+--
+--
 module Network.AWS.RDS.PromoteReadReplicaDBCluster
     (
     -- * Creating a Request
@@ -44,6 +46,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'promoteReadReplicaDBCluster' smart constructor.
 newtype PromoteReadReplicaDBCluster = PromoteReadReplicaDBCluster'
     { _prrdcDBClusterIdentifier :: Text
@@ -53,7 +57,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'prrdcDBClusterIdentifier'
+-- * 'prrdcDBClusterIdentifier' - The identifier of the DB cluster Read Replica to promote. 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. Example: @my-cluster-replica1@
 promoteReadReplicaDBCluster
     :: Text -- ^ 'prrdcDBClusterIdentifier'
     -> PromoteReadReplicaDBCluster
@@ -62,17 +66,7 @@
     { _prrdcDBClusterIdentifier = pDBClusterIdentifier_
     }
 
--- | The identifier of the DB cluster Read Replica to promote. 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.
---
--- Example: 'my-cluster-replica1'
+-- | The identifier of the DB cluster Read Replica to promote. 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. Example: @my-cluster-replica1@
 prrdcDBClusterIdentifier :: Lens' PromoteReadReplicaDBCluster Text
 prrdcDBClusterIdentifier = lens _prrdcDBClusterIdentifier (\ s a -> s{_prrdcDBClusterIdentifier = a});
 
@@ -115,9 +109,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'prrdcrsDBCluster'
+-- * 'prrdcrsDBCluster' - Undocumented member.
 --
--- * 'prrdcrsResponseStatus'
+-- * 'prrdcrsResponseStatus' - -- | The response status code.
 promoteReadReplicaDBClusterResponse
     :: Int -- ^ 'prrdcrsResponseStatus'
     -> PromoteReadReplicaDBClusterResponse
@@ -131,7 +125,7 @@
 prrdcrsDBCluster :: Lens' PromoteReadReplicaDBClusterResponse (Maybe DBCluster)
 prrdcrsDBCluster = lens _prrdcrsDBCluster (\ s a -> s{_prrdcrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 prrdcrsResponseStatus :: Lens' PromoteReadReplicaDBClusterResponse Int
 prrdcrsResponseStatus = lens _prrdcrsResponseStatus (\ s a -> s{_prrdcrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/PurchaseReservedDBInstancesOffering.hs b/gen/Network/AWS/RDS/PurchaseReservedDBInstancesOffering.hs
--- a/gen/Network/AWS/RDS/PurchaseReservedDBInstancesOffering.hs
+++ b/gen/Network/AWS/RDS/PurchaseReservedDBInstancesOffering.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Purchases a reserved DB instance offering.
+--
+--
 module Network.AWS.RDS.PurchaseReservedDBInstancesOffering
     (
     -- * Creating a Request
@@ -47,6 +49,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'purchaseReservedDBInstancesOffering' smart constructor.
 data PurchaseReservedDBInstancesOffering = PurchaseReservedDBInstancesOffering'
     { _prdioDBInstanceCount               :: !(Maybe Int)
@@ -59,13 +63,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'prdioDBInstanceCount'
+-- * 'prdioDBInstanceCount' - The number of instances to reserve. Default: @1@
 --
--- * 'prdioReservedDBInstanceId'
+-- * 'prdioReservedDBInstanceId' - Customer-specified identifier to track this reservation. Example: myreservationID
 --
--- * 'prdioTags'
+-- * 'prdioTags' - Undocumented member.
 --
--- * 'prdioReservedDBInstancesOfferingId'
+-- * 'prdioReservedDBInstancesOfferingId' - The ID of the Reserved DB instance offering to purchase. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
 purchaseReservedDBInstancesOffering
     :: Text -- ^ 'prdioReservedDBInstancesOfferingId'
     -> PurchaseReservedDBInstancesOffering
@@ -77,15 +81,11 @@
     , _prdioReservedDBInstancesOfferingId = pReservedDBInstancesOfferingId_
     }
 
--- | The number of instances to reserve.
---
--- Default: '1'
+-- | The number of instances to reserve. Default: @1@
 prdioDBInstanceCount :: Lens' PurchaseReservedDBInstancesOffering (Maybe Int)
 prdioDBInstanceCount = lens _prdioDBInstanceCount (\ s a -> s{_prdioDBInstanceCount = a});
 
--- | Customer-specified identifier to track this reservation.
---
--- Example: myreservationID
+-- | Customer-specified identifier to track this reservation. Example: myreservationID
 prdioReservedDBInstanceId :: Lens' PurchaseReservedDBInstancesOffering (Maybe Text)
 prdioReservedDBInstanceId = lens _prdioReservedDBInstanceId (\ s a -> s{_prdioReservedDBInstanceId = a});
 
@@ -93,9 +93,7 @@
 prdioTags :: Lens' PurchaseReservedDBInstancesOffering [Tag]
 prdioTags = lens _prdioTags (\ s a -> s{_prdioTags = a}) . _Default . _Coerce;
 
--- | The ID of the Reserved DB instance offering to purchase.
---
--- Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
+-- | The ID of the Reserved DB instance offering to purchase. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
 prdioReservedDBInstancesOfferingId :: Lens' PurchaseReservedDBInstancesOffering Text
 prdioReservedDBInstancesOfferingId = lens _prdioReservedDBInstancesOfferingId (\ s a -> s{_prdioReservedDBInstancesOfferingId = a});
 
@@ -147,9 +145,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'prdiorsReservedDBInstance'
+-- * 'prdiorsReservedDBInstance' - Undocumented member.
 --
--- * 'prdiorsResponseStatus'
+-- * 'prdiorsResponseStatus' - -- | The response status code.
 purchaseReservedDBInstancesOfferingResponse
     :: Int -- ^ 'prdiorsResponseStatus'
     -> PurchaseReservedDBInstancesOfferingResponse
@@ -163,7 +161,7 @@
 prdiorsReservedDBInstance :: Lens' PurchaseReservedDBInstancesOfferingResponse (Maybe ReservedDBInstance)
 prdiorsReservedDBInstance = lens _prdiorsReservedDBInstance (\ s a -> s{_prdiorsReservedDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 prdiorsResponseStatus :: Lens' PurchaseReservedDBInstancesOfferingResponse Int
 prdiorsResponseStatus = lens _prdiorsResponseStatus (\ s a -> s{_prdiorsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RebootDBInstance.hs b/gen/Network/AWS/RDS/RebootDBInstance.hs
--- a/gen/Network/AWS/RDS/RebootDBInstance.hs
+++ b/gen/Network/AWS/RDS/RebootDBInstance.hs
@@ -20,9 +20,11 @@
 --
 -- 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.
+-- 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.
+--
 module Network.AWS.RDS.RebootDBInstance
     (
     -- * Creating a Request
@@ -49,6 +51,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'rebootDBInstance' smart constructor.
 data RebootDBInstance = RebootDBInstance'
     { _rdiForceFailover        :: !(Maybe Bool)
@@ -59,9 +63,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdiForceFailover'
+-- * 'rdiForceFailover' - When @true@ , the reboot will be conducted through a MultiAZ failover.  Constraint: You cannot specify @true@ if the instance is not configured for MultiAZ.
 --
--- * 'rdiDBInstanceIdentifier'
+-- * 'rdiDBInstanceIdentifier' - 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
 rebootDBInstance
     :: Text -- ^ 'rdiDBInstanceIdentifier'
     -> RebootDBInstance
@@ -71,22 +75,11 @@
     , _rdiDBInstanceIdentifier = pDBInstanceIdentifier_
     }
 
--- | When 'true', the reboot will be conducted through a MultiAZ failover.
---
--- Constraint: You cannot specify 'true' if the instance is not configured for MultiAZ.
+-- | When @true@ , the reboot will be conducted through a MultiAZ failover.  Constraint: You cannot specify @true@ if the instance is not configured for MultiAZ.
 rdiForceFailover :: Lens' RebootDBInstance (Maybe Bool)
 rdiForceFailover = lens _rdiForceFailover (\ s a -> s{_rdiForceFailover = a});
 
--- | 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
---
+-- | 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
 rdiDBInstanceIdentifier :: Lens' RebootDBInstance Text
 rdiDBInstanceIdentifier = lens _rdiDBInstanceIdentifier (\ s a -> s{_rdiDBInstanceIdentifier = a});
 
@@ -127,9 +120,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdirsDBInstance'
+-- * 'rdirsDBInstance' - Undocumented member.
 --
--- * 'rdirsResponseStatus'
+-- * 'rdirsResponseStatus' - -- | The response status code.
 rebootDBInstanceResponse
     :: Int -- ^ 'rdirsResponseStatus'
     -> RebootDBInstanceResponse
@@ -143,7 +136,7 @@
 rdirsDBInstance :: Lens' RebootDBInstanceResponse (Maybe DBInstance)
 rdirsDBInstance = lens _rdirsDBInstance (\ s a -> s{_rdirsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rdirsResponseStatus :: Lens' RebootDBInstanceResponse Int
 rdirsResponseStatus = lens _rdirsResponseStatus (\ s a -> s{_rdirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RemoveRoleFromDBCluster.hs b/gen/Network/AWS/RDS/RemoveRoleFromDBCluster.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/RDS/RemoveRoleFromDBCluster.hs
@@ -0,0 +1,113 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.RDS.RemoveRoleFromDBCluster
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Disassociates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Authorizing.AWSServices.html Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf> .
+--
+--
+module Network.AWS.RDS.RemoveRoleFromDBCluster
+    (
+    -- * Creating a Request
+      removeRoleFromDBCluster
+    , RemoveRoleFromDBCluster
+    -- * Request Lenses
+    , rrfdcDBClusterIdentifier
+    , rrfdcRoleARN
+
+    -- * Destructuring the Response
+    , removeRoleFromDBClusterResponse
+    , RemoveRoleFromDBClusterResponse
+    ) where
+
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.RDS.Types
+import           Network.AWS.RDS.Types.Product
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'removeRoleFromDBCluster' smart constructor.
+data RemoveRoleFromDBCluster = RemoveRoleFromDBCluster'
+    { _rrfdcDBClusterIdentifier :: !Text
+    , _rrfdcRoleARN             :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'RemoveRoleFromDBCluster' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rrfdcDBClusterIdentifier' - The name of the DB cluster to disassociate the IAM role rom.
+--
+-- * 'rrfdcRoleARN' - The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example @arn:aws:iam::123456789012:role/AuroraAccessRole@ .
+removeRoleFromDBCluster
+    :: Text -- ^ 'rrfdcDBClusterIdentifier'
+    -> Text -- ^ 'rrfdcRoleARN'
+    -> RemoveRoleFromDBCluster
+removeRoleFromDBCluster pDBClusterIdentifier_ pRoleARN_ =
+    RemoveRoleFromDBCluster'
+    { _rrfdcDBClusterIdentifier = pDBClusterIdentifier_
+    , _rrfdcRoleARN = pRoleARN_
+    }
+
+-- | The name of the DB cluster to disassociate the IAM role rom.
+rrfdcDBClusterIdentifier :: Lens' RemoveRoleFromDBCluster Text
+rrfdcDBClusterIdentifier = lens _rrfdcDBClusterIdentifier (\ s a -> s{_rrfdcDBClusterIdentifier = a});
+
+-- | The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example @arn:aws:iam::123456789012:role/AuroraAccessRole@ .
+rrfdcRoleARN :: Lens' RemoveRoleFromDBCluster Text
+rrfdcRoleARN = lens _rrfdcRoleARN (\ s a -> s{_rrfdcRoleARN = a});
+
+instance AWSRequest RemoveRoleFromDBCluster where
+        type Rs RemoveRoleFromDBCluster =
+             RemoveRoleFromDBClusterResponse
+        request = postQuery rds
+        response
+          = receiveNull RemoveRoleFromDBClusterResponse'
+
+instance Hashable RemoveRoleFromDBCluster
+
+instance NFData RemoveRoleFromDBCluster
+
+instance ToHeaders RemoveRoleFromDBCluster where
+        toHeaders = const mempty
+
+instance ToPath RemoveRoleFromDBCluster where
+        toPath = const "/"
+
+instance ToQuery RemoveRoleFromDBCluster where
+        toQuery RemoveRoleFromDBCluster'{..}
+          = mconcat
+              ["Action" =:
+                 ("RemoveRoleFromDBCluster" :: ByteString),
+               "Version" =: ("2014-10-31" :: ByteString),
+               "DBClusterIdentifier" =: _rrfdcDBClusterIdentifier,
+               "RoleArn" =: _rrfdcRoleARN]
+
+-- | /See:/ 'removeRoleFromDBClusterResponse' smart constructor.
+data RemoveRoleFromDBClusterResponse =
+    RemoveRoleFromDBClusterResponse'
+    deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'RemoveRoleFromDBClusterResponse' with the minimum fields required to make a request.
+--
+removeRoleFromDBClusterResponse
+    :: RemoveRoleFromDBClusterResponse
+removeRoleFromDBClusterResponse = RemoveRoleFromDBClusterResponse'
+
+instance NFData RemoveRoleFromDBClusterResponse
diff --git a/gen/Network/AWS/RDS/RemoveSourceIdentifierFromSubscription.hs b/gen/Network/AWS/RDS/RemoveSourceIdentifierFromSubscription.hs
--- a/gen/Network/AWS/RDS/RemoveSourceIdentifierFromSubscription.hs
+++ b/gen/Network/AWS/RDS/RemoveSourceIdentifierFromSubscription.hs
@@ -19,6 +19,8 @@
 -- Portability : non-portable (GHC extensions)
 --
 -- Removes a source identifier from an existing RDS event notification subscription.
+--
+--
 module Network.AWS.RDS.RemoveSourceIdentifierFromSubscription
     (
     -- * Creating a Request
@@ -45,6 +47,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'removeSourceIdentifierFromSubscription' smart constructor.
 data RemoveSourceIdentifierFromSubscription = RemoveSourceIdentifierFromSubscription'
     { _rsifsSubscriptionName :: !Text
@@ -55,9 +59,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rsifsSubscriptionName'
+-- * 'rsifsSubscriptionName' - The name of the RDS event notification subscription you want to remove a source identifier from.
 --
--- * 'rsifsSourceIdentifier'
+-- * 'rsifsSourceIdentifier' - 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.
 removeSourceIdentifierFromSubscription
     :: Text -- ^ 'rsifsSubscriptionName'
     -> Text -- ^ 'rsifsSourceIdentifier'
@@ -123,9 +127,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rsifsrsEventSubscription'
+-- * 'rsifsrsEventSubscription' - Undocumented member.
 --
--- * 'rsifsrsResponseStatus'
+-- * 'rsifsrsResponseStatus' - -- | The response status code.
 removeSourceIdentifierFromSubscriptionResponse
     :: Int -- ^ 'rsifsrsResponseStatus'
     -> RemoveSourceIdentifierFromSubscriptionResponse
@@ -139,7 +143,7 @@
 rsifsrsEventSubscription :: Lens' RemoveSourceIdentifierFromSubscriptionResponse (Maybe EventSubscription)
 rsifsrsEventSubscription = lens _rsifsrsEventSubscription (\ s a -> s{_rsifsrsEventSubscription = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rsifsrsResponseStatus :: Lens' RemoveSourceIdentifierFromSubscriptionResponse Int
 rsifsrsResponseStatus = lens _rsifsrsResponseStatus (\ s a -> s{_rsifsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RemoveTagsFromResource.hs b/gen/Network/AWS/RDS/RemoveTagsFromResource.hs
--- a/gen/Network/AWS/RDS/RemoveTagsFromResource.hs
+++ b/gen/Network/AWS/RDS/RemoveTagsFromResource.hs
@@ -20,7 +20,9 @@
 --
 -- Removes metadata tags from an Amazon RDS resource.
 --
--- For an overview on tagging an Amazon RDS resource, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html Tagging Amazon RDS Resources>.
+--
+-- For an overview on tagging an Amazon RDS resource, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html Tagging Amazon RDS Resources> .
+--
 module Network.AWS.RDS.RemoveTagsFromResource
     (
     -- * Creating a Request
@@ -44,6 +46,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'removeTagsFromResource' smart constructor.
 data RemoveTagsFromResource = RemoveTagsFromResource'
     { _rtfrResourceName :: !Text
@@ -54,9 +58,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rtfrResourceName'
+-- * 'rtfrResourceName' - 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 --
--- * 'rtfrTagKeys'
+-- * 'rtfrTagKeys' - The tag key (name) of the tag to be removed.
 removeTagsFromResource
     :: Text -- ^ 'rtfrResourceName'
     -> RemoveTagsFromResource
@@ -66,7 +70,7 @@
     , _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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)>.
+-- | 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing Constructing an RDS Amazon Resource Name (ARN)> .
 rtfrResourceName :: Lens' RemoveTagsFromResource Text
 rtfrResourceName = lens _rtfrResourceName (\ s a -> s{_rtfrResourceName = a});
 
diff --git a/gen/Network/AWS/RDS/ResetDBClusterParameterGroup.hs b/gen/Network/AWS/RDS/ResetDBClusterParameterGroup.hs
--- a/gen/Network/AWS/RDS/ResetDBClusterParameterGroup.hs
+++ b/gen/Network/AWS/RDS/ResetDBClusterParameterGroup.hs
@@ -18,11 +18,13 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: 'ParameterName' and 'ApplyMethod'. To reset the entire DB cluster parameter group, specify the 'DBClusterParameterGroupName' and 'ResetAllParameters' parameters.
+-- Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: @ParameterName@ and @ApplyMethod@ . To reset the entire DB cluster parameter group, specify the @DBClusterParameterGroupName@ 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. You must call < RebootDBInstance> for every DB instance in your DB cluster that you want the updated static parameter to apply to.
 --
+-- 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. You must call 'RebootDBInstance' for every DB instance in your DB cluster that you want the updated static parameter to apply to.
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.ResetDBClusterParameterGroup
     (
     -- * Creating a Request
@@ -49,6 +51,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'resetDBClusterParameterGroup' smart constructor.
 data ResetDBClusterParameterGroup = ResetDBClusterParameterGroup'
     { _rdcpgResetAllParameters          :: !(Maybe Bool)
@@ -60,11 +64,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdcpgResetAllParameters'
+-- * 'rdcpgResetAllParameters' - A value that is set to @true@ to reset all parameters in the DB cluster parameter group to their default values, and @false@ otherwise. You cannot use this parameter if there is a list of parameter names specified for the @Parameters@ parameter.
 --
--- * 'rdcpgParameters'
+-- * 'rdcpgParameters' - A list of parameter names in the DB cluster parameter group to reset to the default values. You cannot use this parameter if the @ResetAllParameters@ parameter is set to @true@ .
 --
--- * 'rdcpgDBClusterParameterGroupName'
+-- * 'rdcpgDBClusterParameterGroupName' - The name of the DB cluster parameter group to reset.
 resetDBClusterParameterGroup
     :: Text -- ^ 'rdcpgDBClusterParameterGroupName'
     -> ResetDBClusterParameterGroup
@@ -75,11 +79,11 @@
     , _rdcpgDBClusterParameterGroupName = pDBClusterParameterGroupName_
     }
 
--- | A value that is set to 'true' to reset all parameters in the DB cluster parameter group to their default values, and 'false' otherwise. You cannot use this parameter if there is a list of parameter names specified for the 'Parameters' parameter.
+-- | A value that is set to @true@ to reset all parameters in the DB cluster parameter group to their default values, and @false@ otherwise. You cannot use this parameter if there is a list of parameter names specified for the @Parameters@ parameter.
 rdcpgResetAllParameters :: Lens' ResetDBClusterParameterGroup (Maybe Bool)
 rdcpgResetAllParameters = lens _rdcpgResetAllParameters (\ s a -> s{_rdcpgResetAllParameters = a});
 
--- | A list of parameter names in the DB cluster parameter group to reset to the default values. You cannot use this parameter if the 'ResetAllParameters' parameter is set to 'true'.
+-- | A list of parameter names in the DB cluster parameter group to reset to the default values. You cannot use this parameter if the @ResetAllParameters@ parameter is set to @true@ .
 rdcpgParameters :: Lens' ResetDBClusterParameterGroup [Parameter]
 rdcpgParameters = lens _rdcpgParameters (\ s a -> s{_rdcpgParameters = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/RDS/ResetDBParameterGroup.hs b/gen/Network/AWS/RDS/ResetDBParameterGroup.hs
--- a/gen/Network/AWS/RDS/ResetDBParameterGroup.hs
+++ b/gen/Network/AWS/RDS/ResetDBParameterGroup.hs
@@ -18,7 +18,9 @@
 -- Stability   : auto-generated
 -- 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.
+-- 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.
+--
+--
 module Network.AWS.RDS.ResetDBParameterGroup
     (
     -- * Creating a Request
@@ -45,6 +47,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'resetDBParameterGroup' smart constructor.
 data ResetDBParameterGroup = ResetDBParameterGroup'
     { _rdpgResetAllParameters   :: !(Maybe Bool)
@@ -56,11 +60,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdpgResetAllParameters'
+-- * 'rdpgResetAllParameters' - Specifies whether (@true@ ) or not (@false@ ) to reset all parameters in the DB parameter group to default values.  Default: @true@
 --
--- * 'rdpgParameters'
+-- * 'rdpgParameters' - 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 can 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. __MariaDB__  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@
 --
--- * 'rdpgDBParameterGroupName'
+-- * 'rdpgDBParameterGroupName' - 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
 resetDBParameterGroup
     :: Text -- ^ 'rdpgDBParameterGroupName'
     -> ResetDBParameterGroup
@@ -71,42 +75,15 @@
     , _rdpgDBParameterGroupName = pDBParameterGroupName_
     }
 
--- | Specifies whether ('true') or not ('false') to reset all parameters in the DB parameter group to default values.
---
--- Default: 'true'
+-- | Specifies whether (@true@ ) or not (@false@ ) to reset all parameters in the DB parameter group to default values.  Default: @true@
 rdpgResetAllParameters :: Lens' ResetDBParameterGroup (Maybe Bool)
 rdpgResetAllParameters = lens _rdpgResetAllParameters (\ s a -> s{_rdpgResetAllParameters = 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 can 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.
---
--- __MariaDB__
---
--- 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'
+-- | 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 can 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. __MariaDB__  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@
 rdpgParameters :: Lens' ResetDBParameterGroup [Parameter]
 rdpgParameters = lens _rdpgParameters (\ s a -> s{_rdpgParameters = a}) . _Default . _Coerce;
 
--- | 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
---
+-- | 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
 rdpgDBParameterGroupName :: Lens' ResetDBParameterGroup Text
 rdpgDBParameterGroupName = lens _rdpgDBParameterGroupName (\ s a -> s{_rdpgDBParameterGroupName = a});
 
diff --git a/gen/Network/AWS/RDS/RestoreDBClusterFromS3.hs b/gen/Network/AWS/RDS/RestoreDBClusterFromS3.hs
--- a/gen/Network/AWS/RDS/RestoreDBClusterFromS3.hs
+++ b/gen/Network/AWS/RDS/RestoreDBClusterFromS3.hs
@@ -18,7 +18,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Migrate.html Migrating Data from an External MySQL Database to an Amazon Aurora DB Cluster>.
+-- Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in <AmazonRDS/latest/UserGuide/Aurora.Migrate.MySQL.html#Aurora.Migrate.MySQL.S3 Migrating Data from MySQL by Using an Amazon S3 Bucket> .
+--
+--
 module Network.AWS.RDS.RestoreDBClusterFromS3
     (
     -- * Creating a Request
@@ -97,53 +99,53 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdcfsEngineVersion'
+-- * 'rdcfsEngineVersion' - The version number of the database engine to use. __Aurora__  Example: @5.6.10a@
 --
--- * 'rdcfsStorageEncrypted'
+-- * 'rdcfsStorageEncrypted' - Specifies whether the restored DB cluster is encrypted.
 --
--- * 'rdcfsDBSubnetGroupName'
+-- * 'rdcfsDBSubnetGroupName' - A DB subnet group to associate with the restored DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'rdcfsPreferredMaintenanceWindow'
+-- * 'rdcfsPreferredMaintenanceWindow' - The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 --
--- * 'rdcfsAvailabilityZones'
+-- * 'rdcfsAvailabilityZones' - A list of EC2 Availability Zones that instances in the restored DB cluster can be created in.
 --
--- * 'rdcfsCharacterSetName'
+-- * 'rdcfsCharacterSetName' - A value that indicates that the restored DB cluster should be associated with the specified CharacterSet.
 --
--- * 'rdcfsKMSKeyId'
+-- * 'rdcfsKMSKeyId' - The KMS key identifier for an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the @StorageEncrypted@ parameter is true, and you do not specify a value for the @KmsKeyId@ parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
 --
--- * 'rdcfsPreferredBackupWindow'
+-- * 'rdcfsPreferredBackupWindow' - 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 --
--- * 'rdcfsBackupRetentionPeriod'
+-- * 'rdcfsBackupRetentionPeriod' - The number of days for which automated backups of the restored DB cluster are retained. You must specify a minimum value of 1. Default: 1 Constraints:     * Must be a value from 1 to 35
 --
--- * 'rdcfsVPCSecurityGroupIds'
+-- * 'rdcfsVPCSecurityGroupIds' - A list of EC2 VPC security groups to associate with the restored DB cluster.
 --
--- * 'rdcfsDatabaseName'
+-- * 'rdcfsDatabaseName' - The database name for the restored DB cluster.
 --
--- * 'rdcfsDBClusterParameterGroupName'
+-- * 'rdcfsDBClusterParameterGroupName' - The name of the DB cluster parameter group to associate with the restored DB cluster. If this argument is omitted, @default.aurora5.6@ 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
 --
--- * 'rdcfsS3Prefix'
+-- * 'rdcfsS3Prefix' - The prefix for all of the file names that contain the data used to create the Amazon Aurora DB cluster. If you do not specify a __SourceS3Prefix__ value, then the Amazon Aurora DB cluster is created by using all of the files in the Amazon S3 bucket.
 --
--- * 'rdcfsOptionGroupName'
+-- * 'rdcfsOptionGroupName' - A value that indicates that the restored DB cluster should be associated with the specified option group. Permanent options cannot be removed from an option group. An option group cannot be removed from a DB cluster once it is associated with a DB cluster.
 --
--- * 'rdcfsTags'
+-- * 'rdcfsTags' - Undocumented member.
 --
--- * 'rdcfsPort'
+-- * 'rdcfsPort' - The port number on which the instances in the restored DB cluster accept connections. Default: @3306@
 --
--- * 'rdcfsDBClusterIdentifier'
+-- * 'rdcfsDBClusterIdentifier' - The name of the DB cluster to create from the source data in the S3 bucket. This parameter is 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. Example: @my-cluster1@
 --
--- * 'rdcfsEngine'
+-- * 'rdcfsEngine' - The name of the database engine to be used for the restored DB cluster. Valid Values: @aurora@
 --
--- * 'rdcfsMasterUsername'
+-- * 'rdcfsMasterUsername' - The name of the master user for the restored DB cluster. Constraints:     * Must be 1 to 16 alphanumeric characters.     * First character must be a letter.     * Cannot be a reserved word for the chosen database engine.
 --
--- * 'rdcfsMasterUserPassword'
+-- * 'rdcfsMasterUserPassword' - The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@". Constraints: Must contain from 8 to 41 characters.
 --
--- * 'rdcfsSourceEngine'
+-- * 'rdcfsSourceEngine' - The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.  Valid values: @mysql@
 --
--- * 'rdcfsSourceEngineVersion'
+-- * 'rdcfsSourceEngineVersion' - The version of the database that the backup files were created from. MySQL version 5.5 and 5.6 are supported.  Example: @5.6.22@
 --
--- * 'rdcfsS3BucketName'
+-- * 'rdcfsS3BucketName' - The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.
 --
--- * 'rdcfsS3IngestionRoleARN'
+-- * 'rdcfsS3IngestionRoleARN' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your behalf.
 restoreDBClusterFromS3
     :: Text -- ^ 'rdcfsDBClusterIdentifier'
     -> Text -- ^ 'rdcfsEngine'
@@ -182,11 +184,7 @@
     , _rdcfsS3IngestionRoleARN = pS3IngestionRoleARN_
     }
 
--- | The version number of the database engine to use.
---
--- __Aurora__
---
--- Example: '5.6.10a'
+-- | The version number of the database engine to use. __Aurora__  Example: @5.6.10a@
 rdcfsEngineVersion :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsEngineVersion = lens _rdcfsEngineVersion (\ s a -> s{_rdcfsEngineVersion = a});
 
@@ -194,23 +192,11 @@
 rdcfsStorageEncrypted :: Lens' RestoreDBClusterFromS3 (Maybe Bool)
 rdcfsStorageEncrypted = lens _rdcfsStorageEncrypted (\ s a -> s{_rdcfsStorageEncrypted = a});
 
--- | A DB subnet group to associate with the restored DB cluster.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | A DB subnet group to associate with the restored DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 rdcfsDBSubnetGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsDBSubnetGroupName = lens _rdcfsDBSubnetGroupName (\ s a -> s{_rdcfsDBSubnetGroupName = a});
 
--- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
---
--- 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
+-- | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). 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 <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html 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.
 rdcfsPreferredMaintenanceWindow :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsPreferredMaintenanceWindow = lens _rdcfsPreferredMaintenanceWindow (\ s a -> s{_rdcfsPreferredMaintenanceWindow = a});
 
@@ -222,39 +208,15 @@
 rdcfsCharacterSetName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsCharacterSetName = lens _rdcfsCharacterSetName (\ s a -> s{_rdcfsCharacterSetName = a});
 
--- | The KMS key identifier for an encrypted DB cluster.
---
--- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.
---
--- If the 'StorageEncrypted' parameter is true, and you do not specify a value for the 'KmsKeyId' parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
+-- | The KMS key identifier for an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key. If the @StorageEncrypted@ parameter is true, and you do not specify a value for the @KmsKeyId@ parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.
 rdcfsKMSKeyId :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsKMSKeyId = lens _rdcfsKMSKeyId (\ s a -> s{_rdcfsKMSKeyId = 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./
---
--- Constraints:
---
--- -   Must be in the format 'hh24:mi-hh24:mi'.
---
--- -   Times should be in Universal Coordinated Time (UTC).
---
--- -   Must not conflict with the preferred maintenance window.
---
--- -   Must be at least 30 minutes.
---
+-- | 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. To see the time blocks available, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html Adjusting the Preferred Maintenance Window> in the /Amazon RDS User Guide./  Constraints:     * Must be in the format @hh24:mi-hh24:mi@ .     * Times should be in Universal Coordinated Time (UTC).     * Must not conflict with the preferred maintenance window.     * Must be at least 30 minutes.
 rdcfsPreferredBackupWindow :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsPreferredBackupWindow = lens _rdcfsPreferredBackupWindow (\ s a -> s{_rdcfsPreferredBackupWindow = a});
 
--- | The number of days for which automated backups of the restored DB cluster are retained. You must specify a minimum value of 1.
---
--- Default: 1
---
--- Constraints:
---
--- -   Must be a value from 1 to 35
---
+-- | The number of days for which automated backups of the restored DB cluster are retained. You must specify a minimum value of 1. Default: 1 Constraints:     * Must be a value from 1 to 35
 rdcfsBackupRetentionPeriod :: Lens' RestoreDBClusterFromS3 (Maybe Int)
 rdcfsBackupRetentionPeriod = lens _rdcfsBackupRetentionPeriod (\ s a -> s{_rdcfsBackupRetentionPeriod = a});
 
@@ -266,16 +228,7 @@
 rdcfsDatabaseName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsDatabaseName = lens _rdcfsDatabaseName (\ s a -> s{_rdcfsDatabaseName = a});
 
--- | The name of the DB cluster parameter group to associate with the restored DB cluster. If this argument is omitted, 'default.aurora5.6' 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
---
+-- | The name of the DB cluster parameter group to associate with the restored DB cluster. If this argument is omitted, @default.aurora5.6@ 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
 rdcfsDBClusterParameterGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsDBClusterParameterGroupName = lens _rdcfsDBClusterParameterGroupName (\ s a -> s{_rdcfsDBClusterParameterGroupName = a});
 
@@ -283,9 +236,7 @@
 rdcfsS3Prefix :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsS3Prefix = lens _rdcfsS3Prefix (\ s a -> s{_rdcfsS3Prefix = a});
 
--- | A value that indicates that the restored DB cluster should be associated with the specified option group.
---
--- Permanent options cannot be removed from an option group. An option group cannot be removed from a DB cluster once it is associated with a DB cluster.
+-- | A value that indicates that the restored DB cluster should be associated with the specified option group. Permanent options cannot be removed from an option group. An option group cannot be removed from a DB cluster once it is associated with a DB cluster.
 rdcfsOptionGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)
 rdcfsOptionGroupName = lens _rdcfsOptionGroupName (\ s a -> s{_rdcfsOptionGroupName = a});
 
@@ -293,62 +244,31 @@
 rdcfsTags :: Lens' RestoreDBClusterFromS3 [Tag]
 rdcfsTags = lens _rdcfsTags (\ s a -> s{_rdcfsTags = a}) . _Default . _Coerce;
 
--- | The port number on which the instances in the restored DB cluster accept connections.
---
--- Default: '3306'
+-- | The port number on which the instances in the restored DB cluster accept connections. Default: @3306@
 rdcfsPort :: Lens' RestoreDBClusterFromS3 (Maybe Int)
 rdcfsPort = lens _rdcfsPort (\ s a -> s{_rdcfsPort = a});
 
--- | The name of the DB cluster to create from the source data in the S3 bucket. This parameter is 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.
---
--- Example: 'my-cluster1'
+-- | The name of the DB cluster to create from the source data in the S3 bucket. This parameter is 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. Example: @my-cluster1@
 rdcfsDBClusterIdentifier :: Lens' RestoreDBClusterFromS3 Text
 rdcfsDBClusterIdentifier = lens _rdcfsDBClusterIdentifier (\ s a -> s{_rdcfsDBClusterIdentifier = a});
 
--- | The name of the database engine to be used for the restored DB cluster.
---
--- Valid Values: 'aurora'
+-- | The name of the database engine to be used for the restored DB cluster. Valid Values: @aurora@
 rdcfsEngine :: Lens' RestoreDBClusterFromS3 Text
 rdcfsEngine = lens _rdcfsEngine (\ s a -> s{_rdcfsEngine = a});
 
--- | The name of the master user for the restored DB cluster.
---
--- Constraints:
---
--- -   Must be 1 to 16 alphanumeric characters.
---
--- -   First character must be a letter.
---
--- -   Cannot be a reserved word for the chosen database engine.
---
+-- | The name of the master user for the restored DB cluster. Constraints:     * Must be 1 to 16 alphanumeric characters.     * First character must be a letter.     * Cannot be a reserved word for the chosen database engine.
 rdcfsMasterUsername :: Lens' RestoreDBClusterFromS3 Text
 rdcfsMasterUsername = lens _rdcfsMasterUsername (\ s a -> s{_rdcfsMasterUsername = a});
 
--- | The password for the master database user. This password can contain any printable ASCII character except \"\/\", \"\"\", or \"\'\".
---
--- Constraints: Must contain from 8 to 41 characters.
+-- | The password for the master database user. This password can contain any printable ASCII character except "/", """, or "@". Constraints: Must contain from 8 to 41 characters.
 rdcfsMasterUserPassword :: Lens' RestoreDBClusterFromS3 Text
 rdcfsMasterUserPassword = lens _rdcfsMasterUserPassword (\ s a -> s{_rdcfsMasterUserPassword = a});
 
--- | The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.
---
--- Valid values: 'mysql'
+-- | The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.  Valid values: @mysql@
 rdcfsSourceEngine :: Lens' RestoreDBClusterFromS3 Text
 rdcfsSourceEngine = lens _rdcfsSourceEngine (\ s a -> s{_rdcfsSourceEngine = a});
 
--- | The version of the database that the backup files were created from.
---
--- MySQL version 5.5 and 5.6 are supported.
---
--- Example: '5.6.22'
+-- | The version of the database that the backup files were created from. MySQL version 5.5 and 5.6 are supported.  Example: @5.6.22@
 rdcfsSourceEngineVersion :: Lens' RestoreDBClusterFromS3 Text
 rdcfsSourceEngineVersion = lens _rdcfsSourceEngineVersion (\ s a -> s{_rdcfsSourceEngineVersion = a});
 
@@ -431,9 +351,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdcfsrsDBCluster'
+-- * 'rdcfsrsDBCluster' - Undocumented member.
 --
--- * 'rdcfsrsResponseStatus'
+-- * 'rdcfsrsResponseStatus' - -- | The response status code.
 restoreDBClusterFromS3Response
     :: Int -- ^ 'rdcfsrsResponseStatus'
     -> RestoreDBClusterFromS3Response
@@ -447,7 +367,7 @@
 rdcfsrsDBCluster :: Lens' RestoreDBClusterFromS3Response (Maybe DBCluster)
 rdcfsrsDBCluster = lens _rdcfsrsDBCluster (\ s a -> s{_rdcfsrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rdcfsrsResponseStatus :: Lens' RestoreDBClusterFromS3Response Int
 rdcfsrsResponseStatus = lens _rdcfsrsResponseStatus (\ s a -> s{_rdcfsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RestoreDBClusterFromSnapshot.hs b/gen/Network/AWS/RDS/RestoreDBClusterFromSnapshot.hs
--- a/gen/Network/AWS/RDS/RestoreDBClusterFromSnapshot.hs
+++ b/gen/Network/AWS/RDS/RestoreDBClusterFromSnapshot.hs
@@ -20,7 +20,9 @@
 --
 -- Creates a new DB cluster from a DB cluster snapshot. The target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.RestoreDBClusterFromSnapshot
     (
     -- * Creating a Request
@@ -57,6 +59,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'restoreDBClusterFromSnapshot' smart constructor.
 data RestoreDBClusterFromSnapshot = RestoreDBClusterFromSnapshot'
     { _rdbcfsEngineVersion       :: !(Maybe Text)
@@ -77,29 +81,29 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdbcfsEngineVersion'
+-- * 'rdbcfsEngineVersion' - The version of the database engine to use for the new DB cluster.
 --
--- * 'rdbcfsDBSubnetGroupName'
+-- * 'rdbcfsDBSubnetGroupName' - The name of the DB subnet group to use for the new DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'rdbcfsAvailabilityZones'
+-- * 'rdbcfsAvailabilityZones' - Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.
 --
--- * 'rdbcfsKMSKeyId'
+-- * 'rdbcfsKMSKeyId' - The KMS key identifier to use when restoring an encrypted DB cluster from a DB cluster snapshot. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. If you do not specify a value for the @KmsKeyId@ parameter, then the following will occur:     * If the DB cluster snapshot is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB cluster snapshot.     * If the DB cluster snapshot is not encrypted, then the restored DB cluster is encrypted using the specified encryption key.
 --
--- * 'rdbcfsVPCSecurityGroupIds'
+-- * 'rdbcfsVPCSecurityGroupIds' - A list of VPC security groups that the new DB cluster will belong to.
 --
--- * 'rdbcfsDatabaseName'
+-- * 'rdbcfsDatabaseName' - The database name for the restored DB cluster.
 --
--- * 'rdbcfsOptionGroupName'
+-- * 'rdbcfsOptionGroupName' - The name of the option group to use for the restored DB cluster.
 --
--- * 'rdbcfsTags'
+-- * 'rdbcfsTags' - The tags to be assigned to the restored DB cluster.
 --
--- * 'rdbcfsPort'
+-- * 'rdbcfsPort' - The port number on which the new DB cluster accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB cluster.
 --
--- * 'rdbcfsDBClusterIdentifier'
+-- * 'rdbcfsDBClusterIdentifier' - The name of the DB cluster to create from the DB cluster 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@
 --
--- * 'rdbcfsSnapshotIdentifier'
+-- * 'rdbcfsSnapshotIdentifier' - The identifier for the DB cluster 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
 --
--- * 'rdbcfsEngine'
+-- * 'rdbcfsEngine' - The database engine to use for the new DB cluster. Default: The same as source Constraint: Must be compatible with the engine of the source
 restoreDBClusterFromSnapshot
     :: Text -- ^ 'rdbcfsDBClusterIdentifier'
     -> Text -- ^ 'rdbcfsSnapshotIdentifier'
@@ -125,11 +129,7 @@
 rdbcfsEngineVersion :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
 rdbcfsEngineVersion = lens _rdbcfsEngineVersion (\ s a -> s{_rdbcfsEngineVersion = a});
 
--- | The name of the DB subnet group to use for the new DB cluster.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | The name of the DB subnet group to use for the new DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 rdbcfsDBSubnetGroupName :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
 rdbcfsDBSubnetGroupName = lens _rdbcfsDBSubnetGroupName (\ s a -> s{_rdbcfsDBSubnetGroupName = a});
 
@@ -137,16 +137,7 @@
 rdbcfsAvailabilityZones :: Lens' RestoreDBClusterFromSnapshot [Text]
 rdbcfsAvailabilityZones = lens _rdbcfsAvailabilityZones (\ s a -> s{_rdbcfsAvailabilityZones = a}) . _Default . _Coerce;
 
--- | The KMS key identifier to use when restoring an encrypted DB cluster from a DB cluster snapshot.
---
--- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.
---
--- If you do not specify a value for the 'KmsKeyId' parameter, then the following will occur:
---
--- -   If the DB cluster snapshot is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB cluster snapshot.
---
--- -   If the DB cluster snapshot is not encrypted, then the restored DB cluster is encrypted using the specified encryption key.
---
+-- | The KMS key identifier to use when restoring an encrypted DB cluster from a DB cluster snapshot. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. If you do not specify a value for the @KmsKeyId@ parameter, then the following will occur:     * If the DB cluster snapshot is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB cluster snapshot.     * If the DB cluster snapshot is not encrypted, then the restored DB cluster is encrypted using the specified encryption key.
 rdbcfsKMSKeyId :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
 rdbcfsKMSKeyId = lens _rdbcfsKMSKeyId (\ s a -> s{_rdbcfsKMSKeyId = a});
 
@@ -166,46 +157,19 @@
 rdbcfsTags :: Lens' RestoreDBClusterFromSnapshot [Tag]
 rdbcfsTags = lens _rdbcfsTags (\ s a -> s{_rdbcfsTags = a}) . _Default . _Coerce;
 
--- | The port number on which the new DB cluster accepts connections.
---
--- Constraints: Value must be '1150-65535'
---
--- Default: The same port as the original DB cluster.
+-- | The port number on which the new DB cluster accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB cluster.
 rdbcfsPort :: Lens' RestoreDBClusterFromSnapshot (Maybe Int)
 rdbcfsPort = lens _rdbcfsPort (\ s a -> s{_rdbcfsPort = a});
 
--- | The name of the DB cluster to create from the DB cluster 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'
+-- | The name of the DB cluster to create from the DB cluster 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@
 rdbcfsDBClusterIdentifier :: Lens' RestoreDBClusterFromSnapshot Text
 rdbcfsDBClusterIdentifier = lens _rdbcfsDBClusterIdentifier (\ s a -> s{_rdbcfsDBClusterIdentifier = a});
 
--- | The identifier for the DB cluster 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
---
+-- | The identifier for the DB cluster 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
 rdbcfsSnapshotIdentifier :: Lens' RestoreDBClusterFromSnapshot Text
 rdbcfsSnapshotIdentifier = lens _rdbcfsSnapshotIdentifier (\ s a -> s{_rdbcfsSnapshotIdentifier = a});
 
--- | The database engine to use for the new DB cluster.
---
--- Default: The same as source
---
--- Constraint: Must be compatible with the engine of the source
+-- | The database engine to use for the new DB cluster. Default: The same as source Constraint: Must be compatible with the engine of the source
 rdbcfsEngine :: Lens' RestoreDBClusterFromSnapshot Text
 rdbcfsEngine = lens _rdbcfsEngine (\ s a -> s{_rdbcfsEngine = a});
 
@@ -267,9 +231,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdbcfsrsDBCluster'
+-- * 'rdbcfsrsDBCluster' - Undocumented member.
 --
--- * 'rdbcfsrsResponseStatus'
+-- * 'rdbcfsrsResponseStatus' - -- | The response status code.
 restoreDBClusterFromSnapshotResponse
     :: Int -- ^ 'rdbcfsrsResponseStatus'
     -> RestoreDBClusterFromSnapshotResponse
@@ -283,7 +247,7 @@
 rdbcfsrsDBCluster :: Lens' RestoreDBClusterFromSnapshotResponse (Maybe DBCluster)
 rdbcfsrsDBCluster = lens _rdbcfsrsDBCluster (\ s a -> s{_rdbcfsrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rdbcfsrsResponseStatus :: Lens' RestoreDBClusterFromSnapshotResponse Int
 rdbcfsrsResponseStatus = lens _rdbcfsrsResponseStatus (\ s a -> s{_rdbcfsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RestoreDBClusterToPointInTime.hs b/gen/Network/AWS/RDS/RestoreDBClusterToPointInTime.hs
--- a/gen/Network/AWS/RDS/RestoreDBClusterToPointInTime.hs
+++ b/gen/Network/AWS/RDS/RestoreDBClusterToPointInTime.hs
@@ -18,9 +18,11 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before 'LatestRestorableTime' for up to 'BackupRetentionPeriod' days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.
+-- Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before @LatestRestorableTime@ for up to @BackupRetentionPeriod@ days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.
 --
+--
 -- For more information on Amazon Aurora, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html Aurora on Amazon RDS> in the /Amazon RDS User Guide./
+--
 module Network.AWS.RDS.RestoreDBClusterToPointInTime
     (
     -- * Creating a Request
@@ -55,6 +57,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'restoreDBClusterToPointInTime' smart constructor.
 data RestoreDBClusterToPointInTime = RestoreDBClusterToPointInTime'
     { _rdctpitUseLatestRestorableTime   :: !(Maybe Bool)
@@ -73,25 +77,25 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdctpitUseLatestRestorableTime'
+-- * 'rdctpitUseLatestRestorableTime' - A value that is set to @true@ to restore the DB cluster to the latest restorable backup time, and @false@ otherwise.  Default: @false@  Constraints: Cannot be specified if @RestoreToTime@ parameter is provided.
 --
--- * 'rdctpitDBSubnetGroupName'
+-- * 'rdctpitDBSubnetGroupName' - The DB subnet group name to use for the new DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'rdctpitKMSKeyId'
+-- * 'rdctpitKMSKeyId' - The KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster will be encrypted with the KMS key identified by the @KmsKeyId@ parameter. If you do not specify a value for the @KmsKeyId@ parameter, then the following will occur:     * If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.     * If the DB cluster is not encrypted, then the restored DB cluster is not encrypted. If @DBClusterIdentifier@ refers to a DB cluster that is note encrypted, then the restore request is rejected.
 --
--- * 'rdctpitVPCSecurityGroupIds'
+-- * 'rdctpitVPCSecurityGroupIds' - A lst of VPC security groups that the new DB cluster belongs to.
 --
--- * 'rdctpitOptionGroupName'
+-- * 'rdctpitOptionGroupName' - The name of the option group for the new DB cluster.
 --
--- * 'rdctpitRestoreToTime'
+-- * 'rdctpitRestoreToTime' - The date and time to restore the DB cluster to. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format Constraints:     * Must be before the latest restorable time for the DB instance     * Cannot be specified if @UseLatestRestorableTime@ parameter is true Example: @2015-03-07T23:45:00Z@
 --
--- * 'rdctpitTags'
+-- * 'rdctpitTags' - Undocumented member.
 --
--- * 'rdctpitPort'
+-- * 'rdctpitPort' - The port number on which the new DB cluster accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB cluster.
 --
--- * 'rdctpitDBClusterIdentifier'
+-- * 'rdctpitDBClusterIdentifier' - The name of the new DB cluster 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
 --
--- * 'rdctpitSourceDBClusterIdentifier'
+-- * 'rdctpitSourceDBClusterIdentifier' - The identifier of the source DB cluster 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
 restoreDBClusterToPointInTime
     :: Text -- ^ 'rdctpitDBClusterIdentifier'
     -> Text -- ^ 'rdctpitSourceDBClusterIdentifier'
@@ -110,35 +114,15 @@
     , _rdctpitSourceDBClusterIdentifier = pSourceDBClusterIdentifier_
     }
 
--- | A value that is set to 'true' to restore the DB cluster to the latest restorable backup time, and 'false' otherwise.
---
--- Default: 'false'
---
--- Constraints: Cannot be specified if 'RestoreToTime' parameter is provided.
+-- | A value that is set to @true@ to restore the DB cluster to the latest restorable backup time, and @false@ otherwise.  Default: @false@  Constraints: Cannot be specified if @RestoreToTime@ parameter is provided.
 rdctpitUseLatestRestorableTime :: Lens' RestoreDBClusterToPointInTime (Maybe Bool)
 rdctpitUseLatestRestorableTime = lens _rdctpitUseLatestRestorableTime (\ s a -> s{_rdctpitUseLatestRestorableTime = a});
 
--- | The DB subnet group name to use for the new DB cluster.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | The DB subnet group name to use for the new DB cluster. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 rdctpitDBSubnetGroupName :: Lens' RestoreDBClusterToPointInTime (Maybe Text)
 rdctpitDBSubnetGroupName = lens _rdctpitDBSubnetGroupName (\ s a -> s{_rdctpitDBSubnetGroupName = a});
 
--- | The KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.
---
--- The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.
---
--- You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster will be encrypted with the KMS key identified by the 'KmsKeyId' parameter.
---
--- If you do not specify a value for the 'KmsKeyId' parameter, then the following will occur:
---
--- -   If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.
---
--- -   If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.
---
--- If 'DBClusterIdentifier' refers to a DB cluster that is note encrypted, then the restore request is rejected.
+-- | The KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster. The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key. You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster will be encrypted with the KMS key identified by the @KmsKeyId@ parameter. If you do not specify a value for the @KmsKeyId@ parameter, then the following will occur:     * If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.     * If the DB cluster is not encrypted, then the restored DB cluster is not encrypted. If @DBClusterIdentifier@ refers to a DB cluster that is note encrypted, then the restore request is rejected.
 rdctpitKMSKeyId :: Lens' RestoreDBClusterToPointInTime (Maybe Text)
 rdctpitKMSKeyId = lens _rdctpitKMSKeyId (\ s a -> s{_rdctpitKMSKeyId = a});
 
@@ -150,17 +134,7 @@
 rdctpitOptionGroupName :: Lens' RestoreDBClusterToPointInTime (Maybe Text)
 rdctpitOptionGroupName = lens _rdctpitOptionGroupName (\ s a -> s{_rdctpitOptionGroupName = a});
 
--- | The date and time to restore the DB cluster to.
---
--- Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
---
--- Constraints:
---
--- -   Must be before the latest restorable time for the DB instance
---
--- -   Cannot be specified if 'UseLatestRestorableTime' parameter is true
---
--- Example: '2015-03-07T23:45:00Z'
+-- | The date and time to restore the DB cluster to. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format Constraints:     * Must be before the latest restorable time for the DB instance     * Cannot be specified if @UseLatestRestorableTime@ parameter is true Example: @2015-03-07T23:45:00Z@
 rdctpitRestoreToTime :: Lens' RestoreDBClusterToPointInTime (Maybe UTCTime)
 rdctpitRestoreToTime = lens _rdctpitRestoreToTime (\ s a -> s{_rdctpitRestoreToTime = a}) . mapping _Time;
 
@@ -168,39 +142,15 @@
 rdctpitTags :: Lens' RestoreDBClusterToPointInTime [Tag]
 rdctpitTags = lens _rdctpitTags (\ s a -> s{_rdctpitTags = a}) . _Default . _Coerce;
 
--- | The port number on which the new DB cluster accepts connections.
---
--- Constraints: Value must be '1150-65535'
---
--- Default: The same port as the original DB cluster.
+-- | The port number on which the new DB cluster accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB cluster.
 rdctpitPort :: Lens' RestoreDBClusterToPointInTime (Maybe Int)
 rdctpitPort = lens _rdctpitPort (\ s a -> s{_rdctpitPort = a});
 
--- | The name of the new DB cluster 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
---
+-- | The name of the new DB cluster 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
 rdctpitDBClusterIdentifier :: Lens' RestoreDBClusterToPointInTime Text
 rdctpitDBClusterIdentifier = lens _rdctpitDBClusterIdentifier (\ s a -> s{_rdctpitDBClusterIdentifier = a});
 
--- | The identifier of the source DB cluster 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
---
+-- | The identifier of the source DB cluster 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
 rdctpitSourceDBClusterIdentifier :: Lens' RestoreDBClusterToPointInTime Text
 rdctpitSourceDBClusterIdentifier = lens _rdctpitSourceDBClusterIdentifier (\ s a -> s{_rdctpitSourceDBClusterIdentifier = a});
 
@@ -260,9 +210,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdctpitrsDBCluster'
+-- * 'rdctpitrsDBCluster' - Undocumented member.
 --
--- * 'rdctpitrsResponseStatus'
+-- * 'rdctpitrsResponseStatus' - -- | The response status code.
 restoreDBClusterToPointInTimeResponse
     :: Int -- ^ 'rdctpitrsResponseStatus'
     -> RestoreDBClusterToPointInTimeResponse
@@ -276,7 +226,7 @@
 rdctpitrsDBCluster :: Lens' RestoreDBClusterToPointInTimeResponse (Maybe DBCluster)
 rdctpitrsDBCluster = lens _rdctpitrsDBCluster (\ s a -> s{_rdctpitrsDBCluster = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rdctpitrsResponseStatus :: Lens' RestoreDBClusterToPointInTimeResponse Int
 rdctpitrsResponseStatus = lens _rdctpitrsResponseStatus (\ s a -> s{_rdctpitrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RestoreDBInstanceFromDBSnapshot.hs b/gen/Network/AWS/RDS/RestoreDBInstanceFromDBSnapshot.hs
--- a/gen/Network/AWS/RDS/RestoreDBInstanceFromDBSnapshot.hs
+++ b/gen/Network/AWS/RDS/RestoreDBInstanceFromDBSnapshot.hs
@@ -20,9 +20,11 @@
 --
 -- Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.
 --
+--
 -- If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS does not allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.
 --
--- If you are restoring from a shared manual DB snapshot, the 'DBSnapshotIdentifier' must be the ARN of the shared DB snapshot.
+-- If you are restoring from a shared manual DB snapshot, the @DBSnapshotIdentifier@ must be the ARN of the shared DB snapshot.
+--
 module Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot
     (
     -- * Creating a Request
@@ -68,6 +70,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'restoreDBInstanceFromDBSnapshot' smart constructor.
 data RestoreDBInstanceFromDBSnapshot = RestoreDBInstanceFromDBSnapshot'
     { _rdifdsPubliclyAccessible      :: !(Maybe Bool)
@@ -97,47 +101,47 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdifdsPubliclyAccessible'
+-- * 'rdifdsPubliclyAccessible' - 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.
 --
--- * 'rdifdsAutoMinorVersionUpgrade'
+-- * 'rdifdsAutoMinorVersionUpgrade' - Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window.
 --
--- * 'rdifdsDBSubnetGroupName'
+-- * 'rdifdsDBSubnetGroupName' - The DB subnet group name to use for the new instance. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'rdifdsIOPS'
+-- * 'rdifdsIOPS' - 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.
 --
--- * 'rdifdsDomain'
+-- * 'rdifdsDomain' - Specify the Active Directory Domain to restore the instance in.
 --
--- * 'rdifdsEngine'
+-- * 'rdifdsEngine' - The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Valid Values: @MySQL@ | @mariadb@ | @oracle-se1@ | @oracle-se@ | @oracle-ee@ | @sqlserver-ee@ | @sqlserver-se@ | @sqlserver-ex@ | @sqlserver-web@ | @postgres@ | @aurora@
 --
--- * 'rdifdsTDECredentialPassword'
+-- * 'rdifdsTDECredentialPassword' - The password for the given ARN from the Key Store in order to access the device.
 --
--- * 'rdifdsDBInstanceClass'
+-- * 'rdifdsDBInstanceClass' - 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@
 --
--- * 'rdifdsLicenseModel'
+-- * 'rdifdsLicenseModel' - License model information for the restored DB instance. Default: Same as source. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 --
--- * 'rdifdsAvailabilityZone'
+-- * 'rdifdsAvailabilityZone' - 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@
 --
--- * 'rdifdsMultiAZ'
+-- * 'rdifdsMultiAZ' - 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@ .
 --
--- * 'rdifdsOptionGroupName'
+-- * 'rdifdsOptionGroupName' - 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
 --
--- * 'rdifdsCopyTagsToSnapshot'
+-- * 'rdifdsCopyTagsToSnapshot' - True to copy all tags from the restored DB instance to snapshots of the DB instance; otherwise false. The default is false.
 --
--- * 'rdifdsTDECredentialARN'
+-- * 'rdifdsTDECredentialARN' - The ARN from the Key Store with which to associate the instance for TDE encryption.
 --
--- * 'rdifdsDomainIAMRoleName'
+-- * 'rdifdsDomainIAMRoleName' - Specify the name of the IAM role to be used when making API calls to the Directory Service.
 --
--- * 'rdifdsTags'
+-- * 'rdifdsTags' - Undocumented member.
 --
--- * 'rdifdsPort'
+-- * 'rdifdsPort' - The port number on which the database accepts connections. Default: The same port as the original DB instance Constraints: Value must be @1150-65535@
 --
--- * 'rdifdsStorageType'
+-- * 'rdifdsStorageType' - Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 --
--- * 'rdifdsDBName'
+-- * 'rdifdsDBName' - The database name for the restored DB instance.
 --
--- * 'rdifdsDBInstanceIdentifier'
+-- * 'rdifdsDBInstanceIdentifier' - Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive. 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: @my-snapshot-id@
 --
--- * 'rdifdsDBSnapshotIdentifier'
+-- * 'rdifdsDBSnapshotIdentifier' - The identifier for the DB snapshot to restore from. 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 If you are restoring from a shared manual DB snapshot, the @DBSnapshotIdentifier@ must be the ARN of the shared DB snapshot.
 restoreDBInstanceFromDBSnapshot
     :: Text -- ^ 'rdifdsDBInstanceIdentifier'
     -> Text -- ^ 'rdifdsDBSnapshotIdentifier'
@@ -167,15 +171,7 @@
     , _rdifdsDBSnapshotIdentifier = pDBSnapshotIdentifier_
     }
 
--- | 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.
+-- | 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.
 rdifdsPubliclyAccessible :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)
 rdifdsPubliclyAccessible = lens _rdifdsPubliclyAccessible (\ s a -> s{_rdifdsPubliclyAccessible = a});
 
@@ -183,21 +179,11 @@
 rdifdsAutoMinorVersionUpgrade :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)
 rdifdsAutoMinorVersionUpgrade = lens _rdifdsAutoMinorVersionUpgrade (\ s a -> s{_rdifdsAutoMinorVersionUpgrade = a});
 
--- | The DB subnet group name to use for the new instance.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | The DB subnet group name to use for the new instance. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 rdifdsDBSubnetGroupName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsDBSubnetGroupName = lens _rdifdsDBSubnetGroupName (\ s a -> s{_rdifdsDBSubnetGroupName = 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.
+-- | 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.
 rdifdsIOPS :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Int)
 rdifdsIOPS = lens _rdifdsIOPS (\ s a -> s{_rdifdsIOPS = a});
 
@@ -205,13 +191,7 @@
 rdifdsDomain :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsDomain = lens _rdifdsDomain (\ s a -> s{_rdifdsDomain = 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
---
--- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' | 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web' | 'postgres' | 'aurora'
+-- | The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Valid Values: @MySQL@ | @mariadb@ | @oracle-se1@ | @oracle-se@ | @oracle-ee@ | @sqlserver-ee@ | @sqlserver-se@ | @sqlserver-ex@ | @sqlserver-web@ | @postgres@ | @aurora@
 rdifdsEngine :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsEngine = lens _rdifdsEngine (\ s a -> s{_rdifdsEngine = a});
 
@@ -219,39 +199,23 @@
 rdifdsTDECredentialPassword :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsTDECredentialPassword = lens _rdifdsTDECredentialPassword (\ s a -> s{_rdifdsTDECredentialPassword = 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- | 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@
 rdifdsDBInstanceClass :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsDBInstanceClass = lens _rdifdsDBInstanceClass (\ s a -> s{_rdifdsDBInstanceClass = a});
 
--- | License model information for the restored DB instance.
---
--- Default: Same as source.
---
--- Valid values: 'license-included' | 'bring-your-own-license' | 'general-public-license'
+-- | License model information for the restored DB instance. Default: Same as source. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 rdifdsLicenseModel :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsLicenseModel = lens _rdifdsLicenseModel (\ s a -> s{_rdifdsLicenseModel = 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'
+-- | 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@
 rdifdsAvailabilityZone :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsAvailabilityZone = lens _rdifdsAvailabilityZone (\ s a -> s{_rdifdsAvailabilityZone = 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'.
+-- | 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@ .
 rdifdsMultiAZ :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)
 rdifdsMultiAZ = lens _rdifdsMultiAZ (\ s a -> s{_rdifdsMultiAZ = 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
+-- | 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
 rdifdsOptionGroupName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsOptionGroupName = lens _rdifdsOptionGroupName (\ s a -> s{_rdifdsOptionGroupName = a});
 
@@ -271,55 +235,23 @@
 rdifdsTags :: Lens' RestoreDBInstanceFromDBSnapshot [Tag]
 rdifdsTags = lens _rdifdsTags (\ s a -> s{_rdifdsTags = a}) . _Default . _Coerce;
 
--- | The port number on which the database accepts connections.
---
--- Default: The same port as the original DB instance
---
--- Constraints: Value must be '1150-65535'
+-- | The port number on which the database accepts connections. Default: The same port as the original DB instance Constraints: Value must be @1150-65535@
 rdifdsPort :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Int)
 rdifdsPort = lens _rdifdsPort (\ s a -> s{_rdifdsPort = a});
 
--- | Specifies the 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.
---
--- Default: 'io1' if the 'Iops' parameter is specified; otherwise 'standard'
+-- | Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 rdifdsStorageType :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsStorageType = lens _rdifdsStorageType (\ s a -> s{_rdifdsStorageType = a});
 
 -- | The database name for the restored DB instance.
---
--- This parameter doesn\'t apply to the MySQL, PostgreSQL, or MariaDB engines.
 rdifdsDBName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsDBName = lens _rdifdsDBName (\ s a -> s{_rdifdsDBName = a});
 
--- | Name of the DB instance to create from the DB snapshot. This parameter isn\'t case-sensitive.
---
--- 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: 'my-snapshot-id'
+-- | Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive. 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: @my-snapshot-id@
 rdifdsDBInstanceIdentifier :: Lens' RestoreDBInstanceFromDBSnapshot Text
 rdifdsDBInstanceIdentifier = lens _rdifdsDBInstanceIdentifier (\ s a -> s{_rdifdsDBInstanceIdentifier = a});
 
--- | The identifier for the DB snapshot to restore from.
---
--- 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
---
--- If you are restoring from a shared manual DB snapshot, the 'DBSnapshotIdentifier' must be the ARN of the shared DB snapshot.
+-- | The identifier for the DB snapshot to restore from. 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 If you are restoring from a shared manual DB snapshot, the @DBSnapshotIdentifier@ must be the ARN of the shared DB snapshot.
 rdifdsDBSnapshotIdentifier :: Lens' RestoreDBInstanceFromDBSnapshot Text
 rdifdsDBSnapshotIdentifier = lens _rdifdsDBSnapshotIdentifier (\ s a -> s{_rdifdsDBSnapshotIdentifier = a});
 
@@ -389,9 +321,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdifdsrsDBInstance'
+-- * 'rdifdsrsDBInstance' - Undocumented member.
 --
--- * 'rdifdsrsResponseStatus'
+-- * 'rdifdsrsResponseStatus' - -- | The response status code.
 restoreDBInstanceFromDBSnapshotResponse
     :: Int -- ^ 'rdifdsrsResponseStatus'
     -> RestoreDBInstanceFromDBSnapshotResponse
@@ -405,7 +337,7 @@
 rdifdsrsDBInstance :: Lens' RestoreDBInstanceFromDBSnapshotResponse (Maybe DBInstance)
 rdifdsrsDBInstance = lens _rdifdsrsDBInstance (\ s a -> s{_rdifdsrsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rdifdsrsResponseStatus :: Lens' RestoreDBInstanceFromDBSnapshotResponse Int
 rdifdsrsResponseStatus = lens _rdifdsrsResponseStatus (\ s a -> s{_rdifdsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RestoreDBInstanceToPointInTime.hs b/gen/Network/AWS/RDS/RestoreDBInstanceToPointInTime.hs
--- a/gen/Network/AWS/RDS/RestoreDBInstanceToPointInTime.hs
+++ b/gen/Network/AWS/RDS/RestoreDBInstanceToPointInTime.hs
@@ -20,7 +20,9 @@
 --
 -- Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.
 --
+--
 -- The target database is created with most of the original configuration, but in a system-selected availability zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.
+--
 module Network.AWS.RDS.RestoreDBInstanceToPointInTime
     (
     -- * Creating a Request
@@ -68,6 +70,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'restoreDBInstanceToPointInTime' smart constructor.
 data RestoreDBInstanceToPointInTime = RestoreDBInstanceToPointInTime'
     { _rditpitUseLatestRestorableTime    :: !(Maybe Bool)
@@ -99,51 +103,51 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rditpitUseLatestRestorableTime'
+-- * 'rditpitUseLatestRestorableTime' - 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.
 --
--- * 'rditpitPubliclyAccessible'
+-- * 'rditpitPubliclyAccessible' - 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.
 --
--- * 'rditpitAutoMinorVersionUpgrade'
+-- * 'rditpitAutoMinorVersionUpgrade' - Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window.
 --
--- * 'rditpitDBSubnetGroupName'
+-- * 'rditpitDBSubnetGroupName' - The DB subnet group name to use for the new instance. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 --
--- * 'rditpitRestoreTime'
+-- * 'rditpitRestoreTime' - The date and time to restore from. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format 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@
 --
--- * 'rditpitIOPS'
+-- * 'rditpitIOPS' - 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.
 --
--- * 'rditpitDomain'
+-- * 'rditpitDomain' - Specify the Active Directory Domain to restore the instance in.
 --
--- * 'rditpitEngine'
+-- * 'rditpitEngine' - The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Valid Values: @MySQL@ | @mariadb@ | @oracle-se1@ | @oracle-se@ | @oracle-ee@ | @sqlserver-ee@ | @sqlserver-se@ | @sqlserver-ex@ | @sqlserver-web@ | @postgres@ | @aurora@
 --
--- * 'rditpitTDECredentialPassword'
+-- * 'rditpitTDECredentialPassword' - The password for the given ARN from the Key Store in order to access the device.
 --
--- * 'rditpitDBInstanceClass'
+-- * 'rditpitDBInstanceClass' - 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@  Default: The same DBInstanceClass as the original DB instance.
 --
--- * 'rditpitLicenseModel'
+-- * 'rditpitLicenseModel' - License model information for the restored DB instance. Default: Same as source. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 --
--- * 'rditpitAvailabilityZone'
+-- * 'rditpitAvailabilityZone' - 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@
 --
--- * 'rditpitMultiAZ'
+-- * 'rditpitMultiAZ' - 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@ .
 --
--- * 'rditpitOptionGroupName'
+-- * 'rditpitOptionGroupName' - 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
 --
--- * 'rditpitCopyTagsToSnapshot'
+-- * 'rditpitCopyTagsToSnapshot' - True to copy all tags from the restored DB instance to snapshots of the DB instance; otherwise false. The default is false.
 --
--- * 'rditpitTDECredentialARN'
+-- * 'rditpitTDECredentialARN' - The ARN from the Key Store with which to associate the instance for TDE encryption.
 --
--- * 'rditpitDomainIAMRoleName'
+-- * 'rditpitDomainIAMRoleName' - Specify the name of the IAM role to be used when making API calls to the Directory Service.
 --
--- * 'rditpitTags'
+-- * 'rditpitTags' - Undocumented member.
 --
--- * 'rditpitPort'
+-- * 'rditpitPort' - The port number on which the database accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB instance.
 --
--- * 'rditpitStorageType'
+-- * 'rditpitStorageType' - Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 --
--- * 'rditpitDBName'
+-- * 'rditpitDBName' - The database name for the restored DB instance.
 --
--- * 'rditpitSourceDBInstanceIdentifier'
+-- * 'rditpitSourceDBInstanceIdentifier' - 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
 --
--- * 'rditpitTargetDBInstanceIdentifier'
+-- * 'rditpitTargetDBInstanceIdentifier' - 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
 restoreDBInstanceToPointInTime
     :: Text -- ^ 'rditpitSourceDBInstanceIdentifier'
     -> Text -- ^ 'rditpitTargetDBInstanceIdentifier'
@@ -175,23 +179,11 @@
     , _rditpitTargetDBInstanceIdentifier = pTargetDBInstanceIdentifier_
     }
 
--- | 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.
+-- | 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.
 rditpitUseLatestRestorableTime :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)
 rditpitUseLatestRestorableTime = lens _rditpitUseLatestRestorableTime (\ s a -> s{_rditpitUseLatestRestorableTime = 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.
+-- | 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.
 rditpitPubliclyAccessible :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)
 rditpitPubliclyAccessible = lens _rditpitPubliclyAccessible (\ s a -> s{_rditpitPubliclyAccessible = a});
 
@@ -199,35 +191,15 @@
 rditpitAutoMinorVersionUpgrade :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)
 rditpitAutoMinorVersionUpgrade = lens _rditpitAutoMinorVersionUpgrade (\ s a -> s{_rditpitAutoMinorVersionUpgrade = a});
 
--- | The DB subnet group name to use for the new instance.
---
--- Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.
---
--- Example: 'mySubnetgroup'
+-- | The DB subnet group name to use for the new instance. Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default. Example: @mySubnetgroup@
 rditpitDBSubnetGroupName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitDBSubnetGroupName = lens _rditpitDBSubnetGroupName (\ s a -> s{_rditpitDBSubnetGroupName = a});
 
--- | The date and time to restore from.
---
--- Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
---
--- 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'
+-- | The date and time to restore from. Valid Values: Value must be a time in Universal Coordinated Time (UTC) format 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@
 rditpitRestoreTime :: Lens' RestoreDBInstanceToPointInTime (Maybe UTCTime)
 rditpitRestoreTime = lens _rditpitRestoreTime (\ s a -> s{_rditpitRestoreTime = a}) . mapping _Time;
 
--- | 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.
+-- | 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.
 rditpitIOPS :: Lens' RestoreDBInstanceToPointInTime (Maybe Int)
 rditpitIOPS = lens _rditpitIOPS (\ s a -> s{_rditpitIOPS = a});
 
@@ -235,13 +207,7 @@
 rditpitDomain :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitDomain = lens _rditpitDomain (\ s a -> s{_rditpitDomain = 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
---
--- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' | 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web' | 'postgres' | 'aurora'
+-- | The database engine to use for the new instance. Default: The same as source Constraint: Must be compatible with the engine of the source Valid Values: @MySQL@ | @mariadb@ | @oracle-se1@ | @oracle-se@ | @oracle-ee@ | @sqlserver-ee@ | @sqlserver-se@ | @sqlserver-ex@ | @sqlserver-web@ | @postgres@ | @aurora@
 rditpitEngine :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitEngine = lens _rditpitEngine (\ s a -> s{_rditpitEngine = a});
 
@@ -249,41 +215,23 @@
 rditpitTDECredentialPassword :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitTDECredentialPassword = lens _rditpitTDECredentialPassword (\ s a -> s{_rditpitTDECredentialPassword = 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
---
--- Default: The same DBInstanceClass as the original DB instance.
+-- | 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.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large@  Default: The same DBInstanceClass as the original DB instance.
 rditpitDBInstanceClass :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitDBInstanceClass = lens _rditpitDBInstanceClass (\ s a -> s{_rditpitDBInstanceClass = a});
 
--- | License model information for the restored DB instance.
---
--- Default: Same as source.
---
--- Valid values: 'license-included' | 'bring-your-own-license' | 'general-public-license'
+-- | License model information for the restored DB instance. Default: Same as source. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
 rditpitLicenseModel :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitLicenseModel = lens _rditpitLicenseModel (\ s a -> s{_rditpitLicenseModel = 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'
+-- | 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@
 rditpitAvailabilityZone :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitAvailabilityZone = lens _rditpitAvailabilityZone (\ s a -> s{_rditpitAvailabilityZone = 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'.
+-- | 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@ .
 rditpitMultiAZ :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)
 rditpitMultiAZ = lens _rditpitMultiAZ (\ s a -> s{_rditpitMultiAZ = 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
+-- | 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
 rditpitOptionGroupName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitOptionGroupName = lens _rditpitOptionGroupName (\ s a -> s{_rditpitOptionGroupName = a});
 
@@ -303,55 +251,23 @@
 rditpitTags :: Lens' RestoreDBInstanceToPointInTime [Tag]
 rditpitTags = lens _rditpitTags (\ s a -> s{_rditpitTags = a}) . _Default . _Coerce;
 
--- | The port number on which the database accepts connections.
---
--- Constraints: Value must be '1150-65535'
---
--- Default: The same port as the original DB instance.
+-- | The port number on which the database accepts connections. Constraints: Value must be @1150-65535@  Default: The same port as the original DB instance.
 rditpitPort :: Lens' RestoreDBInstanceToPointInTime (Maybe Int)
 rditpitPort = lens _rditpitPort (\ s a -> s{_rditpitPort = a});
 
--- | Specifies the 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.
---
--- Default: 'io1' if the 'Iops' parameter is specified; otherwise 'standard'
+-- | Specifies the 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.  Default: @io1@ if the @Iops@ parameter is specified; otherwise @standard@
 rditpitStorageType :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitStorageType = lens _rditpitStorageType (\ s a -> s{_rditpitStorageType = a});
 
 -- | The database name for the restored DB instance.
---
--- This parameter is not used for the MySQL or MariaDB engines.
 rditpitDBName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitDBName = lens _rditpitDBName (\ s a -> s{_rditpitDBName = a});
 
--- | 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
---
+-- | 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
 rditpitSourceDBInstanceIdentifier :: Lens' RestoreDBInstanceToPointInTime Text
 rditpitSourceDBInstanceIdentifier = lens _rditpitSourceDBInstanceIdentifier (\ s a -> s{_rditpitSourceDBInstanceIdentifier = a});
 
--- | 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
---
+-- | 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
 rditpitTargetDBInstanceIdentifier :: Lens' RestoreDBInstanceToPointInTime Text
 rditpitTargetDBInstanceIdentifier = lens _rditpitTargetDBInstanceIdentifier (\ s a -> s{_rditpitTargetDBInstanceIdentifier = a});
 
@@ -423,9 +339,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rditpitrsDBInstance'
+-- * 'rditpitrsDBInstance' - Undocumented member.
 --
--- * 'rditpitrsResponseStatus'
+-- * 'rditpitrsResponseStatus' - -- | The response status code.
 restoreDBInstanceToPointInTimeResponse
     :: Int -- ^ 'rditpitrsResponseStatus'
     -> RestoreDBInstanceToPointInTimeResponse
@@ -439,7 +355,7 @@
 rditpitrsDBInstance :: Lens' RestoreDBInstanceToPointInTimeResponse (Maybe DBInstance)
 rditpitrsDBInstance = lens _rditpitrsDBInstance (\ s a -> s{_rditpitrsDBInstance = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rditpitrsResponseStatus :: Lens' RestoreDBInstanceToPointInTimeResponse Int
 rditpitrsResponseStatus = lens _rditpitrsResponseStatus (\ s a -> s{_rditpitrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/RevokeDBSecurityGroupIngress.hs b/gen/Network/AWS/RDS/RevokeDBSecurityGroupIngress.hs
--- a/gen/Network/AWS/RDS/RevokeDBSecurityGroupIngress.hs
+++ b/gen/Network/AWS/RDS/RevokeDBSecurityGroupIngress.hs
@@ -19,6 +19,8 @@
 -- 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).
+--
+--
 module Network.AWS.RDS.RevokeDBSecurityGroupIngress
     (
     -- * Creating a Request
@@ -48,6 +50,8 @@
 
 -- |
 --
+--
+--
 -- /See:/ 'revokeDBSecurityGroupIngress' smart constructor.
 data RevokeDBSecurityGroupIngress = RevokeDBSecurityGroupIngress'
     { _rdsgiEC2SecurityGroupOwnerId :: !(Maybe Text)
@@ -61,15 +65,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdsgiEC2SecurityGroupOwnerId'
+-- * 'rdsgiEC2SecurityGroupOwnerId' - 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.
 --
--- * 'rdsgiEC2SecurityGroupName'
+-- * 'rdsgiEC2SecurityGroupName' - 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.
 --
--- * 'rdsgiCIdRIP'
+-- * 'rdsgiCIdRIP' - The IP range to revoke access from. Must be a valid CIDR range. If @CIDRIP@ is specified, @EC2SecurityGroupName@ , @EC2SecurityGroupId@ and @EC2SecurityGroupOwnerId@ cannot be provided.
 --
--- * 'rdsgiEC2SecurityGroupId'
+-- * 'rdsgiEC2SecurityGroupId' - 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.
 --
--- * 'rdsgiDBSecurityGroupName'
+-- * 'rdsgiDBSecurityGroupName' - The name of the DB security group to revoke ingress from.
 revokeDBSecurityGroupIngress
     :: Text -- ^ 'rdsgiDBSecurityGroupName'
     -> RevokeDBSecurityGroupIngress
@@ -82,19 +86,19 @@
     , _rdsgiDBSecurityGroupName = pDBSecurityGroupName_
     }
 
--- | 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.
+-- | 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.
 rdsgiEC2SecurityGroupOwnerId :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)
 rdsgiEC2SecurityGroupOwnerId = lens _rdsgiEC2SecurityGroupOwnerId (\ s a -> s{_rdsgiEC2SecurityGroupOwnerId = 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.
+-- | 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.
 rdsgiEC2SecurityGroupName :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)
 rdsgiEC2SecurityGroupName = lens _rdsgiEC2SecurityGroupName (\ s a -> s{_rdsgiEC2SecurityGroupName = a});
 
--- | The IP range to revoke access from. Must be a valid CIDR range. If 'CIDRIP' is specified, 'EC2SecurityGroupName', 'EC2SecurityGroupId' and 'EC2SecurityGroupOwnerId' cannot be provided.
+-- | The IP range to revoke access from. Must be a valid CIDR range. If @CIDRIP@ is specified, @EC2SecurityGroupName@ , @EC2SecurityGroupId@ and @EC2SecurityGroupOwnerId@ cannot be provided.
 rdsgiCIdRIP :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)
 rdsgiCIdRIP = lens _rdsgiCIdRIP (\ s a -> s{_rdsgiCIdRIP = 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.
+-- | 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.
 rdsgiEC2SecurityGroupId :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)
 rdsgiEC2SecurityGroupId = lens _rdsgiEC2SecurityGroupId (\ s a -> s{_rdsgiEC2SecurityGroupId = a});
 
@@ -147,9 +151,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rdsgirsDBSecurityGroup'
+-- * 'rdsgirsDBSecurityGroup' - Undocumented member.
 --
--- * 'rdsgirsResponseStatus'
+-- * 'rdsgirsResponseStatus' - -- | The response status code.
 revokeDBSecurityGroupIngressResponse
     :: Int -- ^ 'rdsgirsResponseStatus'
     -> RevokeDBSecurityGroupIngressResponse
@@ -163,7 +167,7 @@
 rdsgirsDBSecurityGroup :: Lens' RevokeDBSecurityGroupIngressResponse (Maybe DBSecurityGroup)
 rdsgirsDBSecurityGroup = lens _rdsgirsDBSecurityGroup (\ s a -> s{_rdsgirsDBSecurityGroup = a});
 
--- | The response status code.
+-- | -- | The response status code.
 rdsgirsResponseStatus :: Lens' RevokeDBSecurityGroupIngressResponse Int
 rdsgirsResponseStatus = lens _rdsgirsResponseStatus (\ s a -> s{_rdsgirsResponseStatus = a});
 
diff --git a/gen/Network/AWS/RDS/Types.hs b/gen/Network/AWS/RDS/Types.hs
--- a/gen/Network/AWS/RDS/Types.hs
+++ b/gen/Network/AWS/RDS/Types.hs
@@ -66,6 +66,8 @@
     , _InsufficientDBInstanceCapacityFault
     , _InvalidDBClusterSnapshotStateFault
     , _SubscriptionAlreadyExistFault
+    , _DBClusterRoleAlreadyExistsFault
+    , _DBClusterRoleQuotaExceededFault
     , _InvalidVPCNetworkStateFault
     , _AuthorizationNotFoundFault
     , _ReservedDBInstanceNotFoundFault
@@ -89,6 +91,7 @@
     , _InvalidDBSubnetGroupStateFault
     , _DBSubnetGroupDoesNotCoverEnoughAZs
     , _SubnetAlreadyInUse
+    , _DBClusterRoleNotFoundFault
 
     -- * ApplyMethod
     , ApplyMethod (..)
@@ -147,6 +150,7 @@
     , dcCharacterSetName
     , dcKMSKeyId
     , dcPreferredBackupWindow
+    , dcAssociatedRoles
     , dcVPCSecurityGroups
     , dcBackupRetentionPeriod
     , dcDBSubnetGroup
@@ -154,6 +158,7 @@
     , dcAllocatedStorage
     , dcEndpoint
     , dcPercentProgress
+    , dcReaderEndpoint
     , dcPort
     , dcDBClusterOptionGroupMemberships
 
@@ -184,6 +189,12 @@
     , dbClusterParameterGroupNameMessage
     , dcpgnmDBClusterParameterGroupName
 
+    -- * DBClusterRole
+    , DBClusterRole
+    , dbClusterRole
+    , dcrStatus
+    , dcrRoleARN
+
     -- * DBClusterSnapshot
     , DBClusterSnapshot
     , dbClusterSnapshot
@@ -229,6 +240,7 @@
     , devSupportedCharacterSets
     , devDBEngineDescription
     , devValidUpgradeTarget
+    , devSupportedTimezones
 
     -- * DBInstance
     , DBInstance
@@ -270,6 +282,7 @@
     , diDBiResourceId
     , diDBParameterGroups
     , diCopyTagsToSnapshot
+    , diTimezone
     , diTDECredentialARN
     , diEndpoint
     , diDBInstanceStatus
@@ -347,6 +360,7 @@
     , dsSnapshotCreateTime
     , dsAllocatedStorage
     , dsOptionGroupName
+    , dsTimezone
     , dsTDECredentialARN
     , dsPercentProgress
     , dsPort
@@ -662,6 +676,11 @@
     , tagValue
     , tagKey
 
+    -- * Timezone
+    , Timezone
+    , timezone
+    , tTimezoneName
+
     -- * UpgradeTarget
     , UpgradeTarget
     , upgradeTarget
@@ -684,7 +703,7 @@
 import           Network.AWS.RDS.Types.Sum
 import           Network.AWS.Sign.V4
 
--- | API version '2014-10-31' of the Amazon Relational Database Service SDK configuration.
+-- | API version @2014-10-31@ of the Amazon Relational Database Service SDK configuration.
 rds :: Service
 rds =
     Service
@@ -719,373 +738,540 @@
       | otherwise = Nothing
 
 -- | /SourceDBInstanceIdentifier/ refers to a DB instance with /BackupRetentionPeriod/ equal to 0.
+--
+--
 _PointInTimeRestoreNotEnabledFault :: AsError a => Getting (First ServiceError) a ServiceError
 _PointInTimeRestoreNotEnabledFault =
     _ServiceError . hasStatus 400 . hasCode "PointInTimeRestoreNotEnabled"
 
 -- | The DB parameter group cannot be deleted because it is in use.
+--
+--
 _InvalidDBParameterGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBParameterGroupStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBParameterGroupState"
 
--- | Request would exceed the user\'s DB Instance quota.
+-- | Request would exceed the user's DB Instance quota.
+--
+--
 _ReservedDBInstanceQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _ReservedDBInstanceQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "ReservedDBInstanceQuotaExceeded"
 
 -- | The requested source could not be found.
+--
+--
 _SourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SourceNotFoundFault = _ServiceError . hasStatus 404 . hasCode "SourceNotFound"
 
 -- | /CertificateIdentifier/ does not refer to an existing certificate.
+--
+--
 _CertificateNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _CertificateNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "CertificateNotFound"
 
 -- | DB security group authorization quota has been reached.
+--
+--
 _AuthorizationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _AuthorizationQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "AuthorizationQuotaExceeded"
 
 -- | User already has a DB cluster snapshot with the given identifier.
+--
+--
 _DBClusterSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBClusterSnapshotAlreadyExistsFault =
     _ServiceError .
     hasStatus 400 . hasCode "DBClusterSnapshotAlreadyExistsFault"
 
 -- | A DB parameter group with the same name exists.
+--
+--
 _DBParameterGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBParameterGroupAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "DBParameterGroupAlreadyExists"
 
 -- | Request would result in user exceeding the allowed number of DB parameter groups.
+--
+--
 _DBParameterGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBParameterGroupQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "DBParameterGroupQuotaExceeded"
 
 -- | The DB cluster does not have enough capacity for the current operation.
+--
+--
 _InsufficientDBClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InsufficientDBClusterCapacityFault =
     _ServiceError .
     hasStatus 403 . hasCode "InsufficientDBClusterCapacityFault"
 
 -- | User already has a reservation with the given identifier.
+--
+--
 _ReservedDBInstanceAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _ReservedDBInstanceAlreadyExistsFault =
     _ServiceError . hasStatus 404 . hasCode "ReservedDBInstanceAlreadyExists"
 
 -- | Provisioned IOPS not available in the specified Availability Zone.
+--
+--
 _ProvisionedIOPSNotAvailableInAZFault :: AsError a => Getting (First ServiceError) a ServiceError
 _ProvisionedIOPSNotAvailableInAZFault =
     _ServiceError .
     hasStatus 400 . hasCode "ProvisionedIopsNotAvailableInAZFault"
 
 -- | The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.
+--
+--
 _AuthorizationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _AuthorizationAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "AuthorizationAlreadyExists"
 
 -- | The supplied category does not exist.
+--
+--
 _SubscriptionCategoryNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SubscriptionCategoryNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "SubscriptionCategoryNotFound"
 
 -- | The subscription name does not exist.
+--
+--
 _SubscriptionNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SubscriptionNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "SubscriptionNotFound"
 
 -- | The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.
+--
+--
 _InvalidSubnet :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidSubnet = _ServiceError . hasStatus 400 . hasCode "InvalidSubnet"
 
 -- | You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.
+--
+--
 _SharedSnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SharedSnapshotQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "SharedSnapshotQuotaExceeded"
 
 -- | Request would result in user exceeding the allowed number of subnets in a DB subnet groups.
+--
+--
 _DBSubnetQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSubnetQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "DBSubnetQuotaExceededFault"
 
 -- | The specified option group could not be found.
+--
+--
 _OptionGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _OptionGroupNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "OptionGroupNotFoundFault"
 
 -- | /DBClusterIdentifier/ does not refer to an existing DB cluster.
+--
+--
 _DBClusterNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBClusterNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBClusterNotFoundFault"
 
 -- | /LogFileName/ does not refer to an existing DB log file.
+--
+--
 _DBLogFileNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBLogFileNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBLogFileNotFoundFault"
 
 -- | The specified Amazon S3 bucket name could not be found or Amazon RDS is not authorized to access the specified Amazon S3 bucket. Verify the __SourceS3BucketName__ and __S3IngestionRoleArn__ values and try again.
+--
+--
 _InvalidS3BucketFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidS3BucketFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidS3BucketFault"
 
 -- | User already has a DB cluster with the given identifier.
+--
+--
 _DBClusterAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBClusterAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "DBClusterAlreadyExistsFault"
 
 -- | /StorageType/ specified cannot be associated with the DB Instance.
+--
+--
 _StorageTypeNotSupportedFault :: AsError a => Getting (First ServiceError) a ServiceError
 _StorageTypeNotSupportedFault =
     _ServiceError . hasStatus 400 . hasCode "StorageTypeNotSupported"
 
 -- | Request would result in user exceeding the allowed number of DB security groups.
+--
+--
 _DBSecurityGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSecurityGroupQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "QuotaExceeded.DBSecurityGroup"
 
 -- | The option group you are trying to create already exists.
+--
+--
 _OptionGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _OptionGroupAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "OptionGroupAlreadyExistsFault"
 
 -- | The quota of 20 option groups was exceeded for this AWS account.
+--
+--
 _OptionGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _OptionGroupQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "OptionGroupQuotaExceededFault"
 
 -- | A DB security group with the name specified in /DBSecurityGroupName/ already exists.
+--
+--
 _DBSecurityGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSecurityGroupAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "DBSecurityGroupAlreadyExists"
 
 -- | The SNS topic ARN does not exist.
+--
+--
 _SNSTopicARNNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SNSTopicARNNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "SNSTopicArnNotFound"
 
 -- | This error can occur if someone else is modifying a subscription. You should retry the action.
+--
+--
 _InvalidEventSubscriptionStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidEventSubscriptionStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidEventSubscriptionState"
 
 -- | Error accessing KMS key.
+--
+--
 _KMSKeyNotAccessibleFault :: AsError a => Getting (First ServiceError) a ServiceError
 _KMSKeyNotAccessibleFault =
     _ServiceError . hasStatus 400 . hasCode "KMSKeyNotAccessibleFault"
 
 -- | /DBSnapshotIdentifier/ does not refer to an existing DB snapshot.
+--
+--
 _DBSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSnapshotNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBSnapshotNotFound"
 
 -- | /DBClusterParameterGroupName/ does not refer to an existing DB Cluster parameter group.
+--
+--
 _DBClusterParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBClusterParameterGroupNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBClusterParameterGroupNotFound"
 
 -- | User attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.
+--
+--
 _DBClusterQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBClusterQuotaExceededFault =
     _ServiceError . hasStatus 403 . hasCode "DBClusterQuotaExceededFault"
 
 -- | Request would result in user exceeding the allowed number of DB snapshots.
+--
+--
 _SnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SnapshotQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "SnapshotQuotaExceeded"
 
 -- | /DBSubnetGroupName/ is already used by an existing DB subnet group.
+--
+--
 _DBSubnetGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSubnetGroupAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "DBSubnetGroupAlreadyExists"
 
 -- | You do not have permission to publish to the SNS topic ARN.
+--
+--
 _SNSNoAuthorizationFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SNSNoAuthorizationFault =
     _ServiceError . hasStatus 400 . hasCode "SNSNoAuthorization"
 
 -- | /DBSecurityGroupName/ does not refer to an existing DB security group.
+--
+--
 _DBSecurityGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSecurityGroupNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBSecurityGroupNotFound"
 
 -- | A DB security group is not allowed for this action.
+--
+--
 _DBSecurityGroupNotSupportedFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSecurityGroupNotSupportedFault =
     _ServiceError . hasStatus 400 . hasCode "DBSecurityGroupNotSupported"
 
 -- | Request would result in user exceeding the allowed number of DB instances.
+--
+--
 _InstanceQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InstanceQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "InstanceQuotaExceeded"
 
 -- | /Domain/ does not refer to an existing Active Directory Domain.
+--
+--
 _DomainNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DomainNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DomainNotFoundFault"
 
 -- | /DBParameterGroupName/ does not refer to an existing DB parameter group.
+--
+--
 _DBParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBParameterGroupNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBParameterGroupNotFound"
 
 -- | Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.
+--
+--
 _InvalidDBSubnetGroupFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBSubnetGroupFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBSubnetGroupFault"
 
 -- | Specified offering does not exist.
+--
+--
 _ReservedDBInstancesOfferingNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _ReservedDBInstancesOfferingNotFoundFault =
     _ServiceError .
     hasStatus 404 . hasCode "ReservedDBInstancesOfferingNotFound"
 
 -- | The DB subnet is not in the /available/ state.
+--
+--
 _InvalidDBSubnetStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBSubnetStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBSubnetStateFault"
 
 -- | /DBClusterSnapshotIdentifier/ does not refer to an existing DB cluster snapshot.
+--
+--
 _DBClusterSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBClusterSnapshotNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBClusterSnapshotNotFoundFault"
 
 -- | SNS has responded that there is a problem with the SND topic specified.
+--
+--
 _SNSInvalidTopicFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SNSInvalidTopicFault =
     _ServiceError . hasStatus 400 . hasCode "SNSInvalidTopic"
 
 -- | Specified DB instance class is not available in the specified Availability Zone.
+--
+--
 _InsufficientDBInstanceCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InsufficientDBInstanceCapacityFault =
     _ServiceError . hasStatus 400 . hasCode "InsufficientDBInstanceCapacity"
 
 -- | The supplied value is not a valid DB cluster snapshot state.
+--
+--
 _InvalidDBClusterSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBClusterSnapshotStateFault =
     _ServiceError .
     hasStatus 400 . hasCode "InvalidDBClusterSnapshotStateFault"
 
 -- | The supplied subscription name already exists.
+--
+--
 _SubscriptionAlreadyExistFault :: AsError a => Getting (First ServiceError) a ServiceError
 _SubscriptionAlreadyExistFault =
     _ServiceError . hasStatus 400 . hasCode "SubscriptionAlreadyExist"
 
--- | DB subnet group does not cover all Availability Zones after it is created because users\' change.
+-- | The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.
+--
+--
+_DBClusterRoleAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+_DBClusterRoleAlreadyExistsFault =
+    _ServiceError . hasStatus 400 . hasCode "DBClusterRoleAlreadyExists"
+
+-- | You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.
+--
+--
+_DBClusterRoleQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+_DBClusterRoleQuotaExceededFault =
+    _ServiceError . hasStatus 400 . hasCode "DBClusterRoleQuotaExceeded"
+
+-- | DB subnet group does not cover all Availability Zones after it is created because users' change.
+--
+--
 _InvalidVPCNetworkStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidVPCNetworkStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidVPCNetworkStateFault"
 
 -- | Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.
 --
+--
 -- RDS may not also be authorized via IAM to perform necessary actions on your behalf.
+--
 _AuthorizationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _AuthorizationNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "AuthorizationNotFound"
 
 -- | The specified reserved DB Instance not found.
+--
+--
 _ReservedDBInstanceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _ReservedDBInstanceNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "ReservedDBInstanceNotFound"
 
 -- | Request would result in user exceeding the allowed number of DB subnet groups.
+--
+--
 _DBSubnetGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSubnetGroupQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "DBSubnetGroupQuotaExceeded"
 
 -- | Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.
+--
+--
 _DBSubnetGroupNotAllowedFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSubnetGroupNotAllowedFault =
     _ServiceError . hasStatus 400 . hasCode "DBSubnetGroupNotAllowedFault"
 
 -- | You have reached the maximum number of event subscriptions.
+--
+--
 _EventSubscriptionQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _EventSubscriptionQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "EventSubscriptionQuotaExceeded"
 
 -- | There is insufficient storage available for the current action. You may be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.
+--
+--
 _InsufficientStorageClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InsufficientStorageClusterCapacityFault =
     _ServiceError .
     hasStatus 400 . hasCode "InsufficientStorageClusterCapacity"
 
 -- | The option group is not in the /available/ state.
+--
+--
 _InvalidOptionGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidOptionGroupStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidOptionGroupStateFault"
 
 -- | The DB cluster is not in a valid state.
+--
+--
 _InvalidDBClusterStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBClusterStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBClusterStateFault"
 
 -- | User already has a DB instance with the given identifier.
+--
+--
 _DBInstanceAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBInstanceAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "DBInstanceAlreadyExists"
 
 -- | Cannot restore from vpc backup to non-vpc DB instance.
+--
+--
 _InvalidRestoreFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidRestoreFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidRestoreFault"
 
 -- | The state of the DB security group does not allow deletion.
+--
+--
 _InvalidDBSecurityGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBSecurityGroupStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBSecurityGroupState"
 
 -- | The specified resource ID was not found.
+--
+--
 _ResourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _ResourceNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "ResourceNotFoundFault"
 
 -- | /DBSubnetGroupName/ does not refer to an existing DB subnet group.
+--
+--
 _DBSubnetGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSubnetGroupNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBSubnetGroupNotFoundFault"
 
 -- | The DB upgrade failed because a resource the DB depends on could not be modified.
+--
+--
 _DBUpgradeDependencyFailureFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBUpgradeDependencyFailureFault =
     _ServiceError . hasStatus 400 . hasCode "DBUpgradeDependencyFailure"
 
 -- | The specified DB instance is not in the /available/ state.
+--
+--
 _InvalidDBInstanceStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBInstanceStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBInstanceState"
 
 -- | /DBSnapshotIdentifier/ is already used by an existing snapshot.
+--
+--
 _DBSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSnapshotAlreadyExistsFault =
     _ServiceError . hasStatus 400 . hasCode "DBSnapshotAlreadyExists"
 
 -- | /DBInstanceIdentifier/ does not refer to an existing DB instance.
+--
+--
 _DBInstanceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
 _DBInstanceNotFoundFault =
     _ServiceError . hasStatus 404 . hasCode "DBInstanceNotFound"
 
 -- | Request would result in user exceeding the allowed amount of storage available across all DB instances.
+--
+--
 _StorageQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _StorageQuotaExceededFault =
     _ServiceError . hasStatus 400 . hasCode "StorageQuotaExceeded"
 
 -- | The state of the DB snapshot does not allow deletion.
+--
+--
 _InvalidDBSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBSnapshotStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBSnapshotState"
 
 -- | The DB subnet group cannot be deleted because it is in use.
+--
+--
 _InvalidDBSubnetGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDBSubnetGroupStateFault =
     _ServiceError . hasStatus 400 . hasCode "InvalidDBSubnetGroupStateFault"
 
 -- | Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.
+--
+--
 _DBSubnetGroupDoesNotCoverEnoughAZs :: AsError a => Getting (First ServiceError) a ServiceError
 _DBSubnetGroupDoesNotCoverEnoughAZs =
     _ServiceError .
     hasStatus 400 . hasCode "DBSubnetGroupDoesNotCoverEnoughAZs"
 
 -- | The DB subnet is already in use in the Availability Zone.
+--
+--
 _SubnetAlreadyInUse :: AsError a => Getting (First ServiceError) a ServiceError
 _SubnetAlreadyInUse =
     _ServiceError . hasStatus 400 . hasCode "SubnetAlreadyInUse"
+
+-- | The specified IAM role Amazon Resource Name (ARN) is not associated with the specified DB cluster.
+--
+--
+_DBClusterRoleNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+_DBClusterRoleNotFoundFault =
+    _ServiceError . hasStatus 404 . hasCode "DBClusterRoleNotFound"
diff --git a/gen/Network/AWS/RDS/Types/Product.hs b/gen/Network/AWS/RDS/Types/Product.hs
--- a/gen/Network/AWS/RDS/Types/Product.hs
+++ b/gen/Network/AWS/RDS/Types/Product.hs
@@ -23,4728 +23,4934 @@
 
 -- | Describes a quota for an AWS account, for example, the number of DB instances allowed.
 --
--- /See:/ 'accountQuota' smart constructor.
-data AccountQuota = AccountQuota'
-    { _aqMax              :: !(Maybe Integer)
-    , _aqUsed             :: !(Maybe Integer)
-    , _aqAccountQuotaName :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'AccountQuota' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aqMax'
---
--- * 'aqUsed'
---
--- * 'aqAccountQuotaName'
-accountQuota
-    :: AccountQuota
-accountQuota =
-    AccountQuota'
-    { _aqMax = Nothing
-    , _aqUsed = Nothing
-    , _aqAccountQuotaName = Nothing
-    }
-
--- | The maximum allowed value for the quota.
-aqMax :: Lens' AccountQuota (Maybe Integer)
-aqMax = lens _aqMax (\ s a -> s{_aqMax = a});
-
--- | The amount currently used toward the quota maximum.
-aqUsed :: Lens' AccountQuota (Maybe Integer)
-aqUsed = lens _aqUsed (\ s a -> s{_aqUsed = a});
-
--- | The name of the Amazon RDS quota for this AWS account.
-aqAccountQuotaName :: Lens' AccountQuota (Maybe Text)
-aqAccountQuotaName = lens _aqAccountQuotaName (\ s a -> s{_aqAccountQuotaName = a});
-
-instance FromXML AccountQuota where
-        parseXML x
-          = AccountQuota' <$>
-              (x .@? "Max") <*> (x .@? "Used") <*>
-                (x .@? "AccountQuotaName")
-
-instance Hashable AccountQuota
-
-instance NFData AccountQuota
-
--- | Contains Availability Zone information.
---
--- This data type is used as an element in the following data type:
---
--- -   < OrderableDBInstanceOption>
---
---
--- /See:/ 'availabilityZone' smart constructor.
-newtype AvailabilityZone = AvailabilityZone'
-    { _azName :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'azName'
-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 Hashable AvailabilityZone
-
-instance NFData AvailabilityZone
-
--- | A CA certificate for an AWS account.
---
--- /See:/ 'certificate' smart constructor.
-data Certificate = Certificate'
-    { _cCertificateType       :: !(Maybe Text)
-    , _cCertificateARN        :: !(Maybe Text)
-    , _cValidTill             :: !(Maybe ISO8601)
-    , _cCertificateIdentifier :: !(Maybe Text)
-    , _cThumbprint            :: !(Maybe Text)
-    , _cValidFrom             :: !(Maybe ISO8601)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Certificate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cCertificateType'
---
--- * 'cCertificateARN'
---
--- * 'cValidTill'
---
--- * 'cCertificateIdentifier'
---
--- * 'cThumbprint'
---
--- * 'cValidFrom'
-certificate
-    :: Certificate
-certificate =
-    Certificate'
-    { _cCertificateType = Nothing
-    , _cCertificateARN = Nothing
-    , _cValidTill = Nothing
-    , _cCertificateIdentifier = Nothing
-    , _cThumbprint = Nothing
-    , _cValidFrom = Nothing
-    }
-
--- | The type of the certificate.
-cCertificateType :: Lens' Certificate (Maybe Text)
-cCertificateType = lens _cCertificateType (\ s a -> s{_cCertificateType = a});
-
--- | The Amazon Resource Name (ARN) for the certificate.
-cCertificateARN :: Lens' Certificate (Maybe Text)
-cCertificateARN = lens _cCertificateARN (\ s a -> s{_cCertificateARN = a});
-
--- | The final date that the certificate continues to be valid.
-cValidTill :: Lens' Certificate (Maybe UTCTime)
-cValidTill = lens _cValidTill (\ s a -> s{_cValidTill = a}) . mapping _Time;
-
--- | The unique key that identifies a certificate.
-cCertificateIdentifier :: Lens' Certificate (Maybe Text)
-cCertificateIdentifier = lens _cCertificateIdentifier (\ s a -> s{_cCertificateIdentifier = a});
-
--- | The thumbprint of the certificate.
-cThumbprint :: Lens' Certificate (Maybe Text)
-cThumbprint = lens _cThumbprint (\ s a -> s{_cThumbprint = a});
-
--- | The starting date from which the certificate is valid.
-cValidFrom :: Lens' Certificate (Maybe UTCTime)
-cValidFrom = lens _cValidFrom (\ s a -> s{_cValidFrom = a}) . mapping _Time;
-
-instance FromXML Certificate where
-        parseXML x
-          = Certificate' <$>
-              (x .@? "CertificateType") <*>
-                (x .@? "CertificateArn")
-                <*> (x .@? "ValidTill")
-                <*> (x .@? "CertificateIdentifier")
-                <*> (x .@? "Thumbprint")
-                <*> (x .@? "ValidFrom")
-
-instance Hashable Certificate
-
-instance NFData Certificate
-
--- | This data type is used as a response element in the action < DescribeDBEngineVersions>.
---
--- /See:/ 'characterSet' smart constructor.
-data CharacterSet = CharacterSet'
-    { _csCharacterSetName        :: !(Maybe Text)
-    , _csCharacterSetDescription :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'CharacterSet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'csCharacterSetName'
---
--- * 'csCharacterSetDescription'
-characterSet
-    :: CharacterSet
-characterSet =
-    CharacterSet'
-    { _csCharacterSetName = Nothing
-    , _csCharacterSetDescription = Nothing
-    }
-
--- | The name of the character set.
-csCharacterSetName :: Lens' CharacterSet (Maybe Text)
-csCharacterSetName = lens _csCharacterSetName (\ s a -> s{_csCharacterSetName = a});
-
--- | The description of the character set.
-csCharacterSetDescription :: Lens' CharacterSet (Maybe Text)
-csCharacterSetDescription = lens _csCharacterSetDescription (\ s a -> s{_csCharacterSetDescription = a});
-
-instance FromXML CharacterSet where
-        parseXML x
-          = CharacterSet' <$>
-              (x .@? "CharacterSetName") <*>
-                (x .@? "CharacterSetDescription")
-
-instance Hashable CharacterSet
-
-instance NFData CharacterSet
-
--- | Contains the result of a successful invocation of the following actions:
---
--- -   < CreateDBCluster>
---
--- -   < DeleteDBCluster>
---
--- -   < FailoverDBCluster>
---
--- -   < ModifyDBCluster>
---
--- -   < RestoreDBClusterFromSnapshot>
---
--- -   < RestoreDBClusterToPointInTime>
---
--- This data type is used as a response element in the < DescribeDBClusters> action.
---
--- /See:/ 'dbCluster' smart constructor.
-data DBCluster = DBCluster'
-    { _dcEngineVersion                   :: !(Maybe Text)
-    , _dcStatus                          :: !(Maybe Text)
-    , _dcStorageEncrypted                :: !(Maybe Bool)
-    , _dcDBClusterIdentifier             :: !(Maybe Text)
-    , _dcDBClusterMembers                :: !(Maybe [DBClusterMember])
-    , _dcReadReplicaIdentifiers          :: !(Maybe [Text])
-    , _dcReplicationSourceIdentifier     :: !(Maybe Text)
-    , _dcHostedZoneId                    :: !(Maybe Text)
-    , _dcDBClusterParameterGroup         :: !(Maybe Text)
-    , _dcMasterUsername                  :: !(Maybe Text)
-    , _dcDBClusterResourceId             :: !(Maybe Text)
-    , _dcEarliestRestorableTime          :: !(Maybe ISO8601)
-    , _dcEngine                          :: !(Maybe Text)
-    , _dcDBClusterARN                    :: !(Maybe Text)
-    , _dcLatestRestorableTime            :: !(Maybe ISO8601)
-    , _dcPreferredMaintenanceWindow      :: !(Maybe Text)
-    , _dcAvailabilityZones               :: !(Maybe [Text])
-    , _dcCharacterSetName                :: !(Maybe Text)
-    , _dcKMSKeyId                        :: !(Maybe Text)
-    , _dcPreferredBackupWindow           :: !(Maybe Text)
-    , _dcVPCSecurityGroups               :: !(Maybe [VPCSecurityGroupMembership])
-    , _dcBackupRetentionPeriod           :: !(Maybe Int)
-    , _dcDBSubnetGroup                   :: !(Maybe Text)
-    , _dcDatabaseName                    :: !(Maybe Text)
-    , _dcAllocatedStorage                :: !(Maybe Int)
-    , _dcEndpoint                        :: !(Maybe Text)
-    , _dcPercentProgress                 :: !(Maybe Text)
-    , _dcPort                            :: !(Maybe Int)
-    , _dcDBClusterOptionGroupMemberships :: !(Maybe [DBClusterOptionGroupStatus])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBCluster' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcEngineVersion'
---
--- * 'dcStatus'
---
--- * 'dcStorageEncrypted'
---
--- * 'dcDBClusterIdentifier'
---
--- * 'dcDBClusterMembers'
---
--- * 'dcReadReplicaIdentifiers'
---
--- * 'dcReplicationSourceIdentifier'
---
--- * 'dcHostedZoneId'
---
--- * 'dcDBClusterParameterGroup'
---
--- * 'dcMasterUsername'
---
--- * 'dcDBClusterResourceId'
---
--- * 'dcEarliestRestorableTime'
---
--- * 'dcEngine'
---
--- * 'dcDBClusterARN'
---
--- * 'dcLatestRestorableTime'
---
--- * 'dcPreferredMaintenanceWindow'
---
--- * 'dcAvailabilityZones'
---
--- * 'dcCharacterSetName'
---
--- * 'dcKMSKeyId'
---
--- * 'dcPreferredBackupWindow'
---
--- * 'dcVPCSecurityGroups'
---
--- * 'dcBackupRetentionPeriod'
---
--- * 'dcDBSubnetGroup'
---
--- * 'dcDatabaseName'
---
--- * 'dcAllocatedStorage'
---
--- * 'dcEndpoint'
---
--- * 'dcPercentProgress'
---
--- * 'dcPort'
---
--- * 'dcDBClusterOptionGroupMemberships'
-dbCluster
-    :: DBCluster
-dbCluster =
-    DBCluster'
-    { _dcEngineVersion = Nothing
-    , _dcStatus = Nothing
-    , _dcStorageEncrypted = Nothing
-    , _dcDBClusterIdentifier = Nothing
-    , _dcDBClusterMembers = Nothing
-    , _dcReadReplicaIdentifiers = Nothing
-    , _dcReplicationSourceIdentifier = Nothing
-    , _dcHostedZoneId = Nothing
-    , _dcDBClusterParameterGroup = Nothing
-    , _dcMasterUsername = Nothing
-    , _dcDBClusterResourceId = Nothing
-    , _dcEarliestRestorableTime = Nothing
-    , _dcEngine = Nothing
-    , _dcDBClusterARN = Nothing
-    , _dcLatestRestorableTime = Nothing
-    , _dcPreferredMaintenanceWindow = Nothing
-    , _dcAvailabilityZones = Nothing
-    , _dcCharacterSetName = Nothing
-    , _dcKMSKeyId = Nothing
-    , _dcPreferredBackupWindow = Nothing
-    , _dcVPCSecurityGroups = Nothing
-    , _dcBackupRetentionPeriod = Nothing
-    , _dcDBSubnetGroup = Nothing
-    , _dcDatabaseName = Nothing
-    , _dcAllocatedStorage = Nothing
-    , _dcEndpoint = Nothing
-    , _dcPercentProgress = Nothing
-    , _dcPort = Nothing
-    , _dcDBClusterOptionGroupMemberships = Nothing
-    }
-
--- | Indicates the database engine version.
-dcEngineVersion :: Lens' DBCluster (Maybe Text)
-dcEngineVersion = lens _dcEngineVersion (\ s a -> s{_dcEngineVersion = a});
-
--- | Specifies the current state of this DB cluster.
-dcStatus :: Lens' DBCluster (Maybe Text)
-dcStatus = lens _dcStatus (\ s a -> s{_dcStatus = a});
-
--- | Specifies whether the DB cluster is encrypted.
-dcStorageEncrypted :: Lens' DBCluster (Maybe Bool)
-dcStorageEncrypted = lens _dcStorageEncrypted (\ s a -> s{_dcStorageEncrypted = a});
-
--- | Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.
-dcDBClusterIdentifier :: Lens' DBCluster (Maybe Text)
-dcDBClusterIdentifier = lens _dcDBClusterIdentifier (\ s a -> s{_dcDBClusterIdentifier = a});
-
--- | Provides the list of instances that make up the DB cluster.
-dcDBClusterMembers :: Lens' DBCluster [DBClusterMember]
-dcDBClusterMembers = lens _dcDBClusterMembers (\ s a -> s{_dcDBClusterMembers = a}) . _Default . _Coerce;
-
--- | Contains one or more identifiers of the Read Replicas associated with this DB cluster.
-dcReadReplicaIdentifiers :: Lens' DBCluster [Text]
-dcReadReplicaIdentifiers = lens _dcReadReplicaIdentifiers (\ s a -> s{_dcReadReplicaIdentifiers = a}) . _Default . _Coerce;
-
--- | Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.
-dcReplicationSourceIdentifier :: Lens' DBCluster (Maybe Text)
-dcReplicationSourceIdentifier = lens _dcReplicationSourceIdentifier (\ s a -> s{_dcReplicationSourceIdentifier = a});
-
--- | Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
-dcHostedZoneId :: Lens' DBCluster (Maybe Text)
-dcHostedZoneId = lens _dcHostedZoneId (\ s a -> s{_dcHostedZoneId = a});
-
--- | Specifies the name of the DB cluster parameter group for the DB cluster.
-dcDBClusterParameterGroup :: Lens' DBCluster (Maybe Text)
-dcDBClusterParameterGroup = lens _dcDBClusterParameterGroup (\ s a -> s{_dcDBClusterParameterGroup = a});
-
--- | Contains the master username for the DB cluster.
-dcMasterUsername :: Lens' DBCluster (Maybe Text)
-dcMasterUsername = lens _dcMasterUsername (\ s a -> s{_dcMasterUsername = a});
-
--- | The region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB cluster is accessed.
-dcDBClusterResourceId :: Lens' DBCluster (Maybe Text)
-dcDBClusterResourceId = lens _dcDBClusterResourceId (\ s a -> s{_dcDBClusterResourceId = a});
-
--- | Specifies the earliest time to which a database can be restored with point-in-time restore.
-dcEarliestRestorableTime :: Lens' DBCluster (Maybe UTCTime)
-dcEarliestRestorableTime = lens _dcEarliestRestorableTime (\ s a -> s{_dcEarliestRestorableTime = a}) . mapping _Time;
-
--- | Provides the name of the database engine to be used for this DB cluster.
-dcEngine :: Lens' DBCluster (Maybe Text)
-dcEngine = lens _dcEngine (\ s a -> s{_dcEngine = a});
-
--- | The Amazon Resource Name (ARN) for the DB cluster.
-dcDBClusterARN :: Lens' DBCluster (Maybe Text)
-dcDBClusterARN = lens _dcDBClusterARN (\ s a -> s{_dcDBClusterARN = a});
-
--- | Specifies the latest time to which a database can be restored with point-in-time restore.
-dcLatestRestorableTime :: Lens' DBCluster (Maybe UTCTime)
-dcLatestRestorableTime = lens _dcLatestRestorableTime (\ s a -> s{_dcLatestRestorableTime = a}) . mapping _Time;
-
--- | Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
-dcPreferredMaintenanceWindow :: Lens' DBCluster (Maybe Text)
-dcPreferredMaintenanceWindow = lens _dcPreferredMaintenanceWindow (\ s a -> s{_dcPreferredMaintenanceWindow = a});
-
--- | Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.
-dcAvailabilityZones :: Lens' DBCluster [Text]
-dcAvailabilityZones = lens _dcAvailabilityZones (\ s a -> s{_dcAvailabilityZones = a}) . _Default . _Coerce;
-
--- | If present, specifies the name of the character set that this cluster is associated with.
-dcCharacterSetName :: Lens' DBCluster (Maybe Text)
-dcCharacterSetName = lens _dcCharacterSetName (\ s a -> s{_dcCharacterSetName = a});
-
--- | If 'StorageEncrypted' is true, the KMS key identifier for the encrypted DB cluster.
-dcKMSKeyId :: Lens' DBCluster (Maybe Text)
-dcKMSKeyId = lens _dcKMSKeyId (\ s a -> s{_dcKMSKeyId = a});
-
--- | Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the 'BackupRetentionPeriod'.
-dcPreferredBackupWindow :: Lens' DBCluster (Maybe Text)
-dcPreferredBackupWindow = lens _dcPreferredBackupWindow (\ s a -> s{_dcPreferredBackupWindow = a});
-
--- | Provides a list of VPC security groups that the DB cluster belongs to.
-dcVPCSecurityGroups :: Lens' DBCluster [VPCSecurityGroupMembership]
-dcVPCSecurityGroups = lens _dcVPCSecurityGroups (\ s a -> s{_dcVPCSecurityGroups = a}) . _Default . _Coerce;
-
--- | Specifies the number of days for which automatic DB snapshots are retained.
-dcBackupRetentionPeriod :: Lens' DBCluster (Maybe Int)
-dcBackupRetentionPeriod = lens _dcBackupRetentionPeriod (\ s a -> s{_dcBackupRetentionPeriod = a});
-
--- | Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.
-dcDBSubnetGroup :: Lens' DBCluster (Maybe Text)
-dcDBSubnetGroup = lens _dcDBSubnetGroup (\ s a -> s{_dcDBSubnetGroup = a});
-
--- | Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.
-dcDatabaseName :: Lens' DBCluster (Maybe Text)
-dcDatabaseName = lens _dcDatabaseName (\ s a -> s{_dcDatabaseName = a});
-
--- | Specifies the allocated storage size in gigabytes (GB).
-dcAllocatedStorage :: Lens' DBCluster (Maybe Int)
-dcAllocatedStorage = lens _dcAllocatedStorage (\ s a -> s{_dcAllocatedStorage = a});
-
--- | Specifies the connection endpoint for the primary instance of the DB cluster.
-dcEndpoint :: Lens' DBCluster (Maybe Text)
-dcEndpoint = lens _dcEndpoint (\ s a -> s{_dcEndpoint = a});
-
--- | Specifies the progress of the operation as a percentage.
-dcPercentProgress :: Lens' DBCluster (Maybe Text)
-dcPercentProgress = lens _dcPercentProgress (\ s a -> s{_dcPercentProgress = a});
-
--- | Specifies the port that the database engine is listening on.
-dcPort :: Lens' DBCluster (Maybe Int)
-dcPort = lens _dcPort (\ s a -> s{_dcPort = a});
-
--- | Provides the list of option group memberships for this DB cluster.
-dcDBClusterOptionGroupMemberships :: Lens' DBCluster [DBClusterOptionGroupStatus]
-dcDBClusterOptionGroupMemberships = lens _dcDBClusterOptionGroupMemberships (\ s a -> s{_dcDBClusterOptionGroupMemberships = a}) . _Default . _Coerce;
-
-instance FromXML DBCluster where
-        parseXML x
-          = DBCluster' <$>
-              (x .@? "EngineVersion") <*> (x .@? "Status") <*>
-                (x .@? "StorageEncrypted")
-                <*> (x .@? "DBClusterIdentifier")
-                <*>
-                (x .@? "DBClusterMembers" .!@ mempty >>=
-                   may (parseXMLList "DBClusterMember"))
-                <*>
-                (x .@? "ReadReplicaIdentifiers" .!@ mempty >>=
-                   may (parseXMLList "ReadReplicaIdentifier"))
-                <*> (x .@? "ReplicationSourceIdentifier")
-                <*> (x .@? "HostedZoneId")
-                <*> (x .@? "DBClusterParameterGroup")
-                <*> (x .@? "MasterUsername")
-                <*> (x .@? "DbClusterResourceId")
-                <*> (x .@? "EarliestRestorableTime")
-                <*> (x .@? "Engine")
-                <*> (x .@? "DBClusterArn")
-                <*> (x .@? "LatestRestorableTime")
-                <*> (x .@? "PreferredMaintenanceWindow")
-                <*>
-                (x .@? "AvailabilityZones" .!@ mempty >>=
-                   may (parseXMLList "AvailabilityZone"))
-                <*> (x .@? "CharacterSetName")
-                <*> (x .@? "KmsKeyId")
-                <*> (x .@? "PreferredBackupWindow")
-                <*>
-                (x .@? "VpcSecurityGroups" .!@ mempty >>=
-                   may (parseXMLList "VpcSecurityGroupMembership"))
-                <*> (x .@? "BackupRetentionPeriod")
-                <*> (x .@? "DBSubnetGroup")
-                <*> (x .@? "DatabaseName")
-                <*> (x .@? "AllocatedStorage")
-                <*> (x .@? "Endpoint")
-                <*> (x .@? "PercentProgress")
-                <*> (x .@? "Port")
-                <*>
-                (x .@? "DBClusterOptionGroupMemberships" .!@ mempty
-                   >>= may (parseXMLList "DBClusterOptionGroup"))
-
-instance Hashable DBCluster
-
-instance NFData DBCluster
-
--- | Contains information about an instance that is part of a DB cluster.
---
--- /See:/ 'dbClusterMember' smart constructor.
-data DBClusterMember = DBClusterMember'
-    { _dcmPromotionTier                 :: !(Maybe Int)
-    , _dcmDBInstanceIdentifier          :: !(Maybe Text)
-    , _dcmIsClusterWriter               :: !(Maybe Bool)
-    , _dcmDBClusterParameterGroupStatus :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBClusterMember' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcmPromotionTier'
---
--- * 'dcmDBInstanceIdentifier'
---
--- * 'dcmIsClusterWriter'
---
--- * 'dcmDBClusterParameterGroupStatus'
-dbClusterMember
-    :: DBClusterMember
-dbClusterMember =
-    DBClusterMember'
-    { _dcmPromotionTier = Nothing
-    , _dcmDBInstanceIdentifier = Nothing
-    , _dcmIsClusterWriter = Nothing
-    , _dcmDBClusterParameterGroupStatus = Nothing
-    }
-
--- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster>.
-dcmPromotionTier :: Lens' DBClusterMember (Maybe Int)
-dcmPromotionTier = lens _dcmPromotionTier (\ s a -> s{_dcmPromotionTier = a});
-
--- | Specifies the instance identifier for this member of the DB cluster.
-dcmDBInstanceIdentifier :: Lens' DBClusterMember (Maybe Text)
-dcmDBInstanceIdentifier = lens _dcmDBInstanceIdentifier (\ s a -> s{_dcmDBInstanceIdentifier = a});
-
--- | Value that is 'true' if the cluster member is the primary instance for the DB cluster and 'false' otherwise.
-dcmIsClusterWriter :: Lens' DBClusterMember (Maybe Bool)
-dcmIsClusterWriter = lens _dcmIsClusterWriter (\ s a -> s{_dcmIsClusterWriter = a});
-
--- | Specifies the status of the DB cluster parameter group for this member of the DB cluster.
-dcmDBClusterParameterGroupStatus :: Lens' DBClusterMember (Maybe Text)
-dcmDBClusterParameterGroupStatus = lens _dcmDBClusterParameterGroupStatus (\ s a -> s{_dcmDBClusterParameterGroupStatus = a});
-
-instance FromXML DBClusterMember where
-        parseXML x
-          = DBClusterMember' <$>
-              (x .@? "PromotionTier") <*>
-                (x .@? "DBInstanceIdentifier")
-                <*> (x .@? "IsClusterWriter")
-                <*> (x .@? "DBClusterParameterGroupStatus")
-
-instance Hashable DBClusterMember
-
-instance NFData DBClusterMember
-
--- | Contains status information for a DB cluster option group.
---
--- /See:/ 'dbClusterOptionGroupStatus' smart constructor.
-data DBClusterOptionGroupStatus = DBClusterOptionGroupStatus'
-    { _dcogsStatus                   :: !(Maybe Text)
-    , _dcogsDBClusterOptionGroupName :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBClusterOptionGroupStatus' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcogsStatus'
---
--- * 'dcogsDBClusterOptionGroupName'
-dbClusterOptionGroupStatus
-    :: DBClusterOptionGroupStatus
-dbClusterOptionGroupStatus =
-    DBClusterOptionGroupStatus'
-    { _dcogsStatus = Nothing
-    , _dcogsDBClusterOptionGroupName = Nothing
-    }
-
--- | Specifies the status of the DB cluster option group.
-dcogsStatus :: Lens' DBClusterOptionGroupStatus (Maybe Text)
-dcogsStatus = lens _dcogsStatus (\ s a -> s{_dcogsStatus = a});
-
--- | Specifies the name of the DB cluster option group.
-dcogsDBClusterOptionGroupName :: Lens' DBClusterOptionGroupStatus (Maybe Text)
-dcogsDBClusterOptionGroupName = lens _dcogsDBClusterOptionGroupName (\ s a -> s{_dcogsDBClusterOptionGroupName = a});
-
-instance FromXML DBClusterOptionGroupStatus where
-        parseXML x
-          = DBClusterOptionGroupStatus' <$>
-              (x .@? "Status") <*>
-                (x .@? "DBClusterOptionGroupName")
-
-instance Hashable DBClusterOptionGroupStatus
-
-instance NFData DBClusterOptionGroupStatus
-
--- | Contains the result of a successful invocation of the < CreateDBClusterParameterGroup> or < CopyDBClusterParameterGroup> action.
---
--- This data type is used as a request parameter in the < DeleteDBClusterParameterGroup> action, and as a response element in the < DescribeDBClusterParameterGroups> action.
---
--- /See:/ 'dbClusterParameterGroup' smart constructor.
-data DBClusterParameterGroup = DBClusterParameterGroup'
-    { _dcpgDBClusterParameterGroupARN  :: !(Maybe Text)
-    , _dcpgDBParameterGroupFamily      :: !(Maybe Text)
-    , _dcpgDBClusterParameterGroupName :: !(Maybe Text)
-    , _dcpgDescription                 :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBClusterParameterGroup' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcpgDBClusterParameterGroupARN'
---
--- * 'dcpgDBParameterGroupFamily'
---
--- * 'dcpgDBClusterParameterGroupName'
---
--- * 'dcpgDescription'
-dbClusterParameterGroup
-    :: DBClusterParameterGroup
-dbClusterParameterGroup =
-    DBClusterParameterGroup'
-    { _dcpgDBClusterParameterGroupARN = Nothing
-    , _dcpgDBParameterGroupFamily = Nothing
-    , _dcpgDBClusterParameterGroupName = Nothing
-    , _dcpgDescription = Nothing
-    }
-
--- | The Amazon Resource Name (ARN) for the DB cluster parameter group.
-dcpgDBClusterParameterGroupARN :: Lens' DBClusterParameterGroup (Maybe Text)
-dcpgDBClusterParameterGroupARN = lens _dcpgDBClusterParameterGroupARN (\ s a -> s{_dcpgDBClusterParameterGroupARN = a});
-
--- | Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.
-dcpgDBParameterGroupFamily :: Lens' DBClusterParameterGroup (Maybe Text)
-dcpgDBParameterGroupFamily = lens _dcpgDBParameterGroupFamily (\ s a -> s{_dcpgDBParameterGroupFamily = a});
-
--- | Provides the name of the DB cluster parameter group.
-dcpgDBClusterParameterGroupName :: Lens' DBClusterParameterGroup (Maybe Text)
-dcpgDBClusterParameterGroupName = lens _dcpgDBClusterParameterGroupName (\ s a -> s{_dcpgDBClusterParameterGroupName = a});
-
--- | Provides the customer-specified description for this DB cluster parameter group.
-dcpgDescription :: Lens' DBClusterParameterGroup (Maybe Text)
-dcpgDescription = lens _dcpgDescription (\ s a -> s{_dcpgDescription = a});
-
-instance FromXML DBClusterParameterGroup where
-        parseXML x
-          = DBClusterParameterGroup' <$>
-              (x .@? "DBClusterParameterGroupArn") <*>
-                (x .@? "DBParameterGroupFamily")
-                <*> (x .@? "DBClusterParameterGroupName")
-                <*> (x .@? "Description")
-
-instance Hashable DBClusterParameterGroup
-
-instance NFData DBClusterParameterGroup
-
--- |
---
--- /See:/ 'dbClusterParameterGroupNameMessage' smart constructor.
-newtype DBClusterParameterGroupNameMessage = DBClusterParameterGroupNameMessage'
-    { _dcpgnmDBClusterParameterGroupName :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBClusterParameterGroupNameMessage' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcpgnmDBClusterParameterGroupName'
-dbClusterParameterGroupNameMessage
-    :: DBClusterParameterGroupNameMessage
-dbClusterParameterGroupNameMessage =
-    DBClusterParameterGroupNameMessage'
-    { _dcpgnmDBClusterParameterGroupName = Nothing
-    }
-
--- | The name of the DB cluster 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
---
--- This value is stored as a lowercase string.
-dcpgnmDBClusterParameterGroupName :: Lens' DBClusterParameterGroupNameMessage (Maybe Text)
-dcpgnmDBClusterParameterGroupName = lens _dcpgnmDBClusterParameterGroupName (\ s a -> s{_dcpgnmDBClusterParameterGroupName = a});
-
-instance FromXML DBClusterParameterGroupNameMessage
-         where
-        parseXML x
-          = DBClusterParameterGroupNameMessage' <$>
-              (x .@? "DBClusterParameterGroupName")
-
-instance Hashable DBClusterParameterGroupNameMessage
-
-instance NFData DBClusterParameterGroupNameMessage
-
--- | Contains the result of a successful invocation of the following actions:
---
--- -   < CreateDBClusterSnapshot>
---
--- -   < DeleteDBClusterSnapshot>
---
--- This data type is used as a response element in the < DescribeDBClusterSnapshots> action.
---
--- /See:/ 'dbClusterSnapshot' smart constructor.
-data DBClusterSnapshot = DBClusterSnapshot'
-    { _dcsEngineVersion               :: !(Maybe Text)
-    , _dcsStatus                      :: !(Maybe Text)
-    , _dcsStorageEncrypted            :: !(Maybe Bool)
-    , _dcsDBClusterIdentifier         :: !(Maybe Text)
-    , _dcsMasterUsername              :: !(Maybe Text)
-    , _dcsDBClusterSnapshotARN        :: !(Maybe Text)
-    , _dcsVPCId                       :: !(Maybe Text)
-    , _dcsDBClusterSnapshotIdentifier :: !(Maybe Text)
-    , _dcsEngine                      :: !(Maybe Text)
-    , _dcsLicenseModel                :: !(Maybe Text)
-    , _dcsAvailabilityZones           :: !(Maybe [Text])
-    , _dcsSnapshotType                :: !(Maybe Text)
-    , _dcsKMSKeyId                    :: !(Maybe Text)
-    , _dcsSnapshotCreateTime          :: !(Maybe ISO8601)
-    , _dcsAllocatedStorage            :: !(Maybe Int)
-    , _dcsClusterCreateTime           :: !(Maybe ISO8601)
-    , _dcsPercentProgress             :: !(Maybe Int)
-    , _dcsPort                        :: !(Maybe Int)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBClusterSnapshot' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcsEngineVersion'
---
--- * 'dcsStatus'
---
--- * 'dcsStorageEncrypted'
---
--- * 'dcsDBClusterIdentifier'
---
--- * 'dcsMasterUsername'
---
--- * 'dcsDBClusterSnapshotARN'
---
--- * 'dcsVPCId'
---
--- * 'dcsDBClusterSnapshotIdentifier'
---
--- * 'dcsEngine'
---
--- * 'dcsLicenseModel'
---
--- * 'dcsAvailabilityZones'
---
--- * 'dcsSnapshotType'
---
--- * 'dcsKMSKeyId'
---
--- * 'dcsSnapshotCreateTime'
---
--- * 'dcsAllocatedStorage'
---
--- * 'dcsClusterCreateTime'
---
--- * 'dcsPercentProgress'
---
--- * 'dcsPort'
-dbClusterSnapshot
-    :: DBClusterSnapshot
-dbClusterSnapshot =
-    DBClusterSnapshot'
-    { _dcsEngineVersion = Nothing
-    , _dcsStatus = Nothing
-    , _dcsStorageEncrypted = Nothing
-    , _dcsDBClusterIdentifier = Nothing
-    , _dcsMasterUsername = Nothing
-    , _dcsDBClusterSnapshotARN = Nothing
-    , _dcsVPCId = Nothing
-    , _dcsDBClusterSnapshotIdentifier = Nothing
-    , _dcsEngine = Nothing
-    , _dcsLicenseModel = Nothing
-    , _dcsAvailabilityZones = Nothing
-    , _dcsSnapshotType = Nothing
-    , _dcsKMSKeyId = Nothing
-    , _dcsSnapshotCreateTime = Nothing
-    , _dcsAllocatedStorage = Nothing
-    , _dcsClusterCreateTime = Nothing
-    , _dcsPercentProgress = Nothing
-    , _dcsPort = Nothing
-    }
-
--- | Provides the version of the database engine for this DB cluster snapshot.
-dcsEngineVersion :: Lens' DBClusterSnapshot (Maybe Text)
-dcsEngineVersion = lens _dcsEngineVersion (\ s a -> s{_dcsEngineVersion = a});
-
--- | Specifies the status of this DB cluster snapshot.
-dcsStatus :: Lens' DBClusterSnapshot (Maybe Text)
-dcsStatus = lens _dcsStatus (\ s a -> s{_dcsStatus = a});
-
--- | Specifies whether the DB cluster snapshot is encrypted.
-dcsStorageEncrypted :: Lens' DBClusterSnapshot (Maybe Bool)
-dcsStorageEncrypted = lens _dcsStorageEncrypted (\ s a -> s{_dcsStorageEncrypted = a});
-
--- | Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.
-dcsDBClusterIdentifier :: Lens' DBClusterSnapshot (Maybe Text)
-dcsDBClusterIdentifier = lens _dcsDBClusterIdentifier (\ s a -> s{_dcsDBClusterIdentifier = a});
-
--- | Provides the master username for the DB cluster snapshot.
-dcsMasterUsername :: Lens' DBClusterSnapshot (Maybe Text)
-dcsMasterUsername = lens _dcsMasterUsername (\ s a -> s{_dcsMasterUsername = a});
-
--- | The Amazon Resource Name (ARN) for the DB cluster snapshot.
-dcsDBClusterSnapshotARN :: Lens' DBClusterSnapshot (Maybe Text)
-dcsDBClusterSnapshotARN = lens _dcsDBClusterSnapshotARN (\ s a -> s{_dcsDBClusterSnapshotARN = a});
-
--- | Provides the VPC ID associated with the DB cluster snapshot.
-dcsVPCId :: Lens' DBClusterSnapshot (Maybe Text)
-dcsVPCId = lens _dcsVPCId (\ s a -> s{_dcsVPCId = a});
-
--- | Specifies the identifier for the DB cluster snapshot.
-dcsDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshot (Maybe Text)
-dcsDBClusterSnapshotIdentifier = lens _dcsDBClusterSnapshotIdentifier (\ s a -> s{_dcsDBClusterSnapshotIdentifier = a});
-
--- | Specifies the name of the database engine.
-dcsEngine :: Lens' DBClusterSnapshot (Maybe Text)
-dcsEngine = lens _dcsEngine (\ s a -> s{_dcsEngine = a});
-
--- | Provides the license model information for this DB cluster snapshot.
-dcsLicenseModel :: Lens' DBClusterSnapshot (Maybe Text)
-dcsLicenseModel = lens _dcsLicenseModel (\ s a -> s{_dcsLicenseModel = a});
-
--- | Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
-dcsAvailabilityZones :: Lens' DBClusterSnapshot [Text]
-dcsAvailabilityZones = lens _dcsAvailabilityZones (\ s a -> s{_dcsAvailabilityZones = a}) . _Default . _Coerce;
-
--- | Provides the type of the DB cluster snapshot.
-dcsSnapshotType :: Lens' DBClusterSnapshot (Maybe Text)
-dcsSnapshotType = lens _dcsSnapshotType (\ s a -> s{_dcsSnapshotType = a});
-
--- | If 'StorageEncrypted' is true, the KMS key identifier for the encrypted DB cluster snapshot.
-dcsKMSKeyId :: Lens' DBClusterSnapshot (Maybe Text)
-dcsKMSKeyId = lens _dcsKMSKeyId (\ s a -> s{_dcsKMSKeyId = a});
-
--- | Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
-dcsSnapshotCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)
-dcsSnapshotCreateTime = lens _dcsSnapshotCreateTime (\ s a -> s{_dcsSnapshotCreateTime = a}) . mapping _Time;
-
--- | Specifies the allocated storage size in gigabytes (GB).
-dcsAllocatedStorage :: Lens' DBClusterSnapshot (Maybe Int)
-dcsAllocatedStorage = lens _dcsAllocatedStorage (\ s a -> s{_dcsAllocatedStorage = a});
-
--- | Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).
-dcsClusterCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)
-dcsClusterCreateTime = lens _dcsClusterCreateTime (\ s a -> s{_dcsClusterCreateTime = a}) . mapping _Time;
-
--- | Specifies the percentage of the estimated data that has been transferred.
-dcsPercentProgress :: Lens' DBClusterSnapshot (Maybe Int)
-dcsPercentProgress = lens _dcsPercentProgress (\ s a -> s{_dcsPercentProgress = a});
-
--- | Specifies the port that the DB cluster was listening on at the time of the snapshot.
-dcsPort :: Lens' DBClusterSnapshot (Maybe Int)
-dcsPort = lens _dcsPort (\ s a -> s{_dcsPort = a});
-
-instance FromXML DBClusterSnapshot where
-        parseXML x
-          = DBClusterSnapshot' <$>
-              (x .@? "EngineVersion") <*> (x .@? "Status") <*>
-                (x .@? "StorageEncrypted")
-                <*> (x .@? "DBClusterIdentifier")
-                <*> (x .@? "MasterUsername")
-                <*> (x .@? "DBClusterSnapshotArn")
-                <*> (x .@? "VpcId")
-                <*> (x .@? "DBClusterSnapshotIdentifier")
-                <*> (x .@? "Engine")
-                <*> (x .@? "LicenseModel")
-                <*>
-                (x .@? "AvailabilityZones" .!@ mempty >>=
-                   may (parseXMLList "AvailabilityZone"))
-                <*> (x .@? "SnapshotType")
-                <*> (x .@? "KmsKeyId")
-                <*> (x .@? "SnapshotCreateTime")
-                <*> (x .@? "AllocatedStorage")
-                <*> (x .@? "ClusterCreateTime")
-                <*> (x .@? "PercentProgress")
-                <*> (x .@? "Port")
-
-instance Hashable DBClusterSnapshot
-
-instance NFData DBClusterSnapshot
-
--- | Contains the name and values of a manual DB cluster snapshot attribute.
---
--- Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the < ModifyDBClusterSnapshotAttribute> API action.
---
--- /See:/ 'dbClusterSnapshotAttribute' smart constructor.
-data DBClusterSnapshotAttribute = DBClusterSnapshotAttribute'
-    { _dcsaAttributeValues :: !(Maybe [Text])
-    , _dcsaAttributeName   :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBClusterSnapshotAttribute' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcsaAttributeValues'
---
--- * 'dcsaAttributeName'
-dbClusterSnapshotAttribute
-    :: DBClusterSnapshotAttribute
-dbClusterSnapshotAttribute =
-    DBClusterSnapshotAttribute'
-    { _dcsaAttributeValues = Nothing
-    , _dcsaAttributeName = Nothing
-    }
-
--- | The value(s) for the manual DB cluster snapshot attribute.
---
--- If the 'AttributeName' field is set to 'restore', then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of 'all' is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.
-dcsaAttributeValues :: Lens' DBClusterSnapshotAttribute [Text]
-dcsaAttributeValues = lens _dcsaAttributeValues (\ s a -> s{_dcsaAttributeValues = a}) . _Default . _Coerce;
-
--- | The name of the manual DB cluster snapshot attribute.
---
--- The attribute named 'restore' refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the < ModifyDBClusterSnapshotAttribute> API action.
-dcsaAttributeName :: Lens' DBClusterSnapshotAttribute (Maybe Text)
-dcsaAttributeName = lens _dcsaAttributeName (\ s a -> s{_dcsaAttributeName = a});
-
-instance FromXML DBClusterSnapshotAttribute where
-        parseXML x
-          = DBClusterSnapshotAttribute' <$>
-              (x .@? "AttributeValues" .!@ mempty >>=
-                 may (parseXMLList "AttributeValue"))
-                <*> (x .@? "AttributeName")
-
-instance Hashable DBClusterSnapshotAttribute
-
-instance NFData DBClusterSnapshotAttribute
-
--- | Contains the results of a successful call to the < DescribeDBClusterSnapshotAttributes> API action.
---
--- Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the < ModifyDBClusterSnapshotAttribute> API action.
---
--- /See:/ 'dbClusterSnapshotAttributesResult' smart constructor.
-data DBClusterSnapshotAttributesResult = DBClusterSnapshotAttributesResult'
-    { _dcsarDBClusterSnapshotIdentifier :: !(Maybe Text)
-    , _dcsarDBClusterSnapshotAttributes :: !(Maybe [DBClusterSnapshotAttribute])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBClusterSnapshotAttributesResult' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dcsarDBClusterSnapshotIdentifier'
---
--- * 'dcsarDBClusterSnapshotAttributes'
-dbClusterSnapshotAttributesResult
-    :: DBClusterSnapshotAttributesResult
-dbClusterSnapshotAttributesResult =
-    DBClusterSnapshotAttributesResult'
-    { _dcsarDBClusterSnapshotIdentifier = Nothing
-    , _dcsarDBClusterSnapshotAttributes = Nothing
-    }
-
--- | The identifier of the manual DB cluster snapshot that the attributes apply to.
-dcsarDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshotAttributesResult (Maybe Text)
-dcsarDBClusterSnapshotIdentifier = lens _dcsarDBClusterSnapshotIdentifier (\ s a -> s{_dcsarDBClusterSnapshotIdentifier = a});
-
--- | The list of attributes and values for the manual DB cluster snapshot.
-dcsarDBClusterSnapshotAttributes :: Lens' DBClusterSnapshotAttributesResult [DBClusterSnapshotAttribute]
-dcsarDBClusterSnapshotAttributes = lens _dcsarDBClusterSnapshotAttributes (\ s a -> s{_dcsarDBClusterSnapshotAttributes = a}) . _Default . _Coerce;
-
-instance FromXML DBClusterSnapshotAttributesResult
-         where
-        parseXML x
-          = DBClusterSnapshotAttributesResult' <$>
-              (x .@? "DBClusterSnapshotIdentifier") <*>
-                (x .@? "DBClusterSnapshotAttributes" .!@ mempty >>=
-                   may (parseXMLList "DBClusterSnapshotAttribute"))
-
-instance Hashable DBClusterSnapshotAttributesResult
-
-instance NFData DBClusterSnapshotAttributesResult
-
--- | This data type is used as a response element in the action < DescribeDBEngineVersions>.
---
--- /See:/ 'dbEngineVersion' smart constructor.
-data DBEngineVersion = DBEngineVersion'
-    { _devEngineVersion              :: !(Maybe Text)
-    , _devDBEngineVersionDescription :: !(Maybe Text)
-    , _devDefaultCharacterSet        :: !(Maybe CharacterSet)
-    , _devEngine                     :: !(Maybe Text)
-    , _devDBParameterGroupFamily     :: !(Maybe Text)
-    , _devSupportedCharacterSets     :: !(Maybe [CharacterSet])
-    , _devDBEngineDescription        :: !(Maybe Text)
-    , _devValidUpgradeTarget         :: !(Maybe [UpgradeTarget])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBEngineVersion' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'devEngineVersion'
---
--- * 'devDBEngineVersionDescription'
---
--- * 'devDefaultCharacterSet'
---
--- * 'devEngine'
---
--- * 'devDBParameterGroupFamily'
---
--- * 'devSupportedCharacterSets'
---
--- * 'devDBEngineDescription'
---
--- * 'devValidUpgradeTarget'
-dbEngineVersion
-    :: DBEngineVersion
-dbEngineVersion =
-    DBEngineVersion'
-    { _devEngineVersion = Nothing
-    , _devDBEngineVersionDescription = Nothing
-    , _devDefaultCharacterSet = Nothing
-    , _devEngine = Nothing
-    , _devDBParameterGroupFamily = Nothing
-    , _devSupportedCharacterSets = Nothing
-    , _devDBEngineDescription = Nothing
-    , _devValidUpgradeTarget = Nothing
-    }
-
--- | The version number of the database engine.
-devEngineVersion :: Lens' DBEngineVersion (Maybe Text)
-devEngineVersion = lens _devEngineVersion (\ s a -> s{_devEngineVersion = a});
-
--- | The description of the database engine version.
-devDBEngineVersionDescription :: Lens' DBEngineVersion (Maybe Text)
-devDBEngineVersionDescription = lens _devDBEngineVersionDescription (\ s a -> s{_devDBEngineVersionDescription = a});
-
--- | The default character set for new instances of this engine version, if the 'CharacterSetName' parameter of the CreateDBInstance API is not specified.
-devDefaultCharacterSet :: Lens' DBEngineVersion (Maybe CharacterSet)
-devDefaultCharacterSet = lens _devDefaultCharacterSet (\ s a -> s{_devDefaultCharacterSet = a});
-
--- | The name of the database engine.
-devEngine :: Lens' DBEngineVersion (Maybe Text)
-devEngine = lens _devEngine (\ s a -> s{_devEngine = a});
-
--- | The name of the DB parameter group family for the database engine.
-devDBParameterGroupFamily :: Lens' DBEngineVersion (Maybe Text)
-devDBParameterGroupFamily = lens _devDBParameterGroupFamily (\ s a -> s{_devDBParameterGroupFamily = a});
-
--- | A list of the character sets supported by this engine for the 'CharacterSetName' parameter of the CreateDBInstance API.
-devSupportedCharacterSets :: Lens' DBEngineVersion [CharacterSet]
-devSupportedCharacterSets = lens _devSupportedCharacterSets (\ s a -> s{_devSupportedCharacterSets = a}) . _Default . _Coerce;
-
--- | The description of the database engine.
-devDBEngineDescription :: Lens' DBEngineVersion (Maybe Text)
-devDBEngineDescription = lens _devDBEngineDescription (\ s a -> s{_devDBEngineDescription = a});
-
--- | A list of engine versions that this database engine version can be upgraded to.
-devValidUpgradeTarget :: Lens' DBEngineVersion [UpgradeTarget]
-devValidUpgradeTarget = lens _devValidUpgradeTarget (\ s a -> s{_devValidUpgradeTarget = a}) . _Default . _Coerce;
-
-instance FromXML DBEngineVersion where
-        parseXML x
-          = DBEngineVersion' <$>
-              (x .@? "EngineVersion") <*>
-                (x .@? "DBEngineVersionDescription")
-                <*> (x .@? "DefaultCharacterSet")
-                <*> (x .@? "Engine")
-                <*> (x .@? "DBParameterGroupFamily")
-                <*>
-                (x .@? "SupportedCharacterSets" .!@ mempty >>=
-                   may (parseXMLList "CharacterSet"))
-                <*> (x .@? "DBEngineDescription")
-                <*>
-                (x .@? "ValidUpgradeTarget" .!@ mempty >>=
-                   may (parseXMLList "UpgradeTarget"))
-
-instance Hashable DBEngineVersion
-
-instance NFData DBEngineVersion
-
--- | Contains the result of a successful invocation of the following actions:
---
--- -   < CreateDBInstance>
---
--- -   < DeleteDBInstance>
---
--- -   < ModifyDBInstance>
---
--- This data type is used as a response element in the < DescribeDBInstances> action.
---
--- /See:/ 'dbInstance' smart constructor.
-data DBInstance = DBInstance'
-    { _diEngineVersion                         :: !(Maybe Text)
-    , _diDBSecurityGroups                      :: !(Maybe [DBSecurityGroupMembership])
-    , _diStorageEncrypted                      :: !(Maybe Bool)
-    , _diDBClusterIdentifier                   :: !(Maybe Text)
-    , _diPubliclyAccessible                    :: !(Maybe Bool)
-    , _diAutoMinorVersionUpgrade               :: !(Maybe Bool)
-    , _diDBInstanceARN                         :: !(Maybe Text)
-    , _diMasterUsername                        :: !(Maybe Text)
-    , _diReadReplicaDBInstanceIdentifiers      :: !(Maybe [Text])
-    , _diMonitoringRoleARN                     :: !(Maybe Text)
-    , _diIOPS                                  :: !(Maybe Int)
-    , _diInstanceCreateTime                    :: !(Maybe ISO8601)
-    , _diReadReplicaSourceDBInstanceIdentifier :: !(Maybe Text)
-    , _diMonitoringInterval                    :: !(Maybe Int)
-    , _diEngine                                :: !(Maybe Text)
-    , _diLatestRestorableTime                  :: !(Maybe ISO8601)
-    , _diDBInstanceClass                       :: !(Maybe Text)
-    , _diPromotionTier                         :: !(Maybe Int)
-    , _diLicenseModel                          :: !(Maybe Text)
-    , _diPreferredMaintenanceWindow            :: !(Maybe Text)
-    , _diCACertificateIdentifier               :: !(Maybe Text)
-    , _diDBInstanceIdentifier                  :: !(Maybe Text)
-    , _diCharacterSetName                      :: !(Maybe Text)
-    , _diKMSKeyId                              :: !(Maybe Text)
-    , _diPreferredBackupWindow                 :: !(Maybe Text)
-    , _diAvailabilityZone                      :: !(Maybe Text)
-    , _diVPCSecurityGroups                     :: !(Maybe [VPCSecurityGroupMembership])
-    , _diBackupRetentionPeriod                 :: !(Maybe Int)
-    , _diDBSubnetGroup                         :: !(Maybe DBSubnetGroup)
-    , _diMultiAZ                               :: !(Maybe Bool)
-    , _diOptionGroupMemberships                :: !(Maybe [OptionGroupMembership])
-    , _diEnhancedMonitoringResourceARN         :: !(Maybe Text)
-    , _diSecondaryAvailabilityZone             :: !(Maybe Text)
-    , _diAllocatedStorage                      :: !(Maybe Int)
-    , _diDBiResourceId                         :: !(Maybe Text)
-    , _diDBParameterGroups                     :: !(Maybe [DBParameterGroupStatus])
-    , _diCopyTagsToSnapshot                    :: !(Maybe Bool)
-    , _diTDECredentialARN                      :: !(Maybe Text)
-    , _diEndpoint                              :: !(Maybe Endpoint)
-    , _diDBInstanceStatus                      :: !(Maybe Text)
-    , _diDBInstancePort                        :: !(Maybe Int)
-    , _diPendingModifiedValues                 :: !(Maybe PendingModifiedValues)
-    , _diStorageType                           :: !(Maybe Text)
-    , _diStatusInfos                           :: !(Maybe [DBInstanceStatusInfo])
-    , _diDomainMemberships                     :: !(Maybe [DomainMembership])
-    , _diDBName                                :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBInstance' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'diEngineVersion'
---
--- * 'diDBSecurityGroups'
---
--- * 'diStorageEncrypted'
---
--- * 'diDBClusterIdentifier'
---
--- * 'diPubliclyAccessible'
---
--- * 'diAutoMinorVersionUpgrade'
---
--- * 'diDBInstanceARN'
---
--- * 'diMasterUsername'
---
--- * 'diReadReplicaDBInstanceIdentifiers'
---
--- * 'diMonitoringRoleARN'
---
--- * 'diIOPS'
---
--- * 'diInstanceCreateTime'
---
--- * 'diReadReplicaSourceDBInstanceIdentifier'
---
--- * 'diMonitoringInterval'
---
--- * 'diEngine'
---
--- * 'diLatestRestorableTime'
---
--- * 'diDBInstanceClass'
---
--- * 'diPromotionTier'
---
--- * 'diLicenseModel'
---
--- * 'diPreferredMaintenanceWindow'
---
--- * 'diCACertificateIdentifier'
---
--- * 'diDBInstanceIdentifier'
---
--- * 'diCharacterSetName'
---
--- * 'diKMSKeyId'
---
--- * 'diPreferredBackupWindow'
---
--- * 'diAvailabilityZone'
---
--- * 'diVPCSecurityGroups'
---
--- * 'diBackupRetentionPeriod'
---
--- * 'diDBSubnetGroup'
---
--- * 'diMultiAZ'
---
--- * 'diOptionGroupMemberships'
---
--- * 'diEnhancedMonitoringResourceARN'
---
--- * 'diSecondaryAvailabilityZone'
---
--- * 'diAllocatedStorage'
---
--- * 'diDBiResourceId'
---
--- * 'diDBParameterGroups'
---
--- * 'diCopyTagsToSnapshot'
---
--- * 'diTDECredentialARN'
---
--- * 'diEndpoint'
---
--- * 'diDBInstanceStatus'
---
--- * 'diDBInstancePort'
---
--- * 'diPendingModifiedValues'
---
--- * 'diStorageType'
---
--- * 'diStatusInfos'
---
--- * 'diDomainMemberships'
---
--- * 'diDBName'
-dbInstance
-    :: DBInstance
-dbInstance =
-    DBInstance'
-    { _diEngineVersion = Nothing
-    , _diDBSecurityGroups = Nothing
-    , _diStorageEncrypted = Nothing
-    , _diDBClusterIdentifier = Nothing
-    , _diPubliclyAccessible = Nothing
-    , _diAutoMinorVersionUpgrade = Nothing
-    , _diDBInstanceARN = Nothing
-    , _diMasterUsername = Nothing
-    , _diReadReplicaDBInstanceIdentifiers = Nothing
-    , _diMonitoringRoleARN = Nothing
-    , _diIOPS = Nothing
-    , _diInstanceCreateTime = Nothing
-    , _diReadReplicaSourceDBInstanceIdentifier = Nothing
-    , _diMonitoringInterval = Nothing
-    , _diEngine = Nothing
-    , _diLatestRestorableTime = Nothing
-    , _diDBInstanceClass = Nothing
-    , _diPromotionTier = Nothing
-    , _diLicenseModel = Nothing
-    , _diPreferredMaintenanceWindow = Nothing
-    , _diCACertificateIdentifier = Nothing
-    , _diDBInstanceIdentifier = Nothing
-    , _diCharacterSetName = Nothing
-    , _diKMSKeyId = Nothing
-    , _diPreferredBackupWindow = Nothing
-    , _diAvailabilityZone = Nothing
-    , _diVPCSecurityGroups = Nothing
-    , _diBackupRetentionPeriod = Nothing
-    , _diDBSubnetGroup = Nothing
-    , _diMultiAZ = Nothing
-    , _diOptionGroupMemberships = Nothing
-    , _diEnhancedMonitoringResourceARN = Nothing
-    , _diSecondaryAvailabilityZone = Nothing
-    , _diAllocatedStorage = Nothing
-    , _diDBiResourceId = Nothing
-    , _diDBParameterGroups = Nothing
-    , _diCopyTagsToSnapshot = Nothing
-    , _diTDECredentialARN = Nothing
-    , _diEndpoint = Nothing
-    , _diDBInstanceStatus = Nothing
-    , _diDBInstancePort = Nothing
-    , _diPendingModifiedValues = Nothing
-    , _diStorageType = Nothing
-    , _diStatusInfos = Nothing
-    , _diDomainMemberships = Nothing
-    , _diDBName = Nothing
-    }
-
--- | Indicates the database engine version.
-diEngineVersion :: Lens' DBInstance (Maybe Text)
-diEngineVersion = lens _diEngineVersion (\ s a -> s{_diEngineVersion = a});
-
--- | Provides List of DB security group elements containing only 'DBSecurityGroup.Name' and 'DBSecurityGroup.Status' subelements.
-diDBSecurityGroups :: Lens' DBInstance [DBSecurityGroupMembership]
-diDBSecurityGroups = lens _diDBSecurityGroups (\ s a -> s{_diDBSecurityGroups = a}) . _Default . _Coerce;
-
--- | Specifies whether the DB instance is encrypted.
-diStorageEncrypted :: Lens' DBInstance (Maybe Bool)
-diStorageEncrypted = lens _diStorageEncrypted (\ s a -> s{_diStorageEncrypted = a});
-
--- | If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.
-diDBClusterIdentifier :: Lens' DBInstance (Maybe Text)
-diDBClusterIdentifier = lens _diDBClusterIdentifier (\ s a -> s{_diDBClusterIdentifier = 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.
-diPubliclyAccessible :: Lens' DBInstance (Maybe Bool)
-diPubliclyAccessible = lens _diPubliclyAccessible (\ s a -> s{_diPubliclyAccessible = a});
-
--- | Indicates that minor version patches are applied automatically.
-diAutoMinorVersionUpgrade :: Lens' DBInstance (Maybe Bool)
-diAutoMinorVersionUpgrade = lens _diAutoMinorVersionUpgrade (\ s a -> s{_diAutoMinorVersionUpgrade = a});
-
--- | The Amazon Resource Name (ARN) for the DB instance.
-diDBInstanceARN :: Lens' DBInstance (Maybe Text)
-diDBInstanceARN = lens _diDBInstanceARN (\ s a -> s{_diDBInstanceARN = a});
-
--- | Contains the master username for the DB instance.
-diMasterUsername :: Lens' DBInstance (Maybe Text)
-diMasterUsername = lens _diMasterUsername (\ s a -> s{_diMasterUsername = a});
-
--- | Contains one or more identifiers of the Read Replicas associated with this DB instance.
-diReadReplicaDBInstanceIdentifiers :: Lens' DBInstance [Text]
-diReadReplicaDBInstanceIdentifiers = lens _diReadReplicaDBInstanceIdentifiers (\ s a -> s{_diReadReplicaDBInstanceIdentifiers = a}) . _Default . _Coerce;
-
--- | The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.
-diMonitoringRoleARN :: Lens' DBInstance (Maybe Text)
-diMonitoringRoleARN = lens _diMonitoringRoleARN (\ s a -> s{_diMonitoringRoleARN = a});
-
--- | Specifies the Provisioned IOPS (I\/O operations per second) value.
-diIOPS :: Lens' DBInstance (Maybe Int)
-diIOPS = lens _diIOPS (\ s a -> s{_diIOPS = a});
-
--- | Provides the date and time the DB instance was created.
-diInstanceCreateTime :: Lens' DBInstance (Maybe UTCTime)
-diInstanceCreateTime = lens _diInstanceCreateTime (\ s a -> s{_diInstanceCreateTime = a}) . mapping _Time;
-
--- | Contains the identifier of the source DB instance if this DB instance is a Read Replica.
-diReadReplicaSourceDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)
-diReadReplicaSourceDBInstanceIdentifier = lens _diReadReplicaSourceDBInstanceIdentifier (\ s a -> s{_diReadReplicaSourceDBInstanceIdentifier = a});
-
--- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
-diMonitoringInterval :: Lens' DBInstance (Maybe Int)
-diMonitoringInterval = lens _diMonitoringInterval (\ s a -> s{_diMonitoringInterval = a});
-
--- | Provides the name of the database engine to be used for this DB instance.
-diEngine :: Lens' DBInstance (Maybe Text)
-diEngine = lens _diEngine (\ s a -> s{_diEngine = a});
-
--- | Specifies the latest time to which a database can be restored with point-in-time restore.
-diLatestRestorableTime :: Lens' DBInstance (Maybe UTCTime)
-diLatestRestorableTime = lens _diLatestRestorableTime (\ s a -> s{_diLatestRestorableTime = a}) . mapping _Time;
-
--- | Contains the name of the compute and memory capacity class of the DB instance.
-diDBInstanceClass :: Lens' DBInstance (Maybe Text)
-diDBInstanceClass = lens _diDBInstanceClass (\ s a -> s{_diDBInstanceClass = a});
-
--- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster>.
-diPromotionTier :: Lens' DBInstance (Maybe Int)
-diPromotionTier = lens _diPromotionTier (\ s a -> s{_diPromotionTier = a});
-
--- | License model information for this DB instance.
-diLicenseModel :: Lens' DBInstance (Maybe Text)
-diLicenseModel = lens _diLicenseModel (\ s a -> s{_diLicenseModel = a});
-
--- | Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
-diPreferredMaintenanceWindow :: Lens' DBInstance (Maybe Text)
-diPreferredMaintenanceWindow = lens _diPreferredMaintenanceWindow (\ s a -> s{_diPreferredMaintenanceWindow = a});
-
--- | The identifier of the CA certificate for this DB instance.
-diCACertificateIdentifier :: Lens' DBInstance (Maybe Text)
-diCACertificateIdentifier = lens _diCACertificateIdentifier (\ s a -> s{_diCACertificateIdentifier = a});
-
--- | Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.
-diDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)
-diDBInstanceIdentifier = lens _diDBInstanceIdentifier (\ s a -> s{_diDBInstanceIdentifier = a});
-
--- | If present, specifies the name of the character set that this instance is associated with.
-diCharacterSetName :: Lens' DBInstance (Maybe Text)
-diCharacterSetName = lens _diCharacterSetName (\ s a -> s{_diCharacterSetName = a});
-
--- | If 'StorageEncrypted' is true, the KMS key identifier for the encrypted DB instance.
-diKMSKeyId :: Lens' DBInstance (Maybe Text)
-diKMSKeyId = lens _diKMSKeyId (\ s a -> s{_diKMSKeyId = a});
-
--- | Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the 'BackupRetentionPeriod'.
-diPreferredBackupWindow :: Lens' DBInstance (Maybe Text)
-diPreferredBackupWindow = lens _diPreferredBackupWindow (\ s a -> s{_diPreferredBackupWindow = a});
-
--- | Specifies the name of the Availability Zone the DB instance is located in.
-diAvailabilityZone :: Lens' DBInstance (Maybe Text)
-diAvailabilityZone = lens _diAvailabilityZone (\ s a -> s{_diAvailabilityZone = a});
-
--- | Provides List of VPC security group elements that the DB instance belongs to.
-diVPCSecurityGroups :: Lens' DBInstance [VPCSecurityGroupMembership]
-diVPCSecurityGroups = lens _diVPCSecurityGroups (\ s a -> s{_diVPCSecurityGroups = a}) . _Default . _Coerce;
-
--- | Specifies the number of days for which automatic DB snapshots are retained.
-diBackupRetentionPeriod :: Lens' DBInstance (Maybe Int)
-diBackupRetentionPeriod = lens _diBackupRetentionPeriod (\ s a -> s{_diBackupRetentionPeriod = a});
-
--- | Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.
-diDBSubnetGroup :: Lens' DBInstance (Maybe DBSubnetGroup)
-diDBSubnetGroup = lens _diDBSubnetGroup (\ s a -> s{_diDBSubnetGroup = a});
-
--- | Specifies if the DB instance is a Multi-AZ deployment.
-diMultiAZ :: Lens' DBInstance (Maybe Bool)
-diMultiAZ = lens _diMultiAZ (\ s a -> s{_diMultiAZ = a});
-
--- | Provides the list of option group memberships for this DB instance.
-diOptionGroupMemberships :: Lens' DBInstance [OptionGroupMembership]
-diOptionGroupMemberships = lens _diOptionGroupMemberships (\ s a -> s{_diOptionGroupMemberships = a}) . _Default . _Coerce;
-
--- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.
-diEnhancedMonitoringResourceARN :: Lens' DBInstance (Maybe Text)
-diEnhancedMonitoringResourceARN = lens _diEnhancedMonitoringResourceARN (\ s a -> s{_diEnhancedMonitoringResourceARN = a});
-
--- | If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.
-diSecondaryAvailabilityZone :: Lens' DBInstance (Maybe Text)
-diSecondaryAvailabilityZone = lens _diSecondaryAvailabilityZone (\ s a -> s{_diSecondaryAvailabilityZone = a});
-
--- | Specifies the allocated storage size specified in gigabytes.
-diAllocatedStorage :: Lens' DBInstance (Maybe Int)
-diAllocatedStorage = lens _diAllocatedStorage (\ s a -> s{_diAllocatedStorage = a});
-
--- | The region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB instance is accessed.
-diDBiResourceId :: Lens' DBInstance (Maybe Text)
-diDBiResourceId = lens _diDBiResourceId (\ s a -> s{_diDBiResourceId = a});
-
--- | Provides the list of DB parameter groups applied to this DB instance.
-diDBParameterGroups :: Lens' DBInstance [DBParameterGroupStatus]
-diDBParameterGroups = lens _diDBParameterGroups (\ s a -> s{_diDBParameterGroups = a}) . _Default . _Coerce;
-
--- | Specifies whether tags are copied from the DB instance to snapshots of the DB instance.
-diCopyTagsToSnapshot :: Lens' DBInstance (Maybe Bool)
-diCopyTagsToSnapshot = lens _diCopyTagsToSnapshot (\ s a -> s{_diCopyTagsToSnapshot = a});
-
--- | The ARN from the Key Store with which the instance is associated for TDE encryption.
-diTDECredentialARN :: Lens' DBInstance (Maybe Text)
-diTDECredentialARN = lens _diTDECredentialARN (\ s a -> s{_diTDECredentialARN = a});
-
--- | Specifies the connection endpoint.
-diEndpoint :: Lens' DBInstance (Maybe Endpoint)
-diEndpoint = lens _diEndpoint (\ s a -> s{_diEndpoint = a});
-
--- | Specifies the current state of this database.
-diDBInstanceStatus :: Lens' DBInstance (Maybe Text)
-diDBInstanceStatus = lens _diDBInstanceStatus (\ s a -> s{_diDBInstanceStatus = a});
-
--- | Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.
-diDBInstancePort :: Lens' DBInstance (Maybe Int)
-diDBInstancePort = lens _diDBInstancePort (\ s a -> s{_diDBInstancePort = a});
-
--- | Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.
-diPendingModifiedValues :: Lens' DBInstance (Maybe PendingModifiedValues)
-diPendingModifiedValues = lens _diPendingModifiedValues (\ s a -> s{_diPendingModifiedValues = a});
-
--- | Specifies the storage type associated with DB instance.
-diStorageType :: Lens' DBInstance (Maybe Text)
-diStorageType = lens _diStorageType (\ s a -> s{_diStorageType = a});
-
--- | The status of a Read Replica. If the instance is not a Read Replica, this will be blank.
-diStatusInfos :: Lens' DBInstance [DBInstanceStatusInfo]
-diStatusInfos = lens _diStatusInfos (\ s a -> s{_diStatusInfos = a}) . _Default . _Coerce;
-
--- | The Active Directory Domain membership records associated with the DB instance.
-diDomainMemberships :: Lens' DBInstance [DomainMembership]
-diDomainMemberships = lens _diDomainMemberships (\ s a -> s{_diDomainMemberships = a}) . _Default . _Coerce;
-
--- | The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines.
---
--- __MySQL, MariaDB, SQL Server, PostgreSQL, Amazon Aurora__
---
--- 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.
-diDBName :: Lens' DBInstance (Maybe Text)
-diDBName = lens _diDBName (\ s a -> s{_diDBName = a});
-
-instance FromXML DBInstance where
-        parseXML x
-          = DBInstance' <$>
-              (x .@? "EngineVersion") <*>
-                (x .@? "DBSecurityGroups" .!@ mempty >>=
-                   may (parseXMLList "DBSecurityGroup"))
-                <*> (x .@? "StorageEncrypted")
-                <*> (x .@? "DBClusterIdentifier")
-                <*> (x .@? "PubliclyAccessible")
-                <*> (x .@? "AutoMinorVersionUpgrade")
-                <*> (x .@? "DBInstanceArn")
-                <*> (x .@? "MasterUsername")
-                <*>
-                (x .@? "ReadReplicaDBInstanceIdentifiers" .!@ mempty
-                   >>=
-                   may (parseXMLList "ReadReplicaDBInstanceIdentifier"))
-                <*> (x .@? "MonitoringRoleArn")
-                <*> (x .@? "Iops")
-                <*> (x .@? "InstanceCreateTime")
-                <*> (x .@? "ReadReplicaSourceDBInstanceIdentifier")
-                <*> (x .@? "MonitoringInterval")
-                <*> (x .@? "Engine")
-                <*> (x .@? "LatestRestorableTime")
-                <*> (x .@? "DBInstanceClass")
-                <*> (x .@? "PromotionTier")
-                <*> (x .@? "LicenseModel")
-                <*> (x .@? "PreferredMaintenanceWindow")
-                <*> (x .@? "CACertificateIdentifier")
-                <*> (x .@? "DBInstanceIdentifier")
-                <*> (x .@? "CharacterSetName")
-                <*> (x .@? "KmsKeyId")
-                <*> (x .@? "PreferredBackupWindow")
-                <*> (x .@? "AvailabilityZone")
-                <*>
-                (x .@? "VpcSecurityGroups" .!@ mempty >>=
-                   may (parseXMLList "VpcSecurityGroupMembership"))
-                <*> (x .@? "BackupRetentionPeriod")
-                <*> (x .@? "DBSubnetGroup")
-                <*> (x .@? "MultiAZ")
-                <*>
-                (x .@? "OptionGroupMemberships" .!@ mempty >>=
-                   may (parseXMLList "OptionGroupMembership"))
-                <*> (x .@? "EnhancedMonitoringResourceArn")
-                <*> (x .@? "SecondaryAvailabilityZone")
-                <*> (x .@? "AllocatedStorage")
-                <*> (x .@? "DbiResourceId")
-                <*>
-                (x .@? "DBParameterGroups" .!@ mempty >>=
-                   may (parseXMLList "DBParameterGroup"))
-                <*> (x .@? "CopyTagsToSnapshot")
-                <*> (x .@? "TdeCredentialArn")
-                <*> (x .@? "Endpoint")
-                <*> (x .@? "DBInstanceStatus")
-                <*> (x .@? "DbInstancePort")
-                <*> (x .@? "PendingModifiedValues")
-                <*> (x .@? "StorageType")
-                <*>
-                (x .@? "StatusInfos" .!@ mempty >>=
-                   may (parseXMLList "DBInstanceStatusInfo"))
-                <*>
-                (x .@? "DomainMemberships" .!@ mempty >>=
-                   may (parseXMLList "DomainMembership"))
-                <*> (x .@? "DBName")
-
-instance Hashable DBInstance
-
-instance NFData DBInstance
-
--- | Provides a list of status information for a DB instance.
---
--- /See:/ 'dbInstanceStatusInfo' smart constructor.
-data DBInstanceStatusInfo = DBInstanceStatusInfo'
-    { _disiStatus     :: !(Maybe Text)
-    , _disiNormal     :: !(Maybe Bool)
-    , _disiStatusType :: !(Maybe Text)
-    , _disiMessage    :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBInstanceStatusInfo' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'disiStatus'
---
--- * 'disiNormal'
---
--- * 'disiStatusType'
---
--- * 'disiMessage'
-dbInstanceStatusInfo
-    :: DBInstanceStatusInfo
-dbInstanceStatusInfo =
-    DBInstanceStatusInfo'
-    { _disiStatus = Nothing
-    , _disiNormal = Nothing
-    , _disiStatusType = Nothing
-    , _disiMessage = Nothing
-    }
-
--- | Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.
-disiStatus :: Lens' DBInstanceStatusInfo (Maybe Text)
-disiStatus = lens _disiStatus (\ s a -> s{_disiStatus = a});
-
--- | Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.
-disiNormal :: Lens' DBInstanceStatusInfo (Maybe Bool)
-disiNormal = lens _disiNormal (\ s a -> s{_disiNormal = a});
-
--- | This value is currently \"read replication.\"
-disiStatusType :: Lens' DBInstanceStatusInfo (Maybe Text)
-disiStatusType = lens _disiStatusType (\ s a -> s{_disiStatusType = a});
-
--- | 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.
-disiMessage :: Lens' DBInstanceStatusInfo (Maybe Text)
-disiMessage = lens _disiMessage (\ s a -> s{_disiMessage = a});
-
-instance FromXML DBInstanceStatusInfo where
-        parseXML x
-          = DBInstanceStatusInfo' <$>
-              (x .@? "Status") <*> (x .@? "Normal") <*>
-                (x .@? "StatusType")
-                <*> (x .@? "Message")
-
-instance Hashable DBInstanceStatusInfo
-
-instance NFData DBInstanceStatusInfo
-
--- | Contains the result of a successful invocation of the < CreateDBParameterGroup> action.
---
--- This data type is used as a request parameter in the < DeleteDBParameterGroup> action, and as a response element in the < DescribeDBParameterGroups> action.
---
--- /See:/ 'dbParameterGroup' smart constructor.
-data DBParameterGroup = DBParameterGroup'
-    { _dpgDBParameterGroupARN    :: !(Maybe Text)
-    , _dpgDBParameterGroupFamily :: !(Maybe Text)
-    , _dpgDBParameterGroupName   :: !(Maybe Text)
-    , _dpgDescription            :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBParameterGroup' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dpgDBParameterGroupARN'
---
--- * 'dpgDBParameterGroupFamily'
---
--- * 'dpgDBParameterGroupName'
---
--- * 'dpgDescription'
-dbParameterGroup
-    :: DBParameterGroup
-dbParameterGroup =
-    DBParameterGroup'
-    { _dpgDBParameterGroupARN = Nothing
-    , _dpgDBParameterGroupFamily = Nothing
-    , _dpgDBParameterGroupName = Nothing
-    , _dpgDescription = Nothing
-    }
-
--- | The Amazon Resource Name (ARN) for the DB parameter group.
-dpgDBParameterGroupARN :: Lens' DBParameterGroup (Maybe Text)
-dpgDBParameterGroupARN = lens _dpgDBParameterGroupARN (\ s a -> s{_dpgDBParameterGroupARN = a});
-
--- | Provides the name of the DB parameter group family that this DB parameter group is compatible with.
-dpgDBParameterGroupFamily :: Lens' DBParameterGroup (Maybe Text)
-dpgDBParameterGroupFamily = lens _dpgDBParameterGroupFamily (\ s a -> s{_dpgDBParameterGroupFamily = a});
-
--- | Provides the name of the DB parameter group.
-dpgDBParameterGroupName :: Lens' DBParameterGroup (Maybe Text)
-dpgDBParameterGroupName = lens _dpgDBParameterGroupName (\ s a -> s{_dpgDBParameterGroupName = a});
-
--- | Provides the customer-specified description for this DB parameter group.
-dpgDescription :: Lens' DBParameterGroup (Maybe Text)
-dpgDescription = lens _dpgDescription (\ s a -> s{_dpgDescription = a});
-
-instance FromXML DBParameterGroup where
-        parseXML x
-          = DBParameterGroup' <$>
-              (x .@? "DBParameterGroupArn") <*>
-                (x .@? "DBParameterGroupFamily")
-                <*> (x .@? "DBParameterGroupName")
-                <*> (x .@? "Description")
-
-instance Hashable DBParameterGroup
-
-instance NFData DBParameterGroup
-
--- | Contains the result of a successful invocation of the < ModifyDBParameterGroup> or < ResetDBParameterGroup> action.
---
--- /See:/ 'dbParameterGroupNameMessage' smart constructor.
-newtype DBParameterGroupNameMessage = DBParameterGroupNameMessage'
-    { _dpgnmDBParameterGroupName :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBParameterGroupNameMessage' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dpgnmDBParameterGroupName'
-dbParameterGroupNameMessage
-    :: DBParameterGroupNameMessage
-dbParameterGroupNameMessage =
-    DBParameterGroupNameMessage'
-    { _dpgnmDBParameterGroupName = Nothing
-    }
-
--- | Provides the name of the DB parameter group.
-dpgnmDBParameterGroupName :: Lens' DBParameterGroupNameMessage (Maybe Text)
-dpgnmDBParameterGroupName = lens _dpgnmDBParameterGroupName (\ s a -> s{_dpgnmDBParameterGroupName = a});
-
-instance FromXML DBParameterGroupNameMessage where
-        parseXML x
-          = DBParameterGroupNameMessage' <$>
-              (x .@? "DBParameterGroupName")
-
-instance Hashable DBParameterGroupNameMessage
-
-instance NFData DBParameterGroupNameMessage
-
--- | The status of the DB parameter group.
---
--- This data type is used as a response element in the following actions:
---
--- -   < CreateDBInstance>
---
--- -   < CreateDBInstanceReadReplica>
---
--- -   < DeleteDBInstance>
---
--- -   < ModifyDBInstance>
---
--- -   < RebootDBInstance>
---
--- -   < RestoreDBInstanceFromDBSnapshot>
---
---
--- /See:/ 'dbParameterGroupStatus' smart constructor.
-data DBParameterGroupStatus = DBParameterGroupStatus'
-    { _dpgsDBParameterGroupName :: !(Maybe Text)
-    , _dpgsParameterApplyStatus :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBParameterGroupStatus' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dpgsDBParameterGroupName'
---
--- * 'dpgsParameterApplyStatus'
-dbParameterGroupStatus
-    :: DBParameterGroupStatus
-dbParameterGroupStatus =
-    DBParameterGroupStatus'
-    { _dpgsDBParameterGroupName = Nothing
-    , _dpgsParameterApplyStatus = Nothing
-    }
-
--- | The name of the DP parameter group.
-dpgsDBParameterGroupName :: Lens' DBParameterGroupStatus (Maybe Text)
-dpgsDBParameterGroupName = lens _dpgsDBParameterGroupName (\ s a -> s{_dpgsDBParameterGroupName = a});
-
--- | The status of parameter updates.
-dpgsParameterApplyStatus :: Lens' DBParameterGroupStatus (Maybe Text)
-dpgsParameterApplyStatus = lens _dpgsParameterApplyStatus (\ s a -> s{_dpgsParameterApplyStatus = a});
-
-instance FromXML DBParameterGroupStatus where
-        parseXML x
-          = DBParameterGroupStatus' <$>
-              (x .@? "DBParameterGroupName") <*>
-                (x .@? "ParameterApplyStatus")
-
-instance Hashable DBParameterGroupStatus
-
-instance NFData DBParameterGroupStatus
-
--- | Contains the result of a successful invocation of the following actions:
---
--- -   < DescribeDBSecurityGroups>
---
--- -   < AuthorizeDBSecurityGroupIngress>
---
--- -   < CreateDBSecurityGroup>
---
--- -   < RevokeDBSecurityGroupIngress>
---
--- This data type is used as a response element in the < DescribeDBSecurityGroups> action.
---
--- /See:/ 'dbSecurityGroup' smart constructor.
-data DBSecurityGroup = DBSecurityGroup'
-    { _dbsgVPCId                      :: !(Maybe Text)
-    , _dbsgOwnerId                    :: !(Maybe Text)
-    , _dbsgDBSecurityGroupARN         :: !(Maybe Text)
-    , _dbsgIPRanges                   :: !(Maybe [IPRange])
-    , _dbsgDBSecurityGroupName        :: !(Maybe Text)
-    , _dbsgEC2SecurityGroups          :: !(Maybe [EC2SecurityGroup])
-    , _dbsgDBSecurityGroupDescription :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBSecurityGroup' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dbsgVPCId'
---
--- * 'dbsgOwnerId'
---
--- * 'dbsgDBSecurityGroupARN'
---
--- * 'dbsgIPRanges'
---
--- * 'dbsgDBSecurityGroupName'
---
--- * 'dbsgEC2SecurityGroups'
---
--- * 'dbsgDBSecurityGroupDescription'
-dbSecurityGroup
-    :: DBSecurityGroup
-dbSecurityGroup =
-    DBSecurityGroup'
-    { _dbsgVPCId = Nothing
-    , _dbsgOwnerId = Nothing
-    , _dbsgDBSecurityGroupARN = Nothing
-    , _dbsgIPRanges = Nothing
-    , _dbsgDBSecurityGroupName = Nothing
-    , _dbsgEC2SecurityGroups = Nothing
-    , _dbsgDBSecurityGroupDescription = Nothing
-    }
-
--- | Provides the VpcId of the DB security group.
-dbsgVPCId :: Lens' DBSecurityGroup (Maybe Text)
-dbsgVPCId = lens _dbsgVPCId (\ s a -> s{_dbsgVPCId = a});
-
--- | 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});
-
--- | The Amazon Resource Name (ARN) for the DB security group.
-dbsgDBSecurityGroupARN :: Lens' DBSecurityGroup (Maybe Text)
-dbsgDBSecurityGroupARN = lens _dbsgDBSecurityGroupARN (\ s a -> s{_dbsgDBSecurityGroupARN = a});
-
--- | Contains a list of < IPRange> elements.
-dbsgIPRanges :: Lens' DBSecurityGroup [IPRange]
-dbsgIPRanges = lens _dbsgIPRanges (\ s a -> s{_dbsgIPRanges = a}) . _Default . _Coerce;
-
--- | 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}) . _Default . _Coerce;
-
--- | Provides the description of the DB security group.
-dbsgDBSecurityGroupDescription :: Lens' DBSecurityGroup (Maybe Text)
-dbsgDBSecurityGroupDescription = lens _dbsgDBSecurityGroupDescription (\ s a -> s{_dbsgDBSecurityGroupDescription = a});
-
-instance FromXML DBSecurityGroup where
-        parseXML x
-          = DBSecurityGroup' <$>
-              (x .@? "VpcId") <*> (x .@? "OwnerId") <*>
-                (x .@? "DBSecurityGroupArn")
-                <*>
-                (x .@? "IPRanges" .!@ mempty >>=
-                   may (parseXMLList "IPRange"))
-                <*> (x .@? "DBSecurityGroupName")
-                <*>
-                (x .@? "EC2SecurityGroups" .!@ mempty >>=
-                   may (parseXMLList "EC2SecurityGroup"))
-                <*> (x .@? "DBSecurityGroupDescription")
-
-instance Hashable DBSecurityGroup
-
-instance NFData DBSecurityGroup
-
--- | This data type is used as a response element in the following actions:
---
--- -   < ModifyDBInstance>
---
--- -   < RebootDBInstance>
---
--- -   < RestoreDBInstanceFromDBSnapshot>
---
--- -   < RestoreDBInstanceToPointInTime>
---
---
--- /See:/ 'dbSecurityGroupMembership' smart constructor.
-data DBSecurityGroupMembership = DBSecurityGroupMembership'
-    { _dsgmStatus              :: !(Maybe Text)
-    , _dsgmDBSecurityGroupName :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBSecurityGroupMembership' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dsgmStatus'
---
--- * 'dsgmDBSecurityGroupName'
-dbSecurityGroupMembership
-    :: DBSecurityGroupMembership
-dbSecurityGroupMembership =
-    DBSecurityGroupMembership'
-    { _dsgmStatus = Nothing
-    , _dsgmDBSecurityGroupName = Nothing
-    }
-
--- | The status of the DB security group.
-dsgmStatus :: Lens' DBSecurityGroupMembership (Maybe Text)
-dsgmStatus = lens _dsgmStatus (\ s a -> s{_dsgmStatus = a});
-
--- | The name of the DB security group.
-dsgmDBSecurityGroupName :: Lens' DBSecurityGroupMembership (Maybe Text)
-dsgmDBSecurityGroupName = lens _dsgmDBSecurityGroupName (\ s a -> s{_dsgmDBSecurityGroupName = a});
-
-instance FromXML DBSecurityGroupMembership where
-        parseXML x
-          = DBSecurityGroupMembership' <$>
-              (x .@? "Status") <*> (x .@? "DBSecurityGroupName")
-
-instance Hashable DBSecurityGroupMembership
-
-instance NFData DBSecurityGroupMembership
-
--- | Contains the result of a successful invocation of the following actions:
---
--- -   < CreateDBSnapshot>
---
--- -   < DeleteDBSnapshot>
---
--- This data type is used as a response element in the < DescribeDBSnapshots> action.
---
--- /See:/ 'dbSnapshot' smart constructor.
-data DBSnapshot = DBSnapshot'
-    { _dsEngineVersion              :: !(Maybe Text)
-    , _dsStatus                     :: !(Maybe Text)
-    , _dsDBSnapshotARN              :: !(Maybe Text)
-    , _dsMasterUsername             :: !(Maybe Text)
-    , _dsSourceRegion               :: !(Maybe Text)
-    , _dsIOPS                       :: !(Maybe Int)
-    , _dsVPCId                      :: !(Maybe Text)
-    , _dsInstanceCreateTime         :: !(Maybe ISO8601)
-    , _dsEngine                     :: !(Maybe Text)
-    , _dsEncrypted                  :: !(Maybe Bool)
-    , _dsDBSnapshotIdentifier       :: !(Maybe Text)
-    , _dsLicenseModel               :: !(Maybe Text)
-    , _dsSourceDBSnapshotIdentifier :: !(Maybe Text)
-    , _dsSnapshotType               :: !(Maybe Text)
-    , _dsDBInstanceIdentifier       :: !(Maybe Text)
-    , _dsKMSKeyId                   :: !(Maybe Text)
-    , _dsAvailabilityZone           :: !(Maybe Text)
-    , _dsSnapshotCreateTime         :: !(Maybe ISO8601)
-    , _dsAllocatedStorage           :: !(Maybe Int)
-    , _dsOptionGroupName            :: !(Maybe Text)
-    , _dsTDECredentialARN           :: !(Maybe Text)
-    , _dsPercentProgress            :: !(Maybe Int)
-    , _dsPort                       :: !(Maybe Int)
-    , _dsStorageType                :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBSnapshot' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dsEngineVersion'
---
--- * 'dsStatus'
---
--- * 'dsDBSnapshotARN'
---
--- * 'dsMasterUsername'
---
--- * 'dsSourceRegion'
---
--- * 'dsIOPS'
---
--- * 'dsVPCId'
---
--- * 'dsInstanceCreateTime'
---
--- * 'dsEngine'
---
--- * 'dsEncrypted'
---
--- * 'dsDBSnapshotIdentifier'
---
--- * 'dsLicenseModel'
---
--- * 'dsSourceDBSnapshotIdentifier'
---
--- * 'dsSnapshotType'
---
--- * 'dsDBInstanceIdentifier'
---
--- * 'dsKMSKeyId'
---
--- * 'dsAvailabilityZone'
---
--- * 'dsSnapshotCreateTime'
---
--- * 'dsAllocatedStorage'
---
--- * 'dsOptionGroupName'
---
--- * 'dsTDECredentialARN'
---
--- * 'dsPercentProgress'
---
--- * 'dsPort'
---
--- * 'dsStorageType'
-dbSnapshot
-    :: DBSnapshot
-dbSnapshot =
-    DBSnapshot'
-    { _dsEngineVersion = Nothing
-    , _dsStatus = Nothing
-    , _dsDBSnapshotARN = Nothing
-    , _dsMasterUsername = Nothing
-    , _dsSourceRegion = Nothing
-    , _dsIOPS = Nothing
-    , _dsVPCId = Nothing
-    , _dsInstanceCreateTime = Nothing
-    , _dsEngine = Nothing
-    , _dsEncrypted = Nothing
-    , _dsDBSnapshotIdentifier = Nothing
-    , _dsLicenseModel = Nothing
-    , _dsSourceDBSnapshotIdentifier = Nothing
-    , _dsSnapshotType = Nothing
-    , _dsDBInstanceIdentifier = Nothing
-    , _dsKMSKeyId = Nothing
-    , _dsAvailabilityZone = Nothing
-    , _dsSnapshotCreateTime = Nothing
-    , _dsAllocatedStorage = Nothing
-    , _dsOptionGroupName = Nothing
-    , _dsTDECredentialARN = Nothing
-    , _dsPercentProgress = Nothing
-    , _dsPort = Nothing
-    , _dsStorageType = Nothing
-    }
-
--- | Specifies the version of the database engine.
-dsEngineVersion :: Lens' DBSnapshot (Maybe Text)
-dsEngineVersion = lens _dsEngineVersion (\ s a -> s{_dsEngineVersion = a});
-
--- | Specifies the status of this DB snapshot.
-dsStatus :: Lens' DBSnapshot (Maybe Text)
-dsStatus = lens _dsStatus (\ s a -> s{_dsStatus = a});
-
--- | The Amazon Resource Name (ARN) for the DB snapshot.
-dsDBSnapshotARN :: Lens' DBSnapshot (Maybe Text)
-dsDBSnapshotARN = lens _dsDBSnapshotARN (\ s a -> s{_dsDBSnapshotARN = a});
-
--- | Provides the master username for the DB snapshot.
-dsMasterUsername :: Lens' DBSnapshot (Maybe Text)
-dsMasterUsername = lens _dsMasterUsername (\ s a -> s{_dsMasterUsername = a});
-
--- | The region that the DB snapshot was created in or copied from.
-dsSourceRegion :: Lens' DBSnapshot (Maybe Text)
-dsSourceRegion = lens _dsSourceRegion (\ s a -> s{_dsSourceRegion = a});
-
--- | Specifies the Provisioned IOPS (I\/O operations per second) value of the DB instance at the time of the snapshot.
-dsIOPS :: Lens' DBSnapshot (Maybe Int)
-dsIOPS = lens _dsIOPS (\ s a -> s{_dsIOPS = a});
-
--- | Provides the VPC ID associated with the DB snapshot.
-dsVPCId :: Lens' DBSnapshot (Maybe Text)
-dsVPCId = lens _dsVPCId (\ s a -> s{_dsVPCId = a});
-
--- | Specifies the time when the snapshot was taken, in Universal Coordinated Time (UTC).
-dsInstanceCreateTime :: Lens' DBSnapshot (Maybe UTCTime)
-dsInstanceCreateTime = lens _dsInstanceCreateTime (\ s a -> s{_dsInstanceCreateTime = a}) . mapping _Time;
-
--- | Specifies the name of the database engine.
-dsEngine :: Lens' DBSnapshot (Maybe Text)
-dsEngine = lens _dsEngine (\ s a -> s{_dsEngine = a});
-
--- | Specifies whether the DB snapshot is encrypted.
-dsEncrypted :: Lens' DBSnapshot (Maybe Bool)
-dsEncrypted = lens _dsEncrypted (\ s a -> s{_dsEncrypted = a});
-
--- | Specifies the identifier for the DB snapshot.
-dsDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)
-dsDBSnapshotIdentifier = lens _dsDBSnapshotIdentifier (\ s a -> s{_dsDBSnapshotIdentifier = a});
-
--- | License model information for the restored DB instance.
-dsLicenseModel :: Lens' DBSnapshot (Maybe Text)
-dsLicenseModel = lens _dsLicenseModel (\ s a -> s{_dsLicenseModel = a});
-
--- | The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.
-dsSourceDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)
-dsSourceDBSnapshotIdentifier = lens _dsSourceDBSnapshotIdentifier (\ s a -> s{_dsSourceDBSnapshotIdentifier = a});
-
--- | Provides the type of the DB snapshot.
-dsSnapshotType :: Lens' DBSnapshot (Maybe Text)
-dsSnapshotType = lens _dsSnapshotType (\ s a -> s{_dsSnapshotType = a});
-
--- | Specifies the DB instance identifier of the DB instance this DB snapshot was created from.
-dsDBInstanceIdentifier :: Lens' DBSnapshot (Maybe Text)
-dsDBInstanceIdentifier = lens _dsDBInstanceIdentifier (\ s a -> s{_dsDBInstanceIdentifier = a});
-
--- | If 'Encrypted' is true, the KMS key identifier for the encrypted DB snapshot.
-dsKMSKeyId :: Lens' DBSnapshot (Maybe Text)
-dsKMSKeyId = lens _dsKMSKeyId (\ s a -> s{_dsKMSKeyId = a});
-
--- | Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
-dsAvailabilityZone :: Lens' DBSnapshot (Maybe Text)
-dsAvailabilityZone = lens _dsAvailabilityZone (\ s a -> s{_dsAvailabilityZone = a});
-
--- | Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
-dsSnapshotCreateTime :: Lens' DBSnapshot (Maybe UTCTime)
-dsSnapshotCreateTime = lens _dsSnapshotCreateTime (\ s a -> s{_dsSnapshotCreateTime = a}) . mapping _Time;
-
--- | Specifies the allocated storage size in gigabytes (GB).
-dsAllocatedStorage :: Lens' DBSnapshot (Maybe Int)
-dsAllocatedStorage = lens _dsAllocatedStorage (\ s a -> s{_dsAllocatedStorage = a});
-
--- | Provides the option group name for the DB snapshot.
-dsOptionGroupName :: Lens' DBSnapshot (Maybe Text)
-dsOptionGroupName = lens _dsOptionGroupName (\ s a -> s{_dsOptionGroupName = a});
-
--- | The ARN from the Key Store with which to associate the instance for TDE encryption.
-dsTDECredentialARN :: Lens' DBSnapshot (Maybe Text)
-dsTDECredentialARN = lens _dsTDECredentialARN (\ s a -> s{_dsTDECredentialARN = a});
-
--- | The percentage of the estimated data that has been transferred.
-dsPercentProgress :: Lens' DBSnapshot (Maybe Int)
-dsPercentProgress = lens _dsPercentProgress (\ s a -> s{_dsPercentProgress = a});
-
--- | Specifies the port that the database engine was listening on at the time of the snapshot.
-dsPort :: Lens' DBSnapshot (Maybe Int)
-dsPort = lens _dsPort (\ s a -> s{_dsPort = a});
-
--- | Specifies the storage type associated with DB Snapshot.
-dsStorageType :: Lens' DBSnapshot (Maybe Text)
-dsStorageType = lens _dsStorageType (\ s a -> s{_dsStorageType = a});
-
-instance FromXML DBSnapshot where
-        parseXML x
-          = DBSnapshot' <$>
-              (x .@? "EngineVersion") <*> (x .@? "Status") <*>
-                (x .@? "DBSnapshotArn")
-                <*> (x .@? "MasterUsername")
-                <*> (x .@? "SourceRegion")
-                <*> (x .@? "Iops")
-                <*> (x .@? "VpcId")
-                <*> (x .@? "InstanceCreateTime")
-                <*> (x .@? "Engine")
-                <*> (x .@? "Encrypted")
-                <*> (x .@? "DBSnapshotIdentifier")
-                <*> (x .@? "LicenseModel")
-                <*> (x .@? "SourceDBSnapshotIdentifier")
-                <*> (x .@? "SnapshotType")
-                <*> (x .@? "DBInstanceIdentifier")
-                <*> (x .@? "KmsKeyId")
-                <*> (x .@? "AvailabilityZone")
-                <*> (x .@? "SnapshotCreateTime")
-                <*> (x .@? "AllocatedStorage")
-                <*> (x .@? "OptionGroupName")
-                <*> (x .@? "TdeCredentialArn")
-                <*> (x .@? "PercentProgress")
-                <*> (x .@? "Port")
-                <*> (x .@? "StorageType")
-
-instance Hashable DBSnapshot
-
-instance NFData DBSnapshot
-
--- | Contains the name and values of a manual DB snapshot attribute
---
--- Manual DB snapshot attributes are used to authorize other AWS accounts to restore a manual DB snapshot. For more information, see the < ModifyDBSnapshotAttribute> API.
---
--- /See:/ 'dbSnapshotAttribute' smart constructor.
-data DBSnapshotAttribute = DBSnapshotAttribute'
-    { _dsaAttributeValues :: !(Maybe [Text])
-    , _dsaAttributeName   :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBSnapshotAttribute' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dsaAttributeValues'
---
--- * 'dsaAttributeName'
-dbSnapshotAttribute
-    :: DBSnapshotAttribute
-dbSnapshotAttribute =
-    DBSnapshotAttribute'
-    { _dsaAttributeValues = Nothing
-    , _dsaAttributeName = Nothing
-    }
-
--- | The value or values for the manual DB snapshot attribute.
---
--- If the 'AttributeName' field is set to 'restore', then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB snapshot. If a value of 'all' is in the list, then the manual DB snapshot is public and available for any AWS account to copy or restore.
-dsaAttributeValues :: Lens' DBSnapshotAttribute [Text]
-dsaAttributeValues = lens _dsaAttributeValues (\ s a -> s{_dsaAttributeValues = a}) . _Default . _Coerce;
-
--- | The name of the manual DB snapshot attribute.
---
--- The attribute named 'restore' refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the < ModifyDBSnapshotAttribute> API action.
-dsaAttributeName :: Lens' DBSnapshotAttribute (Maybe Text)
-dsaAttributeName = lens _dsaAttributeName (\ s a -> s{_dsaAttributeName = a});
-
-instance FromXML DBSnapshotAttribute where
-        parseXML x
-          = DBSnapshotAttribute' <$>
-              (x .@? "AttributeValues" .!@ mempty >>=
-                 may (parseXMLList "AttributeValue"))
-                <*> (x .@? "AttributeName")
-
-instance Hashable DBSnapshotAttribute
-
-instance NFData DBSnapshotAttribute
-
--- | Contains the results of a successful call to the < DescribeDBSnapshotAttributes> API action.
---
--- Manual DB snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB snapshot. For more information, see the < ModifyDBSnapshotAttribute> API action.
---
--- /See:/ 'dbSnapshotAttributesResult' smart constructor.
-data DBSnapshotAttributesResult = DBSnapshotAttributesResult'
-    { _dsarDBSnapshotIdentifier :: !(Maybe Text)
-    , _dsarDBSnapshotAttributes :: !(Maybe [DBSnapshotAttribute])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBSnapshotAttributesResult' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dsarDBSnapshotIdentifier'
---
--- * 'dsarDBSnapshotAttributes'
-dbSnapshotAttributesResult
-    :: DBSnapshotAttributesResult
-dbSnapshotAttributesResult =
-    DBSnapshotAttributesResult'
-    { _dsarDBSnapshotIdentifier = Nothing
-    , _dsarDBSnapshotAttributes = Nothing
-    }
-
--- | The identifier of the manual DB snapshot that the attributes apply to.
-dsarDBSnapshotIdentifier :: Lens' DBSnapshotAttributesResult (Maybe Text)
-dsarDBSnapshotIdentifier = lens _dsarDBSnapshotIdentifier (\ s a -> s{_dsarDBSnapshotIdentifier = a});
-
--- | The list of attributes and values for the manual DB snapshot.
-dsarDBSnapshotAttributes :: Lens' DBSnapshotAttributesResult [DBSnapshotAttribute]
-dsarDBSnapshotAttributes = lens _dsarDBSnapshotAttributes (\ s a -> s{_dsarDBSnapshotAttributes = a}) . _Default . _Coerce;
-
-instance FromXML DBSnapshotAttributesResult where
-        parseXML x
-          = DBSnapshotAttributesResult' <$>
-              (x .@? "DBSnapshotIdentifier") <*>
-                (x .@? "DBSnapshotAttributes" .!@ mempty >>=
-                   may (parseXMLList "DBSnapshotAttribute"))
-
-instance Hashable DBSnapshotAttributesResult
-
-instance NFData DBSnapshotAttributesResult
-
--- | Contains the result of a successful invocation of the following actions:
---
--- -   < CreateDBSubnetGroup>
---
--- -   < ModifyDBSubnetGroup>
---
--- -   < DescribeDBSubnetGroups>
---
--- -   < DeleteDBSubnetGroup>
---
--- This data type is used as a response element in the < DescribeDBSubnetGroups> action.
---
--- /See:/ 'dbSubnetGroup' smart constructor.
-data DBSubnetGroup = DBSubnetGroup'
-    { _dsgDBSubnetGroupName        :: !(Maybe Text)
-    , _dsgVPCId                    :: !(Maybe Text)
-    , _dsgSubnets                  :: !(Maybe [Subnet])
-    , _dsgDBSubnetGroupDescription :: !(Maybe Text)
-    , _dsgDBSubnetGroupARN         :: !(Maybe Text)
-    , _dsgSubnetGroupStatus        :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DBSubnetGroup' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dsgDBSubnetGroupName'
---
--- * 'dsgVPCId'
---
--- * 'dsgSubnets'
---
--- * 'dsgDBSubnetGroupDescription'
---
--- * 'dsgDBSubnetGroupARN'
---
--- * 'dsgSubnetGroupStatus'
-dbSubnetGroup
-    :: DBSubnetGroup
-dbSubnetGroup =
-    DBSubnetGroup'
-    { _dsgDBSubnetGroupName = Nothing
-    , _dsgVPCId = Nothing
-    , _dsgSubnets = Nothing
-    , _dsgDBSubnetGroupDescription = Nothing
-    , _dsgDBSubnetGroupARN = Nothing
-    , _dsgSubnetGroupStatus = Nothing
-    }
-
--- | The name of the DB subnet group.
-dsgDBSubnetGroupName :: Lens' DBSubnetGroup (Maybe Text)
-dsgDBSubnetGroupName = lens _dsgDBSubnetGroupName (\ s a -> s{_dsgDBSubnetGroupName = a});
-
--- | Provides the VpcId of the DB subnet group.
-dsgVPCId :: Lens' DBSubnetGroup (Maybe Text)
-dsgVPCId = lens _dsgVPCId (\ s a -> s{_dsgVPCId = a});
-
--- | Contains a list of < Subnet> elements.
-dsgSubnets :: Lens' DBSubnetGroup [Subnet]
-dsgSubnets = lens _dsgSubnets (\ s a -> s{_dsgSubnets = a}) . _Default . _Coerce;
-
--- | Provides the description of the DB subnet group.
-dsgDBSubnetGroupDescription :: Lens' DBSubnetGroup (Maybe Text)
-dsgDBSubnetGroupDescription = lens _dsgDBSubnetGroupDescription (\ s a -> s{_dsgDBSubnetGroupDescription = a});
-
--- | The Amazon Resource Name (ARN) for the DB subnet group.
-dsgDBSubnetGroupARN :: Lens' DBSubnetGroup (Maybe Text)
-dsgDBSubnetGroupARN = lens _dsgDBSubnetGroupARN (\ s a -> s{_dsgDBSubnetGroupARN = a});
-
--- | Provides the status of the DB subnet group.
-dsgSubnetGroupStatus :: Lens' DBSubnetGroup (Maybe Text)
-dsgSubnetGroupStatus = lens _dsgSubnetGroupStatus (\ s a -> s{_dsgSubnetGroupStatus = a});
-
-instance FromXML DBSubnetGroup where
-        parseXML x
-          = DBSubnetGroup' <$>
-              (x .@? "DBSubnetGroupName") <*> (x .@? "VpcId") <*>
-                (x .@? "Subnets" .!@ mempty >>=
-                   may (parseXMLList "Subnet"))
-                <*> (x .@? "DBSubnetGroupDescription")
-                <*> (x .@? "DBSubnetGroupArn")
-                <*> (x .@? "SubnetGroupStatus")
-
-instance Hashable DBSubnetGroup
-
-instance NFData DBSubnetGroup
-
--- | This data type is used as a response element to < DescribeDBLogFiles>.
---
--- /See:/ 'describeDBLogFilesDetails' smart constructor.
-data DescribeDBLogFilesDetails = DescribeDBLogFilesDetails'
-    { _ddlfdLastWritten :: !(Maybe Integer)
-    , _ddlfdSize        :: !(Maybe Integer)
-    , _ddlfdLogFileName :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DescribeDBLogFilesDetails' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ddlfdLastWritten'
---
--- * 'ddlfdSize'
---
--- * 'ddlfdLogFileName'
-describeDBLogFilesDetails
-    :: DescribeDBLogFilesDetails
-describeDBLogFilesDetails =
-    DescribeDBLogFilesDetails'
-    { _ddlfdLastWritten = Nothing
-    , _ddlfdSize = Nothing
-    , _ddlfdLogFileName = Nothing
-    }
-
--- | A POSIX timestamp when the last log entry was written.
-ddlfdLastWritten :: Lens' DescribeDBLogFilesDetails (Maybe Integer)
-ddlfdLastWritten = lens _ddlfdLastWritten (\ s a -> s{_ddlfdLastWritten = a});
-
--- | The size, in bytes, of the log file for the specified DB instance.
-ddlfdSize :: Lens' DescribeDBLogFilesDetails (Maybe Integer)
-ddlfdSize = lens _ddlfdSize (\ s a -> s{_ddlfdSize = a});
-
--- | The name of the log file for the specified DB instance.
-ddlfdLogFileName :: Lens' DescribeDBLogFilesDetails (Maybe Text)
-ddlfdLogFileName = lens _ddlfdLogFileName (\ s a -> s{_ddlfdLogFileName = a});
-
-instance FromXML DescribeDBLogFilesDetails where
-        parseXML x
-          = DescribeDBLogFilesDetails' <$>
-              (x .@? "LastWritten") <*> (x .@? "Size") <*>
-                (x .@? "LogFileName")
-
-instance Hashable DescribeDBLogFilesDetails
-
-instance NFData DescribeDBLogFilesDetails
-
--- | An Active Directory Domain membership record associated with the DB instance.
---
--- /See:/ 'domainMembership' smart constructor.
-data DomainMembership = DomainMembership'
-    { _dmStatus      :: !(Maybe Text)
-    , _dmFQDN        :: !(Maybe Text)
-    , _dmDomain      :: !(Maybe Text)
-    , _dmIAMRoleName :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'DomainMembership' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dmStatus'
---
--- * 'dmFQDN'
---
--- * 'dmDomain'
---
--- * 'dmIAMRoleName'
-domainMembership
-    :: DomainMembership
-domainMembership =
-    DomainMembership'
-    { _dmStatus = Nothing
-    , _dmFQDN = Nothing
-    , _dmDomain = Nothing
-    , _dmIAMRoleName = Nothing
-    }
-
--- | The status of the DB instance\'s Active Directory Domain membership, such as joined, pending-join, failed etc).
-dmStatus :: Lens' DomainMembership (Maybe Text)
-dmStatus = lens _dmStatus (\ s a -> s{_dmStatus = a});
-
--- | The fully qualified domain name of the Active Directory Domain.
-dmFQDN :: Lens' DomainMembership (Maybe Text)
-dmFQDN = lens _dmFQDN (\ s a -> s{_dmFQDN = a});
-
--- | The identifier of the Active Directory Domain.
-dmDomain :: Lens' DomainMembership (Maybe Text)
-dmDomain = lens _dmDomain (\ s a -> s{_dmDomain = a});
-
--- | The name of the IAM role to be used when making API calls to the Directory Service.
-dmIAMRoleName :: Lens' DomainMembership (Maybe Text)
-dmIAMRoleName = lens _dmIAMRoleName (\ s a -> s{_dmIAMRoleName = a});
-
-instance FromXML DomainMembership where
-        parseXML x
-          = DomainMembership' <$>
-              (x .@? "Status") <*> (x .@? "FQDN") <*>
-                (x .@? "Domain")
-                <*> (x .@? "IAMRoleName")
-
-instance Hashable DomainMembership
-
-instance NFData DomainMembership
-
--- | This data type is used as a response element in the following actions:
---
--- -   < AuthorizeDBSecurityGroupIngress>
---
--- -   < DescribeDBSecurityGroups>
---
--- -   < RevokeDBSecurityGroupIngress>
---
---
--- /See:/ 'ec2SecurityGroup' smart constructor.
-data EC2SecurityGroup = EC2SecurityGroup'
-    { _esgStatus                  :: !(Maybe Text)
-    , _esgEC2SecurityGroupOwnerId :: !(Maybe Text)
-    , _esgEC2SecurityGroupName    :: !(Maybe Text)
-    , _esgEC2SecurityGroupId      :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'EC2SecurityGroup' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'esgStatus'
---
--- * 'esgEC2SecurityGroupOwnerId'
---
--- * 'esgEC2SecurityGroupName'
---
--- * 'esgEC2SecurityGroupId'
-ec2SecurityGroup
-    :: EC2SecurityGroup
-ec2SecurityGroup =
-    EC2SecurityGroup'
-    { _esgStatus = Nothing
-    , _esgEC2SecurityGroupOwnerId = Nothing
-    , _esgEC2SecurityGroupName = Nothing
-    , _esgEC2SecurityGroupId = Nothing
-    }
-
--- | Provides the status of the EC2 security group. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".
-esgStatus :: Lens' EC2SecurityGroup (Maybe Text)
-esgStatus = lens _esgStatus (\ s a -> s{_esgStatus = a});
-
--- | Specifies the AWS ID of the owner of the EC2 security group specified in the 'EC2SecurityGroupName' field.
-esgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)
-esgEC2SecurityGroupOwnerId = lens _esgEC2SecurityGroupOwnerId (\ s a -> s{_esgEC2SecurityGroupOwnerId = a});
-
--- | Specifies the name of the EC2 security group.
-esgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)
-esgEC2SecurityGroupName = lens _esgEC2SecurityGroupName (\ s a -> s{_esgEC2SecurityGroupName = a});
-
--- | Specifies the id of the EC2 security group.
-esgEC2SecurityGroupId :: Lens' EC2SecurityGroup (Maybe Text)
-esgEC2SecurityGroupId = lens _esgEC2SecurityGroupId (\ s a -> s{_esgEC2SecurityGroupId = a});
-
-instance FromXML EC2SecurityGroup where
-        parseXML x
-          = EC2SecurityGroup' <$>
-              (x .@? "Status") <*>
-                (x .@? "EC2SecurityGroupOwnerId")
-                <*> (x .@? "EC2SecurityGroupName")
-                <*> (x .@? "EC2SecurityGroupId")
-
-instance Hashable EC2SecurityGroup
-
-instance NFData EC2SecurityGroup
-
--- | This data type is used as a response element in the following actions:
---
--- -   < CreateDBInstance>
---
--- -   < DescribeDBInstances>
---
--- -   < DeleteDBInstance>
---
---
--- /See:/ 'endpoint' smart constructor.
-data Endpoint = Endpoint'
-    { _eHostedZoneId :: !(Maybe Text)
-    , _eAddress      :: !(Maybe Text)
-    , _ePort         :: !(Maybe Int)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Endpoint' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'eHostedZoneId'
---
--- * 'eAddress'
---
--- * 'ePort'
-endpoint
-    :: Endpoint
-endpoint =
-    Endpoint'
-    { _eHostedZoneId = Nothing
-    , _eAddress = Nothing
-    , _ePort = Nothing
-    }
-
--- | Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
-eHostedZoneId :: Lens' Endpoint (Maybe Text)
-eHostedZoneId = lens _eHostedZoneId (\ s a -> s{_eHostedZoneId = a});
-
--- | 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 .@? "HostedZoneId") <*> (x .@? "Address") <*>
-                (x .@? "Port")
-
-instance Hashable Endpoint
-
-instance NFData Endpoint
-
--- | Contains the result of a successful invocation of the < DescribeEngineDefaultParameters> action.
---
--- /See:/ 'engineDefaults' smart constructor.
-data EngineDefaults = EngineDefaults'
-    { _edDBParameterGroupFamily :: !(Maybe Text)
-    , _edMarker                 :: !(Maybe Text)
-    , _edParameters             :: !(Maybe [Parameter])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'EngineDefaults' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'edDBParameterGroupFamily'
---
--- * 'edMarker'
---
--- * 'edParameters'
-engineDefaults
-    :: EngineDefaults
-engineDefaults =
-    EngineDefaults'
-    { _edDBParameterGroupFamily = Nothing
-    , _edMarker = Nothing
-    , _edParameters = Nothing
-    }
-
--- | Specifies the name of the DB parameter group family that 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}) . _Default . _Coerce;
-
-instance FromXML EngineDefaults where
-        parseXML x
-          = EngineDefaults' <$>
-              (x .@? "DBParameterGroupFamily") <*> (x .@? "Marker")
-                <*>
-                (x .@? "Parameters" .!@ mempty >>=
-                   may (parseXMLList "Parameter"))
-
-instance Hashable EngineDefaults
-
-instance NFData EngineDefaults
-
--- | This data type is used as a response element in the < DescribeEvents> action.
---
--- /See:/ 'event' smart constructor.
-data Event = Event'
-    { _eSourceType       :: !(Maybe SourceType)
-    , _eSourceARN        :: !(Maybe Text)
-    , _eSourceIdentifier :: !(Maybe Text)
-    , _eDate             :: !(Maybe ISO8601)
-    , _eEventCategories  :: !(Maybe [Text])
-    , _eMessage          :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Event' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'eSourceType'
---
--- * 'eSourceARN'
---
--- * 'eSourceIdentifier'
---
--- * 'eDate'
---
--- * 'eEventCategories'
---
--- * 'eMessage'
-event
-    :: Event
-event =
-    Event'
-    { _eSourceType = Nothing
-    , _eSourceARN = Nothing
-    , _eSourceIdentifier = Nothing
-    , _eDate = Nothing
-    , _eEventCategories = Nothing
-    , _eMessage = Nothing
-    }
-
--- | Specifies the source type for this event.
-eSourceType :: Lens' Event (Maybe SourceType)
-eSourceType = lens _eSourceType (\ s a -> s{_eSourceType = a});
-
--- | The Amazon Resource Name (ARN) for the event.
-eSourceARN :: Lens' Event (Maybe Text)
-eSourceARN = lens _eSourceARN (\ s a -> s{_eSourceARN = 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 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}) . _Default . _Coerce;
-
--- | Provides the text of this event.
-eMessage :: Lens' Event (Maybe Text)
-eMessage = lens _eMessage (\ s a -> s{_eMessage = a});
-
-instance FromXML Event where
-        parseXML x
-          = Event' <$>
-              (x .@? "SourceType") <*> (x .@? "SourceArn") <*>
-                (x .@? "SourceIdentifier")
-                <*> (x .@? "Date")
-                <*>
-                (x .@? "EventCategories" .!@ mempty >>=
-                   may (parseXMLList "EventCategory"))
-                <*> (x .@? "Message")
-
-instance Hashable Event
-
-instance NFData Event
-
--- | Contains the results of a successful invocation of the < DescribeEventCategories> action.
---
--- /See:/ 'eventCategoriesMap' smart constructor.
-data EventCategoriesMap = EventCategoriesMap'
-    { _ecmSourceType      :: !(Maybe Text)
-    , _ecmEventCategories :: !(Maybe [Text])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'EventCategoriesMap' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ecmSourceType'
---
--- * 'ecmEventCategories'
-eventCategoriesMap
-    :: EventCategoriesMap
-eventCategoriesMap =
-    EventCategoriesMap'
-    { _ecmSourceType = Nothing
-    , _ecmEventCategories = Nothing
-    }
-
--- | The source type that the returned categories belong to
-ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)
-ecmSourceType = lens _ecmSourceType (\ s a -> s{_ecmSourceType = a});
-
--- | The event categories for the specified source type
-ecmEventCategories :: Lens' EventCategoriesMap [Text]
-ecmEventCategories = lens _ecmEventCategories (\ s a -> s{_ecmEventCategories = a}) . _Default . _Coerce;
-
-instance FromXML EventCategoriesMap where
-        parseXML x
-          = EventCategoriesMap' <$>
-              (x .@? "SourceType") <*>
-                (x .@? "EventCategories" .!@ mempty >>=
-                   may (parseXMLList "EventCategory"))
-
-instance Hashable EventCategoriesMap
-
-instance NFData EventCategoriesMap
-
--- | Contains the results of a successful invocation of the < DescribeEventSubscriptions> action.
---
--- /See:/ 'eventSubscription' smart constructor.
-data EventSubscription = EventSubscription'
-    { _esStatus                   :: !(Maybe Text)
-    , _esCustomerAWSId            :: !(Maybe Text)
-    , _esCustSubscriptionId       :: !(Maybe Text)
-    , _esSNSTopicARN              :: !(Maybe Text)
-    , _esEventSubscriptionARN     :: !(Maybe Text)
-    , _esEnabled                  :: !(Maybe Bool)
-    , _esSourceType               :: !(Maybe Text)
-    , _esSubscriptionCreationTime :: !(Maybe Text)
-    , _esEventCategoriesList      :: !(Maybe [Text])
-    , _esSourceIdsList            :: !(Maybe [Text])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'EventSubscription' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'esStatus'
---
--- * 'esCustomerAWSId'
---
--- * 'esCustSubscriptionId'
---
--- * 'esSNSTopicARN'
---
--- * 'esEventSubscriptionARN'
---
--- * 'esEnabled'
---
--- * 'esSourceType'
---
--- * 'esSubscriptionCreationTime'
---
--- * 'esEventCategoriesList'
---
--- * 'esSourceIdsList'
-eventSubscription
-    :: EventSubscription
-eventSubscription =
-    EventSubscription'
-    { _esStatus = Nothing
-    , _esCustomerAWSId = Nothing
-    , _esCustSubscriptionId = Nothing
-    , _esSNSTopicARN = Nothing
-    , _esEventSubscriptionARN = Nothing
-    , _esEnabled = Nothing
-    , _esSourceType = Nothing
-    , _esSubscriptionCreationTime = Nothing
-    , _esEventCategoriesList = Nothing
-    , _esSourceIdsList = Nothing
-    }
-
--- | 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 AWS customer account associated with the RDS event notification subscription.
-esCustomerAWSId :: Lens' EventSubscription (Maybe Text)
-esCustomerAWSId = lens _esCustomerAWSId (\ s a -> s{_esCustomerAWSId = a});
-
--- | The RDS event notification subscription Id.
-esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)
-esCustSubscriptionId = lens _esCustSubscriptionId (\ s a -> s{_esCustSubscriptionId = a});
-
--- | The topic ARN of the RDS event notification subscription.
-esSNSTopicARN :: Lens' EventSubscription (Maybe Text)
-esSNSTopicARN = lens _esSNSTopicARN (\ s a -> s{_esSNSTopicARN = a});
-
--- | The Amazon Resource Name (ARN) for the event subscription.
-esEventSubscriptionARN :: Lens' EventSubscription (Maybe Text)
-esEventSubscriptionARN = lens _esEventSubscriptionARN (\ s a -> s{_esEventSubscriptionARN = 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});
-
--- | The source type for the RDS event notification subscription.
-esSourceType :: Lens' EventSubscription (Maybe Text)
-esSourceType = lens _esSourceType (\ s a -> s{_esSourceType = a});
-
--- | The time the RDS event notification subscription was created.
-esSubscriptionCreationTime :: Lens' EventSubscription (Maybe Text)
-esSubscriptionCreationTime = lens _esSubscriptionCreationTime (\ s a -> s{_esSubscriptionCreationTime = a});
-
--- | A list of event categories for the RDS event notification subscription.
-esEventCategoriesList :: Lens' EventSubscription [Text]
-esEventCategoriesList = lens _esEventCategoriesList (\ s a -> s{_esEventCategoriesList = a}) . _Default . _Coerce;
-
--- | A list of source IDs for the RDS event notification subscription.
-esSourceIdsList :: Lens' EventSubscription [Text]
-esSourceIdsList = lens _esSourceIdsList (\ s a -> s{_esSourceIdsList = a}) . _Default . _Coerce;
-
-instance FromXML EventSubscription where
-        parseXML x
-          = EventSubscription' <$>
-              (x .@? "Status") <*> (x .@? "CustomerAwsId") <*>
-                (x .@? "CustSubscriptionId")
-                <*> (x .@? "SnsTopicArn")
-                <*> (x .@? "EventSubscriptionArn")
-                <*> (x .@? "Enabled")
-                <*> (x .@? "SourceType")
-                <*> (x .@? "SubscriptionCreationTime")
-                <*>
-                (x .@? "EventCategoriesList" .!@ mempty >>=
-                   may (parseXMLList "EventCategory"))
-                <*>
-                (x .@? "SourceIdsList" .!@ mempty >>=
-                   may (parseXMLList "SourceId"))
-
-instance Hashable EventSubscription
-
-instance NFData EventSubscription
-
--- | This type is not currently supported.
---
--- /See:/ 'filter'' smart constructor.
-data Filter = Filter'
-    { _fName   :: !Text
-    , _fValues :: ![Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Filter' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'fName'
---
--- * 'fValues'
-filter'
-    :: Text -- ^ 'fName'
-    -> Filter
-filter' pName_ =
-    Filter'
-    { _fName = pName_
-    , _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}) . _Coerce;
-
-instance Hashable Filter
-
-instance NFData Filter
-
-instance ToQuery Filter where
-        toQuery Filter'{..}
-          = mconcat
-              ["Name" =: _fName,
-               "Values" =: toQueryList "Value" _fValues]
-
--- | This data type is used as a response element in the < DescribeDBSecurityGroups> action.
---
--- /See:/ 'ipRange' smart constructor.
-data IPRange = IPRange'
-    { _irStatus :: !(Maybe Text)
-    , _irCIdRIP :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'IPRange' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'irStatus'
---
--- * 'irCIdRIP'
-ipRange
-    :: IPRange
-ipRange =
-    IPRange'
-    { _irStatus = Nothing
-    , _irCIdRIP = Nothing
-    }
-
--- | Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".
-irStatus :: Lens' IPRange (Maybe Text)
-irStatus = lens _irStatus (\ s a -> s{_irStatus = a});
-
--- | Specifies the IP range.
-irCIdRIP :: Lens' IPRange (Maybe Text)
-irCIdRIP = lens _irCIdRIP (\ s a -> s{_irCIdRIP = a});
-
-instance FromXML IPRange where
-        parseXML x
-          = IPRange' <$> (x .@? "Status") <*> (x .@? "CIDRIP")
-
-instance Hashable IPRange
-
-instance NFData IPRange
-
--- | Option details.
---
--- /See:/ 'option' smart constructor.
-data Option = Option'
-    { _oOptionName                  :: !(Maybe Text)
-    , _oPermanent                   :: !(Maybe Bool)
-    , _oPersistent                  :: !(Maybe Bool)
-    , _oOptionDescription           :: !(Maybe Text)
-    , _oOptionSettings              :: !(Maybe [OptionSetting])
-    , _oVPCSecurityGroupMemberships :: !(Maybe [VPCSecurityGroupMembership])
-    , _oDBSecurityGroupMemberships  :: !(Maybe [DBSecurityGroupMembership])
-    , _oOptionVersion               :: !(Maybe Text)
-    , _oPort                        :: !(Maybe Int)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Option' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'oOptionName'
---
--- * 'oPermanent'
---
--- * 'oPersistent'
---
--- * 'oOptionDescription'
---
--- * 'oOptionSettings'
---
--- * 'oVPCSecurityGroupMemberships'
---
--- * 'oDBSecurityGroupMemberships'
---
--- * 'oOptionVersion'
---
--- * 'oPort'
-option
-    :: Option
-option =
-    Option'
-    { _oOptionName = Nothing
-    , _oPermanent = Nothing
-    , _oPersistent = Nothing
-    , _oOptionDescription = Nothing
-    , _oOptionSettings = Nothing
-    , _oVPCSecurityGroupMemberships = Nothing
-    , _oDBSecurityGroupMemberships = Nothing
-    , _oOptionVersion = Nothing
-    , _oPort = Nothing
-    }
-
--- | The name of the option.
-oOptionName :: Lens' Option (Maybe Text)
-oOptionName = lens _oOptionName (\ s a -> s{_oOptionName = a});
-
--- | 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});
-
--- | The description of the option.
-oOptionDescription :: Lens' Option (Maybe Text)
-oOptionDescription = lens _oOptionDescription (\ s a -> s{_oOptionDescription = a});
-
--- | The option settings for this option.
-oOptionSettings :: Lens' Option [OptionSetting]
-oOptionSettings = lens _oOptionSettings (\ s a -> s{_oOptionSettings = a}) . _Default . _Coerce;
-
--- | 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}) . _Default . _Coerce;
-
--- | 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}) . _Default . _Coerce;
-
--- | The version of the option.
-oOptionVersion :: Lens' Option (Maybe Text)
-oOptionVersion = lens _oOptionVersion (\ s a -> s{_oOptionVersion = a});
-
--- | If required, the port configured for this option to use.
-oPort :: Lens' Option (Maybe Int)
-oPort = lens _oPort (\ s a -> s{_oPort = a});
-
-instance FromXML Option where
-        parseXML x
-          = Option' <$>
-              (x .@? "OptionName") <*> (x .@? "Permanent") <*>
-                (x .@? "Persistent")
-                <*> (x .@? "OptionDescription")
-                <*>
-                (x .@? "OptionSettings" .!@ mempty >>=
-                   may (parseXMLList "OptionSetting"))
-                <*>
-                (x .@? "VpcSecurityGroupMemberships" .!@ mempty >>=
-                   may (parseXMLList "VpcSecurityGroupMembership"))
-                <*>
-                (x .@? "DBSecurityGroupMemberships" .!@ mempty >>=
-                   may (parseXMLList "DBSecurityGroup"))
-                <*> (x .@? "OptionVersion")
-                <*> (x .@? "Port")
-
-instance Hashable Option
-
-instance NFData Option
-
--- | A list of all available options
---
--- /See:/ 'optionConfiguration' smart constructor.
-data OptionConfiguration = OptionConfiguration'
-    { _ocOptionSettings              :: !(Maybe [OptionSetting])
-    , _ocVPCSecurityGroupMemberships :: !(Maybe [Text])
-    , _ocDBSecurityGroupMemberships  :: !(Maybe [Text])
-    , _ocOptionVersion               :: !(Maybe Text)
-    , _ocPort                        :: !(Maybe Int)
-    , _ocOptionName                  :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OptionConfiguration' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ocOptionSettings'
---
--- * 'ocVPCSecurityGroupMemberships'
---
--- * 'ocDBSecurityGroupMemberships'
---
--- * 'ocOptionVersion'
---
--- * 'ocPort'
---
--- * 'ocOptionName'
-optionConfiguration
-    :: Text -- ^ 'ocOptionName'
-    -> OptionConfiguration
-optionConfiguration pOptionName_ =
-    OptionConfiguration'
-    { _ocOptionSettings = Nothing
-    , _ocVPCSecurityGroupMemberships = Nothing
-    , _ocDBSecurityGroupMemberships = Nothing
-    , _ocOptionVersion = Nothing
-    , _ocPort = Nothing
-    , _ocOptionName = pOptionName_
-    }
-
--- | The option settings to include in an option group.
-ocOptionSettings :: Lens' OptionConfiguration [OptionSetting]
-ocOptionSettings = lens _ocOptionSettings (\ s a -> s{_ocOptionSettings = a}) . _Default . _Coerce;
-
--- | A list of VpcSecurityGroupMemebrship name strings used for this option.
-ocVPCSecurityGroupMemberships :: Lens' OptionConfiguration [Text]
-ocVPCSecurityGroupMemberships = lens _ocVPCSecurityGroupMemberships (\ s a -> s{_ocVPCSecurityGroupMemberships = a}) . _Default . _Coerce;
-
--- | A list of DBSecurityGroupMemebrship name strings used for this option.
-ocDBSecurityGroupMemberships :: Lens' OptionConfiguration [Text]
-ocDBSecurityGroupMemberships = lens _ocDBSecurityGroupMemberships (\ s a -> s{_ocDBSecurityGroupMemberships = a}) . _Default . _Coerce;
-
--- | The version for the option.
-ocOptionVersion :: Lens' OptionConfiguration (Maybe Text)
-ocOptionVersion = lens _ocOptionVersion (\ s a -> s{_ocOptionVersion = a});
-
--- | The optional port for the option.
-ocPort :: Lens' OptionConfiguration (Maybe Int)
-ocPort = lens _ocPort (\ s a -> s{_ocPort = a});
-
--- | The configuration of options to include in a group.
-ocOptionName :: Lens' OptionConfiguration Text
-ocOptionName = lens _ocOptionName (\ s a -> s{_ocOptionName = a});
-
-instance Hashable OptionConfiguration
-
-instance NFData OptionConfiguration
-
-instance ToQuery OptionConfiguration where
-        toQuery OptionConfiguration'{..}
-          = mconcat
-              ["OptionSettings" =:
-                 toQuery
-                   (toQueryList "OptionSetting" <$> _ocOptionSettings),
-               "VpcSecurityGroupMemberships" =:
-                 toQuery
-                   (toQueryList "VpcSecurityGroupId" <$>
-                      _ocVPCSecurityGroupMemberships),
-               "DBSecurityGroupMemberships" =:
-                 toQuery
-                   (toQueryList "DBSecurityGroupName" <$>
-                      _ocDBSecurityGroupMemberships),
-               "OptionVersion" =: _ocOptionVersion,
-               "Port" =: _ocPort, "OptionName" =: _ocOptionName]
-
--- |
---
--- /See:/ 'optionGroup' smart constructor.
-data OptionGroup = OptionGroup'
-    { _ogOptionGroupDescription                :: !(Maybe Text)
-    , _ogVPCId                                 :: !(Maybe Text)
-    , _ogAllowsVPCAndNonVPCInstanceMemberships :: !(Maybe Bool)
-    , _ogEngineName                            :: !(Maybe Text)
-    , _ogOptionGroupARN                        :: !(Maybe Text)
-    , _ogMajorEngineVersion                    :: !(Maybe Text)
-    , _ogOptions                               :: !(Maybe [Option])
-    , _ogOptionGroupName                       :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OptionGroup' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ogOptionGroupDescription'
---
--- * 'ogVPCId'
---
--- * 'ogAllowsVPCAndNonVPCInstanceMemberships'
---
--- * 'ogEngineName'
---
--- * 'ogOptionGroupARN'
---
--- * 'ogMajorEngineVersion'
---
--- * 'ogOptions'
---
--- * 'ogOptionGroupName'
-optionGroup
-    :: OptionGroup
-optionGroup =
-    OptionGroup'
-    { _ogOptionGroupDescription = Nothing
-    , _ogVPCId = Nothing
-    , _ogAllowsVPCAndNonVPCInstanceMemberships = Nothing
-    , _ogEngineName = Nothing
-    , _ogOptionGroupARN = Nothing
-    , _ogMajorEngineVersion = Nothing
-    , _ogOptions = Nothing
-    , _ogOptionGroupName = Nothing
-    }
-
--- | Provides a description of the option group.
-ogOptionGroupDescription :: Lens' OptionGroup (Maybe Text)
-ogOptionGroupDescription = lens _ogOptionGroupDescription (\ s a -> s{_ogOptionGroupDescription = a});
-
--- | 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});
-
--- | 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});
-
--- | Indicates the name of the engine that this option group can be applied to.
-ogEngineName :: Lens' OptionGroup (Maybe Text)
-ogEngineName = lens _ogEngineName (\ s a -> s{_ogEngineName = a});
-
--- | The Amazon Resource Name (ARN) for the option group.
-ogOptionGroupARN :: Lens' OptionGroup (Maybe Text)
-ogOptionGroupARN = lens _ogOptionGroupARN (\ s a -> s{_ogOptionGroupARN = a});
-
--- | Indicates the major engine version associated with this option group.
-ogMajorEngineVersion :: Lens' OptionGroup (Maybe Text)
-ogMajorEngineVersion = lens _ogMajorEngineVersion (\ s a -> s{_ogMajorEngineVersion = a});
-
--- | Indicates what options are available in the option group.
-ogOptions :: Lens' OptionGroup [Option]
-ogOptions = lens _ogOptions (\ s a -> s{_ogOptions = a}) . _Default . _Coerce;
-
--- | Specifies the name of the option group.
-ogOptionGroupName :: Lens' OptionGroup (Maybe Text)
-ogOptionGroupName = lens _ogOptionGroupName (\ s a -> s{_ogOptionGroupName = a});
-
-instance FromXML OptionGroup where
-        parseXML x
-          = OptionGroup' <$>
-              (x .@? "OptionGroupDescription") <*> (x .@? "VpcId")
-                <*> (x .@? "AllowsVpcAndNonVpcInstanceMemberships")
-                <*> (x .@? "EngineName")
-                <*> (x .@? "OptionGroupArn")
-                <*> (x .@? "MajorEngineVersion")
-                <*>
-                (x .@? "Options" .!@ mempty >>=
-                   may (parseXMLList "Option"))
-                <*> (x .@? "OptionGroupName")
-
-instance Hashable OptionGroup
-
-instance NFData OptionGroup
-
--- | Provides information on the option groups the DB instance is a member of.
---
--- /See:/ 'optionGroupMembership' smart constructor.
-data OptionGroupMembership = OptionGroupMembership'
-    { _ogmStatus          :: !(Maybe Text)
-    , _ogmOptionGroupName :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OptionGroupMembership' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ogmStatus'
---
--- * 'ogmOptionGroupName'
-optionGroupMembership
-    :: OptionGroupMembership
-optionGroupMembership =
-    OptionGroupMembership'
-    { _ogmStatus = Nothing
-    , _ogmOptionGroupName = Nothing
-    }
-
--- | The status of the DB instance\'s option group membership. Valid values are: 'in-sync', 'pending-apply', 'pending-removal', 'pending-maintenance-apply', 'pending-maintenance-removal', 'applying', 'removing', and 'failed'.
-ogmStatus :: Lens' OptionGroupMembership (Maybe Text)
-ogmStatus = lens _ogmStatus (\ s a -> s{_ogmStatus = a});
-
--- | The name of the option group that the instance belongs to.
-ogmOptionGroupName :: Lens' OptionGroupMembership (Maybe Text)
-ogmOptionGroupName = lens _ogmOptionGroupName (\ s a -> s{_ogmOptionGroupName = a});
-
-instance FromXML OptionGroupMembership where
-        parseXML x
-          = OptionGroupMembership' <$>
-              (x .@? "Status") <*> (x .@? "OptionGroupName")
-
-instance Hashable OptionGroupMembership
-
-instance NFData OptionGroupMembership
-
--- | Available option.
---
--- /See:/ 'optionGroupOption' smart constructor.
-data OptionGroupOption = OptionGroupOption'
-    { _ogoMinimumRequiredMinorEngineVersion :: !(Maybe Text)
-    , _ogoOptionsConflictsWith              :: !(Maybe [Text])
-    , _ogoPermanent                         :: !(Maybe Bool)
-    , _ogoPersistent                        :: !(Maybe Bool)
-    , _ogoOptionGroupOptionVersions         :: !(Maybe [OptionVersion])
-    , _ogoEngineName                        :: !(Maybe Text)
-    , _ogoMajorEngineVersion                :: !(Maybe Text)
-    , _ogoName                              :: !(Maybe Text)
-    , _ogoDefaultPort                       :: !(Maybe Int)
-    , _ogoOptionGroupOptionSettings         :: !(Maybe [OptionGroupOptionSetting])
-    , _ogoPortRequired                      :: !(Maybe Bool)
-    , _ogoDescription                       :: !(Maybe Text)
-    , _ogoOptionsDependedOn                 :: !(Maybe [Text])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OptionGroupOption' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ogoMinimumRequiredMinorEngineVersion'
---
--- * 'ogoOptionsConflictsWith'
---
--- * 'ogoPermanent'
---
--- * 'ogoPersistent'
---
--- * 'ogoOptionGroupOptionVersions'
---
--- * 'ogoEngineName'
---
--- * 'ogoMajorEngineVersion'
---
--- * 'ogoName'
---
--- * 'ogoDefaultPort'
---
--- * 'ogoOptionGroupOptionSettings'
---
--- * 'ogoPortRequired'
---
--- * 'ogoDescription'
---
--- * 'ogoOptionsDependedOn'
-optionGroupOption
-    :: OptionGroupOption
-optionGroupOption =
-    OptionGroupOption'
-    { _ogoMinimumRequiredMinorEngineVersion = Nothing
-    , _ogoOptionsConflictsWith = Nothing
-    , _ogoPermanent = Nothing
-    , _ogoPersistent = Nothing
-    , _ogoOptionGroupOptionVersions = Nothing
-    , _ogoEngineName = Nothing
-    , _ogoMajorEngineVersion = Nothing
-    , _ogoName = Nothing
-    , _ogoDefaultPort = Nothing
-    , _ogoOptionGroupOptionSettings = Nothing
-    , _ogoPortRequired = Nothing
-    , _ogoDescription = Nothing
-    , _ogoOptionsDependedOn = Nothing
-    }
-
--- | 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 options that conflict with this option.
-ogoOptionsConflictsWith :: Lens' OptionGroupOption [Text]
-ogoOptionsConflictsWith = lens _ogoOptionsConflictsWith (\ s a -> s{_ogoOptionsConflictsWith = a}) . _Default . _Coerce;
-
--- | Permanent options can never be removed from an option group. An option group containing a permanent option can\'t be removed from a DB instance.
-ogoPermanent :: Lens' OptionGroupOption (Maybe Bool)
-ogoPermanent = lens _ogoPermanent (\ s a -> s{_ogoPermanent = a});
-
--- | Persistent options can\'t be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.
-ogoPersistent :: Lens' OptionGroupOption (Maybe Bool)
-ogoPersistent = lens _ogoPersistent (\ s a -> s{_ogoPersistent = a});
-
--- | The versions that are available for the option.
-ogoOptionGroupOptionVersions :: Lens' OptionGroupOption [OptionVersion]
-ogoOptionGroupOptionVersions = lens _ogoOptionGroupOptionVersions (\ s a -> s{_ogoOptionGroupOptionVersions = a}) . _Default . _Coerce;
-
--- | The name of the engine 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 name of the option.
-ogoName :: Lens' OptionGroupOption (Maybe Text)
-ogoName = lens _ogoName (\ s a -> s{_ogoName = a});
-
--- | 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 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}) . _Default . _Coerce;
-
--- | Specifies whether the option requires a port.
-ogoPortRequired :: Lens' OptionGroupOption (Maybe Bool)
-ogoPortRequired = lens _ogoPortRequired (\ s a -> s{_ogoPortRequired = a});
-
--- | The description of the option.
-ogoDescription :: Lens' OptionGroupOption (Maybe Text)
-ogoDescription = lens _ogoDescription (\ s a -> s{_ogoDescription = a});
-
--- | The options that are prerequisites for this option.
-ogoOptionsDependedOn :: Lens' OptionGroupOption [Text]
-ogoOptionsDependedOn = lens _ogoOptionsDependedOn (\ s a -> s{_ogoOptionsDependedOn = a}) . _Default . _Coerce;
-
-instance FromXML OptionGroupOption where
-        parseXML x
-          = OptionGroupOption' <$>
-              (x .@? "MinimumRequiredMinorEngineVersion") <*>
-                (x .@? "OptionsConflictsWith" .!@ mempty >>=
-                   may (parseXMLList "OptionConflictName"))
-                <*> (x .@? "Permanent")
-                <*> (x .@? "Persistent")
-                <*>
-                (x .@? "OptionGroupOptionVersions" .!@ mempty >>=
-                   may (parseXMLList "OptionVersion"))
-                <*> (x .@? "EngineName")
-                <*> (x .@? "MajorEngineVersion")
-                <*> (x .@? "Name")
-                <*> (x .@? "DefaultPort")
-                <*>
-                (x .@? "OptionGroupOptionSettings" .!@ mempty >>=
-                   may (parseXMLList "OptionGroupOptionSetting"))
-                <*> (x .@? "PortRequired")
-                <*> (x .@? "Description")
-                <*>
-                (x .@? "OptionsDependedOn" .!@ mempty >>=
-                   may (parseXMLList "OptionName"))
-
-instance Hashable OptionGroupOption
-
-instance NFData OptionGroupOption
-
--- | Option group option settings are used to display settings available for each option with their default values and other information. These values are used with the DescribeOptionGroupOptions action.
---
--- /See:/ 'optionGroupOptionSetting' smart constructor.
-data OptionGroupOptionSetting = OptionGroupOptionSetting'
-    { _ogosApplyType          :: !(Maybe Text)
-    , _ogosSettingName        :: !(Maybe Text)
-    , _ogosDefaultValue       :: !(Maybe Text)
-    , _ogosIsModifiable       :: !(Maybe Bool)
-    , _ogosSettingDescription :: !(Maybe Text)
-    , _ogosAllowedValues      :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OptionGroupOptionSetting' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ogosApplyType'
---
--- * 'ogosSettingName'
---
--- * 'ogosDefaultValue'
---
--- * 'ogosIsModifiable'
---
--- * 'ogosSettingDescription'
---
--- * 'ogosAllowedValues'
-optionGroupOptionSetting
-    :: OptionGroupOptionSetting
-optionGroupOptionSetting =
-    OptionGroupOptionSetting'
-    { _ogosApplyType = Nothing
-    , _ogosSettingName = Nothing
-    , _ogosDefaultValue = Nothing
-    , _ogosIsModifiable = Nothing
-    , _ogosSettingDescription = Nothing
-    , _ogosAllowedValues = Nothing
-    }
-
--- | 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 name of the option group option.
-ogosSettingName :: Lens' OptionGroupOptionSetting (Maybe Text)
-ogosSettingName = lens _ogosSettingName (\ s a -> s{_ogosSettingName = 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});
-
--- | Indicates the acceptable values for the option group option.
-ogosAllowedValues :: Lens' OptionGroupOptionSetting (Maybe Text)
-ogosAllowedValues = lens _ogosAllowedValues (\ s a -> s{_ogosAllowedValues = a});
-
-instance FromXML OptionGroupOptionSetting where
-        parseXML x
-          = OptionGroupOptionSetting' <$>
-              (x .@? "ApplyType") <*> (x .@? "SettingName") <*>
-                (x .@? "DefaultValue")
-                <*> (x .@? "IsModifiable")
-                <*> (x .@? "SettingDescription")
-                <*> (x .@? "AllowedValues")
-
-instance Hashable OptionGroupOptionSetting
-
-instance NFData OptionGroupOptionSetting
-
--- | Option settings are the actual settings being applied or configured for that option. It is used when you modify an option group or describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER that can have several different values.
---
--- /See:/ 'optionSetting' smart constructor.
-data OptionSetting = OptionSetting'
-    { _osIsCollection  :: !(Maybe Bool)
-    , _osApplyType     :: !(Maybe Text)
-    , _osValue         :: !(Maybe Text)
-    , _osName          :: !(Maybe Text)
-    , _osDefaultValue  :: !(Maybe Text)
-    , _osIsModifiable  :: !(Maybe Bool)
-    , _osDataType      :: !(Maybe Text)
-    , _osAllowedValues :: !(Maybe Text)
-    , _osDescription   :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OptionSetting' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'osIsCollection'
---
--- * 'osApplyType'
---
--- * 'osValue'
---
--- * 'osName'
---
--- * 'osDefaultValue'
---
--- * 'osIsModifiable'
---
--- * 'osDataType'
---
--- * 'osAllowedValues'
---
--- * 'osDescription'
-optionSetting
-    :: OptionSetting
-optionSetting =
-    OptionSetting'
-    { _osIsCollection = Nothing
-    , _osApplyType = Nothing
-    , _osValue = Nothing
-    , _osName = Nothing
-    , _osDefaultValue = Nothing
-    , _osIsModifiable = Nothing
-    , _osDataType = Nothing
-    , _osAllowedValues = Nothing
-    , _osDescription = Nothing
-    }
-
--- | Indicates if the option setting is part of a collection.
-osIsCollection :: Lens' OptionSetting (Maybe Bool)
-osIsCollection = lens _osIsCollection (\ s a -> s{_osIsCollection = a});
-
--- | The DB engine specific parameter type.
-osApplyType :: Lens' OptionSetting (Maybe Text)
-osApplyType = lens _osApplyType (\ s a -> s{_osApplyType = a});
-
--- | The current value of the option setting.
-osValue :: Lens' OptionSetting (Maybe Text)
-osValue = lens _osValue (\ s a -> s{_osValue = 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 default value of the option setting.
-osDefaultValue :: Lens' OptionSetting (Maybe Text)
-osDefaultValue = lens _osDefaultValue (\ s a -> s{_osDefaultValue = 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 data type of the option setting.
-osDataType :: Lens' OptionSetting (Maybe Text)
-osDataType = lens _osDataType (\ s a -> s{_osDataType = a});
-
--- | The allowed values of the option setting.
-osAllowedValues :: Lens' OptionSetting (Maybe Text)
-osAllowedValues = lens _osAllowedValues (\ s a -> s{_osAllowedValues = a});
-
--- | The description of the option setting.
-osDescription :: Lens' OptionSetting (Maybe Text)
-osDescription = lens _osDescription (\ s a -> s{_osDescription = a});
-
-instance FromXML OptionSetting where
-        parseXML x
-          = OptionSetting' <$>
-              (x .@? "IsCollection") <*> (x .@? "ApplyType") <*>
-                (x .@? "Value")
-                <*> (x .@? "Name")
-                <*> (x .@? "DefaultValue")
-                <*> (x .@? "IsModifiable")
-                <*> (x .@? "DataType")
-                <*> (x .@? "AllowedValues")
-                <*> (x .@? "Description")
-
-instance Hashable OptionSetting
-
-instance NFData OptionSetting
-
-instance ToQuery OptionSetting where
-        toQuery OptionSetting'{..}
-          = mconcat
-              ["IsCollection" =: _osIsCollection,
-               "ApplyType" =: _osApplyType, "Value" =: _osValue,
-               "Name" =: _osName, "DefaultValue" =: _osDefaultValue,
-               "IsModifiable" =: _osIsModifiable,
-               "DataType" =: _osDataType,
-               "AllowedValues" =: _osAllowedValues,
-               "Description" =: _osDescription]
-
--- | The version for an option. Option group option versions are returned by the < DescribeOptionGroupOptions> action.
---
--- /See:/ 'optionVersion' smart constructor.
-data OptionVersion = OptionVersion'
-    { _ovVersion   :: !(Maybe Text)
-    , _ovIsDefault :: !(Maybe Bool)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OptionVersion' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ovVersion'
---
--- * 'ovIsDefault'
-optionVersion
-    :: OptionVersion
-optionVersion =
-    OptionVersion'
-    { _ovVersion = Nothing
-    , _ovIsDefault = Nothing
-    }
-
--- | The version of the option.
-ovVersion :: Lens' OptionVersion (Maybe Text)
-ovVersion = lens _ovVersion (\ s a -> s{_ovVersion = a});
-
--- | True if the version is the default version of the option; otherwise, false.
-ovIsDefault :: Lens' OptionVersion (Maybe Bool)
-ovIsDefault = lens _ovIsDefault (\ s a -> s{_ovIsDefault = a});
-
-instance FromXML OptionVersion where
-        parseXML x
-          = OptionVersion' <$>
-              (x .@? "Version") <*> (x .@? "IsDefault")
-
-instance Hashable OptionVersion
-
-instance NFData OptionVersion
-
--- | Contains a list of available options for a DB instance
---
--- This data type is used as a response element in the < DescribeOrderableDBInstanceOptions> action.
---
--- /See:/ 'orderableDBInstanceOption' smart constructor.
-data OrderableDBInstanceOption = OrderableDBInstanceOption'
-    { _odioEngineVersion              :: !(Maybe Text)
-    , _odioMultiAZCapable             :: !(Maybe Bool)
-    , _odioEngine                     :: !(Maybe Text)
-    , _odioSupportsIOPS               :: !(Maybe Bool)
-    , _odioDBInstanceClass            :: !(Maybe Text)
-    , _odioLicenseModel               :: !(Maybe Text)
-    , _odioAvailabilityZones          :: !(Maybe [AvailabilityZone])
-    , _odioSupportsStorageEncryption  :: !(Maybe Bool)
-    , _odioReadReplicaCapable         :: !(Maybe Bool)
-    , _odioVPC                        :: !(Maybe Bool)
-    , _odioSupportsEnhancedMonitoring :: !(Maybe Bool)
-    , _odioStorageType                :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'OrderableDBInstanceOption' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'odioEngineVersion'
---
--- * 'odioMultiAZCapable'
---
--- * 'odioEngine'
---
--- * 'odioSupportsIOPS'
---
--- * 'odioDBInstanceClass'
---
--- * 'odioLicenseModel'
---
--- * 'odioAvailabilityZones'
---
--- * 'odioSupportsStorageEncryption'
---
--- * 'odioReadReplicaCapable'
---
--- * 'odioVPC'
---
--- * 'odioSupportsEnhancedMonitoring'
---
--- * 'odioStorageType'
-orderableDBInstanceOption
-    :: OrderableDBInstanceOption
-orderableDBInstanceOption =
-    OrderableDBInstanceOption'
-    { _odioEngineVersion = Nothing
-    , _odioMultiAZCapable = Nothing
-    , _odioEngine = Nothing
-    , _odioSupportsIOPS = Nothing
-    , _odioDBInstanceClass = Nothing
-    , _odioLicenseModel = Nothing
-    , _odioAvailabilityZones = Nothing
-    , _odioSupportsStorageEncryption = Nothing
-    , _odioReadReplicaCapable = Nothing
-    , _odioVPC = Nothing
-    , _odioSupportsEnhancedMonitoring = Nothing
-    , _odioStorageType = Nothing
-    }
-
--- | The engine version of the orderable DB instance.
-odioEngineVersion :: Lens' OrderableDBInstanceOption (Maybe Text)
-odioEngineVersion = lens _odioEngineVersion (\ s a -> s{_odioEngineVersion = a});
-
--- | Indicates whether this orderable DB instance is multi-AZ capable.
-odioMultiAZCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)
-odioMultiAZCapable = lens _odioMultiAZCapable (\ s a -> s{_odioMultiAZCapable = a});
-
--- | The engine type of the orderable DB instance.
-odioEngine :: Lens' OrderableDBInstanceOption (Maybe Text)
-odioEngine = lens _odioEngine (\ s a -> s{_odioEngine = a});
-
--- | Indicates whether this orderable DB instance supports provisioned IOPS.
-odioSupportsIOPS :: Lens' OrderableDBInstanceOption (Maybe Bool)
-odioSupportsIOPS = lens _odioSupportsIOPS (\ s a -> s{_odioSupportsIOPS = a});
-
--- | The DB instance class for the orderable DB instance.
-odioDBInstanceClass :: Lens' OrderableDBInstanceOption (Maybe Text)
-odioDBInstanceClass = lens _odioDBInstanceClass (\ s a -> s{_odioDBInstanceClass = a});
-
--- | The license model for the orderable DB instance.
-odioLicenseModel :: Lens' OrderableDBInstanceOption (Maybe Text)
-odioLicenseModel = lens _odioLicenseModel (\ s a -> s{_odioLicenseModel = a});
-
--- | A list of Availability Zones for the orderable DB instance.
-odioAvailabilityZones :: Lens' OrderableDBInstanceOption [AvailabilityZone]
-odioAvailabilityZones = lens _odioAvailabilityZones (\ s a -> s{_odioAvailabilityZones = a}) . _Default . _Coerce;
-
--- | Indicates whether this orderable DB instance supports encrypted storage.
-odioSupportsStorageEncryption :: Lens' OrderableDBInstanceOption (Maybe Bool)
-odioSupportsStorageEncryption = lens _odioSupportsStorageEncryption (\ s a -> s{_odioSupportsStorageEncryption = a});
-
--- | Indicates whether this orderable DB instance can have a Read Replica.
-odioReadReplicaCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)
-odioReadReplicaCapable = lens _odioReadReplicaCapable (\ s a -> s{_odioReadReplicaCapable = a});
-
--- | Indicates whether this is a VPC orderable DB instance.
-odioVPC :: Lens' OrderableDBInstanceOption (Maybe Bool)
-odioVPC = lens _odioVPC (\ s a -> s{_odioVPC = a});
-
--- | Indicates whether the DB instance supports enhanced monitoring at intervals from 1 to 60 seconds.
-odioSupportsEnhancedMonitoring :: Lens' OrderableDBInstanceOption (Maybe Bool)
-odioSupportsEnhancedMonitoring = lens _odioSupportsEnhancedMonitoring (\ s a -> s{_odioSupportsEnhancedMonitoring = a});
-
--- | Indicates the storage type for this orderable DB instance.
-odioStorageType :: Lens' OrderableDBInstanceOption (Maybe Text)
-odioStorageType = lens _odioStorageType (\ s a -> s{_odioStorageType = a});
-
-instance FromXML OrderableDBInstanceOption where
-        parseXML x
-          = OrderableDBInstanceOption' <$>
-              (x .@? "EngineVersion") <*> (x .@? "MultiAZCapable")
-                <*> (x .@? "Engine")
-                <*> (x .@? "SupportsIops")
-                <*> (x .@? "DBInstanceClass")
-                <*> (x .@? "LicenseModel")
-                <*>
-                (x .@? "AvailabilityZones" .!@ mempty >>=
-                   may (parseXMLList "AvailabilityZone"))
-                <*> (x .@? "SupportsStorageEncryption")
-                <*> (x .@? "ReadReplicaCapable")
-                <*> (x .@? "Vpc")
-                <*> (x .@? "SupportsEnhancedMonitoring")
-                <*> (x .@? "StorageType")
-
-instance Hashable OrderableDBInstanceOption
-
-instance NFData OrderableDBInstanceOption
-
--- | This data type is used as a request parameter in the < ModifyDBParameterGroup> and < ResetDBParameterGroup> actions.
---
--- This data type is used as a response element in the < DescribeEngineDefaultParameters> and < DescribeDBParameters> actions.
---
--- /See:/ 'parameter' smart constructor.
-data Parameter = Parameter'
-    { _pApplyType            :: !(Maybe Text)
-    , _pParameterValue       :: !(Maybe Text)
-    , _pApplyMethod          :: !(Maybe ApplyMethod)
-    , _pMinimumEngineVersion :: !(Maybe Text)
-    , _pSource               :: !(Maybe Text)
-    , _pIsModifiable         :: !(Maybe Bool)
-    , _pDataType             :: !(Maybe Text)
-    , _pAllowedValues        :: !(Maybe Text)
-    , _pParameterName        :: !(Maybe Text)
-    , _pDescription          :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Parameter' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'pApplyType'
---
--- * 'pParameterValue'
---
--- * 'pApplyMethod'
---
--- * 'pMinimumEngineVersion'
---
--- * 'pSource'
---
--- * 'pIsModifiable'
---
--- * 'pDataType'
---
--- * 'pAllowedValues'
---
--- * 'pParameterName'
---
--- * 'pDescription'
-parameter
-    :: Parameter
-parameter =
-    Parameter'
-    { _pApplyType = Nothing
-    , _pParameterValue = Nothing
-    , _pApplyMethod = Nothing
-    , _pMinimumEngineVersion = Nothing
-    , _pSource = Nothing
-    , _pIsModifiable = Nothing
-    , _pDataType = Nothing
-    , _pAllowedValues = Nothing
-    , _pParameterName = Nothing
-    , _pDescription = Nothing
-    }
-
--- | Specifies the engine specific parameters type.
-pApplyType :: Lens' Parameter (Maybe Text)
-pApplyType = lens _pApplyType (\ s a -> s{_pApplyType = a});
-
--- | Specifies the value of the parameter.
-pParameterValue :: Lens' Parameter (Maybe Text)
-pParameterValue = lens _pParameterValue (\ s a -> s{_pParameterValue = a});
-
--- | Indicates when to apply parameter updates.
-pApplyMethod :: Lens' Parameter (Maybe ApplyMethod)
-pApplyMethod = lens _pApplyMethod (\ s a -> s{_pApplyMethod = a});
-
--- | The earliest engine version to which the parameter can apply.
-pMinimumEngineVersion :: Lens' Parameter (Maybe Text)
-pMinimumEngineVersion = lens _pMinimumEngineVersion (\ s a -> s{_pMinimumEngineVersion = a});
-
--- | Indicates the source of the parameter value.
-pSource :: Lens' Parameter (Maybe Text)
-pSource = lens _pSource (\ s a -> s{_pSource = 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});
-
--- | Specifies the valid data type for the parameter.
-pDataType :: Lens' Parameter (Maybe Text)
-pDataType = lens _pDataType (\ s a -> s{_pDataType = a});
-
--- | Specifies the valid range of values for the parameter.
-pAllowedValues :: Lens' Parameter (Maybe Text)
-pAllowedValues = lens _pAllowedValues (\ s a -> s{_pAllowedValues = a});
-
--- | Specifies the name of the parameter.
-pParameterName :: Lens' Parameter (Maybe Text)
-pParameterName = lens _pParameterName (\ s a -> s{_pParameterName = a});
-
--- | Provides a description of the parameter.
-pDescription :: Lens' Parameter (Maybe Text)
-pDescription = lens _pDescription (\ s a -> s{_pDescription = a});
-
-instance FromXML Parameter where
-        parseXML x
-          = Parameter' <$>
-              (x .@? "ApplyType") <*> (x .@? "ParameterValue") <*>
-                (x .@? "ApplyMethod")
-                <*> (x .@? "MinimumEngineVersion")
-                <*> (x .@? "Source")
-                <*> (x .@? "IsModifiable")
-                <*> (x .@? "DataType")
-                <*> (x .@? "AllowedValues")
-                <*> (x .@? "ParameterName")
-                <*> (x .@? "Description")
-
-instance Hashable Parameter
-
-instance NFData Parameter
-
-instance ToQuery Parameter where
-        toQuery Parameter'{..}
-          = mconcat
-              ["ApplyType" =: _pApplyType,
-               "ParameterValue" =: _pParameterValue,
-               "ApplyMethod" =: _pApplyMethod,
-               "MinimumEngineVersion" =: _pMinimumEngineVersion,
-               "Source" =: _pSource,
-               "IsModifiable" =: _pIsModifiable,
-               "DataType" =: _pDataType,
-               "AllowedValues" =: _pAllowedValues,
-               "ParameterName" =: _pParameterName,
-               "Description" =: _pDescription]
-
--- | Provides information about a pending maintenance action for a resource.
---
--- /See:/ 'pendingMaintenanceAction' smart constructor.
-data PendingMaintenanceAction = PendingMaintenanceAction'
-    { _pmaAutoAppliedAfterDate :: !(Maybe ISO8601)
-    , _pmaAction               :: !(Maybe Text)
-    , _pmaOptInStatus          :: !(Maybe Text)
-    , _pmaDescription          :: !(Maybe Text)
-    , _pmaForcedApplyDate      :: !(Maybe ISO8601)
-    , _pmaCurrentApplyDate     :: !(Maybe ISO8601)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'PendingMaintenanceAction' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'pmaAutoAppliedAfterDate'
---
--- * 'pmaAction'
---
--- * 'pmaOptInStatus'
---
--- * 'pmaDescription'
---
--- * 'pmaForcedApplyDate'
---
--- * 'pmaCurrentApplyDate'
-pendingMaintenanceAction
-    :: PendingMaintenanceAction
-pendingMaintenanceAction =
-    PendingMaintenanceAction'
-    { _pmaAutoAppliedAfterDate = Nothing
-    , _pmaAction = Nothing
-    , _pmaOptInStatus = Nothing
-    , _pmaDescription = Nothing
-    , _pmaForcedApplyDate = Nothing
-    , _pmaCurrentApplyDate = Nothing
-    }
-
--- | The date of the maintenance window when the action will be applied. The maintenance action will be applied to the resource during its first maintenance window after this date. If this date is specified, any 'next-maintenance' opt-in requests are ignored.
-pmaAutoAppliedAfterDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)
-pmaAutoAppliedAfterDate = lens _pmaAutoAppliedAfterDate (\ s a -> s{_pmaAutoAppliedAfterDate = a}) . mapping _Time;
-
--- | The type of pending maintenance action that is available for the resource.
-pmaAction :: Lens' PendingMaintenanceAction (Maybe Text)
-pmaAction = lens _pmaAction (\ s a -> s{_pmaAction = a});
-
--- | Indicates the type of opt-in request that has been received for the resource.
-pmaOptInStatus :: Lens' PendingMaintenanceAction (Maybe Text)
-pmaOptInStatus = lens _pmaOptInStatus (\ s a -> s{_pmaOptInStatus = a});
-
--- | A description providing more detail about the maintenance action.
-pmaDescription :: Lens' PendingMaintenanceAction (Maybe Text)
-pmaDescription = lens _pmaDescription (\ s a -> s{_pmaDescription = a});
-
--- | The date when the maintenance action will be automatically applied. The maintenance action will be applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any 'immediate' opt-in requests are ignored.
-pmaForcedApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)
-pmaForcedApplyDate = lens _pmaForcedApplyDate (\ s a -> s{_pmaForcedApplyDate = a}) . mapping _Time;
-
--- | The effective date when the pending maintenance action will be applied to the resource. This date takes into account opt-in requests received from the < ApplyPendingMaintenanceAction> API, the 'AutoAppliedAfterDate', and the 'ForcedApplyDate'. This value is blank if an opt-in request has not been received and nothing has been specified as 'AutoAppliedAfterDate' or 'ForcedApplyDate'.
-pmaCurrentApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)
-pmaCurrentApplyDate = lens _pmaCurrentApplyDate (\ s a -> s{_pmaCurrentApplyDate = a}) . mapping _Time;
-
-instance FromXML PendingMaintenanceAction where
-        parseXML x
-          = PendingMaintenanceAction' <$>
-              (x .@? "AutoAppliedAfterDate") <*> (x .@? "Action")
-                <*> (x .@? "OptInStatus")
-                <*> (x .@? "Description")
-                <*> (x .@? "ForcedApplyDate")
-                <*> (x .@? "CurrentApplyDate")
-
-instance Hashable PendingMaintenanceAction
-
-instance NFData PendingMaintenanceAction
-
--- | This data type is used as a response element in the < ModifyDBInstance> action.
---
--- /See:/ 'pendingModifiedValues' smart constructor.
-data PendingModifiedValues = PendingModifiedValues'
-    { _pmvEngineVersion           :: !(Maybe Text)
-    , _pmvMasterUserPassword      :: !(Maybe Text)
-    , _pmvDBSubnetGroupName       :: !(Maybe Text)
-    , _pmvIOPS                    :: !(Maybe Int)
-    , _pmvDBInstanceClass         :: !(Maybe Text)
-    , _pmvLicenseModel            :: !(Maybe Text)
-    , _pmvCACertificateIdentifier :: !(Maybe Text)
-    , _pmvDBInstanceIdentifier    :: !(Maybe Text)
-    , _pmvBackupRetentionPeriod   :: !(Maybe Int)
-    , _pmvMultiAZ                 :: !(Maybe Bool)
-    , _pmvAllocatedStorage        :: !(Maybe Int)
-    , _pmvPort                    :: !(Maybe Int)
-    , _pmvStorageType             :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'PendingModifiedValues' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'pmvEngineVersion'
---
--- * 'pmvMasterUserPassword'
---
--- * 'pmvDBSubnetGroupName'
---
--- * 'pmvIOPS'
---
--- * 'pmvDBInstanceClass'
---
--- * 'pmvLicenseModel'
---
--- * 'pmvCACertificateIdentifier'
---
--- * 'pmvDBInstanceIdentifier'
---
--- * 'pmvBackupRetentionPeriod'
---
--- * 'pmvMultiAZ'
---
--- * 'pmvAllocatedStorage'
---
--- * 'pmvPort'
---
--- * 'pmvStorageType'
-pendingModifiedValues
-    :: PendingModifiedValues
-pendingModifiedValues =
-    PendingModifiedValues'
-    { _pmvEngineVersion = Nothing
-    , _pmvMasterUserPassword = Nothing
-    , _pmvDBSubnetGroupName = Nothing
-    , _pmvIOPS = Nothing
-    , _pmvDBInstanceClass = Nothing
-    , _pmvLicenseModel = Nothing
-    , _pmvCACertificateIdentifier = Nothing
-    , _pmvDBInstanceIdentifier = Nothing
-    , _pmvBackupRetentionPeriod = Nothing
-    , _pmvMultiAZ = Nothing
-    , _pmvAllocatedStorage = Nothing
-    , _pmvPort = Nothing
-    , _pmvStorageType = Nothing
-    }
-
--- | Indicates the database engine version.
-pmvEngineVersion :: Lens' PendingModifiedValues (Maybe Text)
-pmvEngineVersion = lens _pmvEngineVersion (\ s a -> s{_pmvEngineVersion = 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});
-
--- | The new DB subnet group for the DB instance.
-pmvDBSubnetGroupName :: Lens' PendingModifiedValues (Maybe Text)
-pmvDBSubnetGroupName = lens _pmvDBSubnetGroupName (\ s a -> s{_pmvDBSubnetGroupName = 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 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});
-
--- | The license model for the DB instance.
---
--- Valid values: 'license-included' | 'bring-your-own-license' | 'general-public-license'
-pmvLicenseModel :: Lens' PendingModifiedValues (Maybe Text)
-pmvLicenseModel = lens _pmvLicenseModel (\ s a -> s{_pmvLicenseModel = a});
-
--- | Specifies the identifier of the CA certificate for the DB instance.
-pmvCACertificateIdentifier :: Lens' PendingModifiedValues (Maybe Text)
-pmvCACertificateIdentifier = lens _pmvCACertificateIdentifier (\ s a -> s{_pmvCACertificateIdentifier = 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});
-
--- | 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});
-
--- | 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});
-
--- | 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 port for the DB instance.
-pmvPort :: Lens' PendingModifiedValues (Maybe Int)
-pmvPort = lens _pmvPort (\ s a -> s{_pmvPort = a});
-
--- | Specifies the 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 .@? "EngineVersion") <*>
-                (x .@? "MasterUserPassword")
-                <*> (x .@? "DBSubnetGroupName")
-                <*> (x .@? "Iops")
-                <*> (x .@? "DBInstanceClass")
-                <*> (x .@? "LicenseModel")
-                <*> (x .@? "CACertificateIdentifier")
-                <*> (x .@? "DBInstanceIdentifier")
-                <*> (x .@? "BackupRetentionPeriod")
-                <*> (x .@? "MultiAZ")
-                <*> (x .@? "AllocatedStorage")
-                <*> (x .@? "Port")
-                <*> (x .@? "StorageType")
-
-instance Hashable PendingModifiedValues
-
-instance NFData PendingModifiedValues
-
--- | This data type is used as a response element in the < DescribeReservedDBInstances> and < DescribeReservedDBInstancesOfferings> actions.
---
--- /See:/ 'recurringCharge' smart constructor.
-data RecurringCharge = RecurringCharge'
-    { _rcRecurringChargeFrequency :: !(Maybe Text)
-    , _rcRecurringChargeAmount    :: !(Maybe Double)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rcRecurringChargeFrequency'
---
--- * 'rcRecurringChargeAmount'
-recurringCharge
-    :: RecurringCharge
-recurringCharge =
-    RecurringCharge'
-    { _rcRecurringChargeFrequency = Nothing
-    , _rcRecurringChargeAmount = Nothing
-    }
-
--- | The frequency of the recurring charge.
-rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)
-rcRecurringChargeFrequency = lens _rcRecurringChargeFrequency (\ s a -> s{_rcRecurringChargeFrequency = a});
-
--- | The amount of the recurring charge.
-rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)
-rcRecurringChargeAmount = lens _rcRecurringChargeAmount (\ s a -> s{_rcRecurringChargeAmount = a});
-
-instance FromXML RecurringCharge where
-        parseXML x
-          = RecurringCharge' <$>
-              (x .@? "RecurringChargeFrequency") <*>
-                (x .@? "RecurringChargeAmount")
-
-instance Hashable RecurringCharge
-
-instance NFData RecurringCharge
-
--- | This data type is used as a response element in the < DescribeReservedDBInstances> and < PurchaseReservedDBInstancesOffering> actions.
---
--- /See:/ 'reservedDBInstance' smart constructor.
-data ReservedDBInstance = ReservedDBInstance'
-    { _rdiDBInstanceCount               :: !(Maybe Int)
-    , _rdiState                         :: !(Maybe Text)
-    , _rdiCurrencyCode                  :: !(Maybe Text)
-    , _rdiStartTime                     :: !(Maybe ISO8601)
-    , _rdiProductDescription            :: !(Maybe Text)
-    , _rdiReservedDBInstanceId          :: !(Maybe Text)
-    , _rdiReservedDBInstanceARN         :: !(Maybe Text)
-    , _rdiDBInstanceClass               :: !(Maybe Text)
-    , _rdiMultiAZ                       :: !(Maybe Bool)
-    , _rdiReservedDBInstancesOfferingId :: !(Maybe Text)
-    , _rdiRecurringCharges              :: !(Maybe [RecurringCharge])
-    , _rdiOfferingType                  :: !(Maybe Text)
-    , _rdiUsagePrice                    :: !(Maybe Double)
-    , _rdiFixedPrice                    :: !(Maybe Double)
-    , _rdiDuration                      :: !(Maybe Int)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ReservedDBInstance' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rdiDBInstanceCount'
---
--- * 'rdiState'
---
--- * 'rdiCurrencyCode'
---
--- * 'rdiStartTime'
---
--- * 'rdiProductDescription'
---
--- * 'rdiReservedDBInstanceId'
---
--- * 'rdiReservedDBInstanceARN'
---
--- * 'rdiDBInstanceClass'
---
--- * 'rdiMultiAZ'
---
--- * 'rdiReservedDBInstancesOfferingId'
---
--- * 'rdiRecurringCharges'
---
--- * 'rdiOfferingType'
---
--- * 'rdiUsagePrice'
---
--- * 'rdiFixedPrice'
---
--- * 'rdiDuration'
-reservedDBInstance
-    :: ReservedDBInstance
-reservedDBInstance =
-    ReservedDBInstance'
-    { _rdiDBInstanceCount = Nothing
-    , _rdiState = Nothing
-    , _rdiCurrencyCode = Nothing
-    , _rdiStartTime = Nothing
-    , _rdiProductDescription = Nothing
-    , _rdiReservedDBInstanceId = Nothing
-    , _rdiReservedDBInstanceARN = Nothing
-    , _rdiDBInstanceClass = Nothing
-    , _rdiMultiAZ = Nothing
-    , _rdiReservedDBInstancesOfferingId = Nothing
-    , _rdiRecurringCharges = Nothing
-    , _rdiOfferingType = Nothing
-    , _rdiUsagePrice = Nothing
-    , _rdiFixedPrice = Nothing
-    , _rdiDuration = Nothing
-    }
-
--- | The number of reserved DB instances.
-rdiDBInstanceCount :: Lens' ReservedDBInstance (Maybe Int)
-rdiDBInstanceCount = lens _rdiDBInstanceCount (\ s a -> s{_rdiDBInstanceCount = a});
-
--- | The state of the reserved DB instance.
-rdiState :: Lens' ReservedDBInstance (Maybe Text)
-rdiState = lens _rdiState (\ s a -> s{_rdiState = a});
-
--- | The currency code for the reserved DB instance.
-rdiCurrencyCode :: Lens' ReservedDBInstance (Maybe Text)
-rdiCurrencyCode = lens _rdiCurrencyCode (\ s a -> s{_rdiCurrencyCode = a});
-
--- | The time the reservation started.
-rdiStartTime :: Lens' ReservedDBInstance (Maybe UTCTime)
-rdiStartTime = lens _rdiStartTime (\ s a -> s{_rdiStartTime = a}) . mapping _Time;
-
--- | The description of the reserved DB instance.
-rdiProductDescription :: Lens' ReservedDBInstance (Maybe Text)
-rdiProductDescription = lens _rdiProductDescription (\ s a -> s{_rdiProductDescription = a});
-
--- | The unique identifier for the reservation.
-rdiReservedDBInstanceId :: Lens' ReservedDBInstance (Maybe Text)
-rdiReservedDBInstanceId = lens _rdiReservedDBInstanceId (\ s a -> s{_rdiReservedDBInstanceId = a});
-
--- | The Amazon Resource Name (ARN) for the reserved DB instance.
-rdiReservedDBInstanceARN :: Lens' ReservedDBInstance (Maybe Text)
-rdiReservedDBInstanceARN = lens _rdiReservedDBInstanceARN (\ s a -> s{_rdiReservedDBInstanceARN = a});
-
--- | The DB instance class for the reserved DB instance.
-rdiDBInstanceClass :: Lens' ReservedDBInstance (Maybe Text)
-rdiDBInstanceClass = lens _rdiDBInstanceClass (\ s a -> s{_rdiDBInstanceClass = a});
-
--- | Indicates if the reservation applies to Multi-AZ deployments.
-rdiMultiAZ :: Lens' ReservedDBInstance (Maybe Bool)
-rdiMultiAZ = lens _rdiMultiAZ (\ s a -> s{_rdiMultiAZ = a});
-
--- | The offering identifier.
-rdiReservedDBInstancesOfferingId :: Lens' ReservedDBInstance (Maybe Text)
-rdiReservedDBInstancesOfferingId = lens _rdiReservedDBInstancesOfferingId (\ s a -> s{_rdiReservedDBInstancesOfferingId = a});
-
--- | The recurring price charged to run this reserved DB instance.
-rdiRecurringCharges :: Lens' ReservedDBInstance [RecurringCharge]
-rdiRecurringCharges = lens _rdiRecurringCharges (\ s a -> s{_rdiRecurringCharges = a}) . _Default . _Coerce;
-
--- | The offering type of this reserved DB instance.
-rdiOfferingType :: Lens' ReservedDBInstance (Maybe Text)
-rdiOfferingType = lens _rdiOfferingType (\ s a -> s{_rdiOfferingType = a});
-
--- | The hourly price charged for this reserved DB instance.
-rdiUsagePrice :: Lens' ReservedDBInstance (Maybe Double)
-rdiUsagePrice = lens _rdiUsagePrice (\ s a -> s{_rdiUsagePrice = a});
-
--- | The fixed price charged for this reserved DB instance.
-rdiFixedPrice :: Lens' ReservedDBInstance (Maybe Double)
-rdiFixedPrice = lens _rdiFixedPrice (\ s a -> s{_rdiFixedPrice = a});
-
--- | The duration of the reservation in seconds.
-rdiDuration :: Lens' ReservedDBInstance (Maybe Int)
-rdiDuration = lens _rdiDuration (\ s a -> s{_rdiDuration = a});
-
-instance FromXML ReservedDBInstance where
-        parseXML x
-          = ReservedDBInstance' <$>
-              (x .@? "DBInstanceCount") <*> (x .@? "State") <*>
-                (x .@? "CurrencyCode")
-                <*> (x .@? "StartTime")
-                <*> (x .@? "ProductDescription")
-                <*> (x .@? "ReservedDBInstanceId")
-                <*> (x .@? "ReservedDBInstanceArn")
-                <*> (x .@? "DBInstanceClass")
-                <*> (x .@? "MultiAZ")
-                <*> (x .@? "ReservedDBInstancesOfferingId")
-                <*>
-                (x .@? "RecurringCharges" .!@ mempty >>=
-                   may (parseXMLList "RecurringCharge"))
-                <*> (x .@? "OfferingType")
-                <*> (x .@? "UsagePrice")
-                <*> (x .@? "FixedPrice")
-                <*> (x .@? "Duration")
-
-instance Hashable ReservedDBInstance
-
-instance NFData ReservedDBInstance
-
--- | This data type is used as a response element in the < DescribeReservedDBInstancesOfferings> action.
---
--- /See:/ 'reservedDBInstancesOffering' smart constructor.
-data ReservedDBInstancesOffering = ReservedDBInstancesOffering'
-    { _rdioCurrencyCode                  :: !(Maybe Text)
-    , _rdioProductDescription            :: !(Maybe Text)
-    , _rdioDBInstanceClass               :: !(Maybe Text)
-    , _rdioMultiAZ                       :: !(Maybe Bool)
-    , _rdioReservedDBInstancesOfferingId :: !(Maybe Text)
-    , _rdioRecurringCharges              :: !(Maybe [RecurringCharge])
-    , _rdioOfferingType                  :: !(Maybe Text)
-    , _rdioUsagePrice                    :: !(Maybe Double)
-    , _rdioFixedPrice                    :: !(Maybe Double)
-    , _rdioDuration                      :: !(Maybe Int)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ReservedDBInstancesOffering' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rdioCurrencyCode'
---
--- * 'rdioProductDescription'
---
--- * 'rdioDBInstanceClass'
---
--- * 'rdioMultiAZ'
---
--- * 'rdioReservedDBInstancesOfferingId'
---
--- * 'rdioRecurringCharges'
---
--- * 'rdioOfferingType'
---
--- * 'rdioUsagePrice'
---
--- * 'rdioFixedPrice'
---
--- * 'rdioDuration'
-reservedDBInstancesOffering
-    :: ReservedDBInstancesOffering
-reservedDBInstancesOffering =
-    ReservedDBInstancesOffering'
-    { _rdioCurrencyCode = Nothing
-    , _rdioProductDescription = Nothing
-    , _rdioDBInstanceClass = Nothing
-    , _rdioMultiAZ = Nothing
-    , _rdioReservedDBInstancesOfferingId = Nothing
-    , _rdioRecurringCharges = Nothing
-    , _rdioOfferingType = Nothing
-    , _rdioUsagePrice = Nothing
-    , _rdioFixedPrice = Nothing
-    , _rdioDuration = Nothing
-    }
-
--- | The currency code for the reserved DB instance offering.
-rdioCurrencyCode :: Lens' ReservedDBInstancesOffering (Maybe Text)
-rdioCurrencyCode = lens _rdioCurrencyCode (\ s a -> s{_rdioCurrencyCode = a});
-
--- | The database engine used by the offering.
-rdioProductDescription :: Lens' ReservedDBInstancesOffering (Maybe Text)
-rdioProductDescription = lens _rdioProductDescription (\ s a -> s{_rdioProductDescription = a});
-
--- | The DB instance class for the reserved DB instance.
-rdioDBInstanceClass :: Lens' ReservedDBInstancesOffering (Maybe Text)
-rdioDBInstanceClass = lens _rdioDBInstanceClass (\ s a -> s{_rdioDBInstanceClass = a});
-
--- | Indicates if the offering applies to Multi-AZ deployments.
-rdioMultiAZ :: Lens' ReservedDBInstancesOffering (Maybe Bool)
-rdioMultiAZ = lens _rdioMultiAZ (\ s a -> s{_rdioMultiAZ = a});
-
--- | The offering identifier.
-rdioReservedDBInstancesOfferingId :: Lens' ReservedDBInstancesOffering (Maybe Text)
-rdioReservedDBInstancesOfferingId = lens _rdioReservedDBInstancesOfferingId (\ s a -> s{_rdioReservedDBInstancesOfferingId = a});
-
--- | The recurring price charged to run this reserved DB instance.
-rdioRecurringCharges :: Lens' ReservedDBInstancesOffering [RecurringCharge]
-rdioRecurringCharges = lens _rdioRecurringCharges (\ s a -> s{_rdioRecurringCharges = a}) . _Default . _Coerce;
-
--- | The offering type.
-rdioOfferingType :: Lens' ReservedDBInstancesOffering (Maybe Text)
-rdioOfferingType = lens _rdioOfferingType (\ s a -> s{_rdioOfferingType = a});
-
--- | The hourly price charged for this offering.
-rdioUsagePrice :: Lens' ReservedDBInstancesOffering (Maybe Double)
-rdioUsagePrice = lens _rdioUsagePrice (\ s a -> s{_rdioUsagePrice = a});
-
--- | The fixed price charged for this offering.
-rdioFixedPrice :: Lens' ReservedDBInstancesOffering (Maybe Double)
-rdioFixedPrice = lens _rdioFixedPrice (\ s a -> s{_rdioFixedPrice = a});
-
--- | The duration of the offering in seconds.
-rdioDuration :: Lens' ReservedDBInstancesOffering (Maybe Int)
-rdioDuration = lens _rdioDuration (\ s a -> s{_rdioDuration = a});
-
-instance FromXML ReservedDBInstancesOffering where
-        parseXML x
-          = ReservedDBInstancesOffering' <$>
-              (x .@? "CurrencyCode") <*>
-                (x .@? "ProductDescription")
-                <*> (x .@? "DBInstanceClass")
-                <*> (x .@? "MultiAZ")
-                <*> (x .@? "ReservedDBInstancesOfferingId")
-                <*>
-                (x .@? "RecurringCharges" .!@ mempty >>=
-                   may (parseXMLList "RecurringCharge"))
-                <*> (x .@? "OfferingType")
-                <*> (x .@? "UsagePrice")
-                <*> (x .@? "FixedPrice")
-                <*> (x .@? "Duration")
-
-instance Hashable ReservedDBInstancesOffering
-
-instance NFData ReservedDBInstancesOffering
-
--- | Describes the pending maintenance actions for a resource.
---
--- /See:/ 'resourcePendingMaintenanceActions' smart constructor.
-data ResourcePendingMaintenanceActions = ResourcePendingMaintenanceActions'
-    { _rpmaPendingMaintenanceActionDetails :: !(Maybe [PendingMaintenanceAction])
-    , _rpmaResourceIdentifier              :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'ResourcePendingMaintenanceActions' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rpmaPendingMaintenanceActionDetails'
---
--- * 'rpmaResourceIdentifier'
-resourcePendingMaintenanceActions
-    :: ResourcePendingMaintenanceActions
-resourcePendingMaintenanceActions =
-    ResourcePendingMaintenanceActions'
-    { _rpmaPendingMaintenanceActionDetails = Nothing
-    , _rpmaResourceIdentifier = Nothing
-    }
-
--- | A list that provides details about the pending maintenance actions for the resource.
-rpmaPendingMaintenanceActionDetails :: Lens' ResourcePendingMaintenanceActions [PendingMaintenanceAction]
-rpmaPendingMaintenanceActionDetails = lens _rpmaPendingMaintenanceActionDetails (\ s a -> s{_rpmaPendingMaintenanceActionDetails = a}) . _Default . _Coerce;
-
--- | The ARN of the resource that has pending maintenance actions.
-rpmaResourceIdentifier :: Lens' ResourcePendingMaintenanceActions (Maybe Text)
-rpmaResourceIdentifier = lens _rpmaResourceIdentifier (\ s a -> s{_rpmaResourceIdentifier = a});
-
-instance FromXML ResourcePendingMaintenanceActions
-         where
-        parseXML x
-          = ResourcePendingMaintenanceActions' <$>
-              (x .@? "PendingMaintenanceActionDetails" .!@ mempty
-                 >>= may (parseXMLList "PendingMaintenanceAction"))
-                <*> (x .@? "ResourceIdentifier")
-
-instance Hashable ResourcePendingMaintenanceActions
-
-instance NFData ResourcePendingMaintenanceActions
-
--- | Contains an AWS Region name as the result of a successful call to the < DescribeSourceRegions> action.
---
--- /See:/ 'sourceRegion' smart constructor.
-data SourceRegion = SourceRegion'
-    { _srStatus     :: !(Maybe Text)
-    , _srRegionName :: !(Maybe Text)
-    , _srEndpoint   :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'SourceRegion' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'srStatus'
---
--- * 'srRegionName'
---
--- * 'srEndpoint'
-sourceRegion
-    :: SourceRegion
-sourceRegion =
-    SourceRegion'
-    { _srStatus = Nothing
-    , _srRegionName = Nothing
-    , _srEndpoint = Nothing
-    }
-
--- | The status of the source region.
-srStatus :: Lens' SourceRegion (Maybe Text)
-srStatus = lens _srStatus (\ s a -> s{_srStatus = a});
-
--- | The source region name.
-srRegionName :: Lens' SourceRegion (Maybe Text)
-srRegionName = lens _srRegionName (\ s a -> s{_srRegionName = a});
-
--- | The source region endpoint.
-srEndpoint :: Lens' SourceRegion (Maybe Text)
-srEndpoint = lens _srEndpoint (\ s a -> s{_srEndpoint = a});
-
-instance FromXML SourceRegion where
-        parseXML x
-          = SourceRegion' <$>
-              (x .@? "Status") <*> (x .@? "RegionName") <*>
-                (x .@? "Endpoint")
-
-instance Hashable SourceRegion
-
-instance NFData SourceRegion
-
--- | This data type is used as a response element in the < DescribeDBSubnetGroups> action.
---
--- /See:/ 'subnet' smart constructor.
-data Subnet = Subnet'
-    { _sSubnetStatus           :: !(Maybe Text)
-    , _sSubnetIdentifier       :: !(Maybe Text)
-    , _sSubnetAvailabilityZone :: !(Maybe AvailabilityZone)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Subnet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sSubnetStatus'
---
--- * 'sSubnetIdentifier'
---
--- * 'sSubnetAvailabilityZone'
-subnet
-    :: Subnet
-subnet =
-    Subnet'
-    { _sSubnetStatus = Nothing
-    , _sSubnetIdentifier = Nothing
-    , _sSubnetAvailabilityZone = Nothing
-    }
-
--- | Specifies the status of the subnet.
-sSubnetStatus :: Lens' Subnet (Maybe Text)
-sSubnetStatus = lens _sSubnetStatus (\ s a -> s{_sSubnetStatus = a});
-
--- | Specifies the identifier of the subnet.
-sSubnetIdentifier :: Lens' Subnet (Maybe Text)
-sSubnetIdentifier = lens _sSubnetIdentifier (\ s a -> s{_sSubnetIdentifier = a});
-
--- | Undocumented member.
-sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)
-sSubnetAvailabilityZone = lens _sSubnetAvailabilityZone (\ s a -> s{_sSubnetAvailabilityZone = a});
-
-instance FromXML Subnet where
-        parseXML x
-          = Subnet' <$>
-              (x .@? "SubnetStatus") <*> (x .@? "SubnetIdentifier")
-                <*> (x .@? "SubnetAvailabilityZone")
-
-instance Hashable Subnet
-
-instance NFData Subnet
-
--- | Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
---
--- /See:/ 'tag' smart constructor.
-data Tag = Tag'
-    { _tagValue :: !(Maybe Text)
-    , _tagKey   :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'Tag' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tagValue'
---
--- * 'tagKey'
-tag
-    :: Tag
-tag =
-    Tag'
-    { _tagValue = Nothing
-    , _tagKey = Nothing
-    }
-
--- | 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 can 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});
-
--- | 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 can 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});
-
-instance FromXML Tag where
-        parseXML x
-          = Tag' <$> (x .@? "Value") <*> (x .@? "Key")
-
-instance Hashable Tag
-
-instance NFData Tag
-
-instance ToQuery Tag where
-        toQuery Tag'{..}
-          = mconcat ["Value" =: _tagValue, "Key" =: _tagKey]
-
--- | The version of the database engine that a DB instance can be upgraded to.
---
--- /See:/ 'upgradeTarget' smart constructor.
-data UpgradeTarget = UpgradeTarget'
-    { _utEngineVersion         :: !(Maybe Text)
-    , _utIsMajorVersionUpgrade :: !(Maybe Bool)
-    , _utEngine                :: !(Maybe Text)
-    , _utAutoUpgrade           :: !(Maybe Bool)
-    , _utDescription           :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'UpgradeTarget' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'utEngineVersion'
---
--- * 'utIsMajorVersionUpgrade'
---
--- * 'utEngine'
---
--- * 'utAutoUpgrade'
---
--- * 'utDescription'
-upgradeTarget
-    :: UpgradeTarget
-upgradeTarget =
-    UpgradeTarget'
-    { _utEngineVersion = Nothing
-    , _utIsMajorVersionUpgrade = Nothing
-    , _utEngine = Nothing
-    , _utAutoUpgrade = Nothing
-    , _utDescription = Nothing
-    }
-
--- | The version number of the upgrade target database engine.
-utEngineVersion :: Lens' UpgradeTarget (Maybe Text)
-utEngineVersion = lens _utEngineVersion (\ s a -> s{_utEngineVersion = a});
-
--- | A value that indicates whether a database engine will be upgraded to a major version.
-utIsMajorVersionUpgrade :: Lens' UpgradeTarget (Maybe Bool)
-utIsMajorVersionUpgrade = lens _utIsMajorVersionUpgrade (\ s a -> s{_utIsMajorVersionUpgrade = a});
-
--- | The name of the upgrade target database engine.
-utEngine :: Lens' UpgradeTarget (Maybe Text)
-utEngine = lens _utEngine (\ s a -> s{_utEngine = a});
-
--- | A value that indicates whether the target version will be applied to any source DB instances that have AutoMinorVersionUpgrade set to true.
-utAutoUpgrade :: Lens' UpgradeTarget (Maybe Bool)
-utAutoUpgrade = lens _utAutoUpgrade (\ s a -> s{_utAutoUpgrade = a});
-
--- | The version of the database engine that a DB instance can be upgraded to.
-utDescription :: Lens' UpgradeTarget (Maybe Text)
-utDescription = lens _utDescription (\ s a -> s{_utDescription = a});
-
-instance FromXML UpgradeTarget where
-        parseXML x
-          = UpgradeTarget' <$>
-              (x .@? "EngineVersion") <*>
-                (x .@? "IsMajorVersionUpgrade")
-                <*> (x .@? "Engine")
-                <*> (x .@? "AutoUpgrade")
-                <*> (x .@? "Description")
-
-instance Hashable UpgradeTarget
-
-instance NFData UpgradeTarget
-
--- | This data type is used as a response element for queries on VPC security group membership.
---
--- /See:/ 'vpcSecurityGroupMembership' smart constructor.
-data VPCSecurityGroupMembership = VPCSecurityGroupMembership'
-    { _vsgmStatus             :: !(Maybe Text)
-    , _vsgmVPCSecurityGroupId :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'VPCSecurityGroupMembership' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'vsgmStatus'
---
--- * 'vsgmVPCSecurityGroupId'
+--
+--
+-- /See:/ 'accountQuota' smart constructor.
+data AccountQuota = AccountQuota'
+    { _aqMax              :: !(Maybe Integer)
+    , _aqUsed             :: !(Maybe Integer)
+    , _aqAccountQuotaName :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'AccountQuota' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'aqMax' - The maximum allowed value for the quota.
+--
+-- * 'aqUsed' - The amount currently used toward the quota maximum.
+--
+-- * 'aqAccountQuotaName' - The name of the Amazon RDS quota for this AWS account.
+accountQuota
+    :: AccountQuota
+accountQuota =
+    AccountQuota'
+    { _aqMax = Nothing
+    , _aqUsed = Nothing
+    , _aqAccountQuotaName = Nothing
+    }
+
+-- | The maximum allowed value for the quota.
+aqMax :: Lens' AccountQuota (Maybe Integer)
+aqMax = lens _aqMax (\ s a -> s{_aqMax = a});
+
+-- | The amount currently used toward the quota maximum.
+aqUsed :: Lens' AccountQuota (Maybe Integer)
+aqUsed = lens _aqUsed (\ s a -> s{_aqUsed = a});
+
+-- | The name of the Amazon RDS quota for this AWS account.
+aqAccountQuotaName :: Lens' AccountQuota (Maybe Text)
+aqAccountQuotaName = lens _aqAccountQuotaName (\ s a -> s{_aqAccountQuotaName = a});
+
+instance FromXML AccountQuota where
+        parseXML x
+          = AccountQuota' <$>
+              (x .@? "Max") <*> (x .@? "Used") <*>
+                (x .@? "AccountQuotaName")
+
+instance Hashable AccountQuota
+
+instance NFData AccountQuota
+
+-- | Contains Availability Zone information.
+--
+--
+-- This data type is used as an element in the following data type:
+--
+--     * 'OrderableDBInstanceOption'
+--
+--
+--
+--
+-- /See:/ 'availabilityZone' smart constructor.
+newtype AvailabilityZone = AvailabilityZone'
+    { _azName :: Maybe Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'azName' - The name of the availability zone.
+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 Hashable AvailabilityZone
+
+instance NFData AvailabilityZone
+
+-- | A CA certificate for an AWS account.
+--
+--
+--
+-- /See:/ 'certificate' smart constructor.
+data Certificate = Certificate'
+    { _cCertificateType       :: !(Maybe Text)
+    , _cCertificateARN        :: !(Maybe Text)
+    , _cValidTill             :: !(Maybe ISO8601)
+    , _cCertificateIdentifier :: !(Maybe Text)
+    , _cThumbprint            :: !(Maybe Text)
+    , _cValidFrom             :: !(Maybe ISO8601)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Certificate' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'cCertificateType' - The type of the certificate.
+--
+-- * 'cCertificateARN' - The Amazon Resource Name (ARN) for the certificate.
+--
+-- * 'cValidTill' - The final date that the certificate continues to be valid.
+--
+-- * 'cCertificateIdentifier' - The unique key that identifies a certificate.
+--
+-- * 'cThumbprint' - The thumbprint of the certificate.
+--
+-- * 'cValidFrom' - The starting date from which the certificate is valid.
+certificate
+    :: Certificate
+certificate =
+    Certificate'
+    { _cCertificateType = Nothing
+    , _cCertificateARN = Nothing
+    , _cValidTill = Nothing
+    , _cCertificateIdentifier = Nothing
+    , _cThumbprint = Nothing
+    , _cValidFrom = Nothing
+    }
+
+-- | The type of the certificate.
+cCertificateType :: Lens' Certificate (Maybe Text)
+cCertificateType = lens _cCertificateType (\ s a -> s{_cCertificateType = a});
+
+-- | The Amazon Resource Name (ARN) for the certificate.
+cCertificateARN :: Lens' Certificate (Maybe Text)
+cCertificateARN = lens _cCertificateARN (\ s a -> s{_cCertificateARN = a});
+
+-- | The final date that the certificate continues to be valid.
+cValidTill :: Lens' Certificate (Maybe UTCTime)
+cValidTill = lens _cValidTill (\ s a -> s{_cValidTill = a}) . mapping _Time;
+
+-- | The unique key that identifies a certificate.
+cCertificateIdentifier :: Lens' Certificate (Maybe Text)
+cCertificateIdentifier = lens _cCertificateIdentifier (\ s a -> s{_cCertificateIdentifier = a});
+
+-- | The thumbprint of the certificate.
+cThumbprint :: Lens' Certificate (Maybe Text)
+cThumbprint = lens _cThumbprint (\ s a -> s{_cThumbprint = a});
+
+-- | The starting date from which the certificate is valid.
+cValidFrom :: Lens' Certificate (Maybe UTCTime)
+cValidFrom = lens _cValidFrom (\ s a -> s{_cValidFrom = a}) . mapping _Time;
+
+instance FromXML Certificate where
+        parseXML x
+          = Certificate' <$>
+              (x .@? "CertificateType") <*>
+                (x .@? "CertificateArn")
+                <*> (x .@? "ValidTill")
+                <*> (x .@? "CertificateIdentifier")
+                <*> (x .@? "Thumbprint")
+                <*> (x .@? "ValidFrom")
+
+instance Hashable Certificate
+
+instance NFData Certificate
+
+-- | This data type is used as a response element in the action 'DescribeDBEngineVersions' .
+--
+--
+--
+-- /See:/ 'characterSet' smart constructor.
+data CharacterSet = CharacterSet'
+    { _csCharacterSetName        :: !(Maybe Text)
+    , _csCharacterSetDescription :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'CharacterSet' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'csCharacterSetName' - The name of the character set.
+--
+-- * 'csCharacterSetDescription' - The description of the character set.
+characterSet
+    :: CharacterSet
+characterSet =
+    CharacterSet'
+    { _csCharacterSetName = Nothing
+    , _csCharacterSetDescription = Nothing
+    }
+
+-- | The name of the character set.
+csCharacterSetName :: Lens' CharacterSet (Maybe Text)
+csCharacterSetName = lens _csCharacterSetName (\ s a -> s{_csCharacterSetName = a});
+
+-- | The description of the character set.
+csCharacterSetDescription :: Lens' CharacterSet (Maybe Text)
+csCharacterSetDescription = lens _csCharacterSetDescription (\ s a -> s{_csCharacterSetDescription = a});
+
+instance FromXML CharacterSet where
+        parseXML x
+          = CharacterSet' <$>
+              (x .@? "CharacterSetName") <*>
+                (x .@? "CharacterSetDescription")
+
+instance Hashable CharacterSet
+
+instance NFData CharacterSet
+
+-- | Contains the result of a successful invocation of the following actions:
+--
+--
+--     * 'CreateDBCluster'
+--
+--     * 'DeleteDBCluster'
+--
+--     * 'FailoverDBCluster'
+--
+--     * 'ModifyDBCluster'
+--
+--     * 'RestoreDBClusterFromSnapshot'
+--
+--     * 'RestoreDBClusterToPointInTime'
+--
+--
+--
+-- This data type is used as a response element in the 'DescribeDBClusters' action.
+--
+--
+-- /See:/ 'dbCluster' smart constructor.
+data DBCluster = DBCluster'
+    { _dcEngineVersion                   :: !(Maybe Text)
+    , _dcStatus                          :: !(Maybe Text)
+    , _dcStorageEncrypted                :: !(Maybe Bool)
+    , _dcDBClusterIdentifier             :: !(Maybe Text)
+    , _dcDBClusterMembers                :: !(Maybe [DBClusterMember])
+    , _dcReadReplicaIdentifiers          :: !(Maybe [Text])
+    , _dcReplicationSourceIdentifier     :: !(Maybe Text)
+    , _dcHostedZoneId                    :: !(Maybe Text)
+    , _dcDBClusterParameterGroup         :: !(Maybe Text)
+    , _dcMasterUsername                  :: !(Maybe Text)
+    , _dcDBClusterResourceId             :: !(Maybe Text)
+    , _dcEarliestRestorableTime          :: !(Maybe ISO8601)
+    , _dcEngine                          :: !(Maybe Text)
+    , _dcDBClusterARN                    :: !(Maybe Text)
+    , _dcLatestRestorableTime            :: !(Maybe ISO8601)
+    , _dcPreferredMaintenanceWindow      :: !(Maybe Text)
+    , _dcAvailabilityZones               :: !(Maybe [Text])
+    , _dcCharacterSetName                :: !(Maybe Text)
+    , _dcKMSKeyId                        :: !(Maybe Text)
+    , _dcPreferredBackupWindow           :: !(Maybe Text)
+    , _dcAssociatedRoles                 :: !(Maybe [DBClusterRole])
+    , _dcVPCSecurityGroups               :: !(Maybe [VPCSecurityGroupMembership])
+    , _dcBackupRetentionPeriod           :: !(Maybe Int)
+    , _dcDBSubnetGroup                   :: !(Maybe Text)
+    , _dcDatabaseName                    :: !(Maybe Text)
+    , _dcAllocatedStorage                :: !(Maybe Int)
+    , _dcEndpoint                        :: !(Maybe Text)
+    , _dcPercentProgress                 :: !(Maybe Text)
+    , _dcReaderEndpoint                  :: !(Maybe Text)
+    , _dcPort                            :: !(Maybe Int)
+    , _dcDBClusterOptionGroupMemberships :: !(Maybe [DBClusterOptionGroupStatus])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBCluster' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcEngineVersion' - Indicates the database engine version.
+--
+-- * 'dcStatus' - Specifies the current state of this DB cluster.
+--
+-- * 'dcStorageEncrypted' - Specifies whether the DB cluster is encrypted.
+--
+-- * 'dcDBClusterIdentifier' - Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.
+--
+-- * 'dcDBClusterMembers' - Provides the list of instances that make up the DB cluster.
+--
+-- * 'dcReadReplicaIdentifiers' - Contains one or more identifiers of the Read Replicas associated with this DB cluster.
+--
+-- * 'dcReplicationSourceIdentifier' - Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.
+--
+-- * 'dcHostedZoneId' - Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
+--
+-- * 'dcDBClusterParameterGroup' - Specifies the name of the DB cluster parameter group for the DB cluster.
+--
+-- * 'dcMasterUsername' - Contains the master username for the DB cluster.
+--
+-- * 'dcDBClusterResourceId' - The region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB cluster is accessed.
+--
+-- * 'dcEarliestRestorableTime' - Specifies the earliest time to which a database can be restored with point-in-time restore.
+--
+-- * 'dcEngine' - Provides the name of the database engine to be used for this DB cluster.
+--
+-- * 'dcDBClusterARN' - The Amazon Resource Name (ARN) for the DB cluster.
+--
+-- * 'dcLatestRestorableTime' - Specifies the latest time to which a database can be restored with point-in-time restore.
+--
+-- * 'dcPreferredMaintenanceWindow' - Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
+--
+-- * 'dcAvailabilityZones' - Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.
+--
+-- * 'dcCharacterSetName' - If present, specifies the name of the character set that this cluster is associated with.
+--
+-- * 'dcKMSKeyId' - If @StorageEncrypted@ is true, the KMS key identifier for the encrypted DB cluster.
+--
+-- * 'dcPreferredBackupWindow' - Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the @BackupRetentionPeriod@ .
+--
+-- * 'dcAssociatedRoles' - Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.
+--
+-- * 'dcVPCSecurityGroups' - Provides a list of VPC security groups that the DB cluster belongs to.
+--
+-- * 'dcBackupRetentionPeriod' - Specifies the number of days for which automatic DB snapshots are retained.
+--
+-- * 'dcDBSubnetGroup' - Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.
+--
+-- * 'dcDatabaseName' - Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.
+--
+-- * 'dcAllocatedStorage' - Specifies the allocated storage size in gigabytes (GB).
+--
+-- * 'dcEndpoint' - Specifies the connection endpoint for the primary instance of the DB cluster.
+--
+-- * 'dcPercentProgress' - Specifies the progress of the operation as a percentage.
+--
+-- * 'dcReaderEndpoint' - The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.  If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection will be dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then recoonect to the reader endpoint.
+--
+-- * 'dcPort' - Specifies the port that the database engine is listening on.
+--
+-- * 'dcDBClusterOptionGroupMemberships' - Provides the list of option group memberships for this DB cluster.
+dbCluster
+    :: DBCluster
+dbCluster =
+    DBCluster'
+    { _dcEngineVersion = Nothing
+    , _dcStatus = Nothing
+    , _dcStorageEncrypted = Nothing
+    , _dcDBClusterIdentifier = Nothing
+    , _dcDBClusterMembers = Nothing
+    , _dcReadReplicaIdentifiers = Nothing
+    , _dcReplicationSourceIdentifier = Nothing
+    , _dcHostedZoneId = Nothing
+    , _dcDBClusterParameterGroup = Nothing
+    , _dcMasterUsername = Nothing
+    , _dcDBClusterResourceId = Nothing
+    , _dcEarliestRestorableTime = Nothing
+    , _dcEngine = Nothing
+    , _dcDBClusterARN = Nothing
+    , _dcLatestRestorableTime = Nothing
+    , _dcPreferredMaintenanceWindow = Nothing
+    , _dcAvailabilityZones = Nothing
+    , _dcCharacterSetName = Nothing
+    , _dcKMSKeyId = Nothing
+    , _dcPreferredBackupWindow = Nothing
+    , _dcAssociatedRoles = Nothing
+    , _dcVPCSecurityGroups = Nothing
+    , _dcBackupRetentionPeriod = Nothing
+    , _dcDBSubnetGroup = Nothing
+    , _dcDatabaseName = Nothing
+    , _dcAllocatedStorage = Nothing
+    , _dcEndpoint = Nothing
+    , _dcPercentProgress = Nothing
+    , _dcReaderEndpoint = Nothing
+    , _dcPort = Nothing
+    , _dcDBClusterOptionGroupMemberships = Nothing
+    }
+
+-- | Indicates the database engine version.
+dcEngineVersion :: Lens' DBCluster (Maybe Text)
+dcEngineVersion = lens _dcEngineVersion (\ s a -> s{_dcEngineVersion = a});
+
+-- | Specifies the current state of this DB cluster.
+dcStatus :: Lens' DBCluster (Maybe Text)
+dcStatus = lens _dcStatus (\ s a -> s{_dcStatus = a});
+
+-- | Specifies whether the DB cluster is encrypted.
+dcStorageEncrypted :: Lens' DBCluster (Maybe Bool)
+dcStorageEncrypted = lens _dcStorageEncrypted (\ s a -> s{_dcStorageEncrypted = a});
+
+-- | Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.
+dcDBClusterIdentifier :: Lens' DBCluster (Maybe Text)
+dcDBClusterIdentifier = lens _dcDBClusterIdentifier (\ s a -> s{_dcDBClusterIdentifier = a});
+
+-- | Provides the list of instances that make up the DB cluster.
+dcDBClusterMembers :: Lens' DBCluster [DBClusterMember]
+dcDBClusterMembers = lens _dcDBClusterMembers (\ s a -> s{_dcDBClusterMembers = a}) . _Default . _Coerce;
+
+-- | Contains one or more identifiers of the Read Replicas associated with this DB cluster.
+dcReadReplicaIdentifiers :: Lens' DBCluster [Text]
+dcReadReplicaIdentifiers = lens _dcReadReplicaIdentifiers (\ s a -> s{_dcReadReplicaIdentifiers = a}) . _Default . _Coerce;
+
+-- | Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.
+dcReplicationSourceIdentifier :: Lens' DBCluster (Maybe Text)
+dcReplicationSourceIdentifier = lens _dcReplicationSourceIdentifier (\ s a -> s{_dcReplicationSourceIdentifier = a});
+
+-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
+dcHostedZoneId :: Lens' DBCluster (Maybe Text)
+dcHostedZoneId = lens _dcHostedZoneId (\ s a -> s{_dcHostedZoneId = a});
+
+-- | Specifies the name of the DB cluster parameter group for the DB cluster.
+dcDBClusterParameterGroup :: Lens' DBCluster (Maybe Text)
+dcDBClusterParameterGroup = lens _dcDBClusterParameterGroup (\ s a -> s{_dcDBClusterParameterGroup = a});
+
+-- | Contains the master username for the DB cluster.
+dcMasterUsername :: Lens' DBCluster (Maybe Text)
+dcMasterUsername = lens _dcMasterUsername (\ s a -> s{_dcMasterUsername = a});
+
+-- | The region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB cluster is accessed.
+dcDBClusterResourceId :: Lens' DBCluster (Maybe Text)
+dcDBClusterResourceId = lens _dcDBClusterResourceId (\ s a -> s{_dcDBClusterResourceId = a});
+
+-- | Specifies the earliest time to which a database can be restored with point-in-time restore.
+dcEarliestRestorableTime :: Lens' DBCluster (Maybe UTCTime)
+dcEarliestRestorableTime = lens _dcEarliestRestorableTime (\ s a -> s{_dcEarliestRestorableTime = a}) . mapping _Time;
+
+-- | Provides the name of the database engine to be used for this DB cluster.
+dcEngine :: Lens' DBCluster (Maybe Text)
+dcEngine = lens _dcEngine (\ s a -> s{_dcEngine = a});
+
+-- | The Amazon Resource Name (ARN) for the DB cluster.
+dcDBClusterARN :: Lens' DBCluster (Maybe Text)
+dcDBClusterARN = lens _dcDBClusterARN (\ s a -> s{_dcDBClusterARN = a});
+
+-- | Specifies the latest time to which a database can be restored with point-in-time restore.
+dcLatestRestorableTime :: Lens' DBCluster (Maybe UTCTime)
+dcLatestRestorableTime = lens _dcLatestRestorableTime (\ s a -> s{_dcLatestRestorableTime = a}) . mapping _Time;
+
+-- | Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
+dcPreferredMaintenanceWindow :: Lens' DBCluster (Maybe Text)
+dcPreferredMaintenanceWindow = lens _dcPreferredMaintenanceWindow (\ s a -> s{_dcPreferredMaintenanceWindow = a});
+
+-- | Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.
+dcAvailabilityZones :: Lens' DBCluster [Text]
+dcAvailabilityZones = lens _dcAvailabilityZones (\ s a -> s{_dcAvailabilityZones = a}) . _Default . _Coerce;
+
+-- | If present, specifies the name of the character set that this cluster is associated with.
+dcCharacterSetName :: Lens' DBCluster (Maybe Text)
+dcCharacterSetName = lens _dcCharacterSetName (\ s a -> s{_dcCharacterSetName = a});
+
+-- | If @StorageEncrypted@ is true, the KMS key identifier for the encrypted DB cluster.
+dcKMSKeyId :: Lens' DBCluster (Maybe Text)
+dcKMSKeyId = lens _dcKMSKeyId (\ s a -> s{_dcKMSKeyId = a});
+
+-- | Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the @BackupRetentionPeriod@ .
+dcPreferredBackupWindow :: Lens' DBCluster (Maybe Text)
+dcPreferredBackupWindow = lens _dcPreferredBackupWindow (\ s a -> s{_dcPreferredBackupWindow = a});
+
+-- | Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.
+dcAssociatedRoles :: Lens' DBCluster [DBClusterRole]
+dcAssociatedRoles = lens _dcAssociatedRoles (\ s a -> s{_dcAssociatedRoles = a}) . _Default . _Coerce;
+
+-- | Provides a list of VPC security groups that the DB cluster belongs to.
+dcVPCSecurityGroups :: Lens' DBCluster [VPCSecurityGroupMembership]
+dcVPCSecurityGroups = lens _dcVPCSecurityGroups (\ s a -> s{_dcVPCSecurityGroups = a}) . _Default . _Coerce;
+
+-- | Specifies the number of days for which automatic DB snapshots are retained.
+dcBackupRetentionPeriod :: Lens' DBCluster (Maybe Int)
+dcBackupRetentionPeriod = lens _dcBackupRetentionPeriod (\ s a -> s{_dcBackupRetentionPeriod = a});
+
+-- | Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.
+dcDBSubnetGroup :: Lens' DBCluster (Maybe Text)
+dcDBSubnetGroup = lens _dcDBSubnetGroup (\ s a -> s{_dcDBSubnetGroup = a});
+
+-- | Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.
+dcDatabaseName :: Lens' DBCluster (Maybe Text)
+dcDatabaseName = lens _dcDatabaseName (\ s a -> s{_dcDatabaseName = a});
+
+-- | Specifies the allocated storage size in gigabytes (GB).
+dcAllocatedStorage :: Lens' DBCluster (Maybe Int)
+dcAllocatedStorage = lens _dcAllocatedStorage (\ s a -> s{_dcAllocatedStorage = a});
+
+-- | Specifies the connection endpoint for the primary instance of the DB cluster.
+dcEndpoint :: Lens' DBCluster (Maybe Text)
+dcEndpoint = lens _dcEndpoint (\ s a -> s{_dcEndpoint = a});
+
+-- | Specifies the progress of the operation as a percentage.
+dcPercentProgress :: Lens' DBCluster (Maybe Text)
+dcPercentProgress = lens _dcPercentProgress (\ s a -> s{_dcPercentProgress = a});
+
+-- | The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.  If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection will be dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then recoonect to the reader endpoint.
+dcReaderEndpoint :: Lens' DBCluster (Maybe Text)
+dcReaderEndpoint = lens _dcReaderEndpoint (\ s a -> s{_dcReaderEndpoint = a});
+
+-- | Specifies the port that the database engine is listening on.
+dcPort :: Lens' DBCluster (Maybe Int)
+dcPort = lens _dcPort (\ s a -> s{_dcPort = a});
+
+-- | Provides the list of option group memberships for this DB cluster.
+dcDBClusterOptionGroupMemberships :: Lens' DBCluster [DBClusterOptionGroupStatus]
+dcDBClusterOptionGroupMemberships = lens _dcDBClusterOptionGroupMemberships (\ s a -> s{_dcDBClusterOptionGroupMemberships = a}) . _Default . _Coerce;
+
+instance FromXML DBCluster where
+        parseXML x
+          = DBCluster' <$>
+              (x .@? "EngineVersion") <*> (x .@? "Status") <*>
+                (x .@? "StorageEncrypted")
+                <*> (x .@? "DBClusterIdentifier")
+                <*>
+                (x .@? "DBClusterMembers" .!@ mempty >>=
+                   may (parseXMLList "DBClusterMember"))
+                <*>
+                (x .@? "ReadReplicaIdentifiers" .!@ mempty >>=
+                   may (parseXMLList "ReadReplicaIdentifier"))
+                <*> (x .@? "ReplicationSourceIdentifier")
+                <*> (x .@? "HostedZoneId")
+                <*> (x .@? "DBClusterParameterGroup")
+                <*> (x .@? "MasterUsername")
+                <*> (x .@? "DbClusterResourceId")
+                <*> (x .@? "EarliestRestorableTime")
+                <*> (x .@? "Engine")
+                <*> (x .@? "DBClusterArn")
+                <*> (x .@? "LatestRestorableTime")
+                <*> (x .@? "PreferredMaintenanceWindow")
+                <*>
+                (x .@? "AvailabilityZones" .!@ mempty >>=
+                   may (parseXMLList "AvailabilityZone"))
+                <*> (x .@? "CharacterSetName")
+                <*> (x .@? "KmsKeyId")
+                <*> (x .@? "PreferredBackupWindow")
+                <*>
+                (x .@? "AssociatedRoles" .!@ mempty >>=
+                   may (parseXMLList "DBClusterRole"))
+                <*>
+                (x .@? "VpcSecurityGroups" .!@ mempty >>=
+                   may (parseXMLList "VpcSecurityGroupMembership"))
+                <*> (x .@? "BackupRetentionPeriod")
+                <*> (x .@? "DBSubnetGroup")
+                <*> (x .@? "DatabaseName")
+                <*> (x .@? "AllocatedStorage")
+                <*> (x .@? "Endpoint")
+                <*> (x .@? "PercentProgress")
+                <*> (x .@? "ReaderEndpoint")
+                <*> (x .@? "Port")
+                <*>
+                (x .@? "DBClusterOptionGroupMemberships" .!@ mempty
+                   >>= may (parseXMLList "DBClusterOptionGroup"))
+
+instance Hashable DBCluster
+
+instance NFData DBCluster
+
+-- | Contains information about an instance that is part of a DB cluster.
+--
+--
+--
+-- /See:/ 'dbClusterMember' smart constructor.
+data DBClusterMember = DBClusterMember'
+    { _dcmPromotionTier                 :: !(Maybe Int)
+    , _dcmDBInstanceIdentifier          :: !(Maybe Text)
+    , _dcmIsClusterWriter               :: !(Maybe Bool)
+    , _dcmDBClusterParameterGroupStatus :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterMember' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcmPromotionTier' - A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .
+--
+-- * 'dcmDBInstanceIdentifier' - Specifies the instance identifier for this member of the DB cluster.
+--
+-- * 'dcmIsClusterWriter' - Value that is @true@ if the cluster member is the primary instance for the DB cluster and @false@ otherwise.
+--
+-- * 'dcmDBClusterParameterGroupStatus' - Specifies the status of the DB cluster parameter group for this member of the DB cluster.
+dbClusterMember
+    :: DBClusterMember
+dbClusterMember =
+    DBClusterMember'
+    { _dcmPromotionTier = Nothing
+    , _dcmDBInstanceIdentifier = Nothing
+    , _dcmIsClusterWriter = Nothing
+    , _dcmDBClusterParameterGroupStatus = Nothing
+    }
+
+-- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .
+dcmPromotionTier :: Lens' DBClusterMember (Maybe Int)
+dcmPromotionTier = lens _dcmPromotionTier (\ s a -> s{_dcmPromotionTier = a});
+
+-- | Specifies the instance identifier for this member of the DB cluster.
+dcmDBInstanceIdentifier :: Lens' DBClusterMember (Maybe Text)
+dcmDBInstanceIdentifier = lens _dcmDBInstanceIdentifier (\ s a -> s{_dcmDBInstanceIdentifier = a});
+
+-- | Value that is @true@ if the cluster member is the primary instance for the DB cluster and @false@ otherwise.
+dcmIsClusterWriter :: Lens' DBClusterMember (Maybe Bool)
+dcmIsClusterWriter = lens _dcmIsClusterWriter (\ s a -> s{_dcmIsClusterWriter = a});
+
+-- | Specifies the status of the DB cluster parameter group for this member of the DB cluster.
+dcmDBClusterParameterGroupStatus :: Lens' DBClusterMember (Maybe Text)
+dcmDBClusterParameterGroupStatus = lens _dcmDBClusterParameterGroupStatus (\ s a -> s{_dcmDBClusterParameterGroupStatus = a});
+
+instance FromXML DBClusterMember where
+        parseXML x
+          = DBClusterMember' <$>
+              (x .@? "PromotionTier") <*>
+                (x .@? "DBInstanceIdentifier")
+                <*> (x .@? "IsClusterWriter")
+                <*> (x .@? "DBClusterParameterGroupStatus")
+
+instance Hashable DBClusterMember
+
+instance NFData DBClusterMember
+
+-- | Contains status information for a DB cluster option group.
+--
+--
+--
+-- /See:/ 'dbClusterOptionGroupStatus' smart constructor.
+data DBClusterOptionGroupStatus = DBClusterOptionGroupStatus'
+    { _dcogsStatus                   :: !(Maybe Text)
+    , _dcogsDBClusterOptionGroupName :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterOptionGroupStatus' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcogsStatus' - Specifies the status of the DB cluster option group.
+--
+-- * 'dcogsDBClusterOptionGroupName' - Specifies the name of the DB cluster option group.
+dbClusterOptionGroupStatus
+    :: DBClusterOptionGroupStatus
+dbClusterOptionGroupStatus =
+    DBClusterOptionGroupStatus'
+    { _dcogsStatus = Nothing
+    , _dcogsDBClusterOptionGroupName = Nothing
+    }
+
+-- | Specifies the status of the DB cluster option group.
+dcogsStatus :: Lens' DBClusterOptionGroupStatus (Maybe Text)
+dcogsStatus = lens _dcogsStatus (\ s a -> s{_dcogsStatus = a});
+
+-- | Specifies the name of the DB cluster option group.
+dcogsDBClusterOptionGroupName :: Lens' DBClusterOptionGroupStatus (Maybe Text)
+dcogsDBClusterOptionGroupName = lens _dcogsDBClusterOptionGroupName (\ s a -> s{_dcogsDBClusterOptionGroupName = a});
+
+instance FromXML DBClusterOptionGroupStatus where
+        parseXML x
+          = DBClusterOptionGroupStatus' <$>
+              (x .@? "Status") <*>
+                (x .@? "DBClusterOptionGroupName")
+
+instance Hashable DBClusterOptionGroupStatus
+
+instance NFData DBClusterOptionGroupStatus
+
+-- | Contains the result of a successful invocation of the 'CreateDBClusterParameterGroup' or 'CopyDBClusterParameterGroup' action.
+--
+--
+-- This data type is used as a request parameter in the 'DeleteDBClusterParameterGroup' action, and as a response element in the 'DescribeDBClusterParameterGroups' action.
+--
+--
+-- /See:/ 'dbClusterParameterGroup' smart constructor.
+data DBClusterParameterGroup = DBClusterParameterGroup'
+    { _dcpgDBClusterParameterGroupARN  :: !(Maybe Text)
+    , _dcpgDBParameterGroupFamily      :: !(Maybe Text)
+    , _dcpgDBClusterParameterGroupName :: !(Maybe Text)
+    , _dcpgDescription                 :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterParameterGroup' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcpgDBClusterParameterGroupARN' - The Amazon Resource Name (ARN) for the DB cluster parameter group.
+--
+-- * 'dcpgDBParameterGroupFamily' - Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.
+--
+-- * 'dcpgDBClusterParameterGroupName' - Provides the name of the DB cluster parameter group.
+--
+-- * 'dcpgDescription' - Provides the customer-specified description for this DB cluster parameter group.
+dbClusterParameterGroup
+    :: DBClusterParameterGroup
+dbClusterParameterGroup =
+    DBClusterParameterGroup'
+    { _dcpgDBClusterParameterGroupARN = Nothing
+    , _dcpgDBParameterGroupFamily = Nothing
+    , _dcpgDBClusterParameterGroupName = Nothing
+    , _dcpgDescription = Nothing
+    }
+
+-- | The Amazon Resource Name (ARN) for the DB cluster parameter group.
+dcpgDBClusterParameterGroupARN :: Lens' DBClusterParameterGroup (Maybe Text)
+dcpgDBClusterParameterGroupARN = lens _dcpgDBClusterParameterGroupARN (\ s a -> s{_dcpgDBClusterParameterGroupARN = a});
+
+-- | Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.
+dcpgDBParameterGroupFamily :: Lens' DBClusterParameterGroup (Maybe Text)
+dcpgDBParameterGroupFamily = lens _dcpgDBParameterGroupFamily (\ s a -> s{_dcpgDBParameterGroupFamily = a});
+
+-- | Provides the name of the DB cluster parameter group.
+dcpgDBClusterParameterGroupName :: Lens' DBClusterParameterGroup (Maybe Text)
+dcpgDBClusterParameterGroupName = lens _dcpgDBClusterParameterGroupName (\ s a -> s{_dcpgDBClusterParameterGroupName = a});
+
+-- | Provides the customer-specified description for this DB cluster parameter group.
+dcpgDescription :: Lens' DBClusterParameterGroup (Maybe Text)
+dcpgDescription = lens _dcpgDescription (\ s a -> s{_dcpgDescription = a});
+
+instance FromXML DBClusterParameterGroup where
+        parseXML x
+          = DBClusterParameterGroup' <$>
+              (x .@? "DBClusterParameterGroupArn") <*>
+                (x .@? "DBParameterGroupFamily")
+                <*> (x .@? "DBClusterParameterGroupName")
+                <*> (x .@? "Description")
+
+instance Hashable DBClusterParameterGroup
+
+instance NFData DBClusterParameterGroup
+
+-- |
+--
+--
+--
+-- /See:/ 'dbClusterParameterGroupNameMessage' smart constructor.
+newtype DBClusterParameterGroupNameMessage = DBClusterParameterGroupNameMessage'
+    { _dcpgnmDBClusterParameterGroupName :: Maybe Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterParameterGroupNameMessage' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcpgnmDBClusterParameterGroupName' - The name of the DB cluster 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
+dbClusterParameterGroupNameMessage
+    :: DBClusterParameterGroupNameMessage
+dbClusterParameterGroupNameMessage =
+    DBClusterParameterGroupNameMessage'
+    { _dcpgnmDBClusterParameterGroupName = Nothing
+    }
+
+-- | The name of the DB cluster 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
+dcpgnmDBClusterParameterGroupName :: Lens' DBClusterParameterGroupNameMessage (Maybe Text)
+dcpgnmDBClusterParameterGroupName = lens _dcpgnmDBClusterParameterGroupName (\ s a -> s{_dcpgnmDBClusterParameterGroupName = a});
+
+instance FromXML DBClusterParameterGroupNameMessage
+         where
+        parseXML x
+          = DBClusterParameterGroupNameMessage' <$>
+              (x .@? "DBClusterParameterGroupName")
+
+instance Hashable DBClusterParameterGroupNameMessage
+
+instance NFData DBClusterParameterGroupNameMessage
+
+-- | Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.
+--
+--
+--
+-- /See:/ 'dbClusterRole' smart constructor.
+data DBClusterRole = DBClusterRole'
+    { _dcrStatus  :: !(Maybe Text)
+    , _dcrRoleARN :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterRole' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcrStatus' - Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:     * @ACTIVE@ - the IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.     * @PENDING@ - the IAM role ARN is being associated with the DB cluster.     * @INVALID@ - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other AWS services on your behalf.
+--
+-- * 'dcrRoleARN' - The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.
+dbClusterRole
+    :: DBClusterRole
+dbClusterRole =
+    DBClusterRole'
+    { _dcrStatus = Nothing
+    , _dcrRoleARN = Nothing
+    }
+
+-- | Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:     * @ACTIVE@ - the IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.     * @PENDING@ - the IAM role ARN is being associated with the DB cluster.     * @INVALID@ - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other AWS services on your behalf.
+dcrStatus :: Lens' DBClusterRole (Maybe Text)
+dcrStatus = lens _dcrStatus (\ s a -> s{_dcrStatus = a});
+
+-- | The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.
+dcrRoleARN :: Lens' DBClusterRole (Maybe Text)
+dcrRoleARN = lens _dcrRoleARN (\ s a -> s{_dcrRoleARN = a});
+
+instance FromXML DBClusterRole where
+        parseXML x
+          = DBClusterRole' <$>
+              (x .@? "Status") <*> (x .@? "RoleArn")
+
+instance Hashable DBClusterRole
+
+instance NFData DBClusterRole
+
+-- | Contains the result of a successful invocation of the following actions:
+--
+--
+--     * 'CreateDBClusterSnapshot'
+--
+--     * 'DeleteDBClusterSnapshot'
+--
+--
+--
+-- This data type is used as a response element in the 'DescribeDBClusterSnapshots' action.
+--
+--
+-- /See:/ 'dbClusterSnapshot' smart constructor.
+data DBClusterSnapshot = DBClusterSnapshot'
+    { _dcsEngineVersion               :: !(Maybe Text)
+    , _dcsStatus                      :: !(Maybe Text)
+    , _dcsStorageEncrypted            :: !(Maybe Bool)
+    , _dcsDBClusterIdentifier         :: !(Maybe Text)
+    , _dcsMasterUsername              :: !(Maybe Text)
+    , _dcsDBClusterSnapshotARN        :: !(Maybe Text)
+    , _dcsVPCId                       :: !(Maybe Text)
+    , _dcsDBClusterSnapshotIdentifier :: !(Maybe Text)
+    , _dcsEngine                      :: !(Maybe Text)
+    , _dcsLicenseModel                :: !(Maybe Text)
+    , _dcsAvailabilityZones           :: !(Maybe [Text])
+    , _dcsSnapshotType                :: !(Maybe Text)
+    , _dcsKMSKeyId                    :: !(Maybe Text)
+    , _dcsSnapshotCreateTime          :: !(Maybe ISO8601)
+    , _dcsAllocatedStorage            :: !(Maybe Int)
+    , _dcsClusterCreateTime           :: !(Maybe ISO8601)
+    , _dcsPercentProgress             :: !(Maybe Int)
+    , _dcsPort                        :: !(Maybe Int)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterSnapshot' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcsEngineVersion' - Provides the version of the database engine for this DB cluster snapshot.
+--
+-- * 'dcsStatus' - Specifies the status of this DB cluster snapshot.
+--
+-- * 'dcsStorageEncrypted' - Specifies whether the DB cluster snapshot is encrypted.
+--
+-- * 'dcsDBClusterIdentifier' - Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.
+--
+-- * 'dcsMasterUsername' - Provides the master username for the DB cluster snapshot.
+--
+-- * 'dcsDBClusterSnapshotARN' - The Amazon Resource Name (ARN) for the DB cluster snapshot.
+--
+-- * 'dcsVPCId' - Provides the VPC ID associated with the DB cluster snapshot.
+--
+-- * 'dcsDBClusterSnapshotIdentifier' - Specifies the identifier for the DB cluster snapshot.
+--
+-- * 'dcsEngine' - Specifies the name of the database engine.
+--
+-- * 'dcsLicenseModel' - Provides the license model information for this DB cluster snapshot.
+--
+-- * 'dcsAvailabilityZones' - Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
+--
+-- * 'dcsSnapshotType' - Provides the type of the DB cluster snapshot.
+--
+-- * 'dcsKMSKeyId' - If @StorageEncrypted@ is true, the KMS key identifier for the encrypted DB cluster snapshot.
+--
+-- * 'dcsSnapshotCreateTime' - Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
+--
+-- * 'dcsAllocatedStorage' - Specifies the allocated storage size in gigabytes (GB).
+--
+-- * 'dcsClusterCreateTime' - Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).
+--
+-- * 'dcsPercentProgress' - Specifies the percentage of the estimated data that has been transferred.
+--
+-- * 'dcsPort' - Specifies the port that the DB cluster was listening on at the time of the snapshot.
+dbClusterSnapshot
+    :: DBClusterSnapshot
+dbClusterSnapshot =
+    DBClusterSnapshot'
+    { _dcsEngineVersion = Nothing
+    , _dcsStatus = Nothing
+    , _dcsStorageEncrypted = Nothing
+    , _dcsDBClusterIdentifier = Nothing
+    , _dcsMasterUsername = Nothing
+    , _dcsDBClusterSnapshotARN = Nothing
+    , _dcsVPCId = Nothing
+    , _dcsDBClusterSnapshotIdentifier = Nothing
+    , _dcsEngine = Nothing
+    , _dcsLicenseModel = Nothing
+    , _dcsAvailabilityZones = Nothing
+    , _dcsSnapshotType = Nothing
+    , _dcsKMSKeyId = Nothing
+    , _dcsSnapshotCreateTime = Nothing
+    , _dcsAllocatedStorage = Nothing
+    , _dcsClusterCreateTime = Nothing
+    , _dcsPercentProgress = Nothing
+    , _dcsPort = Nothing
+    }
+
+-- | Provides the version of the database engine for this DB cluster snapshot.
+dcsEngineVersion :: Lens' DBClusterSnapshot (Maybe Text)
+dcsEngineVersion = lens _dcsEngineVersion (\ s a -> s{_dcsEngineVersion = a});
+
+-- | Specifies the status of this DB cluster snapshot.
+dcsStatus :: Lens' DBClusterSnapshot (Maybe Text)
+dcsStatus = lens _dcsStatus (\ s a -> s{_dcsStatus = a});
+
+-- | Specifies whether the DB cluster snapshot is encrypted.
+dcsStorageEncrypted :: Lens' DBClusterSnapshot (Maybe Bool)
+dcsStorageEncrypted = lens _dcsStorageEncrypted (\ s a -> s{_dcsStorageEncrypted = a});
+
+-- | Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.
+dcsDBClusterIdentifier :: Lens' DBClusterSnapshot (Maybe Text)
+dcsDBClusterIdentifier = lens _dcsDBClusterIdentifier (\ s a -> s{_dcsDBClusterIdentifier = a});
+
+-- | Provides the master username for the DB cluster snapshot.
+dcsMasterUsername :: Lens' DBClusterSnapshot (Maybe Text)
+dcsMasterUsername = lens _dcsMasterUsername (\ s a -> s{_dcsMasterUsername = a});
+
+-- | The Amazon Resource Name (ARN) for the DB cluster snapshot.
+dcsDBClusterSnapshotARN :: Lens' DBClusterSnapshot (Maybe Text)
+dcsDBClusterSnapshotARN = lens _dcsDBClusterSnapshotARN (\ s a -> s{_dcsDBClusterSnapshotARN = a});
+
+-- | Provides the VPC ID associated with the DB cluster snapshot.
+dcsVPCId :: Lens' DBClusterSnapshot (Maybe Text)
+dcsVPCId = lens _dcsVPCId (\ s a -> s{_dcsVPCId = a});
+
+-- | Specifies the identifier for the DB cluster snapshot.
+dcsDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshot (Maybe Text)
+dcsDBClusterSnapshotIdentifier = lens _dcsDBClusterSnapshotIdentifier (\ s a -> s{_dcsDBClusterSnapshotIdentifier = a});
+
+-- | Specifies the name of the database engine.
+dcsEngine :: Lens' DBClusterSnapshot (Maybe Text)
+dcsEngine = lens _dcsEngine (\ s a -> s{_dcsEngine = a});
+
+-- | Provides the license model information for this DB cluster snapshot.
+dcsLicenseModel :: Lens' DBClusterSnapshot (Maybe Text)
+dcsLicenseModel = lens _dcsLicenseModel (\ s a -> s{_dcsLicenseModel = a});
+
+-- | Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.
+dcsAvailabilityZones :: Lens' DBClusterSnapshot [Text]
+dcsAvailabilityZones = lens _dcsAvailabilityZones (\ s a -> s{_dcsAvailabilityZones = a}) . _Default . _Coerce;
+
+-- | Provides the type of the DB cluster snapshot.
+dcsSnapshotType :: Lens' DBClusterSnapshot (Maybe Text)
+dcsSnapshotType = lens _dcsSnapshotType (\ s a -> s{_dcsSnapshotType = a});
+
+-- | If @StorageEncrypted@ is true, the KMS key identifier for the encrypted DB cluster snapshot.
+dcsKMSKeyId :: Lens' DBClusterSnapshot (Maybe Text)
+dcsKMSKeyId = lens _dcsKMSKeyId (\ s a -> s{_dcsKMSKeyId = a});
+
+-- | Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
+dcsSnapshotCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)
+dcsSnapshotCreateTime = lens _dcsSnapshotCreateTime (\ s a -> s{_dcsSnapshotCreateTime = a}) . mapping _Time;
+
+-- | Specifies the allocated storage size in gigabytes (GB).
+dcsAllocatedStorage :: Lens' DBClusterSnapshot (Maybe Int)
+dcsAllocatedStorage = lens _dcsAllocatedStorage (\ s a -> s{_dcsAllocatedStorage = a});
+
+-- | Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).
+dcsClusterCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)
+dcsClusterCreateTime = lens _dcsClusterCreateTime (\ s a -> s{_dcsClusterCreateTime = a}) . mapping _Time;
+
+-- | Specifies the percentage of the estimated data that has been transferred.
+dcsPercentProgress :: Lens' DBClusterSnapshot (Maybe Int)
+dcsPercentProgress = lens _dcsPercentProgress (\ s a -> s{_dcsPercentProgress = a});
+
+-- | Specifies the port that the DB cluster was listening on at the time of the snapshot.
+dcsPort :: Lens' DBClusterSnapshot (Maybe Int)
+dcsPort = lens _dcsPort (\ s a -> s{_dcsPort = a});
+
+instance FromXML DBClusterSnapshot where
+        parseXML x
+          = DBClusterSnapshot' <$>
+              (x .@? "EngineVersion") <*> (x .@? "Status") <*>
+                (x .@? "StorageEncrypted")
+                <*> (x .@? "DBClusterIdentifier")
+                <*> (x .@? "MasterUsername")
+                <*> (x .@? "DBClusterSnapshotArn")
+                <*> (x .@? "VpcId")
+                <*> (x .@? "DBClusterSnapshotIdentifier")
+                <*> (x .@? "Engine")
+                <*> (x .@? "LicenseModel")
+                <*>
+                (x .@? "AvailabilityZones" .!@ mempty >>=
+                   may (parseXMLList "AvailabilityZone"))
+                <*> (x .@? "SnapshotType")
+                <*> (x .@? "KmsKeyId")
+                <*> (x .@? "SnapshotCreateTime")
+                <*> (x .@? "AllocatedStorage")
+                <*> (x .@? "ClusterCreateTime")
+                <*> (x .@? "PercentProgress")
+                <*> (x .@? "Port")
+
+instance Hashable DBClusterSnapshot
+
+instance NFData DBClusterSnapshot
+
+-- | Contains the name and values of a manual DB cluster snapshot attribute.
+--
+--
+-- Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the 'ModifyDBClusterSnapshotAttribute' API action.
+--
+--
+-- /See:/ 'dbClusterSnapshotAttribute' smart constructor.
+data DBClusterSnapshotAttribute = DBClusterSnapshotAttribute'
+    { _dcsaAttributeValues :: !(Maybe [Text])
+    , _dcsaAttributeName   :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterSnapshotAttribute' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcsaAttributeValues' - The value(s) for the manual DB cluster snapshot attribute. If the @AttributeName@ field is set to @restore@ , then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of @all@ is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.
+--
+-- * 'dcsaAttributeName' - The name of the manual DB cluster snapshot attribute. The attribute named @restore@ refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the 'ModifyDBClusterSnapshotAttribute' API action.
+dbClusterSnapshotAttribute
+    :: DBClusterSnapshotAttribute
+dbClusterSnapshotAttribute =
+    DBClusterSnapshotAttribute'
+    { _dcsaAttributeValues = Nothing
+    , _dcsaAttributeName = Nothing
+    }
+
+-- | The value(s) for the manual DB cluster snapshot attribute. If the @AttributeName@ field is set to @restore@ , then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of @all@ is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.
+dcsaAttributeValues :: Lens' DBClusterSnapshotAttribute [Text]
+dcsaAttributeValues = lens _dcsaAttributeValues (\ s a -> s{_dcsaAttributeValues = a}) . _Default . _Coerce;
+
+-- | The name of the manual DB cluster snapshot attribute. The attribute named @restore@ refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the 'ModifyDBClusterSnapshotAttribute' API action.
+dcsaAttributeName :: Lens' DBClusterSnapshotAttribute (Maybe Text)
+dcsaAttributeName = lens _dcsaAttributeName (\ s a -> s{_dcsaAttributeName = a});
+
+instance FromXML DBClusterSnapshotAttribute where
+        parseXML x
+          = DBClusterSnapshotAttribute' <$>
+              (x .@? "AttributeValues" .!@ mempty >>=
+                 may (parseXMLList "AttributeValue"))
+                <*> (x .@? "AttributeName")
+
+instance Hashable DBClusterSnapshotAttribute
+
+instance NFData DBClusterSnapshotAttribute
+
+-- | Contains the results of a successful call to the 'DescribeDBClusterSnapshotAttributes' API action.
+--
+--
+-- Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the 'ModifyDBClusterSnapshotAttribute' API action.
+--
+--
+-- /See:/ 'dbClusterSnapshotAttributesResult' smart constructor.
+data DBClusterSnapshotAttributesResult = DBClusterSnapshotAttributesResult'
+    { _dcsarDBClusterSnapshotIdentifier :: !(Maybe Text)
+    , _dcsarDBClusterSnapshotAttributes :: !(Maybe [DBClusterSnapshotAttribute])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBClusterSnapshotAttributesResult' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcsarDBClusterSnapshotIdentifier' - The identifier of the manual DB cluster snapshot that the attributes apply to.
+--
+-- * 'dcsarDBClusterSnapshotAttributes' - The list of attributes and values for the manual DB cluster snapshot.
+dbClusterSnapshotAttributesResult
+    :: DBClusterSnapshotAttributesResult
+dbClusterSnapshotAttributesResult =
+    DBClusterSnapshotAttributesResult'
+    { _dcsarDBClusterSnapshotIdentifier = Nothing
+    , _dcsarDBClusterSnapshotAttributes = Nothing
+    }
+
+-- | The identifier of the manual DB cluster snapshot that the attributes apply to.
+dcsarDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshotAttributesResult (Maybe Text)
+dcsarDBClusterSnapshotIdentifier = lens _dcsarDBClusterSnapshotIdentifier (\ s a -> s{_dcsarDBClusterSnapshotIdentifier = a});
+
+-- | The list of attributes and values for the manual DB cluster snapshot.
+dcsarDBClusterSnapshotAttributes :: Lens' DBClusterSnapshotAttributesResult [DBClusterSnapshotAttribute]
+dcsarDBClusterSnapshotAttributes = lens _dcsarDBClusterSnapshotAttributes (\ s a -> s{_dcsarDBClusterSnapshotAttributes = a}) . _Default . _Coerce;
+
+instance FromXML DBClusterSnapshotAttributesResult
+         where
+        parseXML x
+          = DBClusterSnapshotAttributesResult' <$>
+              (x .@? "DBClusterSnapshotIdentifier") <*>
+                (x .@? "DBClusterSnapshotAttributes" .!@ mempty >>=
+                   may (parseXMLList "DBClusterSnapshotAttribute"))
+
+instance Hashable DBClusterSnapshotAttributesResult
+
+instance NFData DBClusterSnapshotAttributesResult
+
+-- | This data type is used as a response element in the action 'DescribeDBEngineVersions' .
+--
+--
+--
+-- /See:/ 'dbEngineVersion' smart constructor.
+data DBEngineVersion = DBEngineVersion'
+    { _devEngineVersion              :: !(Maybe Text)
+    , _devDBEngineVersionDescription :: !(Maybe Text)
+    , _devDefaultCharacterSet        :: !(Maybe CharacterSet)
+    , _devEngine                     :: !(Maybe Text)
+    , _devDBParameterGroupFamily     :: !(Maybe Text)
+    , _devSupportedCharacterSets     :: !(Maybe [CharacterSet])
+    , _devDBEngineDescription        :: !(Maybe Text)
+    , _devValidUpgradeTarget         :: !(Maybe [UpgradeTarget])
+    , _devSupportedTimezones         :: !(Maybe [Timezone])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBEngineVersion' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'devEngineVersion' - The version number of the database engine.
+--
+-- * 'devDBEngineVersionDescription' - The description of the database engine version.
+--
+-- * 'devDefaultCharacterSet' - The default character set for new instances of this engine version, if the @CharacterSetName@ parameter of the CreateDBInstance API is not specified.
+--
+-- * 'devEngine' - The name of the database engine.
+--
+-- * 'devDBParameterGroupFamily' - The name of the DB parameter group family for the database engine.
+--
+-- * 'devSupportedCharacterSets' - A list of the character sets supported by this engine for the @CharacterSetName@ parameter of the @CreateDBInstance@ action.
+--
+-- * 'devDBEngineDescription' - The description of the database engine.
+--
+-- * 'devValidUpgradeTarget' - A list of engine versions that this database engine version can be upgraded to.
+--
+-- * 'devSupportedTimezones' - A list of the time zones supported by this engine for the @Timezone@ parameter of the @CreateDBInstance@ action.
+dbEngineVersion
+    :: DBEngineVersion
+dbEngineVersion =
+    DBEngineVersion'
+    { _devEngineVersion = Nothing
+    , _devDBEngineVersionDescription = Nothing
+    , _devDefaultCharacterSet = Nothing
+    , _devEngine = Nothing
+    , _devDBParameterGroupFamily = Nothing
+    , _devSupportedCharacterSets = Nothing
+    , _devDBEngineDescription = Nothing
+    , _devValidUpgradeTarget = Nothing
+    , _devSupportedTimezones = Nothing
+    }
+
+-- | The version number of the database engine.
+devEngineVersion :: Lens' DBEngineVersion (Maybe Text)
+devEngineVersion = lens _devEngineVersion (\ s a -> s{_devEngineVersion = a});
+
+-- | The description of the database engine version.
+devDBEngineVersionDescription :: Lens' DBEngineVersion (Maybe Text)
+devDBEngineVersionDescription = lens _devDBEngineVersionDescription (\ s a -> s{_devDBEngineVersionDescription = a});
+
+-- | The default character set for new instances of this engine version, if the @CharacterSetName@ parameter of the CreateDBInstance API is not specified.
+devDefaultCharacterSet :: Lens' DBEngineVersion (Maybe CharacterSet)
+devDefaultCharacterSet = lens _devDefaultCharacterSet (\ s a -> s{_devDefaultCharacterSet = a});
+
+-- | The name of the database engine.
+devEngine :: Lens' DBEngineVersion (Maybe Text)
+devEngine = lens _devEngine (\ s a -> s{_devEngine = a});
+
+-- | The name of the DB parameter group family for the database engine.
+devDBParameterGroupFamily :: Lens' DBEngineVersion (Maybe Text)
+devDBParameterGroupFamily = lens _devDBParameterGroupFamily (\ s a -> s{_devDBParameterGroupFamily = a});
+
+-- | A list of the character sets supported by this engine for the @CharacterSetName@ parameter of the @CreateDBInstance@ action.
+devSupportedCharacterSets :: Lens' DBEngineVersion [CharacterSet]
+devSupportedCharacterSets = lens _devSupportedCharacterSets (\ s a -> s{_devSupportedCharacterSets = a}) . _Default . _Coerce;
+
+-- | The description of the database engine.
+devDBEngineDescription :: Lens' DBEngineVersion (Maybe Text)
+devDBEngineDescription = lens _devDBEngineDescription (\ s a -> s{_devDBEngineDescription = a});
+
+-- | A list of engine versions that this database engine version can be upgraded to.
+devValidUpgradeTarget :: Lens' DBEngineVersion [UpgradeTarget]
+devValidUpgradeTarget = lens _devValidUpgradeTarget (\ s a -> s{_devValidUpgradeTarget = a}) . _Default . _Coerce;
+
+-- | A list of the time zones supported by this engine for the @Timezone@ parameter of the @CreateDBInstance@ action.
+devSupportedTimezones :: Lens' DBEngineVersion [Timezone]
+devSupportedTimezones = lens _devSupportedTimezones (\ s a -> s{_devSupportedTimezones = a}) . _Default . _Coerce;
+
+instance FromXML DBEngineVersion where
+        parseXML x
+          = DBEngineVersion' <$>
+              (x .@? "EngineVersion") <*>
+                (x .@? "DBEngineVersionDescription")
+                <*> (x .@? "DefaultCharacterSet")
+                <*> (x .@? "Engine")
+                <*> (x .@? "DBParameterGroupFamily")
+                <*>
+                (x .@? "SupportedCharacterSets" .!@ mempty >>=
+                   may (parseXMLList "CharacterSet"))
+                <*> (x .@? "DBEngineDescription")
+                <*>
+                (x .@? "ValidUpgradeTarget" .!@ mempty >>=
+                   may (parseXMLList "UpgradeTarget"))
+                <*>
+                (x .@? "SupportedTimezones" .!@ mempty >>=
+                   may (parseXMLList "Timezone"))
+
+instance Hashable DBEngineVersion
+
+instance NFData DBEngineVersion
+
+-- | Contains the result of a successful invocation of the following actions:
+--
+--
+--     * 'CreateDBInstance'
+--
+--     * 'DeleteDBInstance'
+--
+--     * 'ModifyDBInstance'
+--
+--
+--
+-- This data type is used as a response element in the 'DescribeDBInstances' action.
+--
+--
+-- /See:/ 'dbInstance' smart constructor.
+data DBInstance = DBInstance'
+    { _diEngineVersion                         :: !(Maybe Text)
+    , _diDBSecurityGroups                      :: !(Maybe [DBSecurityGroupMembership])
+    , _diStorageEncrypted                      :: !(Maybe Bool)
+    , _diDBClusterIdentifier                   :: !(Maybe Text)
+    , _diPubliclyAccessible                    :: !(Maybe Bool)
+    , _diAutoMinorVersionUpgrade               :: !(Maybe Bool)
+    , _diDBInstanceARN                         :: !(Maybe Text)
+    , _diMasterUsername                        :: !(Maybe Text)
+    , _diReadReplicaDBInstanceIdentifiers      :: !(Maybe [Text])
+    , _diMonitoringRoleARN                     :: !(Maybe Text)
+    , _diIOPS                                  :: !(Maybe Int)
+    , _diInstanceCreateTime                    :: !(Maybe ISO8601)
+    , _diReadReplicaSourceDBInstanceIdentifier :: !(Maybe Text)
+    , _diMonitoringInterval                    :: !(Maybe Int)
+    , _diEngine                                :: !(Maybe Text)
+    , _diLatestRestorableTime                  :: !(Maybe ISO8601)
+    , _diDBInstanceClass                       :: !(Maybe Text)
+    , _diPromotionTier                         :: !(Maybe Int)
+    , _diLicenseModel                          :: !(Maybe Text)
+    , _diPreferredMaintenanceWindow            :: !(Maybe Text)
+    , _diCACertificateIdentifier               :: !(Maybe Text)
+    , _diDBInstanceIdentifier                  :: !(Maybe Text)
+    , _diCharacterSetName                      :: !(Maybe Text)
+    , _diKMSKeyId                              :: !(Maybe Text)
+    , _diPreferredBackupWindow                 :: !(Maybe Text)
+    , _diAvailabilityZone                      :: !(Maybe Text)
+    , _diVPCSecurityGroups                     :: !(Maybe [VPCSecurityGroupMembership])
+    , _diBackupRetentionPeriod                 :: !(Maybe Int)
+    , _diDBSubnetGroup                         :: !(Maybe DBSubnetGroup)
+    , _diMultiAZ                               :: !(Maybe Bool)
+    , _diOptionGroupMemberships                :: !(Maybe [OptionGroupMembership])
+    , _diEnhancedMonitoringResourceARN         :: !(Maybe Text)
+    , _diSecondaryAvailabilityZone             :: !(Maybe Text)
+    , _diAllocatedStorage                      :: !(Maybe Int)
+    , _diDBiResourceId                         :: !(Maybe Text)
+    , _diDBParameterGroups                     :: !(Maybe [DBParameterGroupStatus])
+    , _diCopyTagsToSnapshot                    :: !(Maybe Bool)
+    , _diTimezone                              :: !(Maybe Text)
+    , _diTDECredentialARN                      :: !(Maybe Text)
+    , _diEndpoint                              :: !(Maybe Endpoint)
+    , _diDBInstanceStatus                      :: !(Maybe Text)
+    , _diDBInstancePort                        :: !(Maybe Int)
+    , _diPendingModifiedValues                 :: !(Maybe PendingModifiedValues)
+    , _diStorageType                           :: !(Maybe Text)
+    , _diStatusInfos                           :: !(Maybe [DBInstanceStatusInfo])
+    , _diDomainMemberships                     :: !(Maybe [DomainMembership])
+    , _diDBName                                :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBInstance' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'diEngineVersion' - Indicates the database engine version.
+--
+-- * 'diDBSecurityGroups' - Provides List of DB security group elements containing only @DBSecurityGroup.Name@ and @DBSecurityGroup.Status@ subelements.
+--
+-- * 'diStorageEncrypted' - Specifies whether the DB instance is encrypted.
+--
+-- * 'diDBClusterIdentifier' - If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.
+--
+-- * 'diPubliclyAccessible' - 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.
+--
+-- * 'diAutoMinorVersionUpgrade' - Indicates that minor version patches are applied automatically.
+--
+-- * 'diDBInstanceARN' - The Amazon Resource Name (ARN) for the DB instance.
+--
+-- * 'diMasterUsername' - Contains the master username for the DB instance.
+--
+-- * 'diReadReplicaDBInstanceIdentifiers' - Contains one or more identifiers of the Read Replicas associated with this DB instance.
+--
+-- * 'diMonitoringRoleARN' - The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.
+--
+-- * 'diIOPS' - Specifies the Provisioned IOPS (I/O operations per second) value.
+--
+-- * 'diInstanceCreateTime' - Provides the date and time the DB instance was created.
+--
+-- * 'diReadReplicaSourceDBInstanceIdentifier' - Contains the identifier of the source DB instance if this DB instance is a Read Replica.
+--
+-- * 'diMonitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
+--
+-- * 'diEngine' - Provides the name of the database engine to be used for this DB instance.
+--
+-- * 'diLatestRestorableTime' - Specifies the latest time to which a database can be restored with point-in-time restore.
+--
+-- * 'diDBInstanceClass' - Contains the name of the compute and memory capacity class of the DB instance.
+--
+-- * 'diPromotionTier' - A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .
+--
+-- * 'diLicenseModel' - License model information for this DB instance.
+--
+-- * 'diPreferredMaintenanceWindow' - Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
+--
+-- * 'diCACertificateIdentifier' - The identifier of the CA certificate for this DB instance.
+--
+-- * 'diDBInstanceIdentifier' - Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.
+--
+-- * 'diCharacterSetName' - If present, specifies the name of the character set that this instance is associated with.
+--
+-- * 'diKMSKeyId' - If @StorageEncrypted@ is true, the KMS key identifier for the encrypted DB instance.
+--
+-- * 'diPreferredBackupWindow' - Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the @BackupRetentionPeriod@ .
+--
+-- * 'diAvailabilityZone' - Specifies the name of the Availability Zone the DB instance is located in.
+--
+-- * 'diVPCSecurityGroups' - Provides a list of VPC security group elements that the DB instance belongs to.
+--
+-- * 'diBackupRetentionPeriod' - Specifies the number of days for which automatic DB snapshots are retained.
+--
+-- * 'diDBSubnetGroup' - Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.
+--
+-- * 'diMultiAZ' - Specifies if the DB instance is a Multi-AZ deployment.
+--
+-- * 'diOptionGroupMemberships' - Provides the list of option group memberships for this DB instance.
+--
+-- * 'diEnhancedMonitoringResourceARN' - The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.
+--
+-- * 'diSecondaryAvailabilityZone' - If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.
+--
+-- * 'diAllocatedStorage' - Specifies the allocated storage size specified in gigabytes.
+--
+-- * 'diDBiResourceId' - The region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB instance is accessed.
+--
+-- * 'diDBParameterGroups' - Provides the list of DB parameter groups applied to this DB instance.
+--
+-- * 'diCopyTagsToSnapshot' - Specifies whether tags are copied from the DB instance to snapshots of the DB instance.
+--
+-- * 'diTimezone' - The time zone of the DB instance. In most cases, the @Timezone@ element is empty. @Timezone@ content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.
+--
+-- * 'diTDECredentialARN' - The ARN from the key store with which the instance is associated for TDE encryption.
+--
+-- * 'diEndpoint' - Specifies the connection endpoint.
+--
+-- * 'diDBInstanceStatus' - Specifies the current state of this database.
+--
+-- * 'diDBInstancePort' - Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.
+--
+-- * 'diPendingModifiedValues' - Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.
+--
+-- * 'diStorageType' - Specifies the storage type associated with DB instance.
+--
+-- * 'diStatusInfos' - The status of a Read Replica. If the instance is not a Read Replica, this will be blank.
+--
+-- * 'diDomainMemberships' - The Active Directory Domain membership records associated with the DB instance.
+--
+-- * 'diDBName' - The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines. __MySQL, MariaDB, SQL Server, PostgreSQL, Amazon Aurora__  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.
+dbInstance
+    :: DBInstance
+dbInstance =
+    DBInstance'
+    { _diEngineVersion = Nothing
+    , _diDBSecurityGroups = Nothing
+    , _diStorageEncrypted = Nothing
+    , _diDBClusterIdentifier = Nothing
+    , _diPubliclyAccessible = Nothing
+    , _diAutoMinorVersionUpgrade = Nothing
+    , _diDBInstanceARN = Nothing
+    , _diMasterUsername = Nothing
+    , _diReadReplicaDBInstanceIdentifiers = Nothing
+    , _diMonitoringRoleARN = Nothing
+    , _diIOPS = Nothing
+    , _diInstanceCreateTime = Nothing
+    , _diReadReplicaSourceDBInstanceIdentifier = Nothing
+    , _diMonitoringInterval = Nothing
+    , _diEngine = Nothing
+    , _diLatestRestorableTime = Nothing
+    , _diDBInstanceClass = Nothing
+    , _diPromotionTier = Nothing
+    , _diLicenseModel = Nothing
+    , _diPreferredMaintenanceWindow = Nothing
+    , _diCACertificateIdentifier = Nothing
+    , _diDBInstanceIdentifier = Nothing
+    , _diCharacterSetName = Nothing
+    , _diKMSKeyId = Nothing
+    , _diPreferredBackupWindow = Nothing
+    , _diAvailabilityZone = Nothing
+    , _diVPCSecurityGroups = Nothing
+    , _diBackupRetentionPeriod = Nothing
+    , _diDBSubnetGroup = Nothing
+    , _diMultiAZ = Nothing
+    , _diOptionGroupMemberships = Nothing
+    , _diEnhancedMonitoringResourceARN = Nothing
+    , _diSecondaryAvailabilityZone = Nothing
+    , _diAllocatedStorage = Nothing
+    , _diDBiResourceId = Nothing
+    , _diDBParameterGroups = Nothing
+    , _diCopyTagsToSnapshot = Nothing
+    , _diTimezone = Nothing
+    , _diTDECredentialARN = Nothing
+    , _diEndpoint = Nothing
+    , _diDBInstanceStatus = Nothing
+    , _diDBInstancePort = Nothing
+    , _diPendingModifiedValues = Nothing
+    , _diStorageType = Nothing
+    , _diStatusInfos = Nothing
+    , _diDomainMemberships = Nothing
+    , _diDBName = Nothing
+    }
+
+-- | Indicates the database engine version.
+diEngineVersion :: Lens' DBInstance (Maybe Text)
+diEngineVersion = lens _diEngineVersion (\ s a -> s{_diEngineVersion = a});
+
+-- | Provides List of DB security group elements containing only @DBSecurityGroup.Name@ and @DBSecurityGroup.Status@ subelements.
+diDBSecurityGroups :: Lens' DBInstance [DBSecurityGroupMembership]
+diDBSecurityGroups = lens _diDBSecurityGroups (\ s a -> s{_diDBSecurityGroups = a}) . _Default . _Coerce;
+
+-- | Specifies whether the DB instance is encrypted.
+diStorageEncrypted :: Lens' DBInstance (Maybe Bool)
+diStorageEncrypted = lens _diStorageEncrypted (\ s a -> s{_diStorageEncrypted = a});
+
+-- | If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.
+diDBClusterIdentifier :: Lens' DBInstance (Maybe Text)
+diDBClusterIdentifier = lens _diDBClusterIdentifier (\ s a -> s{_diDBClusterIdentifier = 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.
+diPubliclyAccessible :: Lens' DBInstance (Maybe Bool)
+diPubliclyAccessible = lens _diPubliclyAccessible (\ s a -> s{_diPubliclyAccessible = a});
+
+-- | Indicates that minor version patches are applied automatically.
+diAutoMinorVersionUpgrade :: Lens' DBInstance (Maybe Bool)
+diAutoMinorVersionUpgrade = lens _diAutoMinorVersionUpgrade (\ s a -> s{_diAutoMinorVersionUpgrade = a});
+
+-- | The Amazon Resource Name (ARN) for the DB instance.
+diDBInstanceARN :: Lens' DBInstance (Maybe Text)
+diDBInstanceARN = lens _diDBInstanceARN (\ s a -> s{_diDBInstanceARN = a});
+
+-- | Contains the master username for the DB instance.
+diMasterUsername :: Lens' DBInstance (Maybe Text)
+diMasterUsername = lens _diMasterUsername (\ s a -> s{_diMasterUsername = a});
+
+-- | Contains one or more identifiers of the Read Replicas associated with this DB instance.
+diReadReplicaDBInstanceIdentifiers :: Lens' DBInstance [Text]
+diReadReplicaDBInstanceIdentifiers = lens _diReadReplicaDBInstanceIdentifiers (\ s a -> s{_diReadReplicaDBInstanceIdentifiers = a}) . _Default . _Coerce;
+
+-- | The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.
+diMonitoringRoleARN :: Lens' DBInstance (Maybe Text)
+diMonitoringRoleARN = lens _diMonitoringRoleARN (\ s a -> s{_diMonitoringRoleARN = a});
+
+-- | Specifies the Provisioned IOPS (I/O operations per second) value.
+diIOPS :: Lens' DBInstance (Maybe Int)
+diIOPS = lens _diIOPS (\ s a -> s{_diIOPS = a});
+
+-- | Provides the date and time the DB instance was created.
+diInstanceCreateTime :: Lens' DBInstance (Maybe UTCTime)
+diInstanceCreateTime = lens _diInstanceCreateTime (\ s a -> s{_diInstanceCreateTime = a}) . mapping _Time;
+
+-- | Contains the identifier of the source DB instance if this DB instance is a Read Replica.
+diReadReplicaSourceDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)
+diReadReplicaSourceDBInstanceIdentifier = lens _diReadReplicaSourceDBInstanceIdentifier (\ s a -> s{_diReadReplicaSourceDBInstanceIdentifier = a});
+
+-- | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
+diMonitoringInterval :: Lens' DBInstance (Maybe Int)
+diMonitoringInterval = lens _diMonitoringInterval (\ s a -> s{_diMonitoringInterval = a});
+
+-- | Provides the name of the database engine to be used for this DB instance.
+diEngine :: Lens' DBInstance (Maybe Text)
+diEngine = lens _diEngine (\ s a -> s{_diEngine = a});
+
+-- | Specifies the latest time to which a database can be restored with point-in-time restore.
+diLatestRestorableTime :: Lens' DBInstance (Maybe UTCTime)
+diLatestRestorableTime = lens _diLatestRestorableTime (\ s a -> s{_diLatestRestorableTime = a}) . mapping _Time;
+
+-- | Contains the name of the compute and memory capacity class of the DB instance.
+diDBInstanceClass :: Lens' DBInstance (Maybe Text)
+diDBInstanceClass = lens _diDBInstanceClass (\ s a -> s{_diDBInstanceClass = a});
+
+-- | A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html#Aurora.Managing.FaultTolerance Fault Tolerance for an Aurora DB Cluster> .
+diPromotionTier :: Lens' DBInstance (Maybe Int)
+diPromotionTier = lens _diPromotionTier (\ s a -> s{_diPromotionTier = a});
+
+-- | License model information for this DB instance.
+diLicenseModel :: Lens' DBInstance (Maybe Text)
+diLicenseModel = lens _diLicenseModel (\ s a -> s{_diLicenseModel = a});
+
+-- | Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
+diPreferredMaintenanceWindow :: Lens' DBInstance (Maybe Text)
+diPreferredMaintenanceWindow = lens _diPreferredMaintenanceWindow (\ s a -> s{_diPreferredMaintenanceWindow = a});
+
+-- | The identifier of the CA certificate for this DB instance.
+diCACertificateIdentifier :: Lens' DBInstance (Maybe Text)
+diCACertificateIdentifier = lens _diCACertificateIdentifier (\ s a -> s{_diCACertificateIdentifier = a});
+
+-- | Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.
+diDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)
+diDBInstanceIdentifier = lens _diDBInstanceIdentifier (\ s a -> s{_diDBInstanceIdentifier = a});
+
+-- | If present, specifies the name of the character set that this instance is associated with.
+diCharacterSetName :: Lens' DBInstance (Maybe Text)
+diCharacterSetName = lens _diCharacterSetName (\ s a -> s{_diCharacterSetName = a});
+
+-- | If @StorageEncrypted@ is true, the KMS key identifier for the encrypted DB instance.
+diKMSKeyId :: Lens' DBInstance (Maybe Text)
+diKMSKeyId = lens _diKMSKeyId (\ s a -> s{_diKMSKeyId = a});
+
+-- | Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the @BackupRetentionPeriod@ .
+diPreferredBackupWindow :: Lens' DBInstance (Maybe Text)
+diPreferredBackupWindow = lens _diPreferredBackupWindow (\ s a -> s{_diPreferredBackupWindow = a});
+
+-- | Specifies the name of the Availability Zone the DB instance is located in.
+diAvailabilityZone :: Lens' DBInstance (Maybe Text)
+diAvailabilityZone = lens _diAvailabilityZone (\ s a -> s{_diAvailabilityZone = a});
+
+-- | Provides a list of VPC security group elements that the DB instance belongs to.
+diVPCSecurityGroups :: Lens' DBInstance [VPCSecurityGroupMembership]
+diVPCSecurityGroups = lens _diVPCSecurityGroups (\ s a -> s{_diVPCSecurityGroups = a}) . _Default . _Coerce;
+
+-- | Specifies the number of days for which automatic DB snapshots are retained.
+diBackupRetentionPeriod :: Lens' DBInstance (Maybe Int)
+diBackupRetentionPeriod = lens _diBackupRetentionPeriod (\ s a -> s{_diBackupRetentionPeriod = a});
+
+-- | Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.
+diDBSubnetGroup :: Lens' DBInstance (Maybe DBSubnetGroup)
+diDBSubnetGroup = lens _diDBSubnetGroup (\ s a -> s{_diDBSubnetGroup = a});
+
+-- | Specifies if the DB instance is a Multi-AZ deployment.
+diMultiAZ :: Lens' DBInstance (Maybe Bool)
+diMultiAZ = lens _diMultiAZ (\ s a -> s{_diMultiAZ = a});
+
+-- | Provides the list of option group memberships for this DB instance.
+diOptionGroupMemberships :: Lens' DBInstance [OptionGroupMembership]
+diOptionGroupMemberships = lens _diOptionGroupMemberships (\ s a -> s{_diOptionGroupMemberships = a}) . _Default . _Coerce;
+
+-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.
+diEnhancedMonitoringResourceARN :: Lens' DBInstance (Maybe Text)
+diEnhancedMonitoringResourceARN = lens _diEnhancedMonitoringResourceARN (\ s a -> s{_diEnhancedMonitoringResourceARN = a});
+
+-- | If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.
+diSecondaryAvailabilityZone :: Lens' DBInstance (Maybe Text)
+diSecondaryAvailabilityZone = lens _diSecondaryAvailabilityZone (\ s a -> s{_diSecondaryAvailabilityZone = a});
+
+-- | Specifies the allocated storage size specified in gigabytes.
+diAllocatedStorage :: Lens' DBInstance (Maybe Int)
+diAllocatedStorage = lens _diAllocatedStorage (\ s a -> s{_diAllocatedStorage = a});
+
+-- | The region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB instance is accessed.
+diDBiResourceId :: Lens' DBInstance (Maybe Text)
+diDBiResourceId = lens _diDBiResourceId (\ s a -> s{_diDBiResourceId = a});
+
+-- | Provides the list of DB parameter groups applied to this DB instance.
+diDBParameterGroups :: Lens' DBInstance [DBParameterGroupStatus]
+diDBParameterGroups = lens _diDBParameterGroups (\ s a -> s{_diDBParameterGroups = a}) . _Default . _Coerce;
+
+-- | Specifies whether tags are copied from the DB instance to snapshots of the DB instance.
+diCopyTagsToSnapshot :: Lens' DBInstance (Maybe Bool)
+diCopyTagsToSnapshot = lens _diCopyTagsToSnapshot (\ s a -> s{_diCopyTagsToSnapshot = a});
+
+-- | The time zone of the DB instance. In most cases, the @Timezone@ element is empty. @Timezone@ content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.
+diTimezone :: Lens' DBInstance (Maybe Text)
+diTimezone = lens _diTimezone (\ s a -> s{_diTimezone = a});
+
+-- | The ARN from the key store with which the instance is associated for TDE encryption.
+diTDECredentialARN :: Lens' DBInstance (Maybe Text)
+diTDECredentialARN = lens _diTDECredentialARN (\ s a -> s{_diTDECredentialARN = a});
+
+-- | Specifies the connection endpoint.
+diEndpoint :: Lens' DBInstance (Maybe Endpoint)
+diEndpoint = lens _diEndpoint (\ s a -> s{_diEndpoint = a});
+
+-- | Specifies the current state of this database.
+diDBInstanceStatus :: Lens' DBInstance (Maybe Text)
+diDBInstanceStatus = lens _diDBInstanceStatus (\ s a -> s{_diDBInstanceStatus = a});
+
+-- | Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.
+diDBInstancePort :: Lens' DBInstance (Maybe Int)
+diDBInstancePort = lens _diDBInstancePort (\ s a -> s{_diDBInstancePort = a});
+
+-- | Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.
+diPendingModifiedValues :: Lens' DBInstance (Maybe PendingModifiedValues)
+diPendingModifiedValues = lens _diPendingModifiedValues (\ s a -> s{_diPendingModifiedValues = a});
+
+-- | Specifies the storage type associated with DB instance.
+diStorageType :: Lens' DBInstance (Maybe Text)
+diStorageType = lens _diStorageType (\ s a -> s{_diStorageType = a});
+
+-- | The status of a Read Replica. If the instance is not a Read Replica, this will be blank.
+diStatusInfos :: Lens' DBInstance [DBInstanceStatusInfo]
+diStatusInfos = lens _diStatusInfos (\ s a -> s{_diStatusInfos = a}) . _Default . _Coerce;
+
+-- | The Active Directory Domain membership records associated with the DB instance.
+diDomainMemberships :: Lens' DBInstance [DomainMembership]
+diDomainMemberships = lens _diDomainMemberships (\ s a -> s{_diDomainMemberships = a}) . _Default . _Coerce;
+
+-- | The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines. __MySQL, MariaDB, SQL Server, PostgreSQL, Amazon Aurora__  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.
+diDBName :: Lens' DBInstance (Maybe Text)
+diDBName = lens _diDBName (\ s a -> s{_diDBName = a});
+
+instance FromXML DBInstance where
+        parseXML x
+          = DBInstance' <$>
+              (x .@? "EngineVersion") <*>
+                (x .@? "DBSecurityGroups" .!@ mempty >>=
+                   may (parseXMLList "DBSecurityGroup"))
+                <*> (x .@? "StorageEncrypted")
+                <*> (x .@? "DBClusterIdentifier")
+                <*> (x .@? "PubliclyAccessible")
+                <*> (x .@? "AutoMinorVersionUpgrade")
+                <*> (x .@? "DBInstanceArn")
+                <*> (x .@? "MasterUsername")
+                <*>
+                (x .@? "ReadReplicaDBInstanceIdentifiers" .!@ mempty
+                   >>=
+                   may (parseXMLList "ReadReplicaDBInstanceIdentifier"))
+                <*> (x .@? "MonitoringRoleArn")
+                <*> (x .@? "Iops")
+                <*> (x .@? "InstanceCreateTime")
+                <*> (x .@? "ReadReplicaSourceDBInstanceIdentifier")
+                <*> (x .@? "MonitoringInterval")
+                <*> (x .@? "Engine")
+                <*> (x .@? "LatestRestorableTime")
+                <*> (x .@? "DBInstanceClass")
+                <*> (x .@? "PromotionTier")
+                <*> (x .@? "LicenseModel")
+                <*> (x .@? "PreferredMaintenanceWindow")
+                <*> (x .@? "CACertificateIdentifier")
+                <*> (x .@? "DBInstanceIdentifier")
+                <*> (x .@? "CharacterSetName")
+                <*> (x .@? "KmsKeyId")
+                <*> (x .@? "PreferredBackupWindow")
+                <*> (x .@? "AvailabilityZone")
+                <*>
+                (x .@? "VpcSecurityGroups" .!@ mempty >>=
+                   may (parseXMLList "VpcSecurityGroupMembership"))
+                <*> (x .@? "BackupRetentionPeriod")
+                <*> (x .@? "DBSubnetGroup")
+                <*> (x .@? "MultiAZ")
+                <*>
+                (x .@? "OptionGroupMemberships" .!@ mempty >>=
+                   may (parseXMLList "OptionGroupMembership"))
+                <*> (x .@? "EnhancedMonitoringResourceArn")
+                <*> (x .@? "SecondaryAvailabilityZone")
+                <*> (x .@? "AllocatedStorage")
+                <*> (x .@? "DbiResourceId")
+                <*>
+                (x .@? "DBParameterGroups" .!@ mempty >>=
+                   may (parseXMLList "DBParameterGroup"))
+                <*> (x .@? "CopyTagsToSnapshot")
+                <*> (x .@? "Timezone")
+                <*> (x .@? "TdeCredentialArn")
+                <*> (x .@? "Endpoint")
+                <*> (x .@? "DBInstanceStatus")
+                <*> (x .@? "DbInstancePort")
+                <*> (x .@? "PendingModifiedValues")
+                <*> (x .@? "StorageType")
+                <*>
+                (x .@? "StatusInfos" .!@ mempty >>=
+                   may (parseXMLList "DBInstanceStatusInfo"))
+                <*>
+                (x .@? "DomainMemberships" .!@ mempty >>=
+                   may (parseXMLList "DomainMembership"))
+                <*> (x .@? "DBName")
+
+instance Hashable DBInstance
+
+instance NFData DBInstance
+
+-- | Provides a list of status information for a DB instance.
+--
+--
+--
+-- /See:/ 'dbInstanceStatusInfo' smart constructor.
+data DBInstanceStatusInfo = DBInstanceStatusInfo'
+    { _disiStatus     :: !(Maybe Text)
+    , _disiNormal     :: !(Maybe Bool)
+    , _disiStatusType :: !(Maybe Text)
+    , _disiMessage    :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBInstanceStatusInfo' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'disiStatus' - Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.
+--
+-- * 'disiNormal' - Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.
+--
+-- * 'disiStatusType' - This value is currently "read replication."
+--
+-- * 'disiMessage' - 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.
+dbInstanceStatusInfo
+    :: DBInstanceStatusInfo
+dbInstanceStatusInfo =
+    DBInstanceStatusInfo'
+    { _disiStatus = Nothing
+    , _disiNormal = Nothing
+    , _disiStatusType = Nothing
+    , _disiMessage = Nothing
+    }
+
+-- | Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.
+disiStatus :: Lens' DBInstanceStatusInfo (Maybe Text)
+disiStatus = lens _disiStatus (\ s a -> s{_disiStatus = a});
+
+-- | Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.
+disiNormal :: Lens' DBInstanceStatusInfo (Maybe Bool)
+disiNormal = lens _disiNormal (\ s a -> s{_disiNormal = a});
+
+-- | This value is currently "read replication."
+disiStatusType :: Lens' DBInstanceStatusInfo (Maybe Text)
+disiStatusType = lens _disiStatusType (\ s a -> s{_disiStatusType = a});
+
+-- | 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.
+disiMessage :: Lens' DBInstanceStatusInfo (Maybe Text)
+disiMessage = lens _disiMessage (\ s a -> s{_disiMessage = a});
+
+instance FromXML DBInstanceStatusInfo where
+        parseXML x
+          = DBInstanceStatusInfo' <$>
+              (x .@? "Status") <*> (x .@? "Normal") <*>
+                (x .@? "StatusType")
+                <*> (x .@? "Message")
+
+instance Hashable DBInstanceStatusInfo
+
+instance NFData DBInstanceStatusInfo
+
+-- | Contains the result of a successful invocation of the 'CreateDBParameterGroup' action.
+--
+--
+-- This data type is used as a request parameter in the 'DeleteDBParameterGroup' action, and as a response element in the 'DescribeDBParameterGroups' action.
+--
+--
+-- /See:/ 'dbParameterGroup' smart constructor.
+data DBParameterGroup = DBParameterGroup'
+    { _dpgDBParameterGroupARN    :: !(Maybe Text)
+    , _dpgDBParameterGroupFamily :: !(Maybe Text)
+    , _dpgDBParameterGroupName   :: !(Maybe Text)
+    , _dpgDescription            :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBParameterGroup' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dpgDBParameterGroupARN' - The Amazon Resource Name (ARN) for the DB parameter group.
+--
+-- * 'dpgDBParameterGroupFamily' - Provides the name of the DB parameter group family that this DB parameter group is compatible with.
+--
+-- * 'dpgDBParameterGroupName' - Provides the name of the DB parameter group.
+--
+-- * 'dpgDescription' - Provides the customer-specified description for this DB parameter group.
+dbParameterGroup
+    :: DBParameterGroup
+dbParameterGroup =
+    DBParameterGroup'
+    { _dpgDBParameterGroupARN = Nothing
+    , _dpgDBParameterGroupFamily = Nothing
+    , _dpgDBParameterGroupName = Nothing
+    , _dpgDescription = Nothing
+    }
+
+-- | The Amazon Resource Name (ARN) for the DB parameter group.
+dpgDBParameterGroupARN :: Lens' DBParameterGroup (Maybe Text)
+dpgDBParameterGroupARN = lens _dpgDBParameterGroupARN (\ s a -> s{_dpgDBParameterGroupARN = a});
+
+-- | Provides the name of the DB parameter group family that this DB parameter group is compatible with.
+dpgDBParameterGroupFamily :: Lens' DBParameterGroup (Maybe Text)
+dpgDBParameterGroupFamily = lens _dpgDBParameterGroupFamily (\ s a -> s{_dpgDBParameterGroupFamily = a});
+
+-- | Provides the name of the DB parameter group.
+dpgDBParameterGroupName :: Lens' DBParameterGroup (Maybe Text)
+dpgDBParameterGroupName = lens _dpgDBParameterGroupName (\ s a -> s{_dpgDBParameterGroupName = a});
+
+-- | Provides the customer-specified description for this DB parameter group.
+dpgDescription :: Lens' DBParameterGroup (Maybe Text)
+dpgDescription = lens _dpgDescription (\ s a -> s{_dpgDescription = a});
+
+instance FromXML DBParameterGroup where
+        parseXML x
+          = DBParameterGroup' <$>
+              (x .@? "DBParameterGroupArn") <*>
+                (x .@? "DBParameterGroupFamily")
+                <*> (x .@? "DBParameterGroupName")
+                <*> (x .@? "Description")
+
+instance Hashable DBParameterGroup
+
+instance NFData DBParameterGroup
+
+-- | Contains the result of a successful invocation of the 'ModifyDBParameterGroup' or 'ResetDBParameterGroup' action.
+--
+--
+--
+-- /See:/ 'dbParameterGroupNameMessage' smart constructor.
+newtype DBParameterGroupNameMessage = DBParameterGroupNameMessage'
+    { _dpgnmDBParameterGroupName :: Maybe Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBParameterGroupNameMessage' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dpgnmDBParameterGroupName' - Provides the name of the DB parameter group.
+dbParameterGroupNameMessage
+    :: DBParameterGroupNameMessage
+dbParameterGroupNameMessage =
+    DBParameterGroupNameMessage'
+    { _dpgnmDBParameterGroupName = Nothing
+    }
+
+-- | Provides the name of the DB parameter group.
+dpgnmDBParameterGroupName :: Lens' DBParameterGroupNameMessage (Maybe Text)
+dpgnmDBParameterGroupName = lens _dpgnmDBParameterGroupName (\ s a -> s{_dpgnmDBParameterGroupName = a});
+
+instance FromXML DBParameterGroupNameMessage where
+        parseXML x
+          = DBParameterGroupNameMessage' <$>
+              (x .@? "DBParameterGroupName")
+
+instance Hashable DBParameterGroupNameMessage
+
+instance NFData DBParameterGroupNameMessage
+
+-- | The status of the DB parameter group.
+--
+--
+-- This data type is used as a response element in the following actions:
+--
+--     * 'CreateDBInstance'
+--
+--     * 'CreateDBInstanceReadReplica'
+--
+--     * 'DeleteDBInstance'
+--
+--     * 'ModifyDBInstance'
+--
+--     * 'RebootDBInstance'
+--
+--     * 'RestoreDBInstanceFromDBSnapshot'
+--
+--
+--
+--
+-- /See:/ 'dbParameterGroupStatus' smart constructor.
+data DBParameterGroupStatus = DBParameterGroupStatus'
+    { _dpgsDBParameterGroupName :: !(Maybe Text)
+    , _dpgsParameterApplyStatus :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBParameterGroupStatus' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dpgsDBParameterGroupName' - The name of the DP parameter group.
+--
+-- * 'dpgsParameterApplyStatus' - The status of parameter updates.
+dbParameterGroupStatus
+    :: DBParameterGroupStatus
+dbParameterGroupStatus =
+    DBParameterGroupStatus'
+    { _dpgsDBParameterGroupName = Nothing
+    , _dpgsParameterApplyStatus = Nothing
+    }
+
+-- | The name of the DP parameter group.
+dpgsDBParameterGroupName :: Lens' DBParameterGroupStatus (Maybe Text)
+dpgsDBParameterGroupName = lens _dpgsDBParameterGroupName (\ s a -> s{_dpgsDBParameterGroupName = a});
+
+-- | The status of parameter updates.
+dpgsParameterApplyStatus :: Lens' DBParameterGroupStatus (Maybe Text)
+dpgsParameterApplyStatus = lens _dpgsParameterApplyStatus (\ s a -> s{_dpgsParameterApplyStatus = a});
+
+instance FromXML DBParameterGroupStatus where
+        parseXML x
+          = DBParameterGroupStatus' <$>
+              (x .@? "DBParameterGroupName") <*>
+                (x .@? "ParameterApplyStatus")
+
+instance Hashable DBParameterGroupStatus
+
+instance NFData DBParameterGroupStatus
+
+-- | Contains the result of a successful invocation of the following actions:
+--
+--
+--     * 'DescribeDBSecurityGroups'
+--
+--     * 'AuthorizeDBSecurityGroupIngress'
+--
+--     * 'CreateDBSecurityGroup'
+--
+--     * 'RevokeDBSecurityGroupIngress'
+--
+--
+--
+-- This data type is used as a response element in the 'DescribeDBSecurityGroups' action.
+--
+--
+-- /See:/ 'dbSecurityGroup' smart constructor.
+data DBSecurityGroup = DBSecurityGroup'
+    { _dbsgVPCId                      :: !(Maybe Text)
+    , _dbsgOwnerId                    :: !(Maybe Text)
+    , _dbsgDBSecurityGroupARN         :: !(Maybe Text)
+    , _dbsgIPRanges                   :: !(Maybe [IPRange])
+    , _dbsgDBSecurityGroupName        :: !(Maybe Text)
+    , _dbsgEC2SecurityGroups          :: !(Maybe [EC2SecurityGroup])
+    , _dbsgDBSecurityGroupDescription :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBSecurityGroup' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dbsgVPCId' - Provides the VpcId of the DB security group.
+--
+-- * 'dbsgOwnerId' - Provides the AWS ID of the owner of a specific DB security group.
+--
+-- * 'dbsgDBSecurityGroupARN' - The Amazon Resource Name (ARN) for the DB security group.
+--
+-- * 'dbsgIPRanges' - Contains a list of 'IPRange' elements.
+--
+-- * 'dbsgDBSecurityGroupName' - Specifies the name of the DB security group.
+--
+-- * 'dbsgEC2SecurityGroups' - Contains a list of 'EC2SecurityGroup' elements.
+--
+-- * 'dbsgDBSecurityGroupDescription' - Provides the description of the DB security group.
+dbSecurityGroup
+    :: DBSecurityGroup
+dbSecurityGroup =
+    DBSecurityGroup'
+    { _dbsgVPCId = Nothing
+    , _dbsgOwnerId = Nothing
+    , _dbsgDBSecurityGroupARN = Nothing
+    , _dbsgIPRanges = Nothing
+    , _dbsgDBSecurityGroupName = Nothing
+    , _dbsgEC2SecurityGroups = Nothing
+    , _dbsgDBSecurityGroupDescription = Nothing
+    }
+
+-- | Provides the VpcId of the DB security group.
+dbsgVPCId :: Lens' DBSecurityGroup (Maybe Text)
+dbsgVPCId = lens _dbsgVPCId (\ s a -> s{_dbsgVPCId = a});
+
+-- | 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});
+
+-- | The Amazon Resource Name (ARN) for the DB security group.
+dbsgDBSecurityGroupARN :: Lens' DBSecurityGroup (Maybe Text)
+dbsgDBSecurityGroupARN = lens _dbsgDBSecurityGroupARN (\ s a -> s{_dbsgDBSecurityGroupARN = a});
+
+-- | Contains a list of 'IPRange' elements.
+dbsgIPRanges :: Lens' DBSecurityGroup [IPRange]
+dbsgIPRanges = lens _dbsgIPRanges (\ s a -> s{_dbsgIPRanges = a}) . _Default . _Coerce;
+
+-- | 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}) . _Default . _Coerce;
+
+-- | Provides the description of the DB security group.
+dbsgDBSecurityGroupDescription :: Lens' DBSecurityGroup (Maybe Text)
+dbsgDBSecurityGroupDescription = lens _dbsgDBSecurityGroupDescription (\ s a -> s{_dbsgDBSecurityGroupDescription = a});
+
+instance FromXML DBSecurityGroup where
+        parseXML x
+          = DBSecurityGroup' <$>
+              (x .@? "VpcId") <*> (x .@? "OwnerId") <*>
+                (x .@? "DBSecurityGroupArn")
+                <*>
+                (x .@? "IPRanges" .!@ mempty >>=
+                   may (parseXMLList "IPRange"))
+                <*> (x .@? "DBSecurityGroupName")
+                <*>
+                (x .@? "EC2SecurityGroups" .!@ mempty >>=
+                   may (parseXMLList "EC2SecurityGroup"))
+                <*> (x .@? "DBSecurityGroupDescription")
+
+instance Hashable DBSecurityGroup
+
+instance NFData DBSecurityGroup
+
+-- | This data type is used as a response element in the following actions:
+--
+--
+--     * 'ModifyDBInstance'
+--
+--     * 'RebootDBInstance'
+--
+--     * 'RestoreDBInstanceFromDBSnapshot'
+--
+--     * 'RestoreDBInstanceToPointInTime'
+--
+--
+--
+--
+-- /See:/ 'dbSecurityGroupMembership' smart constructor.
+data DBSecurityGroupMembership = DBSecurityGroupMembership'
+    { _dsgmStatus              :: !(Maybe Text)
+    , _dsgmDBSecurityGroupName :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBSecurityGroupMembership' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dsgmStatus' - The status of the DB security group.
+--
+-- * 'dsgmDBSecurityGroupName' - The name of the DB security group.
+dbSecurityGroupMembership
+    :: DBSecurityGroupMembership
+dbSecurityGroupMembership =
+    DBSecurityGroupMembership'
+    { _dsgmStatus = Nothing
+    , _dsgmDBSecurityGroupName = Nothing
+    }
+
+-- | The status of the DB security group.
+dsgmStatus :: Lens' DBSecurityGroupMembership (Maybe Text)
+dsgmStatus = lens _dsgmStatus (\ s a -> s{_dsgmStatus = a});
+
+-- | The name of the DB security group.
+dsgmDBSecurityGroupName :: Lens' DBSecurityGroupMembership (Maybe Text)
+dsgmDBSecurityGroupName = lens _dsgmDBSecurityGroupName (\ s a -> s{_dsgmDBSecurityGroupName = a});
+
+instance FromXML DBSecurityGroupMembership where
+        parseXML x
+          = DBSecurityGroupMembership' <$>
+              (x .@? "Status") <*> (x .@? "DBSecurityGroupName")
+
+instance Hashable DBSecurityGroupMembership
+
+instance NFData DBSecurityGroupMembership
+
+-- | Contains the result of a successful invocation of the following actions:
+--
+--
+--     * 'CreateDBSnapshot'
+--
+--     * 'DeleteDBSnapshot'
+--
+--
+--
+-- This data type is used as a response element in the 'DescribeDBSnapshots' action.
+--
+--
+-- /See:/ 'dbSnapshot' smart constructor.
+data DBSnapshot = DBSnapshot'
+    { _dsEngineVersion              :: !(Maybe Text)
+    , _dsStatus                     :: !(Maybe Text)
+    , _dsDBSnapshotARN              :: !(Maybe Text)
+    , _dsMasterUsername             :: !(Maybe Text)
+    , _dsSourceRegion               :: !(Maybe Text)
+    , _dsIOPS                       :: !(Maybe Int)
+    , _dsVPCId                      :: !(Maybe Text)
+    , _dsInstanceCreateTime         :: !(Maybe ISO8601)
+    , _dsEngine                     :: !(Maybe Text)
+    , _dsEncrypted                  :: !(Maybe Bool)
+    , _dsDBSnapshotIdentifier       :: !(Maybe Text)
+    , _dsLicenseModel               :: !(Maybe Text)
+    , _dsSourceDBSnapshotIdentifier :: !(Maybe Text)
+    , _dsSnapshotType               :: !(Maybe Text)
+    , _dsDBInstanceIdentifier       :: !(Maybe Text)
+    , _dsKMSKeyId                   :: !(Maybe Text)
+    , _dsAvailabilityZone           :: !(Maybe Text)
+    , _dsSnapshotCreateTime         :: !(Maybe ISO8601)
+    , _dsAllocatedStorage           :: !(Maybe Int)
+    , _dsOptionGroupName            :: !(Maybe Text)
+    , _dsTimezone                   :: !(Maybe Text)
+    , _dsTDECredentialARN           :: !(Maybe Text)
+    , _dsPercentProgress            :: !(Maybe Int)
+    , _dsPort                       :: !(Maybe Int)
+    , _dsStorageType                :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBSnapshot' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dsEngineVersion' - Specifies the version of the database engine.
+--
+-- * 'dsStatus' - Specifies the status of this DB snapshot.
+--
+-- * 'dsDBSnapshotARN' - The Amazon Resource Name (ARN) for the DB snapshot.
+--
+-- * 'dsMasterUsername' - Provides the master username for the DB snapshot.
+--
+-- * 'dsSourceRegion' - The region that the DB snapshot was created in or copied from.
+--
+-- * 'dsIOPS' - Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
+--
+-- * 'dsVPCId' - Provides the VPC ID associated with the DB snapshot.
+--
+-- * 'dsInstanceCreateTime' - Specifies the time when the snapshot was taken, in Universal Coordinated Time (UTC).
+--
+-- * 'dsEngine' - Specifies the name of the database engine.
+--
+-- * 'dsEncrypted' - Specifies whether the DB snapshot is encrypted.
+--
+-- * 'dsDBSnapshotIdentifier' - Specifies the identifier for the DB snapshot.
+--
+-- * 'dsLicenseModel' - License model information for the restored DB instance.
+--
+-- * 'dsSourceDBSnapshotIdentifier' - The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.
+--
+-- * 'dsSnapshotType' - Provides the type of the DB snapshot.
+--
+-- * 'dsDBInstanceIdentifier' - Specifies the DB instance identifier of the DB instance this DB snapshot was created from.
+--
+-- * 'dsKMSKeyId' - If @Encrypted@ is true, the KMS key identifier for the encrypted DB snapshot.
+--
+-- * 'dsAvailabilityZone' - Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
+--
+-- * 'dsSnapshotCreateTime' - Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
+--
+-- * 'dsAllocatedStorage' - Specifies the allocated storage size in gigabytes (GB).
+--
+-- * 'dsOptionGroupName' - Provides the option group name for the DB snapshot.
+--
+-- * 'dsTimezone' - The time zone of the DB snapshot. In most cases, the @Timezone@ element is empty. @Timezone@ content appears only for snapshots taken from Microsoft SQL Server DB instances that were created with a time zone specified.
+--
+-- * 'dsTDECredentialARN' - The ARN from the key store with which to associate the instance for TDE encryption.
+--
+-- * 'dsPercentProgress' - The percentage of the estimated data that has been transferred.
+--
+-- * 'dsPort' - Specifies the port that the database engine was listening on at the time of the snapshot.
+--
+-- * 'dsStorageType' - Specifies the storage type associated with DB snapshot.
+dbSnapshot
+    :: DBSnapshot
+dbSnapshot =
+    DBSnapshot'
+    { _dsEngineVersion = Nothing
+    , _dsStatus = Nothing
+    , _dsDBSnapshotARN = Nothing
+    , _dsMasterUsername = Nothing
+    , _dsSourceRegion = Nothing
+    , _dsIOPS = Nothing
+    , _dsVPCId = Nothing
+    , _dsInstanceCreateTime = Nothing
+    , _dsEngine = Nothing
+    , _dsEncrypted = Nothing
+    , _dsDBSnapshotIdentifier = Nothing
+    , _dsLicenseModel = Nothing
+    , _dsSourceDBSnapshotIdentifier = Nothing
+    , _dsSnapshotType = Nothing
+    , _dsDBInstanceIdentifier = Nothing
+    , _dsKMSKeyId = Nothing
+    , _dsAvailabilityZone = Nothing
+    , _dsSnapshotCreateTime = Nothing
+    , _dsAllocatedStorage = Nothing
+    , _dsOptionGroupName = Nothing
+    , _dsTimezone = Nothing
+    , _dsTDECredentialARN = Nothing
+    , _dsPercentProgress = Nothing
+    , _dsPort = Nothing
+    , _dsStorageType = Nothing
+    }
+
+-- | Specifies the version of the database engine.
+dsEngineVersion :: Lens' DBSnapshot (Maybe Text)
+dsEngineVersion = lens _dsEngineVersion (\ s a -> s{_dsEngineVersion = a});
+
+-- | Specifies the status of this DB snapshot.
+dsStatus :: Lens' DBSnapshot (Maybe Text)
+dsStatus = lens _dsStatus (\ s a -> s{_dsStatus = a});
+
+-- | The Amazon Resource Name (ARN) for the DB snapshot.
+dsDBSnapshotARN :: Lens' DBSnapshot (Maybe Text)
+dsDBSnapshotARN = lens _dsDBSnapshotARN (\ s a -> s{_dsDBSnapshotARN = a});
+
+-- | Provides the master username for the DB snapshot.
+dsMasterUsername :: Lens' DBSnapshot (Maybe Text)
+dsMasterUsername = lens _dsMasterUsername (\ s a -> s{_dsMasterUsername = a});
+
+-- | The region that the DB snapshot was created in or copied from.
+dsSourceRegion :: Lens' DBSnapshot (Maybe Text)
+dsSourceRegion = lens _dsSourceRegion (\ s a -> s{_dsSourceRegion = a});
+
+-- | Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
+dsIOPS :: Lens' DBSnapshot (Maybe Int)
+dsIOPS = lens _dsIOPS (\ s a -> s{_dsIOPS = a});
+
+-- | Provides the VPC ID associated with the DB snapshot.
+dsVPCId :: Lens' DBSnapshot (Maybe Text)
+dsVPCId = lens _dsVPCId (\ s a -> s{_dsVPCId = a});
+
+-- | Specifies the time when the snapshot was taken, in Universal Coordinated Time (UTC).
+dsInstanceCreateTime :: Lens' DBSnapshot (Maybe UTCTime)
+dsInstanceCreateTime = lens _dsInstanceCreateTime (\ s a -> s{_dsInstanceCreateTime = a}) . mapping _Time;
+
+-- | Specifies the name of the database engine.
+dsEngine :: Lens' DBSnapshot (Maybe Text)
+dsEngine = lens _dsEngine (\ s a -> s{_dsEngine = a});
+
+-- | Specifies whether the DB snapshot is encrypted.
+dsEncrypted :: Lens' DBSnapshot (Maybe Bool)
+dsEncrypted = lens _dsEncrypted (\ s a -> s{_dsEncrypted = a});
+
+-- | Specifies the identifier for the DB snapshot.
+dsDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)
+dsDBSnapshotIdentifier = lens _dsDBSnapshotIdentifier (\ s a -> s{_dsDBSnapshotIdentifier = a});
+
+-- | License model information for the restored DB instance.
+dsLicenseModel :: Lens' DBSnapshot (Maybe Text)
+dsLicenseModel = lens _dsLicenseModel (\ s a -> s{_dsLicenseModel = a});
+
+-- | The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.
+dsSourceDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)
+dsSourceDBSnapshotIdentifier = lens _dsSourceDBSnapshotIdentifier (\ s a -> s{_dsSourceDBSnapshotIdentifier = a});
+
+-- | Provides the type of the DB snapshot.
+dsSnapshotType :: Lens' DBSnapshot (Maybe Text)
+dsSnapshotType = lens _dsSnapshotType (\ s a -> s{_dsSnapshotType = a});
+
+-- | Specifies the DB instance identifier of the DB instance this DB snapshot was created from.
+dsDBInstanceIdentifier :: Lens' DBSnapshot (Maybe Text)
+dsDBInstanceIdentifier = lens _dsDBInstanceIdentifier (\ s a -> s{_dsDBInstanceIdentifier = a});
+
+-- | If @Encrypted@ is true, the KMS key identifier for the encrypted DB snapshot.
+dsKMSKeyId :: Lens' DBSnapshot (Maybe Text)
+dsKMSKeyId = lens _dsKMSKeyId (\ s a -> s{_dsKMSKeyId = a});
+
+-- | Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
+dsAvailabilityZone :: Lens' DBSnapshot (Maybe Text)
+dsAvailabilityZone = lens _dsAvailabilityZone (\ s a -> s{_dsAvailabilityZone = a});
+
+-- | Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).
+dsSnapshotCreateTime :: Lens' DBSnapshot (Maybe UTCTime)
+dsSnapshotCreateTime = lens _dsSnapshotCreateTime (\ s a -> s{_dsSnapshotCreateTime = a}) . mapping _Time;
+
+-- | Specifies the allocated storage size in gigabytes (GB).
+dsAllocatedStorage :: Lens' DBSnapshot (Maybe Int)
+dsAllocatedStorage = lens _dsAllocatedStorage (\ s a -> s{_dsAllocatedStorage = a});
+
+-- | Provides the option group name for the DB snapshot.
+dsOptionGroupName :: Lens' DBSnapshot (Maybe Text)
+dsOptionGroupName = lens _dsOptionGroupName (\ s a -> s{_dsOptionGroupName = a});
+
+-- | The time zone of the DB snapshot. In most cases, the @Timezone@ element is empty. @Timezone@ content appears only for snapshots taken from Microsoft SQL Server DB instances that were created with a time zone specified.
+dsTimezone :: Lens' DBSnapshot (Maybe Text)
+dsTimezone = lens _dsTimezone (\ s a -> s{_dsTimezone = a});
+
+-- | The ARN from the key store with which to associate the instance for TDE encryption.
+dsTDECredentialARN :: Lens' DBSnapshot (Maybe Text)
+dsTDECredentialARN = lens _dsTDECredentialARN (\ s a -> s{_dsTDECredentialARN = a});
+
+-- | The percentage of the estimated data that has been transferred.
+dsPercentProgress :: Lens' DBSnapshot (Maybe Int)
+dsPercentProgress = lens _dsPercentProgress (\ s a -> s{_dsPercentProgress = a});
+
+-- | Specifies the port that the database engine was listening on at the time of the snapshot.
+dsPort :: Lens' DBSnapshot (Maybe Int)
+dsPort = lens _dsPort (\ s a -> s{_dsPort = a});
+
+-- | Specifies the storage type associated with DB snapshot.
+dsStorageType :: Lens' DBSnapshot (Maybe Text)
+dsStorageType = lens _dsStorageType (\ s a -> s{_dsStorageType = a});
+
+instance FromXML DBSnapshot where
+        parseXML x
+          = DBSnapshot' <$>
+              (x .@? "EngineVersion") <*> (x .@? "Status") <*>
+                (x .@? "DBSnapshotArn")
+                <*> (x .@? "MasterUsername")
+                <*> (x .@? "SourceRegion")
+                <*> (x .@? "Iops")
+                <*> (x .@? "VpcId")
+                <*> (x .@? "InstanceCreateTime")
+                <*> (x .@? "Engine")
+                <*> (x .@? "Encrypted")
+                <*> (x .@? "DBSnapshotIdentifier")
+                <*> (x .@? "LicenseModel")
+                <*> (x .@? "SourceDBSnapshotIdentifier")
+                <*> (x .@? "SnapshotType")
+                <*> (x .@? "DBInstanceIdentifier")
+                <*> (x .@? "KmsKeyId")
+                <*> (x .@? "AvailabilityZone")
+                <*> (x .@? "SnapshotCreateTime")
+                <*> (x .@? "AllocatedStorage")
+                <*> (x .@? "OptionGroupName")
+                <*> (x .@? "Timezone")
+                <*> (x .@? "TdeCredentialArn")
+                <*> (x .@? "PercentProgress")
+                <*> (x .@? "Port")
+                <*> (x .@? "StorageType")
+
+instance Hashable DBSnapshot
+
+instance NFData DBSnapshot
+
+-- | Contains the name and values of a manual DB snapshot attribute
+--
+--
+-- Manual DB snapshot attributes are used to authorize other AWS accounts to restore a manual DB snapshot. For more information, see the 'ModifyDBSnapshotAttribute' API.
+--
+--
+-- /See:/ 'dbSnapshotAttribute' smart constructor.
+data DBSnapshotAttribute = DBSnapshotAttribute'
+    { _dsaAttributeValues :: !(Maybe [Text])
+    , _dsaAttributeName   :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBSnapshotAttribute' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dsaAttributeValues' - The value or values for the manual DB snapshot attribute. If the @AttributeName@ field is set to @restore@ , then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB snapshot. If a value of @all@ is in the list, then the manual DB snapshot is public and available for any AWS account to copy or restore.
+--
+-- * 'dsaAttributeName' - The name of the manual DB snapshot attribute. The attribute named @restore@ refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the 'ModifyDBSnapshotAttribute' API action.
+dbSnapshotAttribute
+    :: DBSnapshotAttribute
+dbSnapshotAttribute =
+    DBSnapshotAttribute'
+    { _dsaAttributeValues = Nothing
+    , _dsaAttributeName = Nothing
+    }
+
+-- | The value or values for the manual DB snapshot attribute. If the @AttributeName@ field is set to @restore@ , then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB snapshot. If a value of @all@ is in the list, then the manual DB snapshot is public and available for any AWS account to copy or restore.
+dsaAttributeValues :: Lens' DBSnapshotAttribute [Text]
+dsaAttributeValues = lens _dsaAttributeValues (\ s a -> s{_dsaAttributeValues = a}) . _Default . _Coerce;
+
+-- | The name of the manual DB snapshot attribute. The attribute named @restore@ refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the 'ModifyDBSnapshotAttribute' API action.
+dsaAttributeName :: Lens' DBSnapshotAttribute (Maybe Text)
+dsaAttributeName = lens _dsaAttributeName (\ s a -> s{_dsaAttributeName = a});
+
+instance FromXML DBSnapshotAttribute where
+        parseXML x
+          = DBSnapshotAttribute' <$>
+              (x .@? "AttributeValues" .!@ mempty >>=
+                 may (parseXMLList "AttributeValue"))
+                <*> (x .@? "AttributeName")
+
+instance Hashable DBSnapshotAttribute
+
+instance NFData DBSnapshotAttribute
+
+-- | Contains the results of a successful call to the 'DescribeDBSnapshotAttributes' API action.
+--
+--
+-- Manual DB snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB snapshot. For more information, see the 'ModifyDBSnapshotAttribute' API action.
+--
+--
+-- /See:/ 'dbSnapshotAttributesResult' smart constructor.
+data DBSnapshotAttributesResult = DBSnapshotAttributesResult'
+    { _dsarDBSnapshotIdentifier :: !(Maybe Text)
+    , _dsarDBSnapshotAttributes :: !(Maybe [DBSnapshotAttribute])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBSnapshotAttributesResult' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dsarDBSnapshotIdentifier' - The identifier of the manual DB snapshot that the attributes apply to.
+--
+-- * 'dsarDBSnapshotAttributes' - The list of attributes and values for the manual DB snapshot.
+dbSnapshotAttributesResult
+    :: DBSnapshotAttributesResult
+dbSnapshotAttributesResult =
+    DBSnapshotAttributesResult'
+    { _dsarDBSnapshotIdentifier = Nothing
+    , _dsarDBSnapshotAttributes = Nothing
+    }
+
+-- | The identifier of the manual DB snapshot that the attributes apply to.
+dsarDBSnapshotIdentifier :: Lens' DBSnapshotAttributesResult (Maybe Text)
+dsarDBSnapshotIdentifier = lens _dsarDBSnapshotIdentifier (\ s a -> s{_dsarDBSnapshotIdentifier = a});
+
+-- | The list of attributes and values for the manual DB snapshot.
+dsarDBSnapshotAttributes :: Lens' DBSnapshotAttributesResult [DBSnapshotAttribute]
+dsarDBSnapshotAttributes = lens _dsarDBSnapshotAttributes (\ s a -> s{_dsarDBSnapshotAttributes = a}) . _Default . _Coerce;
+
+instance FromXML DBSnapshotAttributesResult where
+        parseXML x
+          = DBSnapshotAttributesResult' <$>
+              (x .@? "DBSnapshotIdentifier") <*>
+                (x .@? "DBSnapshotAttributes" .!@ mempty >>=
+                   may (parseXMLList "DBSnapshotAttribute"))
+
+instance Hashable DBSnapshotAttributesResult
+
+instance NFData DBSnapshotAttributesResult
+
+-- | Contains the result of a successful invocation of the following actions:
+--
+--
+--     * 'CreateDBSubnetGroup'
+--
+--     * 'ModifyDBSubnetGroup'
+--
+--     * 'DescribeDBSubnetGroups'
+--
+--     * 'DeleteDBSubnetGroup'
+--
+--
+--
+-- This data type is used as a response element in the 'DescribeDBSubnetGroups' action.
+--
+--
+-- /See:/ 'dbSubnetGroup' smart constructor.
+data DBSubnetGroup = DBSubnetGroup'
+    { _dsgDBSubnetGroupName        :: !(Maybe Text)
+    , _dsgVPCId                    :: !(Maybe Text)
+    , _dsgSubnets                  :: !(Maybe [Subnet])
+    , _dsgDBSubnetGroupDescription :: !(Maybe Text)
+    , _dsgDBSubnetGroupARN         :: !(Maybe Text)
+    , _dsgSubnetGroupStatus        :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DBSubnetGroup' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dsgDBSubnetGroupName' - The name of the DB subnet group.
+--
+-- * 'dsgVPCId' - Provides the VpcId of the DB subnet group.
+--
+-- * 'dsgSubnets' - Contains a list of 'Subnet' elements.
+--
+-- * 'dsgDBSubnetGroupDescription' - Provides the description of the DB subnet group.
+--
+-- * 'dsgDBSubnetGroupARN' - The Amazon Resource Name (ARN) for the DB subnet group.
+--
+-- * 'dsgSubnetGroupStatus' - Provides the status of the DB subnet group.
+dbSubnetGroup
+    :: DBSubnetGroup
+dbSubnetGroup =
+    DBSubnetGroup'
+    { _dsgDBSubnetGroupName = Nothing
+    , _dsgVPCId = Nothing
+    , _dsgSubnets = Nothing
+    , _dsgDBSubnetGroupDescription = Nothing
+    , _dsgDBSubnetGroupARN = Nothing
+    , _dsgSubnetGroupStatus = Nothing
+    }
+
+-- | The name of the DB subnet group.
+dsgDBSubnetGroupName :: Lens' DBSubnetGroup (Maybe Text)
+dsgDBSubnetGroupName = lens _dsgDBSubnetGroupName (\ s a -> s{_dsgDBSubnetGroupName = a});
+
+-- | Provides the VpcId of the DB subnet group.
+dsgVPCId :: Lens' DBSubnetGroup (Maybe Text)
+dsgVPCId = lens _dsgVPCId (\ s a -> s{_dsgVPCId = a});
+
+-- | Contains a list of 'Subnet' elements.
+dsgSubnets :: Lens' DBSubnetGroup [Subnet]
+dsgSubnets = lens _dsgSubnets (\ s a -> s{_dsgSubnets = a}) . _Default . _Coerce;
+
+-- | Provides the description of the DB subnet group.
+dsgDBSubnetGroupDescription :: Lens' DBSubnetGroup (Maybe Text)
+dsgDBSubnetGroupDescription = lens _dsgDBSubnetGroupDescription (\ s a -> s{_dsgDBSubnetGroupDescription = a});
+
+-- | The Amazon Resource Name (ARN) for the DB subnet group.
+dsgDBSubnetGroupARN :: Lens' DBSubnetGroup (Maybe Text)
+dsgDBSubnetGroupARN = lens _dsgDBSubnetGroupARN (\ s a -> s{_dsgDBSubnetGroupARN = a});
+
+-- | Provides the status of the DB subnet group.
+dsgSubnetGroupStatus :: Lens' DBSubnetGroup (Maybe Text)
+dsgSubnetGroupStatus = lens _dsgSubnetGroupStatus (\ s a -> s{_dsgSubnetGroupStatus = a});
+
+instance FromXML DBSubnetGroup where
+        parseXML x
+          = DBSubnetGroup' <$>
+              (x .@? "DBSubnetGroupName") <*> (x .@? "VpcId") <*>
+                (x .@? "Subnets" .!@ mempty >>=
+                   may (parseXMLList "Subnet"))
+                <*> (x .@? "DBSubnetGroupDescription")
+                <*> (x .@? "DBSubnetGroupArn")
+                <*> (x .@? "SubnetGroupStatus")
+
+instance Hashable DBSubnetGroup
+
+instance NFData DBSubnetGroup
+
+-- | This data type is used as a response element to 'DescribeDBLogFiles' .
+--
+--
+--
+-- /See:/ 'describeDBLogFilesDetails' smart constructor.
+data DescribeDBLogFilesDetails = DescribeDBLogFilesDetails'
+    { _ddlfdLastWritten :: !(Maybe Integer)
+    , _ddlfdSize        :: !(Maybe Integer)
+    , _ddlfdLogFileName :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DescribeDBLogFilesDetails' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ddlfdLastWritten' - A POSIX timestamp when the last log entry was written.
+--
+-- * 'ddlfdSize' - The size, in bytes, of the log file for the specified DB instance.
+--
+-- * 'ddlfdLogFileName' - The name of the log file for the specified DB instance.
+describeDBLogFilesDetails
+    :: DescribeDBLogFilesDetails
+describeDBLogFilesDetails =
+    DescribeDBLogFilesDetails'
+    { _ddlfdLastWritten = Nothing
+    , _ddlfdSize = Nothing
+    , _ddlfdLogFileName = Nothing
+    }
+
+-- | A POSIX timestamp when the last log entry was written.
+ddlfdLastWritten :: Lens' DescribeDBLogFilesDetails (Maybe Integer)
+ddlfdLastWritten = lens _ddlfdLastWritten (\ s a -> s{_ddlfdLastWritten = a});
+
+-- | The size, in bytes, of the log file for the specified DB instance.
+ddlfdSize :: Lens' DescribeDBLogFilesDetails (Maybe Integer)
+ddlfdSize = lens _ddlfdSize (\ s a -> s{_ddlfdSize = a});
+
+-- | The name of the log file for the specified DB instance.
+ddlfdLogFileName :: Lens' DescribeDBLogFilesDetails (Maybe Text)
+ddlfdLogFileName = lens _ddlfdLogFileName (\ s a -> s{_ddlfdLogFileName = a});
+
+instance FromXML DescribeDBLogFilesDetails where
+        parseXML x
+          = DescribeDBLogFilesDetails' <$>
+              (x .@? "LastWritten") <*> (x .@? "Size") <*>
+                (x .@? "LogFileName")
+
+instance Hashable DescribeDBLogFilesDetails
+
+instance NFData DescribeDBLogFilesDetails
+
+-- | An Active Directory Domain membership record associated with the DB instance.
+--
+--
+--
+-- /See:/ 'domainMembership' smart constructor.
+data DomainMembership = DomainMembership'
+    { _dmStatus      :: !(Maybe Text)
+    , _dmFQDN        :: !(Maybe Text)
+    , _dmDomain      :: !(Maybe Text)
+    , _dmIAMRoleName :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DomainMembership' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dmStatus' - The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).
+--
+-- * 'dmFQDN' - The fully qualified domain name of the Active Directory Domain.
+--
+-- * 'dmDomain' - The identifier of the Active Directory Domain.
+--
+-- * 'dmIAMRoleName' - The name of the IAM role to be used when making API calls to the Directory Service.
+domainMembership
+    :: DomainMembership
+domainMembership =
+    DomainMembership'
+    { _dmStatus = Nothing
+    , _dmFQDN = Nothing
+    , _dmDomain = Nothing
+    , _dmIAMRoleName = Nothing
+    }
+
+-- | The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).
+dmStatus :: Lens' DomainMembership (Maybe Text)
+dmStatus = lens _dmStatus (\ s a -> s{_dmStatus = a});
+
+-- | The fully qualified domain name of the Active Directory Domain.
+dmFQDN :: Lens' DomainMembership (Maybe Text)
+dmFQDN = lens _dmFQDN (\ s a -> s{_dmFQDN = a});
+
+-- | The identifier of the Active Directory Domain.
+dmDomain :: Lens' DomainMembership (Maybe Text)
+dmDomain = lens _dmDomain (\ s a -> s{_dmDomain = a});
+
+-- | The name of the IAM role to be used when making API calls to the Directory Service.
+dmIAMRoleName :: Lens' DomainMembership (Maybe Text)
+dmIAMRoleName = lens _dmIAMRoleName (\ s a -> s{_dmIAMRoleName = a});
+
+instance FromXML DomainMembership where
+        parseXML x
+          = DomainMembership' <$>
+              (x .@? "Status") <*> (x .@? "FQDN") <*>
+                (x .@? "Domain")
+                <*> (x .@? "IAMRoleName")
+
+instance Hashable DomainMembership
+
+instance NFData DomainMembership
+
+-- | This data type is used as a response element in the following actions:
+--
+--
+--     * 'AuthorizeDBSecurityGroupIngress'
+--
+--     * 'DescribeDBSecurityGroups'
+--
+--     * 'RevokeDBSecurityGroupIngress'
+--
+--
+--
+--
+-- /See:/ 'ec2SecurityGroup' smart constructor.
+data EC2SecurityGroup = EC2SecurityGroup'
+    { _esgStatus                  :: !(Maybe Text)
+    , _esgEC2SecurityGroupOwnerId :: !(Maybe Text)
+    , _esgEC2SecurityGroupName    :: !(Maybe Text)
+    , _esgEC2SecurityGroupId      :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'EC2SecurityGroup' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'esgStatus' - Provides the status of the EC2 security group. Status can be "authorizing", "authorized", "revoking", and "revoked".
+--
+-- * 'esgEC2SecurityGroupOwnerId' - Specifies the AWS ID of the owner of the EC2 security group specified in the @EC2SecurityGroupName@ field.
+--
+-- * 'esgEC2SecurityGroupName' - Specifies the name of the EC2 security group.
+--
+-- * 'esgEC2SecurityGroupId' - Specifies the id of the EC2 security group.
+ec2SecurityGroup
+    :: EC2SecurityGroup
+ec2SecurityGroup =
+    EC2SecurityGroup'
+    { _esgStatus = Nothing
+    , _esgEC2SecurityGroupOwnerId = Nothing
+    , _esgEC2SecurityGroupName = Nothing
+    , _esgEC2SecurityGroupId = Nothing
+    }
+
+-- | Provides the status of the EC2 security group. Status can be "authorizing", "authorized", "revoking", and "revoked".
+esgStatus :: Lens' EC2SecurityGroup (Maybe Text)
+esgStatus = lens _esgStatus (\ s a -> s{_esgStatus = a});
+
+-- | Specifies the AWS ID of the owner of the EC2 security group specified in the @EC2SecurityGroupName@ field.
+esgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)
+esgEC2SecurityGroupOwnerId = lens _esgEC2SecurityGroupOwnerId (\ s a -> s{_esgEC2SecurityGroupOwnerId = a});
+
+-- | Specifies the name of the EC2 security group.
+esgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)
+esgEC2SecurityGroupName = lens _esgEC2SecurityGroupName (\ s a -> s{_esgEC2SecurityGroupName = a});
+
+-- | Specifies the id of the EC2 security group.
+esgEC2SecurityGroupId :: Lens' EC2SecurityGroup (Maybe Text)
+esgEC2SecurityGroupId = lens _esgEC2SecurityGroupId (\ s a -> s{_esgEC2SecurityGroupId = a});
+
+instance FromXML EC2SecurityGroup where
+        parseXML x
+          = EC2SecurityGroup' <$>
+              (x .@? "Status") <*>
+                (x .@? "EC2SecurityGroupOwnerId")
+                <*> (x .@? "EC2SecurityGroupName")
+                <*> (x .@? "EC2SecurityGroupId")
+
+instance Hashable EC2SecurityGroup
+
+instance NFData EC2SecurityGroup
+
+-- | This data type is used as a response element in the following actions:
+--
+--
+--     * 'CreateDBInstance'
+--
+--     * 'DescribeDBInstances'
+--
+--     * 'DeleteDBInstance'
+--
+--
+--
+--
+-- /See:/ 'endpoint' smart constructor.
+data Endpoint = Endpoint'
+    { _eHostedZoneId :: !(Maybe Text)
+    , _eAddress      :: !(Maybe Text)
+    , _ePort         :: !(Maybe Int)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Endpoint' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'eHostedZoneId' - Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
+--
+-- * 'eAddress' - Specifies the DNS address of the DB instance.
+--
+-- * 'ePort' - Specifies the port that the database engine is listening on.
+endpoint
+    :: Endpoint
+endpoint =
+    Endpoint'
+    { _eHostedZoneId = Nothing
+    , _eAddress = Nothing
+    , _ePort = Nothing
+    }
+
+-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
+eHostedZoneId :: Lens' Endpoint (Maybe Text)
+eHostedZoneId = lens _eHostedZoneId (\ s a -> s{_eHostedZoneId = a});
+
+-- | 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 .@? "HostedZoneId") <*> (x .@? "Address") <*>
+                (x .@? "Port")
+
+instance Hashable Endpoint
+
+instance NFData Endpoint
+
+-- | Contains the result of a successful invocation of the 'DescribeEngineDefaultParameters' action.
+--
+--
+--
+-- /See:/ 'engineDefaults' smart constructor.
+data EngineDefaults = EngineDefaults'
+    { _edDBParameterGroupFamily :: !(Maybe Text)
+    , _edMarker                 :: !(Maybe Text)
+    , _edParameters             :: !(Maybe [Parameter])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'EngineDefaults' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'edDBParameterGroupFamily' - Specifies the name of the DB parameter group family that the engine default parameters apply to.
+--
+-- * 'edMarker' - 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@ .
+--
+-- * 'edParameters' - Contains a list of engine default parameters.
+engineDefaults
+    :: EngineDefaults
+engineDefaults =
+    EngineDefaults'
+    { _edDBParameterGroupFamily = Nothing
+    , _edMarker = Nothing
+    , _edParameters = Nothing
+    }
+
+-- | Specifies the name of the DB parameter group family that 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}) . _Default . _Coerce;
+
+instance FromXML EngineDefaults where
+        parseXML x
+          = EngineDefaults' <$>
+              (x .@? "DBParameterGroupFamily") <*> (x .@? "Marker")
+                <*>
+                (x .@? "Parameters" .!@ mempty >>=
+                   may (parseXMLList "Parameter"))
+
+instance Hashable EngineDefaults
+
+instance NFData EngineDefaults
+
+-- | This data type is used as a response element in the 'DescribeEvents' action.
+--
+--
+--
+-- /See:/ 'event' smart constructor.
+data Event = Event'
+    { _eSourceType       :: !(Maybe SourceType)
+    , _eSourceARN        :: !(Maybe Text)
+    , _eSourceIdentifier :: !(Maybe Text)
+    , _eDate             :: !(Maybe ISO8601)
+    , _eEventCategories  :: !(Maybe [Text])
+    , _eMessage          :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Event' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'eSourceType' - Specifies the source type for this event.
+--
+-- * 'eSourceARN' - The Amazon Resource Name (ARN) for the event.
+--
+-- * 'eSourceIdentifier' - Provides the identifier for the source of the event.
+--
+-- * 'eDate' - Specifies the date and time of the event.
+--
+-- * 'eEventCategories' - Specifies the category for the event.
+--
+-- * 'eMessage' - Provides the text of this event.
+event
+    :: Event
+event =
+    Event'
+    { _eSourceType = Nothing
+    , _eSourceARN = Nothing
+    , _eSourceIdentifier = Nothing
+    , _eDate = Nothing
+    , _eEventCategories = Nothing
+    , _eMessage = Nothing
+    }
+
+-- | Specifies the source type for this event.
+eSourceType :: Lens' Event (Maybe SourceType)
+eSourceType = lens _eSourceType (\ s a -> s{_eSourceType = a});
+
+-- | The Amazon Resource Name (ARN) for the event.
+eSourceARN :: Lens' Event (Maybe Text)
+eSourceARN = lens _eSourceARN (\ s a -> s{_eSourceARN = 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 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}) . _Default . _Coerce;
+
+-- | Provides the text of this event.
+eMessage :: Lens' Event (Maybe Text)
+eMessage = lens _eMessage (\ s a -> s{_eMessage = a});
+
+instance FromXML Event where
+        parseXML x
+          = Event' <$>
+              (x .@? "SourceType") <*> (x .@? "SourceArn") <*>
+                (x .@? "SourceIdentifier")
+                <*> (x .@? "Date")
+                <*>
+                (x .@? "EventCategories" .!@ mempty >>=
+                   may (parseXMLList "EventCategory"))
+                <*> (x .@? "Message")
+
+instance Hashable Event
+
+instance NFData Event
+
+-- | Contains the results of a successful invocation of the 'DescribeEventCategories' action.
+--
+--
+--
+-- /See:/ 'eventCategoriesMap' smart constructor.
+data EventCategoriesMap = EventCategoriesMap'
+    { _ecmSourceType      :: !(Maybe Text)
+    , _ecmEventCategories :: !(Maybe [Text])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'EventCategoriesMap' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ecmSourceType' - The source type that the returned categories belong to
+--
+-- * 'ecmEventCategories' - The event categories for the specified source type
+eventCategoriesMap
+    :: EventCategoriesMap
+eventCategoriesMap =
+    EventCategoriesMap'
+    { _ecmSourceType = Nothing
+    , _ecmEventCategories = Nothing
+    }
+
+-- | The source type that the returned categories belong to
+ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)
+ecmSourceType = lens _ecmSourceType (\ s a -> s{_ecmSourceType = a});
+
+-- | The event categories for the specified source type
+ecmEventCategories :: Lens' EventCategoriesMap [Text]
+ecmEventCategories = lens _ecmEventCategories (\ s a -> s{_ecmEventCategories = a}) . _Default . _Coerce;
+
+instance FromXML EventCategoriesMap where
+        parseXML x
+          = EventCategoriesMap' <$>
+              (x .@? "SourceType") <*>
+                (x .@? "EventCategories" .!@ mempty >>=
+                   may (parseXMLList "EventCategory"))
+
+instance Hashable EventCategoriesMap
+
+instance NFData EventCategoriesMap
+
+-- | Contains the results of a successful invocation of the 'DescribeEventSubscriptions' action.
+--
+--
+--
+-- /See:/ 'eventSubscription' smart constructor.
+data EventSubscription = EventSubscription'
+    { _esStatus                   :: !(Maybe Text)
+    , _esCustomerAWSId            :: !(Maybe Text)
+    , _esCustSubscriptionId       :: !(Maybe Text)
+    , _esSNSTopicARN              :: !(Maybe Text)
+    , _esEventSubscriptionARN     :: !(Maybe Text)
+    , _esEnabled                  :: !(Maybe Bool)
+    , _esSourceType               :: !(Maybe Text)
+    , _esSubscriptionCreationTime :: !(Maybe Text)
+    , _esEventCategoriesList      :: !(Maybe [Text])
+    , _esSourceIdsList            :: !(Maybe [Text])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'EventSubscription' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'esStatus' - 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.
+--
+-- * 'esCustomerAWSId' - The AWS customer account associated with the RDS event notification subscription.
+--
+-- * 'esCustSubscriptionId' - The RDS event notification subscription Id.
+--
+-- * 'esSNSTopicARN' - The topic ARN of the RDS event notification subscription.
+--
+-- * 'esEventSubscriptionARN' - The Amazon Resource Name (ARN) for the event subscription.
+--
+-- * 'esEnabled' - A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.
+--
+-- * 'esSourceType' - The source type for the RDS event notification subscription.
+--
+-- * 'esSubscriptionCreationTime' - The time the RDS event notification subscription was created.
+--
+-- * 'esEventCategoriesList' - A list of event categories for the RDS event notification subscription.
+--
+-- * 'esSourceIdsList' - A list of source IDs for the RDS event notification subscription.
+eventSubscription
+    :: EventSubscription
+eventSubscription =
+    EventSubscription'
+    { _esStatus = Nothing
+    , _esCustomerAWSId = Nothing
+    , _esCustSubscriptionId = Nothing
+    , _esSNSTopicARN = Nothing
+    , _esEventSubscriptionARN = Nothing
+    , _esEnabled = Nothing
+    , _esSourceType = Nothing
+    , _esSubscriptionCreationTime = Nothing
+    , _esEventCategoriesList = Nothing
+    , _esSourceIdsList = Nothing
+    }
+
+-- | 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 AWS customer account associated with the RDS event notification subscription.
+esCustomerAWSId :: Lens' EventSubscription (Maybe Text)
+esCustomerAWSId = lens _esCustomerAWSId (\ s a -> s{_esCustomerAWSId = a});
+
+-- | The RDS event notification subscription Id.
+esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)
+esCustSubscriptionId = lens _esCustSubscriptionId (\ s a -> s{_esCustSubscriptionId = a});
+
+-- | The topic ARN of the RDS event notification subscription.
+esSNSTopicARN :: Lens' EventSubscription (Maybe Text)
+esSNSTopicARN = lens _esSNSTopicARN (\ s a -> s{_esSNSTopicARN = a});
+
+-- | The Amazon Resource Name (ARN) for the event subscription.
+esEventSubscriptionARN :: Lens' EventSubscription (Maybe Text)
+esEventSubscriptionARN = lens _esEventSubscriptionARN (\ s a -> s{_esEventSubscriptionARN = 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});
+
+-- | The source type for the RDS event notification subscription.
+esSourceType :: Lens' EventSubscription (Maybe Text)
+esSourceType = lens _esSourceType (\ s a -> s{_esSourceType = a});
+
+-- | The time the RDS event notification subscription was created.
+esSubscriptionCreationTime :: Lens' EventSubscription (Maybe Text)
+esSubscriptionCreationTime = lens _esSubscriptionCreationTime (\ s a -> s{_esSubscriptionCreationTime = a});
+
+-- | A list of event categories for the RDS event notification subscription.
+esEventCategoriesList :: Lens' EventSubscription [Text]
+esEventCategoriesList = lens _esEventCategoriesList (\ s a -> s{_esEventCategoriesList = a}) . _Default . _Coerce;
+
+-- | A list of source IDs for the RDS event notification subscription.
+esSourceIdsList :: Lens' EventSubscription [Text]
+esSourceIdsList = lens _esSourceIdsList (\ s a -> s{_esSourceIdsList = a}) . _Default . _Coerce;
+
+instance FromXML EventSubscription where
+        parseXML x
+          = EventSubscription' <$>
+              (x .@? "Status") <*> (x .@? "CustomerAwsId") <*>
+                (x .@? "CustSubscriptionId")
+                <*> (x .@? "SnsTopicArn")
+                <*> (x .@? "EventSubscriptionArn")
+                <*> (x .@? "Enabled")
+                <*> (x .@? "SourceType")
+                <*> (x .@? "SubscriptionCreationTime")
+                <*>
+                (x .@? "EventCategoriesList" .!@ mempty >>=
+                   may (parseXMLList "EventCategory"))
+                <*>
+                (x .@? "SourceIdsList" .!@ mempty >>=
+                   may (parseXMLList "SourceId"))
+
+instance Hashable EventSubscription
+
+instance NFData EventSubscription
+
+-- | This type is not currently supported.
+--
+--
+--
+-- /See:/ 'filter'' smart constructor.
+data Filter = Filter'
+    { _fName   :: !Text
+    , _fValues :: ![Text]
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Filter' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'fName' - This parameter is not currently supported.
+--
+-- * 'fValues' - This parameter is not currently supported.
+filter'
+    :: Text -- ^ 'fName'
+    -> Filter
+filter' pName_ =
+    Filter'
+    { _fName = pName_
+    , _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}) . _Coerce;
+
+instance Hashable Filter
+
+instance NFData Filter
+
+instance ToQuery Filter where
+        toQuery Filter'{..}
+          = mconcat
+              ["Name" =: _fName,
+               "Values" =: toQueryList "Value" _fValues]
+
+-- | This data type is used as a response element in the 'DescribeDBSecurityGroups' action.
+--
+--
+--
+-- /See:/ 'ipRange' smart constructor.
+data IPRange = IPRange'
+    { _irStatus :: !(Maybe Text)
+    , _irCIdRIP :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'IPRange' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'irStatus' - Specifies the status of the IP range. Status can be "authorizing", "authorized", "revoking", and "revoked".
+--
+-- * 'irCIdRIP' - Specifies the IP range.
+ipRange
+    :: IPRange
+ipRange =
+    IPRange'
+    { _irStatus = Nothing
+    , _irCIdRIP = Nothing
+    }
+
+-- | Specifies the status of the IP range. Status can be "authorizing", "authorized", "revoking", and "revoked".
+irStatus :: Lens' IPRange (Maybe Text)
+irStatus = lens _irStatus (\ s a -> s{_irStatus = a});
+
+-- | Specifies the IP range.
+irCIdRIP :: Lens' IPRange (Maybe Text)
+irCIdRIP = lens _irCIdRIP (\ s a -> s{_irCIdRIP = a});
+
+instance FromXML IPRange where
+        parseXML x
+          = IPRange' <$> (x .@? "Status") <*> (x .@? "CIDRIP")
+
+instance Hashable IPRange
+
+instance NFData IPRange
+
+-- | Option details.
+--
+--
+--
+-- /See:/ 'option' smart constructor.
+data Option = Option'
+    { _oOptionName                  :: !(Maybe Text)
+    , _oPermanent                   :: !(Maybe Bool)
+    , _oPersistent                  :: !(Maybe Bool)
+    , _oOptionDescription           :: !(Maybe Text)
+    , _oOptionSettings              :: !(Maybe [OptionSetting])
+    , _oVPCSecurityGroupMemberships :: !(Maybe [VPCSecurityGroupMembership])
+    , _oDBSecurityGroupMemberships  :: !(Maybe [DBSecurityGroupMembership])
+    , _oOptionVersion               :: !(Maybe Text)
+    , _oPort                        :: !(Maybe Int)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Option' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'oOptionName' - The name of the option.
+--
+-- * 'oPermanent' - Indicate if this option is permanent.
+--
+-- * 'oPersistent' - Indicate if this option is persistent.
+--
+-- * 'oOptionDescription' - The description of the option.
+--
+-- * 'oOptionSettings' - The option settings for this option.
+--
+-- * 'oVPCSecurityGroupMemberships' - If the option requires access to a port, then this VPC security group allows access to the port.
+--
+-- * 'oDBSecurityGroupMemberships' - If the option requires access to a port, then this DB security group allows access to the port.
+--
+-- * 'oOptionVersion' - The version of the option.
+--
+-- * 'oPort' - If required, the port configured for this option to use.
+option
+    :: Option
+option =
+    Option'
+    { _oOptionName = Nothing
+    , _oPermanent = Nothing
+    , _oPersistent = Nothing
+    , _oOptionDescription = Nothing
+    , _oOptionSettings = Nothing
+    , _oVPCSecurityGroupMemberships = Nothing
+    , _oDBSecurityGroupMemberships = Nothing
+    , _oOptionVersion = Nothing
+    , _oPort = Nothing
+    }
+
+-- | The name of the option.
+oOptionName :: Lens' Option (Maybe Text)
+oOptionName = lens _oOptionName (\ s a -> s{_oOptionName = a});
+
+-- | 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});
+
+-- | The description of the option.
+oOptionDescription :: Lens' Option (Maybe Text)
+oOptionDescription = lens _oOptionDescription (\ s a -> s{_oOptionDescription = a});
+
+-- | The option settings for this option.
+oOptionSettings :: Lens' Option [OptionSetting]
+oOptionSettings = lens _oOptionSettings (\ s a -> s{_oOptionSettings = a}) . _Default . _Coerce;
+
+-- | 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}) . _Default . _Coerce;
+
+-- | 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}) . _Default . _Coerce;
+
+-- | The version of the option.
+oOptionVersion :: Lens' Option (Maybe Text)
+oOptionVersion = lens _oOptionVersion (\ s a -> s{_oOptionVersion = a});
+
+-- | If required, the port configured for this option to use.
+oPort :: Lens' Option (Maybe Int)
+oPort = lens _oPort (\ s a -> s{_oPort = a});
+
+instance FromXML Option where
+        parseXML x
+          = Option' <$>
+              (x .@? "OptionName") <*> (x .@? "Permanent") <*>
+                (x .@? "Persistent")
+                <*> (x .@? "OptionDescription")
+                <*>
+                (x .@? "OptionSettings" .!@ mempty >>=
+                   may (parseXMLList "OptionSetting"))
+                <*>
+                (x .@? "VpcSecurityGroupMemberships" .!@ mempty >>=
+                   may (parseXMLList "VpcSecurityGroupMembership"))
+                <*>
+                (x .@? "DBSecurityGroupMemberships" .!@ mempty >>=
+                   may (parseXMLList "DBSecurityGroup"))
+                <*> (x .@? "OptionVersion")
+                <*> (x .@? "Port")
+
+instance Hashable Option
+
+instance NFData Option
+
+-- | A list of all available options
+--
+--
+--
+-- /See:/ 'optionConfiguration' smart constructor.
+data OptionConfiguration = OptionConfiguration'
+    { _ocOptionSettings              :: !(Maybe [OptionSetting])
+    , _ocVPCSecurityGroupMemberships :: !(Maybe [Text])
+    , _ocDBSecurityGroupMemberships  :: !(Maybe [Text])
+    , _ocOptionVersion               :: !(Maybe Text)
+    , _ocPort                        :: !(Maybe Int)
+    , _ocOptionName                  :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OptionConfiguration' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ocOptionSettings' - The option settings to include in an option group.
+--
+-- * 'ocVPCSecurityGroupMemberships' - A list of VpcSecurityGroupMemebrship name strings used for this option.
+--
+-- * 'ocDBSecurityGroupMemberships' - A list of DBSecurityGroupMemebrship name strings used for this option.
+--
+-- * 'ocOptionVersion' - The version for the option.
+--
+-- * 'ocPort' - The optional port for the option.
+--
+-- * 'ocOptionName' - The configuration of options to include in a group.
+optionConfiguration
+    :: Text -- ^ 'ocOptionName'
+    -> OptionConfiguration
+optionConfiguration pOptionName_ =
+    OptionConfiguration'
+    { _ocOptionSettings = Nothing
+    , _ocVPCSecurityGroupMemberships = Nothing
+    , _ocDBSecurityGroupMemberships = Nothing
+    , _ocOptionVersion = Nothing
+    , _ocPort = Nothing
+    , _ocOptionName = pOptionName_
+    }
+
+-- | The option settings to include in an option group.
+ocOptionSettings :: Lens' OptionConfiguration [OptionSetting]
+ocOptionSettings = lens _ocOptionSettings (\ s a -> s{_ocOptionSettings = a}) . _Default . _Coerce;
+
+-- | A list of VpcSecurityGroupMemebrship name strings used for this option.
+ocVPCSecurityGroupMemberships :: Lens' OptionConfiguration [Text]
+ocVPCSecurityGroupMemberships = lens _ocVPCSecurityGroupMemberships (\ s a -> s{_ocVPCSecurityGroupMemberships = a}) . _Default . _Coerce;
+
+-- | A list of DBSecurityGroupMemebrship name strings used for this option.
+ocDBSecurityGroupMemberships :: Lens' OptionConfiguration [Text]
+ocDBSecurityGroupMemberships = lens _ocDBSecurityGroupMemberships (\ s a -> s{_ocDBSecurityGroupMemberships = a}) . _Default . _Coerce;
+
+-- | The version for the option.
+ocOptionVersion :: Lens' OptionConfiguration (Maybe Text)
+ocOptionVersion = lens _ocOptionVersion (\ s a -> s{_ocOptionVersion = a});
+
+-- | The optional port for the option.
+ocPort :: Lens' OptionConfiguration (Maybe Int)
+ocPort = lens _ocPort (\ s a -> s{_ocPort = a});
+
+-- | The configuration of options to include in a group.
+ocOptionName :: Lens' OptionConfiguration Text
+ocOptionName = lens _ocOptionName (\ s a -> s{_ocOptionName = a});
+
+instance Hashable OptionConfiguration
+
+instance NFData OptionConfiguration
+
+instance ToQuery OptionConfiguration where
+        toQuery OptionConfiguration'{..}
+          = mconcat
+              ["OptionSettings" =:
+                 toQuery
+                   (toQueryList "OptionSetting" <$> _ocOptionSettings),
+               "VpcSecurityGroupMemberships" =:
+                 toQuery
+                   (toQueryList "VpcSecurityGroupId" <$>
+                      _ocVPCSecurityGroupMemberships),
+               "DBSecurityGroupMemberships" =:
+                 toQuery
+                   (toQueryList "DBSecurityGroupName" <$>
+                      _ocDBSecurityGroupMemberships),
+               "OptionVersion" =: _ocOptionVersion,
+               "Port" =: _ocPort, "OptionName" =: _ocOptionName]
+
+-- |
+--
+--
+--
+-- /See:/ 'optionGroup' smart constructor.
+data OptionGroup = OptionGroup'
+    { _ogOptionGroupDescription                :: !(Maybe Text)
+    , _ogVPCId                                 :: !(Maybe Text)
+    , _ogAllowsVPCAndNonVPCInstanceMemberships :: !(Maybe Bool)
+    , _ogEngineName                            :: !(Maybe Text)
+    , _ogOptionGroupARN                        :: !(Maybe Text)
+    , _ogMajorEngineVersion                    :: !(Maybe Text)
+    , _ogOptions                               :: !(Maybe [Option])
+    , _ogOptionGroupName                       :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OptionGroup' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ogOptionGroupDescription' - Provides a description of the option group.
+--
+-- * 'ogVPCId' - 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.
+--
+-- * 'ogAllowsVPCAndNonVPCInstanceMemberships' - 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.
+--
+-- * 'ogEngineName' - Indicates the name of the engine that this option group can be applied to.
+--
+-- * 'ogOptionGroupARN' - The Amazon Resource Name (ARN) for the option group.
+--
+-- * 'ogMajorEngineVersion' - Indicates the major engine version associated with this option group.
+--
+-- * 'ogOptions' - Indicates what options are available in the option group.
+--
+-- * 'ogOptionGroupName' - Specifies the name of the option group.
+optionGroup
+    :: OptionGroup
+optionGroup =
+    OptionGroup'
+    { _ogOptionGroupDescription = Nothing
+    , _ogVPCId = Nothing
+    , _ogAllowsVPCAndNonVPCInstanceMemberships = Nothing
+    , _ogEngineName = Nothing
+    , _ogOptionGroupARN = Nothing
+    , _ogMajorEngineVersion = Nothing
+    , _ogOptions = Nothing
+    , _ogOptionGroupName = Nothing
+    }
+
+-- | Provides a description of the option group.
+ogOptionGroupDescription :: Lens' OptionGroup (Maybe Text)
+ogOptionGroupDescription = lens _ogOptionGroupDescription (\ s a -> s{_ogOptionGroupDescription = a});
+
+-- | 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});
+
+-- | 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});
+
+-- | Indicates the name of the engine that this option group can be applied to.
+ogEngineName :: Lens' OptionGroup (Maybe Text)
+ogEngineName = lens _ogEngineName (\ s a -> s{_ogEngineName = a});
+
+-- | The Amazon Resource Name (ARN) for the option group.
+ogOptionGroupARN :: Lens' OptionGroup (Maybe Text)
+ogOptionGroupARN = lens _ogOptionGroupARN (\ s a -> s{_ogOptionGroupARN = a});
+
+-- | Indicates the major engine version associated with this option group.
+ogMajorEngineVersion :: Lens' OptionGroup (Maybe Text)
+ogMajorEngineVersion = lens _ogMajorEngineVersion (\ s a -> s{_ogMajorEngineVersion = a});
+
+-- | Indicates what options are available in the option group.
+ogOptions :: Lens' OptionGroup [Option]
+ogOptions = lens _ogOptions (\ s a -> s{_ogOptions = a}) . _Default . _Coerce;
+
+-- | Specifies the name of the option group.
+ogOptionGroupName :: Lens' OptionGroup (Maybe Text)
+ogOptionGroupName = lens _ogOptionGroupName (\ s a -> s{_ogOptionGroupName = a});
+
+instance FromXML OptionGroup where
+        parseXML x
+          = OptionGroup' <$>
+              (x .@? "OptionGroupDescription") <*> (x .@? "VpcId")
+                <*> (x .@? "AllowsVpcAndNonVpcInstanceMemberships")
+                <*> (x .@? "EngineName")
+                <*> (x .@? "OptionGroupArn")
+                <*> (x .@? "MajorEngineVersion")
+                <*>
+                (x .@? "Options" .!@ mempty >>=
+                   may (parseXMLList "Option"))
+                <*> (x .@? "OptionGroupName")
+
+instance Hashable OptionGroup
+
+instance NFData OptionGroup
+
+-- | Provides information on the option groups the DB instance is a member of.
+--
+--
+--
+-- /See:/ 'optionGroupMembership' smart constructor.
+data OptionGroupMembership = OptionGroupMembership'
+    { _ogmStatus          :: !(Maybe Text)
+    , _ogmOptionGroupName :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OptionGroupMembership' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ogmStatus' - The status of the DB instance's option group membership. Valid values are: @in-sync@ , @pending-apply@ , @pending-removal@ , @pending-maintenance-apply@ , @pending-maintenance-removal@ , @applying@ , @removing@ , and @failed@ .
+--
+-- * 'ogmOptionGroupName' - The name of the option group that the instance belongs to.
+optionGroupMembership
+    :: OptionGroupMembership
+optionGroupMembership =
+    OptionGroupMembership'
+    { _ogmStatus = Nothing
+    , _ogmOptionGroupName = Nothing
+    }
+
+-- | The status of the DB instance's option group membership. Valid values are: @in-sync@ , @pending-apply@ , @pending-removal@ , @pending-maintenance-apply@ , @pending-maintenance-removal@ , @applying@ , @removing@ , and @failed@ .
+ogmStatus :: Lens' OptionGroupMembership (Maybe Text)
+ogmStatus = lens _ogmStatus (\ s a -> s{_ogmStatus = a});
+
+-- | The name of the option group that the instance belongs to.
+ogmOptionGroupName :: Lens' OptionGroupMembership (Maybe Text)
+ogmOptionGroupName = lens _ogmOptionGroupName (\ s a -> s{_ogmOptionGroupName = a});
+
+instance FromXML OptionGroupMembership where
+        parseXML x
+          = OptionGroupMembership' <$>
+              (x .@? "Status") <*> (x .@? "OptionGroupName")
+
+instance Hashable OptionGroupMembership
+
+instance NFData OptionGroupMembership
+
+-- | Available option.
+--
+--
+--
+-- /See:/ 'optionGroupOption' smart constructor.
+data OptionGroupOption = OptionGroupOption'
+    { _ogoMinimumRequiredMinorEngineVersion :: !(Maybe Text)
+    , _ogoOptionsConflictsWith              :: !(Maybe [Text])
+    , _ogoPermanent                         :: !(Maybe Bool)
+    , _ogoPersistent                        :: !(Maybe Bool)
+    , _ogoOptionGroupOptionVersions         :: !(Maybe [OptionVersion])
+    , _ogoEngineName                        :: !(Maybe Text)
+    , _ogoMajorEngineVersion                :: !(Maybe Text)
+    , _ogoName                              :: !(Maybe Text)
+    , _ogoDefaultPort                       :: !(Maybe Int)
+    , _ogoOptionGroupOptionSettings         :: !(Maybe [OptionGroupOptionSetting])
+    , _ogoPortRequired                      :: !(Maybe Bool)
+    , _ogoDescription                       :: !(Maybe Text)
+    , _ogoOptionsDependedOn                 :: !(Maybe [Text])
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OptionGroupOption' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ogoMinimumRequiredMinorEngineVersion' - The minimum required engine version for the option to be applied.
+--
+-- * 'ogoOptionsConflictsWith' - The options that conflict with this option.
+--
+-- * 'ogoPermanent' - Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.
+--
+-- * 'ogoPersistent' - Persistent options can't be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.
+--
+-- * 'ogoOptionGroupOptionVersions' - The versions that are available for the option.
+--
+-- * 'ogoEngineName' - The name of the engine that this option can be applied to.
+--
+-- * 'ogoMajorEngineVersion' - Indicates the major engine version that the option is available for.
+--
+-- * 'ogoName' - The name of the option.
+--
+-- * 'ogoDefaultPort' - If the option requires a port, specifies the default port for the option.
+--
+-- * 'ogoOptionGroupOptionSettings' - The option settings that are available (and the default value) for each option in an option group.
+--
+-- * 'ogoPortRequired' - Specifies whether the option requires a port.
+--
+-- * 'ogoDescription' - The description of the option.
+--
+-- * 'ogoOptionsDependedOn' - The options that are prerequisites for this option.
+optionGroupOption
+    :: OptionGroupOption
+optionGroupOption =
+    OptionGroupOption'
+    { _ogoMinimumRequiredMinorEngineVersion = Nothing
+    , _ogoOptionsConflictsWith = Nothing
+    , _ogoPermanent = Nothing
+    , _ogoPersistent = Nothing
+    , _ogoOptionGroupOptionVersions = Nothing
+    , _ogoEngineName = Nothing
+    , _ogoMajorEngineVersion = Nothing
+    , _ogoName = Nothing
+    , _ogoDefaultPort = Nothing
+    , _ogoOptionGroupOptionSettings = Nothing
+    , _ogoPortRequired = Nothing
+    , _ogoDescription = Nothing
+    , _ogoOptionsDependedOn = Nothing
+    }
+
+-- | 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 options that conflict with this option.
+ogoOptionsConflictsWith :: Lens' OptionGroupOption [Text]
+ogoOptionsConflictsWith = lens _ogoOptionsConflictsWith (\ s a -> s{_ogoOptionsConflictsWith = a}) . _Default . _Coerce;
+
+-- | Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.
+ogoPermanent :: Lens' OptionGroupOption (Maybe Bool)
+ogoPermanent = lens _ogoPermanent (\ s a -> s{_ogoPermanent = a});
+
+-- | Persistent options can't be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.
+ogoPersistent :: Lens' OptionGroupOption (Maybe Bool)
+ogoPersistent = lens _ogoPersistent (\ s a -> s{_ogoPersistent = a});
+
+-- | The versions that are available for the option.
+ogoOptionGroupOptionVersions :: Lens' OptionGroupOption [OptionVersion]
+ogoOptionGroupOptionVersions = lens _ogoOptionGroupOptionVersions (\ s a -> s{_ogoOptionGroupOptionVersions = a}) . _Default . _Coerce;
+
+-- | The name of the engine 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 name of the option.
+ogoName :: Lens' OptionGroupOption (Maybe Text)
+ogoName = lens _ogoName (\ s a -> s{_ogoName = a});
+
+-- | 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 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}) . _Default . _Coerce;
+
+-- | Specifies whether the option requires a port.
+ogoPortRequired :: Lens' OptionGroupOption (Maybe Bool)
+ogoPortRequired = lens _ogoPortRequired (\ s a -> s{_ogoPortRequired = a});
+
+-- | The description of the option.
+ogoDescription :: Lens' OptionGroupOption (Maybe Text)
+ogoDescription = lens _ogoDescription (\ s a -> s{_ogoDescription = a});
+
+-- | The options that are prerequisites for this option.
+ogoOptionsDependedOn :: Lens' OptionGroupOption [Text]
+ogoOptionsDependedOn = lens _ogoOptionsDependedOn (\ s a -> s{_ogoOptionsDependedOn = a}) . _Default . _Coerce;
+
+instance FromXML OptionGroupOption where
+        parseXML x
+          = OptionGroupOption' <$>
+              (x .@? "MinimumRequiredMinorEngineVersion") <*>
+                (x .@? "OptionsConflictsWith" .!@ mempty >>=
+                   may (parseXMLList "OptionConflictName"))
+                <*> (x .@? "Permanent")
+                <*> (x .@? "Persistent")
+                <*>
+                (x .@? "OptionGroupOptionVersions" .!@ mempty >>=
+                   may (parseXMLList "OptionVersion"))
+                <*> (x .@? "EngineName")
+                <*> (x .@? "MajorEngineVersion")
+                <*> (x .@? "Name")
+                <*> (x .@? "DefaultPort")
+                <*>
+                (x .@? "OptionGroupOptionSettings" .!@ mempty >>=
+                   may (parseXMLList "OptionGroupOptionSetting"))
+                <*> (x .@? "PortRequired")
+                <*> (x .@? "Description")
+                <*>
+                (x .@? "OptionsDependedOn" .!@ mempty >>=
+                   may (parseXMLList "OptionName"))
+
+instance Hashable OptionGroupOption
+
+instance NFData OptionGroupOption
+
+-- | Option group option settings are used to display settings available for each option with their default values and other information. These values are used with the DescribeOptionGroupOptions action.
+--
+--
+--
+-- /See:/ 'optionGroupOptionSetting' smart constructor.
+data OptionGroupOptionSetting = OptionGroupOptionSetting'
+    { _ogosApplyType          :: !(Maybe Text)
+    , _ogosSettingName        :: !(Maybe Text)
+    , _ogosDefaultValue       :: !(Maybe Text)
+    , _ogosIsModifiable       :: !(Maybe Bool)
+    , _ogosSettingDescription :: !(Maybe Text)
+    , _ogosAllowedValues      :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OptionGroupOptionSetting' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ogosApplyType' - The DB engine specific parameter type for the option group option.
+--
+-- * 'ogosSettingName' - The name of the option group option.
+--
+-- * 'ogosDefaultValue' - The default value for the option group option.
+--
+-- * 'ogosIsModifiable' - Boolean value where true indicates that this option group option can be changed from the default value.
+--
+-- * 'ogosSettingDescription' - The description of the option group option.
+--
+-- * 'ogosAllowedValues' - Indicates the acceptable values for the option group option.
+optionGroupOptionSetting
+    :: OptionGroupOptionSetting
+optionGroupOptionSetting =
+    OptionGroupOptionSetting'
+    { _ogosApplyType = Nothing
+    , _ogosSettingName = Nothing
+    , _ogosDefaultValue = Nothing
+    , _ogosIsModifiable = Nothing
+    , _ogosSettingDescription = Nothing
+    , _ogosAllowedValues = Nothing
+    }
+
+-- | 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 name of the option group option.
+ogosSettingName :: Lens' OptionGroupOptionSetting (Maybe Text)
+ogosSettingName = lens _ogosSettingName (\ s a -> s{_ogosSettingName = 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});
+
+-- | Indicates the acceptable values for the option group option.
+ogosAllowedValues :: Lens' OptionGroupOptionSetting (Maybe Text)
+ogosAllowedValues = lens _ogosAllowedValues (\ s a -> s{_ogosAllowedValues = a});
+
+instance FromXML OptionGroupOptionSetting where
+        parseXML x
+          = OptionGroupOptionSetting' <$>
+              (x .@? "ApplyType") <*> (x .@? "SettingName") <*>
+                (x .@? "DefaultValue")
+                <*> (x .@? "IsModifiable")
+                <*> (x .@? "SettingDescription")
+                <*> (x .@? "AllowedValues")
+
+instance Hashable OptionGroupOptionSetting
+
+instance NFData OptionGroupOptionSetting
+
+-- | Option settings are the actual settings being applied or configured for that option. It is used when you modify an option group or describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER that can have several different values.
+--
+--
+--
+-- /See:/ 'optionSetting' smart constructor.
+data OptionSetting = OptionSetting'
+    { _osIsCollection  :: !(Maybe Bool)
+    , _osApplyType     :: !(Maybe Text)
+    , _osValue         :: !(Maybe Text)
+    , _osName          :: !(Maybe Text)
+    , _osDefaultValue  :: !(Maybe Text)
+    , _osIsModifiable  :: !(Maybe Bool)
+    , _osDataType      :: !(Maybe Text)
+    , _osAllowedValues :: !(Maybe Text)
+    , _osDescription   :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OptionSetting' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'osIsCollection' - Indicates if the option setting is part of a collection.
+--
+-- * 'osApplyType' - The DB engine specific parameter type.
+--
+-- * 'osValue' - The current value of the option setting.
+--
+-- * 'osName' - The name of the option that has settings that you can set.
+--
+-- * 'osDefaultValue' - The default value of the option setting.
+--
+-- * 'osIsModifiable' - A Boolean value that, when true, indicates the option setting can be modified from the default.
+--
+-- * 'osDataType' - The data type of the option setting.
+--
+-- * 'osAllowedValues' - The allowed values of the option setting.
+--
+-- * 'osDescription' - The description of the option setting.
+optionSetting
+    :: OptionSetting
+optionSetting =
+    OptionSetting'
+    { _osIsCollection = Nothing
+    , _osApplyType = Nothing
+    , _osValue = Nothing
+    , _osName = Nothing
+    , _osDefaultValue = Nothing
+    , _osIsModifiable = Nothing
+    , _osDataType = Nothing
+    , _osAllowedValues = Nothing
+    , _osDescription = Nothing
+    }
+
+-- | Indicates if the option setting is part of a collection.
+osIsCollection :: Lens' OptionSetting (Maybe Bool)
+osIsCollection = lens _osIsCollection (\ s a -> s{_osIsCollection = a});
+
+-- | The DB engine specific parameter type.
+osApplyType :: Lens' OptionSetting (Maybe Text)
+osApplyType = lens _osApplyType (\ s a -> s{_osApplyType = a});
+
+-- | The current value of the option setting.
+osValue :: Lens' OptionSetting (Maybe Text)
+osValue = lens _osValue (\ s a -> s{_osValue = 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 default value of the option setting.
+osDefaultValue :: Lens' OptionSetting (Maybe Text)
+osDefaultValue = lens _osDefaultValue (\ s a -> s{_osDefaultValue = 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 data type of the option setting.
+osDataType :: Lens' OptionSetting (Maybe Text)
+osDataType = lens _osDataType (\ s a -> s{_osDataType = a});
+
+-- | The allowed values of the option setting.
+osAllowedValues :: Lens' OptionSetting (Maybe Text)
+osAllowedValues = lens _osAllowedValues (\ s a -> s{_osAllowedValues = a});
+
+-- | The description of the option setting.
+osDescription :: Lens' OptionSetting (Maybe Text)
+osDescription = lens _osDescription (\ s a -> s{_osDescription = a});
+
+instance FromXML OptionSetting where
+        parseXML x
+          = OptionSetting' <$>
+              (x .@? "IsCollection") <*> (x .@? "ApplyType") <*>
+                (x .@? "Value")
+                <*> (x .@? "Name")
+                <*> (x .@? "DefaultValue")
+                <*> (x .@? "IsModifiable")
+                <*> (x .@? "DataType")
+                <*> (x .@? "AllowedValues")
+                <*> (x .@? "Description")
+
+instance Hashable OptionSetting
+
+instance NFData OptionSetting
+
+instance ToQuery OptionSetting where
+        toQuery OptionSetting'{..}
+          = mconcat
+              ["IsCollection" =: _osIsCollection,
+               "ApplyType" =: _osApplyType, "Value" =: _osValue,
+               "Name" =: _osName, "DefaultValue" =: _osDefaultValue,
+               "IsModifiable" =: _osIsModifiable,
+               "DataType" =: _osDataType,
+               "AllowedValues" =: _osAllowedValues,
+               "Description" =: _osDescription]
+
+-- | The version for an option. Option group option versions are returned by the 'DescribeOptionGroupOptions' action.
+--
+--
+--
+-- /See:/ 'optionVersion' smart constructor.
+data OptionVersion = OptionVersion'
+    { _ovVersion   :: !(Maybe Text)
+    , _ovIsDefault :: !(Maybe Bool)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OptionVersion' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ovVersion' - The version of the option.
+--
+-- * 'ovIsDefault' - True if the version is the default version of the option; otherwise, false.
+optionVersion
+    :: OptionVersion
+optionVersion =
+    OptionVersion'
+    { _ovVersion = Nothing
+    , _ovIsDefault = Nothing
+    }
+
+-- | The version of the option.
+ovVersion :: Lens' OptionVersion (Maybe Text)
+ovVersion = lens _ovVersion (\ s a -> s{_ovVersion = a});
+
+-- | True if the version is the default version of the option; otherwise, false.
+ovIsDefault :: Lens' OptionVersion (Maybe Bool)
+ovIsDefault = lens _ovIsDefault (\ s a -> s{_ovIsDefault = a});
+
+instance FromXML OptionVersion where
+        parseXML x
+          = OptionVersion' <$>
+              (x .@? "Version") <*> (x .@? "IsDefault")
+
+instance Hashable OptionVersion
+
+instance NFData OptionVersion
+
+-- | Contains a list of available options for a DB instance
+--
+--
+-- This data type is used as a response element in the 'DescribeOrderableDBInstanceOptions' action.
+--
+--
+-- /See:/ 'orderableDBInstanceOption' smart constructor.
+data OrderableDBInstanceOption = OrderableDBInstanceOption'
+    { _odioEngineVersion              :: !(Maybe Text)
+    , _odioMultiAZCapable             :: !(Maybe Bool)
+    , _odioEngine                     :: !(Maybe Text)
+    , _odioSupportsIOPS               :: !(Maybe Bool)
+    , _odioDBInstanceClass            :: !(Maybe Text)
+    , _odioLicenseModel               :: !(Maybe Text)
+    , _odioAvailabilityZones          :: !(Maybe [AvailabilityZone])
+    , _odioSupportsStorageEncryption  :: !(Maybe Bool)
+    , _odioReadReplicaCapable         :: !(Maybe Bool)
+    , _odioVPC                        :: !(Maybe Bool)
+    , _odioSupportsEnhancedMonitoring :: !(Maybe Bool)
+    , _odioStorageType                :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'OrderableDBInstanceOption' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'odioEngineVersion' - The engine version of the orderable DB instance.
+--
+-- * 'odioMultiAZCapable' - Indicates whether this orderable DB instance is multi-AZ capable.
+--
+-- * 'odioEngine' - The engine type of the orderable DB instance.
+--
+-- * 'odioSupportsIOPS' - Indicates whether this orderable DB instance supports provisioned IOPS.
+--
+-- * 'odioDBInstanceClass' - The DB instance class for the orderable DB instance.
+--
+-- * 'odioLicenseModel' - The license model for the orderable DB instance.
+--
+-- * 'odioAvailabilityZones' - A list of Availability Zones for the orderable DB instance.
+--
+-- * 'odioSupportsStorageEncryption' - Indicates whether this orderable DB instance supports encrypted storage.
+--
+-- * 'odioReadReplicaCapable' - Indicates whether this orderable DB instance can have a Read Replica.
+--
+-- * 'odioVPC' - Indicates whether this is a VPC orderable DB instance.
+--
+-- * 'odioSupportsEnhancedMonitoring' - Indicates whether the DB instance supports enhanced monitoring at intervals from 1 to 60 seconds.
+--
+-- * 'odioStorageType' - Indicates the storage type for this orderable DB instance.
+orderableDBInstanceOption
+    :: OrderableDBInstanceOption
+orderableDBInstanceOption =
+    OrderableDBInstanceOption'
+    { _odioEngineVersion = Nothing
+    , _odioMultiAZCapable = Nothing
+    , _odioEngine = Nothing
+    , _odioSupportsIOPS = Nothing
+    , _odioDBInstanceClass = Nothing
+    , _odioLicenseModel = Nothing
+    , _odioAvailabilityZones = Nothing
+    , _odioSupportsStorageEncryption = Nothing
+    , _odioReadReplicaCapable = Nothing
+    , _odioVPC = Nothing
+    , _odioSupportsEnhancedMonitoring = Nothing
+    , _odioStorageType = Nothing
+    }
+
+-- | The engine version of the orderable DB instance.
+odioEngineVersion :: Lens' OrderableDBInstanceOption (Maybe Text)
+odioEngineVersion = lens _odioEngineVersion (\ s a -> s{_odioEngineVersion = a});
+
+-- | Indicates whether this orderable DB instance is multi-AZ capable.
+odioMultiAZCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)
+odioMultiAZCapable = lens _odioMultiAZCapable (\ s a -> s{_odioMultiAZCapable = a});
+
+-- | The engine type of the orderable DB instance.
+odioEngine :: Lens' OrderableDBInstanceOption (Maybe Text)
+odioEngine = lens _odioEngine (\ s a -> s{_odioEngine = a});
+
+-- | Indicates whether this orderable DB instance supports provisioned IOPS.
+odioSupportsIOPS :: Lens' OrderableDBInstanceOption (Maybe Bool)
+odioSupportsIOPS = lens _odioSupportsIOPS (\ s a -> s{_odioSupportsIOPS = a});
+
+-- | The DB instance class for the orderable DB instance.
+odioDBInstanceClass :: Lens' OrderableDBInstanceOption (Maybe Text)
+odioDBInstanceClass = lens _odioDBInstanceClass (\ s a -> s{_odioDBInstanceClass = a});
+
+-- | The license model for the orderable DB instance.
+odioLicenseModel :: Lens' OrderableDBInstanceOption (Maybe Text)
+odioLicenseModel = lens _odioLicenseModel (\ s a -> s{_odioLicenseModel = a});
+
+-- | A list of Availability Zones for the orderable DB instance.
+odioAvailabilityZones :: Lens' OrderableDBInstanceOption [AvailabilityZone]
+odioAvailabilityZones = lens _odioAvailabilityZones (\ s a -> s{_odioAvailabilityZones = a}) . _Default . _Coerce;
+
+-- | Indicates whether this orderable DB instance supports encrypted storage.
+odioSupportsStorageEncryption :: Lens' OrderableDBInstanceOption (Maybe Bool)
+odioSupportsStorageEncryption = lens _odioSupportsStorageEncryption (\ s a -> s{_odioSupportsStorageEncryption = a});
+
+-- | Indicates whether this orderable DB instance can have a Read Replica.
+odioReadReplicaCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)
+odioReadReplicaCapable = lens _odioReadReplicaCapable (\ s a -> s{_odioReadReplicaCapable = a});
+
+-- | Indicates whether this is a VPC orderable DB instance.
+odioVPC :: Lens' OrderableDBInstanceOption (Maybe Bool)
+odioVPC = lens _odioVPC (\ s a -> s{_odioVPC = a});
+
+-- | Indicates whether the DB instance supports enhanced monitoring at intervals from 1 to 60 seconds.
+odioSupportsEnhancedMonitoring :: Lens' OrderableDBInstanceOption (Maybe Bool)
+odioSupportsEnhancedMonitoring = lens _odioSupportsEnhancedMonitoring (\ s a -> s{_odioSupportsEnhancedMonitoring = a});
+
+-- | Indicates the storage type for this orderable DB instance.
+odioStorageType :: Lens' OrderableDBInstanceOption (Maybe Text)
+odioStorageType = lens _odioStorageType (\ s a -> s{_odioStorageType = a});
+
+instance FromXML OrderableDBInstanceOption where
+        parseXML x
+          = OrderableDBInstanceOption' <$>
+              (x .@? "EngineVersion") <*> (x .@? "MultiAZCapable")
+                <*> (x .@? "Engine")
+                <*> (x .@? "SupportsIops")
+                <*> (x .@? "DBInstanceClass")
+                <*> (x .@? "LicenseModel")
+                <*>
+                (x .@? "AvailabilityZones" .!@ mempty >>=
+                   may (parseXMLList "AvailabilityZone"))
+                <*> (x .@? "SupportsStorageEncryption")
+                <*> (x .@? "ReadReplicaCapable")
+                <*> (x .@? "Vpc")
+                <*> (x .@? "SupportsEnhancedMonitoring")
+                <*> (x .@? "StorageType")
+
+instance Hashable OrderableDBInstanceOption
+
+instance NFData OrderableDBInstanceOption
+
+-- | This data type is used as a request parameter in the 'ModifyDBParameterGroup' and 'ResetDBParameterGroup' actions.
+--
+--
+-- This data type is used as a response element in the 'DescribeEngineDefaultParameters' and 'DescribeDBParameters' actions.
+--
+--
+-- /See:/ 'parameter' smart constructor.
+data Parameter = Parameter'
+    { _pApplyType            :: !(Maybe Text)
+    , _pParameterValue       :: !(Maybe Text)
+    , _pApplyMethod          :: !(Maybe ApplyMethod)
+    , _pMinimumEngineVersion :: !(Maybe Text)
+    , _pSource               :: !(Maybe Text)
+    , _pIsModifiable         :: !(Maybe Bool)
+    , _pDataType             :: !(Maybe Text)
+    , _pAllowedValues        :: !(Maybe Text)
+    , _pParameterName        :: !(Maybe Text)
+    , _pDescription          :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Parameter' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'pApplyType' - Specifies the engine specific parameters type.
+--
+-- * 'pParameterValue' - Specifies the value of the parameter.
+--
+-- * 'pApplyMethod' - Indicates when to apply parameter updates.
+--
+-- * 'pMinimumEngineVersion' - The earliest engine version to which the parameter can apply.
+--
+-- * 'pSource' - Indicates the source of the parameter value.
+--
+-- * 'pIsModifiable' - Indicates whether (@true@ ) or not (@false@ ) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.
+--
+-- * 'pDataType' - Specifies the valid data type for the parameter.
+--
+-- * 'pAllowedValues' - Specifies the valid range of values for the parameter.
+--
+-- * 'pParameterName' - Specifies the name of the parameter.
+--
+-- * 'pDescription' - Provides a description of the parameter.
+parameter
+    :: Parameter
+parameter =
+    Parameter'
+    { _pApplyType = Nothing
+    , _pParameterValue = Nothing
+    , _pApplyMethod = Nothing
+    , _pMinimumEngineVersion = Nothing
+    , _pSource = Nothing
+    , _pIsModifiable = Nothing
+    , _pDataType = Nothing
+    , _pAllowedValues = Nothing
+    , _pParameterName = Nothing
+    , _pDescription = Nothing
+    }
+
+-- | Specifies the engine specific parameters type.
+pApplyType :: Lens' Parameter (Maybe Text)
+pApplyType = lens _pApplyType (\ s a -> s{_pApplyType = a});
+
+-- | Specifies the value of the parameter.
+pParameterValue :: Lens' Parameter (Maybe Text)
+pParameterValue = lens _pParameterValue (\ s a -> s{_pParameterValue = a});
+
+-- | Indicates when to apply parameter updates.
+pApplyMethod :: Lens' Parameter (Maybe ApplyMethod)
+pApplyMethod = lens _pApplyMethod (\ s a -> s{_pApplyMethod = a});
+
+-- | The earliest engine version to which the parameter can apply.
+pMinimumEngineVersion :: Lens' Parameter (Maybe Text)
+pMinimumEngineVersion = lens _pMinimumEngineVersion (\ s a -> s{_pMinimumEngineVersion = a});
+
+-- | Indicates the source of the parameter value.
+pSource :: Lens' Parameter (Maybe Text)
+pSource = lens _pSource (\ s a -> s{_pSource = 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});
+
+-- | Specifies the valid data type for the parameter.
+pDataType :: Lens' Parameter (Maybe Text)
+pDataType = lens _pDataType (\ s a -> s{_pDataType = a});
+
+-- | Specifies the valid range of values for the parameter.
+pAllowedValues :: Lens' Parameter (Maybe Text)
+pAllowedValues = lens _pAllowedValues (\ s a -> s{_pAllowedValues = a});
+
+-- | Specifies the name of the parameter.
+pParameterName :: Lens' Parameter (Maybe Text)
+pParameterName = lens _pParameterName (\ s a -> s{_pParameterName = a});
+
+-- | Provides a description of the parameter.
+pDescription :: Lens' Parameter (Maybe Text)
+pDescription = lens _pDescription (\ s a -> s{_pDescription = a});
+
+instance FromXML Parameter where
+        parseXML x
+          = Parameter' <$>
+              (x .@? "ApplyType") <*> (x .@? "ParameterValue") <*>
+                (x .@? "ApplyMethod")
+                <*> (x .@? "MinimumEngineVersion")
+                <*> (x .@? "Source")
+                <*> (x .@? "IsModifiable")
+                <*> (x .@? "DataType")
+                <*> (x .@? "AllowedValues")
+                <*> (x .@? "ParameterName")
+                <*> (x .@? "Description")
+
+instance Hashable Parameter
+
+instance NFData Parameter
+
+instance ToQuery Parameter where
+        toQuery Parameter'{..}
+          = mconcat
+              ["ApplyType" =: _pApplyType,
+               "ParameterValue" =: _pParameterValue,
+               "ApplyMethod" =: _pApplyMethod,
+               "MinimumEngineVersion" =: _pMinimumEngineVersion,
+               "Source" =: _pSource,
+               "IsModifiable" =: _pIsModifiable,
+               "DataType" =: _pDataType,
+               "AllowedValues" =: _pAllowedValues,
+               "ParameterName" =: _pParameterName,
+               "Description" =: _pDescription]
+
+-- | Provides information about a pending maintenance action for a resource.
+--
+--
+--
+-- /See:/ 'pendingMaintenanceAction' smart constructor.
+data PendingMaintenanceAction = PendingMaintenanceAction'
+    { _pmaAutoAppliedAfterDate :: !(Maybe ISO8601)
+    , _pmaAction               :: !(Maybe Text)
+    , _pmaOptInStatus          :: !(Maybe Text)
+    , _pmaDescription          :: !(Maybe Text)
+    , _pmaForcedApplyDate      :: !(Maybe ISO8601)
+    , _pmaCurrentApplyDate     :: !(Maybe ISO8601)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'PendingMaintenanceAction' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'pmaAutoAppliedAfterDate' - The date of the maintenance window when the action will be applied. The maintenance action will be applied to the resource during its first maintenance window after this date. If this date is specified, any @next-maintenance@ opt-in requests are ignored.
+--
+-- * 'pmaAction' - The type of pending maintenance action that is available for the resource.
+--
+-- * 'pmaOptInStatus' - Indicates the type of opt-in request that has been received for the resource.
+--
+-- * 'pmaDescription' - A description providing more detail about the maintenance action.
+--
+-- * 'pmaForcedApplyDate' - The date when the maintenance action will be automatically applied. The maintenance action will be applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any @immediate@ opt-in requests are ignored.
+--
+-- * 'pmaCurrentApplyDate' - The effective date when the pending maintenance action will be applied to the resource. This date takes into account opt-in requests received from the 'ApplyPendingMaintenanceAction' API, the @AutoAppliedAfterDate@ , and the @ForcedApplyDate@ . This value is blank if an opt-in request has not been received and nothing has been specified as @AutoAppliedAfterDate@ or @ForcedApplyDate@ .
+pendingMaintenanceAction
+    :: PendingMaintenanceAction
+pendingMaintenanceAction =
+    PendingMaintenanceAction'
+    { _pmaAutoAppliedAfterDate = Nothing
+    , _pmaAction = Nothing
+    , _pmaOptInStatus = Nothing
+    , _pmaDescription = Nothing
+    , _pmaForcedApplyDate = Nothing
+    , _pmaCurrentApplyDate = Nothing
+    }
+
+-- | The date of the maintenance window when the action will be applied. The maintenance action will be applied to the resource during its first maintenance window after this date. If this date is specified, any @next-maintenance@ opt-in requests are ignored.
+pmaAutoAppliedAfterDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)
+pmaAutoAppliedAfterDate = lens _pmaAutoAppliedAfterDate (\ s a -> s{_pmaAutoAppliedAfterDate = a}) . mapping _Time;
+
+-- | The type of pending maintenance action that is available for the resource.
+pmaAction :: Lens' PendingMaintenanceAction (Maybe Text)
+pmaAction = lens _pmaAction (\ s a -> s{_pmaAction = a});
+
+-- | Indicates the type of opt-in request that has been received for the resource.
+pmaOptInStatus :: Lens' PendingMaintenanceAction (Maybe Text)
+pmaOptInStatus = lens _pmaOptInStatus (\ s a -> s{_pmaOptInStatus = a});
+
+-- | A description providing more detail about the maintenance action.
+pmaDescription :: Lens' PendingMaintenanceAction (Maybe Text)
+pmaDescription = lens _pmaDescription (\ s a -> s{_pmaDescription = a});
+
+-- | The date when the maintenance action will be automatically applied. The maintenance action will be applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any @immediate@ opt-in requests are ignored.
+pmaForcedApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)
+pmaForcedApplyDate = lens _pmaForcedApplyDate (\ s a -> s{_pmaForcedApplyDate = a}) . mapping _Time;
+
+-- | The effective date when the pending maintenance action will be applied to the resource. This date takes into account opt-in requests received from the 'ApplyPendingMaintenanceAction' API, the @AutoAppliedAfterDate@ , and the @ForcedApplyDate@ . This value is blank if an opt-in request has not been received and nothing has been specified as @AutoAppliedAfterDate@ or @ForcedApplyDate@ .
+pmaCurrentApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)
+pmaCurrentApplyDate = lens _pmaCurrentApplyDate (\ s a -> s{_pmaCurrentApplyDate = a}) . mapping _Time;
+
+instance FromXML PendingMaintenanceAction where
+        parseXML x
+          = PendingMaintenanceAction' <$>
+              (x .@? "AutoAppliedAfterDate") <*> (x .@? "Action")
+                <*> (x .@? "OptInStatus")
+                <*> (x .@? "Description")
+                <*> (x .@? "ForcedApplyDate")
+                <*> (x .@? "CurrentApplyDate")
+
+instance Hashable PendingMaintenanceAction
+
+instance NFData PendingMaintenanceAction
+
+-- | This data type is used as a response element in the 'ModifyDBInstance' action.
+--
+--
+--
+-- /See:/ 'pendingModifiedValues' smart constructor.
+data PendingModifiedValues = PendingModifiedValues'
+    { _pmvEngineVersion           :: !(Maybe Text)
+    , _pmvMasterUserPassword      :: !(Maybe Text)
+    , _pmvDBSubnetGroupName       :: !(Maybe Text)
+    , _pmvIOPS                    :: !(Maybe Int)
+    , _pmvDBInstanceClass         :: !(Maybe Text)
+    , _pmvLicenseModel            :: !(Maybe Text)
+    , _pmvCACertificateIdentifier :: !(Maybe Text)
+    , _pmvDBInstanceIdentifier    :: !(Maybe Text)
+    , _pmvBackupRetentionPeriod   :: !(Maybe Int)
+    , _pmvMultiAZ                 :: !(Maybe Bool)
+    , _pmvAllocatedStorage        :: !(Maybe Int)
+    , _pmvPort                    :: !(Maybe Int)
+    , _pmvStorageType             :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'PendingModifiedValues' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'pmvEngineVersion' - Indicates the database engine version.
+--
+-- * 'pmvMasterUserPassword' - Contains the pending or in-progress change of the master credentials for the DB instance.
+--
+-- * 'pmvDBSubnetGroupName' - The new DB subnet group for the DB instance.
+--
+-- * 'pmvIOPS' - Specifies the new Provisioned IOPS value for the DB instance that will be applied or is being applied.
+--
+-- * 'pmvDBInstanceClass' - Contains the new @DBInstanceClass@ for the DB instance that will be applied or is in progress.
+--
+-- * 'pmvLicenseModel' - The license model for the DB instance. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
+--
+-- * 'pmvCACertificateIdentifier' - Specifies the identifier of the CA certificate for the DB instance.
+--
+-- * 'pmvDBInstanceIdentifier' - Contains the new @DBInstanceIdentifier@ for the DB instance that will be applied or is in progress.
+--
+-- * 'pmvBackupRetentionPeriod' - Specifies the pending number of days for which automated backups are retained.
+--
+-- * 'pmvMultiAZ' - Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
+--
+-- * 'pmvAllocatedStorage' - Contains the new @AllocatedStorage@ size for the DB instance that will be applied or is in progress.
+--
+-- * 'pmvPort' - Specifies the pending port for the DB instance.
+--
+-- * 'pmvStorageType' - Specifies the storage type to be associated with the DB instance.
+pendingModifiedValues
+    :: PendingModifiedValues
+pendingModifiedValues =
+    PendingModifiedValues'
+    { _pmvEngineVersion = Nothing
+    , _pmvMasterUserPassword = Nothing
+    , _pmvDBSubnetGroupName = Nothing
+    , _pmvIOPS = Nothing
+    , _pmvDBInstanceClass = Nothing
+    , _pmvLicenseModel = Nothing
+    , _pmvCACertificateIdentifier = Nothing
+    , _pmvDBInstanceIdentifier = Nothing
+    , _pmvBackupRetentionPeriod = Nothing
+    , _pmvMultiAZ = Nothing
+    , _pmvAllocatedStorage = Nothing
+    , _pmvPort = Nothing
+    , _pmvStorageType = Nothing
+    }
+
+-- | Indicates the database engine version.
+pmvEngineVersion :: Lens' PendingModifiedValues (Maybe Text)
+pmvEngineVersion = lens _pmvEngineVersion (\ s a -> s{_pmvEngineVersion = 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});
+
+-- | The new DB subnet group for the DB instance.
+pmvDBSubnetGroupName :: Lens' PendingModifiedValues (Maybe Text)
+pmvDBSubnetGroupName = lens _pmvDBSubnetGroupName (\ s a -> s{_pmvDBSubnetGroupName = 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 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});
+
+-- | The license model for the DB instance. Valid values: @license-included@ | @bring-your-own-license@ | @general-public-license@
+pmvLicenseModel :: Lens' PendingModifiedValues (Maybe Text)
+pmvLicenseModel = lens _pmvLicenseModel (\ s a -> s{_pmvLicenseModel = a});
+
+-- | Specifies the identifier of the CA certificate for the DB instance.
+pmvCACertificateIdentifier :: Lens' PendingModifiedValues (Maybe Text)
+pmvCACertificateIdentifier = lens _pmvCACertificateIdentifier (\ s a -> s{_pmvCACertificateIdentifier = 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});
+
+-- | 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});
+
+-- | 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});
+
+-- | 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 port for the DB instance.
+pmvPort :: Lens' PendingModifiedValues (Maybe Int)
+pmvPort = lens _pmvPort (\ s a -> s{_pmvPort = a});
+
+-- | Specifies the 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 .@? "EngineVersion") <*>
+                (x .@? "MasterUserPassword")
+                <*> (x .@? "DBSubnetGroupName")
+                <*> (x .@? "Iops")
+                <*> (x .@? "DBInstanceClass")
+                <*> (x .@? "LicenseModel")
+                <*> (x .@? "CACertificateIdentifier")
+                <*> (x .@? "DBInstanceIdentifier")
+                <*> (x .@? "BackupRetentionPeriod")
+                <*> (x .@? "MultiAZ")
+                <*> (x .@? "AllocatedStorage")
+                <*> (x .@? "Port")
+                <*> (x .@? "StorageType")
+
+instance Hashable PendingModifiedValues
+
+instance NFData PendingModifiedValues
+
+-- | This data type is used as a response element in the 'DescribeReservedDBInstances' and 'DescribeReservedDBInstancesOfferings' actions.
+--
+--
+--
+-- /See:/ 'recurringCharge' smart constructor.
+data RecurringCharge = RecurringCharge'
+    { _rcRecurringChargeFrequency :: !(Maybe Text)
+    , _rcRecurringChargeAmount    :: !(Maybe Double)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rcRecurringChargeFrequency' - The frequency of the recurring charge.
+--
+-- * 'rcRecurringChargeAmount' - The amount of the recurring charge.
+recurringCharge
+    :: RecurringCharge
+recurringCharge =
+    RecurringCharge'
+    { _rcRecurringChargeFrequency = Nothing
+    , _rcRecurringChargeAmount = Nothing
+    }
+
+-- | The frequency of the recurring charge.
+rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)
+rcRecurringChargeFrequency = lens _rcRecurringChargeFrequency (\ s a -> s{_rcRecurringChargeFrequency = a});
+
+-- | The amount of the recurring charge.
+rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)
+rcRecurringChargeAmount = lens _rcRecurringChargeAmount (\ s a -> s{_rcRecurringChargeAmount = a});
+
+instance FromXML RecurringCharge where
+        parseXML x
+          = RecurringCharge' <$>
+              (x .@? "RecurringChargeFrequency") <*>
+                (x .@? "RecurringChargeAmount")
+
+instance Hashable RecurringCharge
+
+instance NFData RecurringCharge
+
+-- | This data type is used as a response element in the 'DescribeReservedDBInstances' and 'PurchaseReservedDBInstancesOffering' actions.
+--
+--
+--
+-- /See:/ 'reservedDBInstance' smart constructor.
+data ReservedDBInstance = ReservedDBInstance'
+    { _rdiDBInstanceCount               :: !(Maybe Int)
+    , _rdiState                         :: !(Maybe Text)
+    , _rdiCurrencyCode                  :: !(Maybe Text)
+    , _rdiStartTime                     :: !(Maybe ISO8601)
+    , _rdiProductDescription            :: !(Maybe Text)
+    , _rdiReservedDBInstanceId          :: !(Maybe Text)
+    , _rdiReservedDBInstanceARN         :: !(Maybe Text)
+    , _rdiDBInstanceClass               :: !(Maybe Text)
+    , _rdiMultiAZ                       :: !(Maybe Bool)
+    , _rdiReservedDBInstancesOfferingId :: !(Maybe Text)
+    , _rdiRecurringCharges              :: !(Maybe [RecurringCharge])
+    , _rdiOfferingType                  :: !(Maybe Text)
+    , _rdiUsagePrice                    :: !(Maybe Double)
+    , _rdiFixedPrice                    :: !(Maybe Double)
+    , _rdiDuration                      :: !(Maybe Int)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ReservedDBInstance' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rdiDBInstanceCount' - The number of reserved DB instances.
+--
+-- * 'rdiState' - The state of the reserved DB instance.
+--
+-- * 'rdiCurrencyCode' - The currency code for the reserved DB instance.
+--
+-- * 'rdiStartTime' - The time the reservation started.
+--
+-- * 'rdiProductDescription' - The description of the reserved DB instance.
+--
+-- * 'rdiReservedDBInstanceId' - The unique identifier for the reservation.
+--
+-- * 'rdiReservedDBInstanceARN' - The Amazon Resource Name (ARN) for the reserved DB instance.
+--
+-- * 'rdiDBInstanceClass' - The DB instance class for the reserved DB instance.
+--
+-- * 'rdiMultiAZ' - Indicates if the reservation applies to Multi-AZ deployments.
+--
+-- * 'rdiReservedDBInstancesOfferingId' - The offering identifier.
+--
+-- * 'rdiRecurringCharges' - The recurring price charged to run this reserved DB instance.
+--
+-- * 'rdiOfferingType' - The offering type of this reserved DB instance.
+--
+-- * 'rdiUsagePrice' - The hourly price charged for this reserved DB instance.
+--
+-- * 'rdiFixedPrice' - The fixed price charged for this reserved DB instance.
+--
+-- * 'rdiDuration' - The duration of the reservation in seconds.
+reservedDBInstance
+    :: ReservedDBInstance
+reservedDBInstance =
+    ReservedDBInstance'
+    { _rdiDBInstanceCount = Nothing
+    , _rdiState = Nothing
+    , _rdiCurrencyCode = Nothing
+    , _rdiStartTime = Nothing
+    , _rdiProductDescription = Nothing
+    , _rdiReservedDBInstanceId = Nothing
+    , _rdiReservedDBInstanceARN = Nothing
+    , _rdiDBInstanceClass = Nothing
+    , _rdiMultiAZ = Nothing
+    , _rdiReservedDBInstancesOfferingId = Nothing
+    , _rdiRecurringCharges = Nothing
+    , _rdiOfferingType = Nothing
+    , _rdiUsagePrice = Nothing
+    , _rdiFixedPrice = Nothing
+    , _rdiDuration = Nothing
+    }
+
+-- | The number of reserved DB instances.
+rdiDBInstanceCount :: Lens' ReservedDBInstance (Maybe Int)
+rdiDBInstanceCount = lens _rdiDBInstanceCount (\ s a -> s{_rdiDBInstanceCount = a});
+
+-- | The state of the reserved DB instance.
+rdiState :: Lens' ReservedDBInstance (Maybe Text)
+rdiState = lens _rdiState (\ s a -> s{_rdiState = a});
+
+-- | The currency code for the reserved DB instance.
+rdiCurrencyCode :: Lens' ReservedDBInstance (Maybe Text)
+rdiCurrencyCode = lens _rdiCurrencyCode (\ s a -> s{_rdiCurrencyCode = a});
+
+-- | The time the reservation started.
+rdiStartTime :: Lens' ReservedDBInstance (Maybe UTCTime)
+rdiStartTime = lens _rdiStartTime (\ s a -> s{_rdiStartTime = a}) . mapping _Time;
+
+-- | The description of the reserved DB instance.
+rdiProductDescription :: Lens' ReservedDBInstance (Maybe Text)
+rdiProductDescription = lens _rdiProductDescription (\ s a -> s{_rdiProductDescription = a});
+
+-- | The unique identifier for the reservation.
+rdiReservedDBInstanceId :: Lens' ReservedDBInstance (Maybe Text)
+rdiReservedDBInstanceId = lens _rdiReservedDBInstanceId (\ s a -> s{_rdiReservedDBInstanceId = a});
+
+-- | The Amazon Resource Name (ARN) for the reserved DB instance.
+rdiReservedDBInstanceARN :: Lens' ReservedDBInstance (Maybe Text)
+rdiReservedDBInstanceARN = lens _rdiReservedDBInstanceARN (\ s a -> s{_rdiReservedDBInstanceARN = a});
+
+-- | The DB instance class for the reserved DB instance.
+rdiDBInstanceClass :: Lens' ReservedDBInstance (Maybe Text)
+rdiDBInstanceClass = lens _rdiDBInstanceClass (\ s a -> s{_rdiDBInstanceClass = a});
+
+-- | Indicates if the reservation applies to Multi-AZ deployments.
+rdiMultiAZ :: Lens' ReservedDBInstance (Maybe Bool)
+rdiMultiAZ = lens _rdiMultiAZ (\ s a -> s{_rdiMultiAZ = a});
+
+-- | The offering identifier.
+rdiReservedDBInstancesOfferingId :: Lens' ReservedDBInstance (Maybe Text)
+rdiReservedDBInstancesOfferingId = lens _rdiReservedDBInstancesOfferingId (\ s a -> s{_rdiReservedDBInstancesOfferingId = a});
+
+-- | The recurring price charged to run this reserved DB instance.
+rdiRecurringCharges :: Lens' ReservedDBInstance [RecurringCharge]
+rdiRecurringCharges = lens _rdiRecurringCharges (\ s a -> s{_rdiRecurringCharges = a}) . _Default . _Coerce;
+
+-- | The offering type of this reserved DB instance.
+rdiOfferingType :: Lens' ReservedDBInstance (Maybe Text)
+rdiOfferingType = lens _rdiOfferingType (\ s a -> s{_rdiOfferingType = a});
+
+-- | The hourly price charged for this reserved DB instance.
+rdiUsagePrice :: Lens' ReservedDBInstance (Maybe Double)
+rdiUsagePrice = lens _rdiUsagePrice (\ s a -> s{_rdiUsagePrice = a});
+
+-- | The fixed price charged for this reserved DB instance.
+rdiFixedPrice :: Lens' ReservedDBInstance (Maybe Double)
+rdiFixedPrice = lens _rdiFixedPrice (\ s a -> s{_rdiFixedPrice = a});
+
+-- | The duration of the reservation in seconds.
+rdiDuration :: Lens' ReservedDBInstance (Maybe Int)
+rdiDuration = lens _rdiDuration (\ s a -> s{_rdiDuration = a});
+
+instance FromXML ReservedDBInstance where
+        parseXML x
+          = ReservedDBInstance' <$>
+              (x .@? "DBInstanceCount") <*> (x .@? "State") <*>
+                (x .@? "CurrencyCode")
+                <*> (x .@? "StartTime")
+                <*> (x .@? "ProductDescription")
+                <*> (x .@? "ReservedDBInstanceId")
+                <*> (x .@? "ReservedDBInstanceArn")
+                <*> (x .@? "DBInstanceClass")
+                <*> (x .@? "MultiAZ")
+                <*> (x .@? "ReservedDBInstancesOfferingId")
+                <*>
+                (x .@? "RecurringCharges" .!@ mempty >>=
+                   may (parseXMLList "RecurringCharge"))
+                <*> (x .@? "OfferingType")
+                <*> (x .@? "UsagePrice")
+                <*> (x .@? "FixedPrice")
+                <*> (x .@? "Duration")
+
+instance Hashable ReservedDBInstance
+
+instance NFData ReservedDBInstance
+
+-- | This data type is used as a response element in the 'DescribeReservedDBInstancesOfferings' action.
+--
+--
+--
+-- /See:/ 'reservedDBInstancesOffering' smart constructor.
+data ReservedDBInstancesOffering = ReservedDBInstancesOffering'
+    { _rdioCurrencyCode                  :: !(Maybe Text)
+    , _rdioProductDescription            :: !(Maybe Text)
+    , _rdioDBInstanceClass               :: !(Maybe Text)
+    , _rdioMultiAZ                       :: !(Maybe Bool)
+    , _rdioReservedDBInstancesOfferingId :: !(Maybe Text)
+    , _rdioRecurringCharges              :: !(Maybe [RecurringCharge])
+    , _rdioOfferingType                  :: !(Maybe Text)
+    , _rdioUsagePrice                    :: !(Maybe Double)
+    , _rdioFixedPrice                    :: !(Maybe Double)
+    , _rdioDuration                      :: !(Maybe Int)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ReservedDBInstancesOffering' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rdioCurrencyCode' - The currency code for the reserved DB instance offering.
+--
+-- * 'rdioProductDescription' - The database engine used by the offering.
+--
+-- * 'rdioDBInstanceClass' - The DB instance class for the reserved DB instance.
+--
+-- * 'rdioMultiAZ' - Indicates if the offering applies to Multi-AZ deployments.
+--
+-- * 'rdioReservedDBInstancesOfferingId' - The offering identifier.
+--
+-- * 'rdioRecurringCharges' - The recurring price charged to run this reserved DB instance.
+--
+-- * 'rdioOfferingType' - The offering type.
+--
+-- * 'rdioUsagePrice' - The hourly price charged for this offering.
+--
+-- * 'rdioFixedPrice' - The fixed price charged for this offering.
+--
+-- * 'rdioDuration' - The duration of the offering in seconds.
+reservedDBInstancesOffering
+    :: ReservedDBInstancesOffering
+reservedDBInstancesOffering =
+    ReservedDBInstancesOffering'
+    { _rdioCurrencyCode = Nothing
+    , _rdioProductDescription = Nothing
+    , _rdioDBInstanceClass = Nothing
+    , _rdioMultiAZ = Nothing
+    , _rdioReservedDBInstancesOfferingId = Nothing
+    , _rdioRecurringCharges = Nothing
+    , _rdioOfferingType = Nothing
+    , _rdioUsagePrice = Nothing
+    , _rdioFixedPrice = Nothing
+    , _rdioDuration = Nothing
+    }
+
+-- | The currency code for the reserved DB instance offering.
+rdioCurrencyCode :: Lens' ReservedDBInstancesOffering (Maybe Text)
+rdioCurrencyCode = lens _rdioCurrencyCode (\ s a -> s{_rdioCurrencyCode = a});
+
+-- | The database engine used by the offering.
+rdioProductDescription :: Lens' ReservedDBInstancesOffering (Maybe Text)
+rdioProductDescription = lens _rdioProductDescription (\ s a -> s{_rdioProductDescription = a});
+
+-- | The DB instance class for the reserved DB instance.
+rdioDBInstanceClass :: Lens' ReservedDBInstancesOffering (Maybe Text)
+rdioDBInstanceClass = lens _rdioDBInstanceClass (\ s a -> s{_rdioDBInstanceClass = a});
+
+-- | Indicates if the offering applies to Multi-AZ deployments.
+rdioMultiAZ :: Lens' ReservedDBInstancesOffering (Maybe Bool)
+rdioMultiAZ = lens _rdioMultiAZ (\ s a -> s{_rdioMultiAZ = a});
+
+-- | The offering identifier.
+rdioReservedDBInstancesOfferingId :: Lens' ReservedDBInstancesOffering (Maybe Text)
+rdioReservedDBInstancesOfferingId = lens _rdioReservedDBInstancesOfferingId (\ s a -> s{_rdioReservedDBInstancesOfferingId = a});
+
+-- | The recurring price charged to run this reserved DB instance.
+rdioRecurringCharges :: Lens' ReservedDBInstancesOffering [RecurringCharge]
+rdioRecurringCharges = lens _rdioRecurringCharges (\ s a -> s{_rdioRecurringCharges = a}) . _Default . _Coerce;
+
+-- | The offering type.
+rdioOfferingType :: Lens' ReservedDBInstancesOffering (Maybe Text)
+rdioOfferingType = lens _rdioOfferingType (\ s a -> s{_rdioOfferingType = a});
+
+-- | The hourly price charged for this offering.
+rdioUsagePrice :: Lens' ReservedDBInstancesOffering (Maybe Double)
+rdioUsagePrice = lens _rdioUsagePrice (\ s a -> s{_rdioUsagePrice = a});
+
+-- | The fixed price charged for this offering.
+rdioFixedPrice :: Lens' ReservedDBInstancesOffering (Maybe Double)
+rdioFixedPrice = lens _rdioFixedPrice (\ s a -> s{_rdioFixedPrice = a});
+
+-- | The duration of the offering in seconds.
+rdioDuration :: Lens' ReservedDBInstancesOffering (Maybe Int)
+rdioDuration = lens _rdioDuration (\ s a -> s{_rdioDuration = a});
+
+instance FromXML ReservedDBInstancesOffering where
+        parseXML x
+          = ReservedDBInstancesOffering' <$>
+              (x .@? "CurrencyCode") <*>
+                (x .@? "ProductDescription")
+                <*> (x .@? "DBInstanceClass")
+                <*> (x .@? "MultiAZ")
+                <*> (x .@? "ReservedDBInstancesOfferingId")
+                <*>
+                (x .@? "RecurringCharges" .!@ mempty >>=
+                   may (parseXMLList "RecurringCharge"))
+                <*> (x .@? "OfferingType")
+                <*> (x .@? "UsagePrice")
+                <*> (x .@? "FixedPrice")
+                <*> (x .@? "Duration")
+
+instance Hashable ReservedDBInstancesOffering
+
+instance NFData ReservedDBInstancesOffering
+
+-- | Describes the pending maintenance actions for a resource.
+--
+--
+--
+-- /See:/ 'resourcePendingMaintenanceActions' smart constructor.
+data ResourcePendingMaintenanceActions = ResourcePendingMaintenanceActions'
+    { _rpmaPendingMaintenanceActionDetails :: !(Maybe [PendingMaintenanceAction])
+    , _rpmaResourceIdentifier              :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ResourcePendingMaintenanceActions' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'rpmaPendingMaintenanceActionDetails' - A list that provides details about the pending maintenance actions for the resource.
+--
+-- * 'rpmaResourceIdentifier' - The ARN of the resource that has pending maintenance actions.
+resourcePendingMaintenanceActions
+    :: ResourcePendingMaintenanceActions
+resourcePendingMaintenanceActions =
+    ResourcePendingMaintenanceActions'
+    { _rpmaPendingMaintenanceActionDetails = Nothing
+    , _rpmaResourceIdentifier = Nothing
+    }
+
+-- | A list that provides details about the pending maintenance actions for the resource.
+rpmaPendingMaintenanceActionDetails :: Lens' ResourcePendingMaintenanceActions [PendingMaintenanceAction]
+rpmaPendingMaintenanceActionDetails = lens _rpmaPendingMaintenanceActionDetails (\ s a -> s{_rpmaPendingMaintenanceActionDetails = a}) . _Default . _Coerce;
+
+-- | The ARN of the resource that has pending maintenance actions.
+rpmaResourceIdentifier :: Lens' ResourcePendingMaintenanceActions (Maybe Text)
+rpmaResourceIdentifier = lens _rpmaResourceIdentifier (\ s a -> s{_rpmaResourceIdentifier = a});
+
+instance FromXML ResourcePendingMaintenanceActions
+         where
+        parseXML x
+          = ResourcePendingMaintenanceActions' <$>
+              (x .@? "PendingMaintenanceActionDetails" .!@ mempty
+                 >>= may (parseXMLList "PendingMaintenanceAction"))
+                <*> (x .@? "ResourceIdentifier")
+
+instance Hashable ResourcePendingMaintenanceActions
+
+instance NFData ResourcePendingMaintenanceActions
+
+-- | Contains an AWS Region name as the result of a successful call to the 'DescribeSourceRegions' action.
+--
+--
+--
+-- /See:/ 'sourceRegion' smart constructor.
+data SourceRegion = SourceRegion'
+    { _srStatus     :: !(Maybe Text)
+    , _srRegionName :: !(Maybe Text)
+    , _srEndpoint   :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'SourceRegion' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'srStatus' - The status of the source region.
+--
+-- * 'srRegionName' - The source region name.
+--
+-- * 'srEndpoint' - The source region endpoint.
+sourceRegion
+    :: SourceRegion
+sourceRegion =
+    SourceRegion'
+    { _srStatus = Nothing
+    , _srRegionName = Nothing
+    , _srEndpoint = Nothing
+    }
+
+-- | The status of the source region.
+srStatus :: Lens' SourceRegion (Maybe Text)
+srStatus = lens _srStatus (\ s a -> s{_srStatus = a});
+
+-- | The source region name.
+srRegionName :: Lens' SourceRegion (Maybe Text)
+srRegionName = lens _srRegionName (\ s a -> s{_srRegionName = a});
+
+-- | The source region endpoint.
+srEndpoint :: Lens' SourceRegion (Maybe Text)
+srEndpoint = lens _srEndpoint (\ s a -> s{_srEndpoint = a});
+
+instance FromXML SourceRegion where
+        parseXML x
+          = SourceRegion' <$>
+              (x .@? "Status") <*> (x .@? "RegionName") <*>
+                (x .@? "Endpoint")
+
+instance Hashable SourceRegion
+
+instance NFData SourceRegion
+
+-- | This data type is used as a response element in the 'DescribeDBSubnetGroups' action.
+--
+--
+--
+-- /See:/ 'subnet' smart constructor.
+data Subnet = Subnet'
+    { _sSubnetStatus           :: !(Maybe Text)
+    , _sSubnetIdentifier       :: !(Maybe Text)
+    , _sSubnetAvailabilityZone :: !(Maybe AvailabilityZone)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Subnet' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'sSubnetStatus' - Specifies the status of the subnet.
+--
+-- * 'sSubnetIdentifier' - Specifies the identifier of the subnet.
+--
+-- * 'sSubnetAvailabilityZone' - Undocumented member.
+subnet
+    :: Subnet
+subnet =
+    Subnet'
+    { _sSubnetStatus = Nothing
+    , _sSubnetIdentifier = Nothing
+    , _sSubnetAvailabilityZone = Nothing
+    }
+
+-- | Specifies the status of the subnet.
+sSubnetStatus :: Lens' Subnet (Maybe Text)
+sSubnetStatus = lens _sSubnetStatus (\ s a -> s{_sSubnetStatus = a});
+
+-- | Specifies the identifier of the subnet.
+sSubnetIdentifier :: Lens' Subnet (Maybe Text)
+sSubnetIdentifier = lens _sSubnetIdentifier (\ s a -> s{_sSubnetIdentifier = a});
+
+-- | Undocumented member.
+sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)
+sSubnetAvailabilityZone = lens _sSubnetAvailabilityZone (\ s a -> s{_sSubnetAvailabilityZone = a});
+
+instance FromXML Subnet where
+        parseXML x
+          = Subnet' <$>
+              (x .@? "SubnetStatus") <*> (x .@? "SubnetIdentifier")
+                <*> (x .@? "SubnetAvailabilityZone")
+
+instance Hashable Subnet
+
+instance NFData Subnet
+
+-- | Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
+--
+--
+--
+-- /See:/ 'tag' smart constructor.
+data Tag = Tag'
+    { _tagValue :: !(Maybe Text)
+    , _tagKey   :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Tag' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tagValue' - 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 can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
+--
+-- * 'tagKey' - 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 can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
+tag
+    :: Tag
+tag =
+    Tag'
+    { _tagValue = Nothing
+    , _tagKey = Nothing
+    }
+
+-- | 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 can 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});
+
+-- | 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 can 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});
+
+instance FromXML Tag where
+        parseXML x
+          = Tag' <$> (x .@? "Value") <*> (x .@? "Key")
+
+instance Hashable Tag
+
+instance NFData Tag
+
+instance ToQuery Tag where
+        toQuery Tag'{..}
+          = mconcat ["Value" =: _tagValue, "Key" =: _tagKey]
+
+-- | A time zone associated with a 'DBInstance' or a 'DBSnapshot' . This data type is an element in the response to the 'DescribeDBInstances' , the 'DescribeDBSnapshots' , and the 'DescribeDBEngineVersions' actions.
+--
+--
+--
+-- /See:/ 'timezone' smart constructor.
+newtype Timezone = Timezone'
+    { _tTimezoneName :: Maybe Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'Timezone' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tTimezoneName' - The name of the time zone.
+timezone
+    :: Timezone
+timezone =
+    Timezone'
+    { _tTimezoneName = Nothing
+    }
+
+-- | The name of the time zone.
+tTimezoneName :: Lens' Timezone (Maybe Text)
+tTimezoneName = lens _tTimezoneName (\ s a -> s{_tTimezoneName = a});
+
+instance FromXML Timezone where
+        parseXML x = Timezone' <$> (x .@? "TimezoneName")
+
+instance Hashable Timezone
+
+instance NFData Timezone
+
+-- | The version of the database engine that a DB instance can be upgraded to.
+--
+--
+--
+-- /See:/ 'upgradeTarget' smart constructor.
+data UpgradeTarget = UpgradeTarget'
+    { _utEngineVersion         :: !(Maybe Text)
+    , _utIsMajorVersionUpgrade :: !(Maybe Bool)
+    , _utEngine                :: !(Maybe Text)
+    , _utAutoUpgrade           :: !(Maybe Bool)
+    , _utDescription           :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'UpgradeTarget' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'utEngineVersion' - The version number of the upgrade target database engine.
+--
+-- * 'utIsMajorVersionUpgrade' - A value that indicates whether a database engine will be upgraded to a major version.
+--
+-- * 'utEngine' - The name of the upgrade target database engine.
+--
+-- * 'utAutoUpgrade' - A value that indicates whether the target version will be applied to any source DB instances that have AutoMinorVersionUpgrade set to true.
+--
+-- * 'utDescription' - The version of the database engine that a DB instance can be upgraded to.
+upgradeTarget
+    :: UpgradeTarget
+upgradeTarget =
+    UpgradeTarget'
+    { _utEngineVersion = Nothing
+    , _utIsMajorVersionUpgrade = Nothing
+    , _utEngine = Nothing
+    , _utAutoUpgrade = Nothing
+    , _utDescription = Nothing
+    }
+
+-- | The version number of the upgrade target database engine.
+utEngineVersion :: Lens' UpgradeTarget (Maybe Text)
+utEngineVersion = lens _utEngineVersion (\ s a -> s{_utEngineVersion = a});
+
+-- | A value that indicates whether a database engine will be upgraded to a major version.
+utIsMajorVersionUpgrade :: Lens' UpgradeTarget (Maybe Bool)
+utIsMajorVersionUpgrade = lens _utIsMajorVersionUpgrade (\ s a -> s{_utIsMajorVersionUpgrade = a});
+
+-- | The name of the upgrade target database engine.
+utEngine :: Lens' UpgradeTarget (Maybe Text)
+utEngine = lens _utEngine (\ s a -> s{_utEngine = a});
+
+-- | A value that indicates whether the target version will be applied to any source DB instances that have AutoMinorVersionUpgrade set to true.
+utAutoUpgrade :: Lens' UpgradeTarget (Maybe Bool)
+utAutoUpgrade = lens _utAutoUpgrade (\ s a -> s{_utAutoUpgrade = a});
+
+-- | The version of the database engine that a DB instance can be upgraded to.
+utDescription :: Lens' UpgradeTarget (Maybe Text)
+utDescription = lens _utDescription (\ s a -> s{_utDescription = a});
+
+instance FromXML UpgradeTarget where
+        parseXML x
+          = UpgradeTarget' <$>
+              (x .@? "EngineVersion") <*>
+                (x .@? "IsMajorVersionUpgrade")
+                <*> (x .@? "Engine")
+                <*> (x .@? "AutoUpgrade")
+                <*> (x .@? "Description")
+
+instance Hashable UpgradeTarget
+
+instance NFData UpgradeTarget
+
+-- | This data type is used as a response element for queries on VPC security group membership.
+--
+--
+--
+-- /See:/ 'vpcSecurityGroupMembership' smart constructor.
+data VPCSecurityGroupMembership = VPCSecurityGroupMembership'
+    { _vsgmStatus             :: !(Maybe Text)
+    , _vsgmVPCSecurityGroupId :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'VPCSecurityGroupMembership' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'vsgmStatus' - The status of the VPC security group.
+--
+-- * 'vsgmVPCSecurityGroupId' - The name of the VPC security group.
 vpcSecurityGroupMembership
     :: VPCSecurityGroupMembership
 vpcSecurityGroupMembership =
diff --git a/gen/Network/AWS/RDS/Waiters.hs b/gen/Network/AWS/RDS/Waiters.hs
--- a/gen/Network/AWS/RDS/Waiters.hs
+++ b/gen/Network/AWS/RDS/Waiters.hs
@@ -23,8 +23,7 @@
 import           Network.AWS.RDS.Types
 import           Network.AWS.Waiter
 
--- | Polls 'Network.AWS.RDS.DescribeDBInstances' every 30 seconds until a
--- successful state is reached. An error is returned after 60 failed checks.
+-- | Polls 'Network.AWS.RDS.DescribeDBInstances' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.
 dbInstanceAvailable :: Wait DescribeDBInstances
 dbInstanceAvailable =
     Wait
@@ -73,8 +72,7 @@
                               diDBInstanceStatus . _Just . to toTextCI)]
     }
 
--- | Polls 'Network.AWS.RDS.DescribeDBSnapshots' every 15 seconds until a
--- successful state is reached. An error is returned after 40 failed checks.
+-- | Polls 'Network.AWS.RDS.DescribeDBSnapshots' every 15 seconds until a successful state is reached. An error is returned after 40 failed checks.
 dbSnapshotCompleted :: Wait DescribeDBSnapshots
 dbSnapshotCompleted =
     Wait
@@ -89,8 +87,7 @@
                               dsStatus . _Just . to toTextCI)]
     }
 
--- | Polls 'Network.AWS.RDS.DescribeDBInstances' every 30 seconds until a
--- successful state is reached. An error is returned after 60 failed checks.
+-- | Polls 'Network.AWS.RDS.DescribeDBInstances' every 30 seconds until a successful state is reached. An error is returned after 60 failed checks.
 dbInstanceDeleted :: Wait DescribeDBInstances
 dbInstanceDeleted =
     Wait
diff --git a/test/Test/AWS/Gen/RDS.hs b/test/Test/AWS/Gen/RDS.hs
--- a/test/Test/AWS/Gen/RDS.hs
+++ b/test/Test/AWS/Gen/RDS.hs
@@ -202,6 +202,9 @@
 --         , requestDescribePendingMaintenanceActions $
 --             describePendingMaintenanceActions
 --
+--         , requestAddRoleToDBCluster $
+--             addRoleToDBCluster
+--
 --         , requestCopyDBClusterSnapshot $
 --             copyDBClusterSnapshot
 --
@@ -211,6 +214,9 @@
 --         , requestCreateDBCluster $
 --             createDBCluster
 --
+--         , requestRemoveRoleFromDBCluster $
+--             removeRoleFromDBCluster
+--
 --         , requestFailoverDBCluster $
 --             failoverDBCluster
 --
@@ -457,6 +463,9 @@
 --         , responseDescribePendingMaintenanceActions $
 --             describePendingMaintenanceActionsResponse
 --
+--         , responseAddRoleToDBCluster $
+--             addRoleToDBClusterResponse
+--
 --         , responseCopyDBClusterSnapshot $
 --             copyDBClusterSnapshotResponse
 --
@@ -466,6 +475,9 @@
 --         , responseCreateDBCluster $
 --             createDBClusterResponse
 --
+--         , responseRemoveRoleFromDBCluster $
+--             removeRoleFromDBClusterResponse
+--
 --         , responseFailoverDBCluster $
 --             failoverDBClusterResponse
 --
@@ -830,6 +842,11 @@
     "DescribePendingMaintenanceActions"
     "fixture/DescribePendingMaintenanceActions.yaml"
 
+requestAddRoleToDBCluster :: AddRoleToDBCluster -> TestTree
+requestAddRoleToDBCluster = req
+    "AddRoleToDBCluster"
+    "fixture/AddRoleToDBCluster.yaml"
+
 requestCopyDBClusterSnapshot :: CopyDBClusterSnapshot -> TestTree
 requestCopyDBClusterSnapshot = req
     "CopyDBClusterSnapshot"
@@ -845,6 +862,11 @@
     "CreateDBCluster"
     "fixture/CreateDBCluster.yaml"
 
+requestRemoveRoleFromDBCluster :: RemoveRoleFromDBCluster -> TestTree
+requestRemoveRoleFromDBCluster = req
+    "RemoveRoleFromDBCluster"
+    "fixture/RemoveRoleFromDBCluster.yaml"
+
 requestFailoverDBCluster :: FailoverDBCluster -> TestTree
 requestFailoverDBCluster = req
     "FailoverDBCluster"
@@ -1368,6 +1390,13 @@
     rds
     (Proxy :: Proxy DescribePendingMaintenanceActions)
 
+responseAddRoleToDBCluster :: AddRoleToDBClusterResponse -> TestTree
+responseAddRoleToDBCluster = res
+    "AddRoleToDBClusterResponse"
+    "fixture/AddRoleToDBClusterResponse.proto"
+    rds
+    (Proxy :: Proxy AddRoleToDBCluster)
+
 responseCopyDBClusterSnapshot :: CopyDBClusterSnapshotResponse -> TestTree
 responseCopyDBClusterSnapshot = res
     "CopyDBClusterSnapshotResponse"
@@ -1388,6 +1417,13 @@
     "fixture/CreateDBClusterResponse.proto"
     rds
     (Proxy :: Proxy CreateDBCluster)
+
+responseRemoveRoleFromDBCluster :: RemoveRoleFromDBClusterResponse -> TestTree
+responseRemoveRoleFromDBCluster = res
+    "RemoveRoleFromDBClusterResponse"
+    "fixture/RemoveRoleFromDBClusterResponse.proto"
+    rds
+    (Proxy :: Proxy RemoveRoleFromDBCluster)
 
 responseFailoverDBCluster :: FailoverDBClusterResponse -> TestTree
 responseFailoverDBCluster = res
