diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.6`
+`1.3.7`
 
 
 ## Description
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.3.6
+version:               1.3.7
 synopsis:              Amazon Relational Database Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -155,7 +155,7 @@
         , Network.AWS.RDS.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.6.*
+          amazonka-core == 1.3.7.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-rds-test
@@ -175,12 +175,11 @@
         , Test.AWS.RDS.Internal
 
     build-depends:
-          amazonka-core == 1.3.6.*
-        , amazonka-test == 1.3.6.*
-        , amazonka-rds == 1.3.6.*
+          amazonka-core == 1.3.7.*
+        , amazonka-test == 1.3.7.*
+        , amazonka-rds == 1.3.7.*
         , base
         , bytestring
-        , lens
         , tasty
         , tasty-hunit
         , text
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
@@ -552,17 +552,20 @@
     , dbCluster
     , dcEngineVersion
     , dcStatus
+    , dcStorageEncrypted
     , dcDBClusterIdentifier
     , dcDBClusterMembers
     , dcHostedZoneId
     , dcDBClusterParameterGroup
     , dcMasterUsername
+    , dcDBClusterResourceId
     , dcEarliestRestorableTime
     , dcEngine
     , dcLatestRestorableTime
     , dcPreferredMaintenanceWindow
     , dcAvailabilityZones
     , dcCharacterSetName
+    , dcKMSKeyId
     , dcPreferredBackupWindow
     , dcVPCSecurityGroups
     , dcBackupRetentionPeriod
@@ -604,6 +607,7 @@
     , dbClusterSnapshot
     , dcsEngineVersion
     , dcsStatus
+    , dcsStorageEncrypted
     , dcsDBClusterIdentifier
     , dcsMasterUsername
     , dcsVPCId
@@ -612,6 +616,7 @@
     , dcsLicenseModel
     , dcsAvailabilityZones
     , dcsSnapshotType
+    , dcsKMSKeyId
     , dcsSnapshotCreateTime
     , dcsAllocatedStorage
     , dcsClusterCreateTime
@@ -641,9 +646,11 @@
     , diAutoMinorVersionUpgrade
     , diMasterUsername
     , diReadReplicaDBInstanceIdentifiers
+    , diMonitoringRoleARN
     , diIOPS
     , diInstanceCreateTime
     , diReadReplicaSourceDBInstanceIdentifier
+    , diMonitoringInterval
     , diEngine
     , diLatestRestorableTime
     , diDBInstanceClass
@@ -660,6 +667,7 @@
     , diDBSubnetGroup
     , diMultiAZ
     , diOptionGroupMemberships
+    , diEnhancedMonitoringResourceARN
     , diSecondaryAvailabilityZone
     , diAllocatedStorage
     , diDBiResourceId
@@ -922,6 +930,7 @@
     , odioSupportsStorageEncryption
     , odioReadReplicaCapable
     , odioVPC
+    , odioSupportsEnhancedMonitoring
     , odioStorageType
 
     -- ** Parameter
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
@@ -39,6 +39,7 @@
     , asitsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -41,6 +41,7 @@
     , AddTagsToResourceResponse
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , apmarsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -55,6 +55,7 @@
     , adsgirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -42,6 +42,7 @@
     , cdcsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , cdbpgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -44,6 +44,7 @@
     , cdsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , cogrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -31,10 +31,12 @@
     , CreateDBCluster
     -- * Request Lenses
     , cdcEngineVersion
+    , cdcStorageEncrypted
     , cdcDBSubnetGroupName
     , cdcPreferredMaintenanceWindow
     , cdcAvailabilityZones
     , cdcCharacterSetName
+    , cdcKMSKeyId
     , cdcPreferredBackupWindow
     , cdcBackupRetentionPeriod
     , cdcVPCSecurityGroupIds
@@ -56,6 +58,7 @@
     , cdcrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -67,10 +70,12 @@
 -- /See:/ 'createDBCluster' smart constructor.
 data CreateDBCluster = CreateDBCluster'
     { _cdcEngineVersion               :: !(Maybe Text)
+    , _cdcStorageEncrypted            :: !(Maybe Bool)
     , _cdcDBSubnetGroupName           :: !(Maybe Text)
     , _cdcPreferredMaintenanceWindow  :: !(Maybe Text)
     , _cdcAvailabilityZones           :: !(Maybe [Text])
     , _cdcCharacterSetName            :: !(Maybe Text)
+    , _cdcKMSKeyId                    :: !(Maybe Text)
     , _cdcPreferredBackupWindow       :: !(Maybe Text)
     , _cdcBackupRetentionPeriod       :: !(Maybe Int)
     , _cdcVPCSecurityGroupIds         :: !(Maybe [Text])
@@ -91,6 +96,8 @@
 --
 -- * 'cdcEngineVersion'
 --
+-- * 'cdcStorageEncrypted'
+--
 -- * 'cdcDBSubnetGroupName'
 --
 -- * 'cdcPreferredMaintenanceWindow'
@@ -99,6 +106,8 @@
 --
 -- * 'cdcCharacterSetName'
 --
+-- * 'cdcKMSKeyId'
+--
 -- * 'cdcPreferredBackupWindow'
 --
 -- * 'cdcBackupRetentionPeriod'
@@ -131,10 +140,12 @@
 createDBCluster pDBClusterIdentifier_ pEngine_ pMasterUsername_ pMasterUserPassword_ =
     CreateDBCluster'
     { _cdcEngineVersion = Nothing
+    , _cdcStorageEncrypted = Nothing
     , _cdcDBSubnetGroupName = Nothing
     , _cdcPreferredMaintenanceWindow = Nothing
     , _cdcAvailabilityZones = Nothing
     , _cdcCharacterSetName = Nothing
+    , _cdcKMSKeyId = Nothing
     , _cdcPreferredBackupWindow = Nothing
     , _cdcBackupRetentionPeriod = Nothing
     , _cdcVPCSecurityGroupIds = Nothing
@@ -157,6 +168,10 @@
 cdcEngineVersion :: Lens' CreateDBCluster (Maybe Text)
 cdcEngineVersion = lens _cdcEngineVersion (\ s a -> s{_cdcEngineVersion = a});
 
+-- | Specifies whether the DB cluster is encrypted.
+cdcStorageEncrypted :: Lens' CreateDBCluster (Maybe Bool)
+cdcStorageEncrypted = lens _cdcStorageEncrypted (\ s a -> s{_cdcStorageEncrypted = a});
+
 -- | A DB subnet group to associate with this DB cluster.
 cdcDBSubnetGroupName :: Lens' CreateDBCluster (Maybe Text)
 cdcDBSubnetGroupName = lens _cdcDBSubnetGroupName (\ s a -> s{_cdcDBSubnetGroupName = a});
@@ -189,6 +204,22 @@
 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.
+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.
@@ -317,6 +348,7 @@
               ["Action" =: ("CreateDBCluster" :: ByteString),
                "Version" =: ("2014-10-31" :: ByteString),
                "EngineVersion" =: _cdcEngineVersion,
+               "StorageEncrypted" =: _cdcStorageEncrypted,
                "DBSubnetGroupName" =: _cdcDBSubnetGroupName,
                "PreferredMaintenanceWindow" =:
                  _cdcPreferredMaintenanceWindow,
@@ -325,6 +357,7 @@
                    (toQueryList "AvailabilityZone" <$>
                       _cdcAvailabilityZones),
                "CharacterSetName" =: _cdcCharacterSetName,
+               "KmsKeyId" =: _cdcKMSKeyId,
                "PreferredBackupWindow" =: _cdcPreferredBackupWindow,
                "BackupRetentionPeriod" =: _cdcBackupRetentionPeriod,
                "VpcSecurityGroupIds" =:
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
@@ -70,6 +70,7 @@
     , cdcpgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -42,6 +42,7 @@
     , cdbcsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -36,7 +36,9 @@
     , cdiAutoMinorVersionUpgrade
     , cdiMasterUsername
     , cdiDBSubnetGroupName
+    , cdiMonitoringRoleARN
     , cdiIOPS
+    , cdiMonitoringInterval
     , cdiTDECredentialPassword
     , cdiLicenseModel
     , cdiPreferredMaintenanceWindow
@@ -68,6 +70,7 @@
     , cdirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -87,7 +90,9 @@
     , _cdiAutoMinorVersionUpgrade    :: !(Maybe Bool)
     , _cdiMasterUsername             :: !(Maybe Text)
     , _cdiDBSubnetGroupName          :: !(Maybe Text)
+    , _cdiMonitoringRoleARN          :: !(Maybe Text)
     , _cdiIOPS                       :: !(Maybe Int)
+    , _cdiMonitoringInterval         :: !(Maybe Int)
     , _cdiTDECredentialPassword      :: !(Maybe Text)
     , _cdiLicenseModel               :: !(Maybe Text)
     , _cdiPreferredMaintenanceWindow :: !(Maybe Text)
@@ -134,8 +139,12 @@
 --
 -- * 'cdiDBSubnetGroupName'
 --
+-- * 'cdiMonitoringRoleARN'
+--
 -- * 'cdiIOPS'
 --
+-- * 'cdiMonitoringInterval'
+--
 -- * 'cdiTDECredentialPassword'
 --
 -- * 'cdiLicenseModel'
@@ -195,7 +204,9 @@
     , _cdiAutoMinorVersionUpgrade = Nothing
     , _cdiMasterUsername = Nothing
     , _cdiDBSubnetGroupName = Nothing
+    , _cdiMonitoringRoleARN = Nothing
     , _cdiIOPS = Nothing
+    , _cdiMonitoringInterval = Nothing
     , _cdiTDECredentialPassword = Nothing
     , _cdiLicenseModel = Nothing
     , _cdiPreferredMaintenanceWindow = Nothing
@@ -282,8 +293,9 @@
 -- -   __Version 9.3 (Only available in the following regions:
 --     ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1,
 --     sa-east-1, us-west-1, us-west-2):__ ' 9.3.1 | 9.3.2'
--- -   __Version 9.3 (Available in all regions):__ ' 9.3.3 | 9.3.5 | 9.3.6'
--- -   __Version 9.4 (Available in all regions):__ ' 9.4.1'
+-- -   __Version 9.3 (Available in all regions):__
+--     ' 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9 | 9.3.10'
+-- -   __Version 9.4 (Available in all regions):__ ' 9.4.1 | 9.4.4 | 9.4.5'
 --
 -- __Microsoft SQL Server Enterprise Edition (sqlserver-ee)__
 --
@@ -448,6 +460,17 @@
 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.
+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.
 --
@@ -456,6 +479,17 @@
 cdiIOPS :: Lens' CreateDBInstance (Maybe Int)
 cdiIOPS = lens _cdiIOPS (\ s a -> s{_cdiIOPS = 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 60.
+--
+-- 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});
+
 -- | The password for the given ARN from the Key Store in order to access the
 -- device.
 cdiTDECredentialPassword :: Lens' CreateDBInstance (Maybe Text)
@@ -786,7 +820,7 @@
 --
 -- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' |
 -- 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' |
--- 'sqlserver-web' | 'postgres'
+-- 'sqlserver-web' | 'postgres' | 'aurora'
 --
 -- Not every database engine is available for every AWS region.
 cdiEngine :: Lens' CreateDBInstance Text
@@ -825,7 +859,9 @@
                  _cdiAutoMinorVersionUpgrade,
                "MasterUsername" =: _cdiMasterUsername,
                "DBSubnetGroupName" =: _cdiDBSubnetGroupName,
+               "MonitoringRoleArn" =: _cdiMonitoringRoleARN,
                "Iops" =: _cdiIOPS,
+               "MonitoringInterval" =: _cdiMonitoringInterval,
                "TdeCredentialPassword" =: _cdiTDECredentialPassword,
                "LicenseModel" =: _cdiLicenseModel,
                "PreferredMaintenanceWindow" =:
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
@@ -38,7 +38,9 @@
     , cdirrPubliclyAccessible
     , cdirrAutoMinorVersionUpgrade
     , cdirrDBSubnetGroupName
+    , cdirrMonitoringRoleARN
     , cdirrIOPS
+    , cdirrMonitoringInterval
     , cdirrDBInstanceClass
     , cdirrAvailabilityZone
     , cdirrOptionGroupName
@@ -57,6 +59,7 @@
     , cdirrrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -68,7 +71,9 @@
     { _cdirrPubliclyAccessible         :: !(Maybe Bool)
     , _cdirrAutoMinorVersionUpgrade    :: !(Maybe Bool)
     , _cdirrDBSubnetGroupName          :: !(Maybe Text)
+    , _cdirrMonitoringRoleARN          :: !(Maybe Text)
     , _cdirrIOPS                       :: !(Maybe Int)
+    , _cdirrMonitoringInterval         :: !(Maybe Int)
     , _cdirrDBInstanceClass            :: !(Maybe Text)
     , _cdirrAvailabilityZone           :: !(Maybe Text)
     , _cdirrOptionGroupName            :: !(Maybe Text)
@@ -90,8 +95,12 @@
 --
 -- * 'cdirrDBSubnetGroupName'
 --
+-- * 'cdirrMonitoringRoleARN'
+--
 -- * 'cdirrIOPS'
 --
+-- * 'cdirrMonitoringInterval'
+--
 -- * 'cdirrDBInstanceClass'
 --
 -- * 'cdirrAvailabilityZone'
@@ -118,7 +127,9 @@
     { _cdirrPubliclyAccessible = Nothing
     , _cdirrAutoMinorVersionUpgrade = Nothing
     , _cdirrDBSubnetGroupName = Nothing
+    , _cdirrMonitoringRoleARN = Nothing
     , _cdirrIOPS = Nothing
+    , _cdirrMonitoringInterval = Nothing
     , _cdirrDBInstanceClass = Nothing
     , _cdirrAvailabilityZone = Nothing
     , _cdirrOptionGroupName = Nothing
@@ -178,11 +189,33 @@
 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.
+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.
 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 60.
+--
+-- 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:
@@ -291,7 +324,9 @@
                "AutoMinorVersionUpgrade" =:
                  _cdirrAutoMinorVersionUpgrade,
                "DBSubnetGroupName" =: _cdirrDBSubnetGroupName,
+               "MonitoringRoleArn" =: _cdirrMonitoringRoleARN,
                "Iops" =: _cdirrIOPS,
+               "MonitoringInterval" =: _cdirrMonitoringInterval,
                "DBInstanceClass" =: _cdirrDBInstanceClass,
                "AvailabilityZone" =: _cdirrAvailabilityZone,
                "OptionGroupName" =: _cdirrOptionGroupName,
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
@@ -62,6 +62,7 @@
     , cdpgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , cdbsgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , cdbsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -41,6 +41,7 @@
     , cdsgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -63,6 +63,7 @@
     , cesrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -41,6 +41,7 @@
     , crsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -47,6 +47,7 @@
     , ddbcrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -39,6 +39,7 @@
     , DeleteDBClusterParameterGroupResponse
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -44,6 +44,7 @@
     , ddcsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -53,6 +53,7 @@
     , ddirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -35,6 +35,7 @@
     , DeleteDBParameterGroupResponse
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -37,6 +37,7 @@
     , DeleteDBSecurityGroupResponse
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , ddbsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -37,6 +37,7 @@
     , DeleteDBSubnetGroupResponse
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -37,6 +37,7 @@
     , drsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -34,6 +34,7 @@
     , DeleteOptionGroupResponse
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , daarsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -42,6 +42,7 @@
     , dcrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -48,6 +48,7 @@
     , ddcpgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -47,6 +47,7 @@
     , ddcprsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -48,6 +48,7 @@
     , ddbcsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -46,6 +46,7 @@
     , ddcrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -47,6 +47,7 @@
     , ddevrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -44,6 +44,7 @@
     , ddbirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -46,6 +46,7 @@
     , ddlfrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -45,6 +45,7 @@
     , ddpgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -44,6 +44,7 @@
     , ddprsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -45,6 +45,7 @@
     , ddbsgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -49,6 +49,7 @@
     , ddsarsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -47,6 +47,7 @@
     , ddsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
@@ -147,7 +148,7 @@
 --
 -- The 'IncludeShared' and 'IncludePublic' parameters do not apply for
 -- 'SnapshotType' values of 'manual' or 'automated'. The 'IncludePublic'
--- paramter does not apply when 'SnapshotType' is set to 'shared'. the
+-- parameter does not apply when 'SnapshotType' is set to 'shared'. the
 -- 'IncludeShared' parameter does not apply when 'SnapshotType' is set to
 -- 'public'.
 ddsSnapshotType :: Lens' DescribeDBSnapshots (Maybe Text)
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
@@ -48,6 +48,7 @@
     , ddsgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -45,6 +45,7 @@
     , dedcprsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -43,6 +43,7 @@
     , dedprsEngineDefaults
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -42,6 +42,7 @@
     , decrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -48,6 +48,7 @@
     , desrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -52,6 +52,7 @@
     , dersResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -44,6 +44,7 @@
     , dogorsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -45,6 +45,7 @@
     , dogrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -48,6 +48,7 @@
     , dodiorsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -42,6 +42,7 @@
     , dpmarsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -50,6 +50,7 @@
     , drdirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -48,6 +48,7 @@
     , drdiorsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -45,6 +45,7 @@
     , ddlfprsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
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
@@ -52,6 +52,7 @@
     , fdcrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -41,6 +41,7 @@
     , ltfrrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -52,6 +52,7 @@
     , mdcrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -61,6 +61,7 @@
     , dcpgnmDBClusterParameterGroupName
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -31,12 +31,15 @@
     -- * Request Lenses
     , mdiEngineVersion
     , mdiDBSecurityGroups
+    , mdiDBPortNumber
     , mdiMasterUserPassword
     , mdiPubliclyAccessible
     , mdiAutoMinorVersionUpgrade
+    , mdiMonitoringRoleARN
     , mdiIOPS
     , mdiAllowMajorVersionUpgrade
     , mdiNewDBInstanceIdentifier
+    , mdiMonitoringInterval
     , mdiTDECredentialPassword
     , mdiDBInstanceClass
     , mdiPreferredMaintenanceWindow
@@ -62,6 +65,7 @@
     , mdirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -74,12 +78,15 @@
 data ModifyDBInstance = ModifyDBInstance'
     { _mdiEngineVersion              :: !(Maybe Text)
     , _mdiDBSecurityGroups           :: !(Maybe [Text])
+    , _mdiDBPortNumber               :: !(Maybe Int)
     , _mdiMasterUserPassword         :: !(Maybe Text)
     , _mdiPubliclyAccessible         :: !(Maybe Bool)
     , _mdiAutoMinorVersionUpgrade    :: !(Maybe Bool)
+    , _mdiMonitoringRoleARN          :: !(Maybe Text)
     , _mdiIOPS                       :: !(Maybe Int)
     , _mdiAllowMajorVersionUpgrade   :: !(Maybe Bool)
     , _mdiNewDBInstanceIdentifier    :: !(Maybe Text)
+    , _mdiMonitoringInterval         :: !(Maybe Int)
     , _mdiTDECredentialPassword      :: !(Maybe Text)
     , _mdiDBInstanceClass            :: !(Maybe Text)
     , _mdiPreferredMaintenanceWindow :: !(Maybe Text)
@@ -106,18 +113,24 @@
 --
 -- * 'mdiDBSecurityGroups'
 --
+-- * 'mdiDBPortNumber'
+--
 -- * 'mdiMasterUserPassword'
 --
 -- * 'mdiPubliclyAccessible'
 --
 -- * 'mdiAutoMinorVersionUpgrade'
 --
+-- * 'mdiMonitoringRoleARN'
+--
 -- * 'mdiIOPS'
 --
 -- * 'mdiAllowMajorVersionUpgrade'
 --
 -- * 'mdiNewDBInstanceIdentifier'
 --
+-- * 'mdiMonitoringInterval'
+--
 -- * 'mdiTDECredentialPassword'
 --
 -- * 'mdiDBInstanceClass'
@@ -156,12 +169,15 @@
     ModifyDBInstance'
     { _mdiEngineVersion = Nothing
     , _mdiDBSecurityGroups = Nothing
+    , _mdiDBPortNumber = Nothing
     , _mdiMasterUserPassword = Nothing
     , _mdiPubliclyAccessible = Nothing
     , _mdiAutoMinorVersionUpgrade = Nothing
+    , _mdiMonitoringRoleARN = Nothing
     , _mdiIOPS = Nothing
     , _mdiAllowMajorVersionUpgrade = Nothing
     , _mdiNewDBInstanceIdentifier = Nothing
+    , _mdiMonitoringInterval = Nothing
     , _mdiTDECredentialPassword = Nothing
     , _mdiDBInstanceClass = Nothing
     , _mdiPreferredMaintenanceWindow = Nothing
@@ -206,6 +222,53 @@
 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'
+--
+-- __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 \"\'\".
 --
@@ -253,6 +316,17 @@
 mdiAutoMinorVersionUpgrade :: Lens' ModifyDBInstance (Maybe Bool)
 mdiAutoMinorVersionUpgrade = lens _mdiAutoMinorVersionUpgrade (\ s a -> s{_mdiAutoMinorVersionUpgrade = 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.
+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
@@ -315,6 +389,17 @@
 mdiNewDBInstanceIdentifier :: Lens' ModifyDBInstance (Maybe Text)
 mdiNewDBInstanceIdentifier = lens _mdiNewDBInstanceIdentifier (\ s a -> s{_mdiNewDBInstanceIdentifier = 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 60.
+--
+-- 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});
+
 -- | The password for the given ARN from the Key Store in order to access the
 -- device.
 mdiTDECredentialPassword :: Lens' ModifyDBInstance (Maybe Text)
@@ -520,7 +605,7 @@
 -- 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.html#Overview.DBInstance.Modifying Modifying a DB Instance and Using the Apply Immediately Parameter>
+-- <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.
@@ -603,15 +688,18 @@
                  toQuery
                    (toQueryList "DBSecurityGroupName" <$>
                       _mdiDBSecurityGroups),
+               "DBPortNumber" =: _mdiDBPortNumber,
                "MasterUserPassword" =: _mdiMasterUserPassword,
                "PubliclyAccessible" =: _mdiPubliclyAccessible,
                "AutoMinorVersionUpgrade" =:
                  _mdiAutoMinorVersionUpgrade,
+               "MonitoringRoleArn" =: _mdiMonitoringRoleARN,
                "Iops" =: _mdiIOPS,
                "AllowMajorVersionUpgrade" =:
                  _mdiAllowMajorVersionUpgrade,
                "NewDBInstanceIdentifier" =:
                  _mdiNewDBInstanceIdentifier,
+               "MonitoringInterval" =: _mdiMonitoringInterval,
                "TdeCredentialPassword" =: _mdiTDECredentialPassword,
                "DBInstanceClass" =: _mdiDBInstanceClass,
                "PreferredMaintenanceWindow" =:
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
@@ -57,6 +57,7 @@
     , dpgnmDBParameterGroupName
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -18,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Adds an attribute and values to, or removes an attibute and values from
+-- 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'
@@ -55,6 +55,7 @@
     , mdsarsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , mdsgrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -50,6 +50,7 @@
     , mesrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , mogrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -44,6 +44,7 @@
     , prrrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -40,6 +40,7 @@
     , prdiorsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -55,6 +55,7 @@
     , rdirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -39,6 +39,7 @@
     , rsifsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -38,6 +38,7 @@
     , RemoveTagsFromResourceResponse
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -52,6 +52,7 @@
     , dcpgnmDBClusterParameterGroupName
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -45,6 +45,7 @@
     , dpgnmDBParameterGroupName
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -37,6 +37,7 @@
     , rdcfsEngineVersion
     , rdcfsDBSubnetGroupName
     , rdcfsAvailabilityZones
+    , rdcfsKMSKeyId
     , rdcfsVPCSecurityGroupIds
     , rdcfsDatabaseName
     , rdcfsOptionGroupName
@@ -54,6 +55,7 @@
     , rdcfsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -67,6 +69,7 @@
     { _rdcfsEngineVersion       :: !(Maybe Text)
     , _rdcfsDBSubnetGroupName   :: !(Maybe Text)
     , _rdcfsAvailabilityZones   :: !(Maybe [Text])
+    , _rdcfsKMSKeyId            :: !(Maybe Text)
     , _rdcfsVPCSecurityGroupIds :: !(Maybe [Text])
     , _rdcfsDatabaseName        :: !(Maybe Text)
     , _rdcfsOptionGroupName     :: !(Maybe Text)
@@ -87,6 +90,8 @@
 --
 -- * 'rdcfsAvailabilityZones'
 --
+-- * 'rdcfsKMSKeyId'
+--
 -- * 'rdcfsVPCSecurityGroupIds'
 --
 -- * 'rdcfsDatabaseName'
@@ -112,6 +117,7 @@
     { _rdcfsEngineVersion = Nothing
     , _rdcfsDBSubnetGroupName = Nothing
     , _rdcfsAvailabilityZones = Nothing
+    , _rdcfsKMSKeyId = Nothing
     , _rdcfsVPCSecurityGroupIds = Nothing
     , _rdcfsDatabaseName = Nothing
     , _rdcfsOptionGroupName = Nothing
@@ -135,6 +141,30 @@
 rdcfsAvailabilityZones :: Lens' RestoreDBClusterFromSnapshot [Text]
 rdcfsAvailabilityZones = lens _rdcfsAvailabilityZones (\ s a -> s{_rdcfsAvailabilityZones = a}) . _Default . _Coerce;
 
+-- | The KMS key identifier to use when restoring an encrypted DB cluster
+-- from an encrypted 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 not encrypted.
+--
+-- If 'SnapshotIdentifier' refers to a DB cluster snapshot that is not
+-- encrypted, and you specify a value for the 'KmsKeyId' parameter, then
+-- the restore request is rejected.
+rdcfsKMSKeyId :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)
+rdcfsKMSKeyId = lens _rdcfsKMSKeyId (\ s a -> s{_rdcfsKMSKeyId = a});
+
 -- | A list of VPC security groups that the new DB cluster will belong to.
 rdcfsVPCSecurityGroupIds :: Lens' RestoreDBClusterFromSnapshot [Text]
 rdcfsVPCSecurityGroupIds = lens _rdcfsVPCSecurityGroupIds (\ s a -> s{_rdcfsVPCSecurityGroupIds = a}) . _Default . _Coerce;
@@ -220,6 +250,7 @@
                  toQuery
                    (toQueryList "AvailabilityZone" <$>
                       _rdcfsAvailabilityZones),
+               "KmsKeyId" =: _rdcfsKMSKeyId,
                "VpcSecurityGroupIds" =:
                  toQuery
                    (toQueryList "VpcSecurityGroupId" <$>
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
@@ -38,6 +38,7 @@
     -- * Request Lenses
     , rdctpitUseLatestRestorableTime
     , rdctpitDBSubnetGroupName
+    , rdctpitKMSKeyId
     , rdctpitVPCSecurityGroupIds
     , rdctpitOptionGroupName
     , rdctpitRestoreToTime
@@ -54,6 +55,7 @@
     , rdctpitrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -66,6 +68,7 @@
 data RestoreDBClusterToPointInTime = RestoreDBClusterToPointInTime'
     { _rdctpitUseLatestRestorableTime   :: !(Maybe Bool)
     , _rdctpitDBSubnetGroupName         :: !(Maybe Text)
+    , _rdctpitKMSKeyId                  :: !(Maybe Text)
     , _rdctpitVPCSecurityGroupIds       :: !(Maybe [Text])
     , _rdctpitOptionGroupName           :: !(Maybe Text)
     , _rdctpitRestoreToTime             :: !(Maybe ISO8601)
@@ -83,6 +86,8 @@
 --
 -- * 'rdctpitDBSubnetGroupName'
 --
+-- * 'rdctpitKMSKeyId'
+--
 -- * 'rdctpitVPCSecurityGroupIds'
 --
 -- * 'rdctpitOptionGroupName'
@@ -104,6 +109,7 @@
     RestoreDBClusterToPointInTime'
     { _rdctpitUseLatestRestorableTime = Nothing
     , _rdctpitDBSubnetGroupName = Nothing
+    , _rdctpitKMSKeyId = Nothing
     , _rdctpitVPCSecurityGroupIds = Nothing
     , _rdctpitOptionGroupName = Nothing
     , _rdctpitRestoreToTime = Nothing
@@ -127,6 +133,35 @@
 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.
+rdctpitKMSKeyId :: Lens' RestoreDBClusterToPointInTime (Maybe Text)
+rdctpitKMSKeyId = lens _rdctpitKMSKeyId (\ s a -> s{_rdctpitKMSKeyId = a});
+
 -- | A lst of VPC security groups that the new DB cluster belongs to.
 rdctpitVPCSecurityGroupIds :: Lens' RestoreDBClusterToPointInTime [Text]
 rdctpitVPCSecurityGroupIds = lens _rdctpitVPCSecurityGroupIds (\ s a -> s{_rdctpitVPCSecurityGroupIds = a}) . _Default . _Coerce;
@@ -210,6 +245,7 @@
                "UseLatestRestorableTime" =:
                  _rdctpitUseLatestRestorableTime,
                "DBSubnetGroupName" =: _rdctpitDBSubnetGroupName,
+               "KmsKeyId" =: _rdctpitKMSKeyId,
                "VpcSecurityGroupIds" =:
                  toQuery
                    (toQueryList "VpcSecurityGroupId" <$>
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
@@ -76,6 +76,7 @@
     , rdifdsrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -229,7 +230,7 @@
 --
 -- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' |
 -- 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' |
--- 'sqlserver-web' | 'postgres'
+-- 'sqlserver-web' | 'postgres' | 'aurora'
 rdifdsEngine :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsEngine = lens _rdifdsEngine (\ s a -> s{_rdifdsEngine = 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
@@ -66,6 +66,7 @@
     , rditpitrsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
@@ -246,7 +247,7 @@
 --
 -- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' |
 -- 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' |
--- 'sqlserver-web' | 'postgres'
+-- 'sqlserver-web' | 'postgres'| 'aurora'
 rditpitEngine :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitEngine = lens _rditpitEngine (\ s a -> s{_rditpitEngine = 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
@@ -45,6 +45,7 @@
     , rdsgirsResponseStatus
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types
 import           Network.AWS.RDS.Types.Product
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
@@ -126,17 +126,20 @@
     , dbCluster
     , dcEngineVersion
     , dcStatus
+    , dcStorageEncrypted
     , dcDBClusterIdentifier
     , dcDBClusterMembers
     , dcHostedZoneId
     , dcDBClusterParameterGroup
     , dcMasterUsername
+    , dcDBClusterResourceId
     , dcEarliestRestorableTime
     , dcEngine
     , dcLatestRestorableTime
     , dcPreferredMaintenanceWindow
     , dcAvailabilityZones
     , dcCharacterSetName
+    , dcKMSKeyId
     , dcPreferredBackupWindow
     , dcVPCSecurityGroups
     , dcBackupRetentionPeriod
@@ -178,6 +181,7 @@
     , dbClusterSnapshot
     , dcsEngineVersion
     , dcsStatus
+    , dcsStorageEncrypted
     , dcsDBClusterIdentifier
     , dcsMasterUsername
     , dcsVPCId
@@ -186,6 +190,7 @@
     , dcsLicenseModel
     , dcsAvailabilityZones
     , dcsSnapshotType
+    , dcsKMSKeyId
     , dcsSnapshotCreateTime
     , dcsAllocatedStorage
     , dcsClusterCreateTime
@@ -215,9 +220,11 @@
     , diAutoMinorVersionUpgrade
     , diMasterUsername
     , diReadReplicaDBInstanceIdentifiers
+    , diMonitoringRoleARN
     , diIOPS
     , diInstanceCreateTime
     , diReadReplicaSourceDBInstanceIdentifier
+    , diMonitoringInterval
     , diEngine
     , diLatestRestorableTime
     , diDBInstanceClass
@@ -234,6 +241,7 @@
     , diDBSubnetGroup
     , diMultiAZ
     , diOptionGroupMemberships
+    , diEnhancedMonitoringResourceARN
     , diSecondaryAvailabilityZone
     , diAllocatedStorage
     , diDBiResourceId
@@ -496,6 +504,7 @@
     , odioSupportsStorageEncryption
     , odioReadReplicaCapable
     , odioVPC
+    , odioSupportsEnhancedMonitoring
     , odioStorageType
 
     -- * Parameter
@@ -610,6 +619,7 @@
     , vsgmVPCSecurityGroupId
     ) where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types.Product
 import           Network.AWS.RDS.Types.Sum
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
@@ -17,6 +17,7 @@
 --
 module Network.AWS.RDS.Types.Product where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.Types.Sum
 
@@ -212,17 +213,20 @@
 data DBCluster = DBCluster'
     { _dcEngineVersion                   :: !(Maybe Text)
     , _dcStatus                          :: !(Maybe Text)
+    , _dcStorageEncrypted                :: !(Maybe Bool)
     , _dcDBClusterIdentifier             :: !(Maybe Text)
     , _dcDBClusterMembers                :: !(Maybe [DBClusterMember])
     , _dcHostedZoneId                    :: !(Maybe Text)
     , _dcDBClusterParameterGroup         :: !(Maybe Text)
     , _dcMasterUsername                  :: !(Maybe Text)
+    , _dcDBClusterResourceId             :: !(Maybe Text)
     , _dcEarliestRestorableTime          :: !(Maybe ISO8601)
     , _dcEngine                          :: !(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)
@@ -243,6 +247,8 @@
 --
 -- * 'dcStatus'
 --
+-- * 'dcStorageEncrypted'
+--
 -- * 'dcDBClusterIdentifier'
 --
 -- * 'dcDBClusterMembers'
@@ -253,6 +259,8 @@
 --
 -- * 'dcMasterUsername'
 --
+-- * 'dcDBClusterResourceId'
+--
 -- * 'dcEarliestRestorableTime'
 --
 -- * 'dcEngine'
@@ -265,6 +273,8 @@
 --
 -- * 'dcCharacterSetName'
 --
+-- * 'dcKMSKeyId'
+--
 -- * 'dcPreferredBackupWindow'
 --
 -- * 'dcVPCSecurityGroups'
@@ -290,17 +300,20 @@
     DBCluster'
     { _dcEngineVersion = Nothing
     , _dcStatus = Nothing
+    , _dcStorageEncrypted = Nothing
     , _dcDBClusterIdentifier = Nothing
     , _dcDBClusterMembers = Nothing
     , _dcHostedZoneId = Nothing
     , _dcDBClusterParameterGroup = Nothing
     , _dcMasterUsername = Nothing
+    , _dcDBClusterResourceId = Nothing
     , _dcEarliestRestorableTime = Nothing
     , _dcEngine = Nothing
     , _dcLatestRestorableTime = Nothing
     , _dcPreferredMaintenanceWindow = Nothing
     , _dcAvailabilityZones = Nothing
     , _dcCharacterSetName = Nothing
+    , _dcKMSKeyId = Nothing
     , _dcPreferredBackupWindow = Nothing
     , _dcVPCSecurityGroups = Nothing
     , _dcBackupRetentionPeriod = Nothing
@@ -321,6 +334,10 @@
 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)
@@ -343,6 +360,12 @@
 dcMasterUsername :: Lens' DBCluster (Maybe Text)
 dcMasterUsername = lens _dcMasterUsername (\ s a -> s{_dcMasterUsername = a});
 
+-- | If 'StorageEncrypted' is true, the region-unique, immutable identifier
+-- for the encrypted 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)
@@ -372,6 +395,11 @@
 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'.
@@ -424,13 +452,15 @@
         parseXML x
           = DBCluster' <$>
               (x .@? "EngineVersion") <*> (x .@? "Status") <*>
-                (x .@? "DBClusterIdentifier")
+                (x .@? "StorageEncrypted")
+                <*> (x .@? "DBClusterIdentifier")
                 <*>
                 (x .@? "DBClusterMembers" .!@ mempty >>=
                    may (parseXMLList "DBClusterMember"))
                 <*> (x .@? "HostedZoneId")
                 <*> (x .@? "DBClusterParameterGroup")
                 <*> (x .@? "MasterUsername")
+                <*> (x .@? "DbClusterResourceId")
                 <*> (x .@? "EarliestRestorableTime")
                 <*> (x .@? "Engine")
                 <*> (x .@? "LatestRestorableTime")
@@ -439,6 +469,7 @@
                 (x .@? "AvailabilityZones" .!@ mempty >>=
                    may (parseXMLList "AvailabilityZone"))
                 <*> (x .@? "CharacterSetName")
+                <*> (x .@? "KmsKeyId")
                 <*> (x .@? "PreferredBackupWindow")
                 <*>
                 (x .@? "VpcSecurityGroups" .!@ mempty >>=
@@ -641,6 +672,7 @@
 data DBClusterSnapshot = DBClusterSnapshot'
     { _dcsEngineVersion               :: !(Maybe Text)
     , _dcsStatus                      :: !(Maybe Text)
+    , _dcsStorageEncrypted            :: !(Maybe Bool)
     , _dcsDBClusterIdentifier         :: !(Maybe Text)
     , _dcsMasterUsername              :: !(Maybe Text)
     , _dcsVPCId                       :: !(Maybe Text)
@@ -649,6 +681,7 @@
     , _dcsLicenseModel                :: !(Maybe Text)
     , _dcsAvailabilityZones           :: !(Maybe [Text])
     , _dcsSnapshotType                :: !(Maybe Text)
+    , _dcsKMSKeyId                    :: !(Maybe Text)
     , _dcsSnapshotCreateTime          :: !(Maybe ISO8601)
     , _dcsAllocatedStorage            :: !(Maybe Int)
     , _dcsClusterCreateTime           :: !(Maybe ISO8601)
@@ -664,6 +697,8 @@
 --
 -- * 'dcsStatus'
 --
+-- * 'dcsStorageEncrypted'
+--
 -- * 'dcsDBClusterIdentifier'
 --
 -- * 'dcsMasterUsername'
@@ -680,6 +715,8 @@
 --
 -- * 'dcsSnapshotType'
 --
+-- * 'dcsKMSKeyId'
+--
 -- * 'dcsSnapshotCreateTime'
 --
 -- * 'dcsAllocatedStorage'
@@ -695,6 +732,7 @@
     DBClusterSnapshot'
     { _dcsEngineVersion = Nothing
     , _dcsStatus = Nothing
+    , _dcsStorageEncrypted = Nothing
     , _dcsDBClusterIdentifier = Nothing
     , _dcsMasterUsername = Nothing
     , _dcsVPCId = Nothing
@@ -703,6 +741,7 @@
     , _dcsLicenseModel = Nothing
     , _dcsAvailabilityZones = Nothing
     , _dcsSnapshotType = Nothing
+    , _dcsKMSKeyId = Nothing
     , _dcsSnapshotCreateTime = Nothing
     , _dcsAllocatedStorage = Nothing
     , _dcsClusterCreateTime = Nothing
@@ -719,6 +758,10 @@
 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)
@@ -753,6 +796,11 @@
 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)
@@ -781,7 +829,8 @@
         parseXML x
           = DBClusterSnapshot' <$>
               (x .@? "EngineVersion") <*> (x .@? "Status") <*>
-                (x .@? "DBClusterIdentifier")
+                (x .@? "StorageEncrypted")
+                <*> (x .@? "DBClusterIdentifier")
                 <*> (x .@? "MasterUsername")
                 <*> (x .@? "VpcId")
                 <*> (x .@? "DBClusterSnapshotIdentifier")
@@ -791,6 +840,7 @@
                 (x .@? "AvailabilityZones" .!@ mempty >>=
                    may (parseXMLList "AvailabilityZone"))
                 <*> (x .@? "SnapshotType")
+                <*> (x .@? "KmsKeyId")
                 <*> (x .@? "SnapshotCreateTime")
                 <*> (x .@? "AllocatedStorage")
                 <*> (x .@? "ClusterCreateTime")
@@ -916,9 +966,11 @@
     , _diAutoMinorVersionUpgrade               :: !(Maybe Bool)
     , _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)
@@ -935,6 +987,7 @@
     , _diDBSubnetGroup                         :: !(Maybe DBSubnetGroup)
     , _diMultiAZ                               :: !(Maybe Bool)
     , _diOptionGroupMemberships                :: !(Maybe [OptionGroupMembership])
+    , _diEnhancedMonitoringResourceARN         :: !(Maybe Text)
     , _diSecondaryAvailabilityZone             :: !(Maybe Text)
     , _diAllocatedStorage                      :: !(Maybe Int)
     , _diDBiResourceId                         :: !(Maybe Text)
@@ -970,12 +1023,16 @@
 --
 -- * 'diReadReplicaDBInstanceIdentifiers'
 --
+-- * 'diMonitoringRoleARN'
+--
 -- * 'diIOPS'
 --
 -- * 'diInstanceCreateTime'
 --
 -- * 'diReadReplicaSourceDBInstanceIdentifier'
 --
+-- * 'diMonitoringInterval'
+--
 -- * 'diEngine'
 --
 -- * 'diLatestRestorableTime'
@@ -1008,6 +1065,8 @@
 --
 -- * 'diOptionGroupMemberships'
 --
+-- * 'diEnhancedMonitoringResourceARN'
+--
 -- * 'diSecondaryAvailabilityZone'
 --
 -- * 'diAllocatedStorage'
@@ -1045,9 +1104,11 @@
     , _diAutoMinorVersionUpgrade = Nothing
     , _diMasterUsername = Nothing
     , _diReadReplicaDBInstanceIdentifiers = Nothing
+    , _diMonitoringRoleARN = Nothing
     , _diIOPS = Nothing
     , _diInstanceCreateTime = Nothing
     , _diReadReplicaSourceDBInstanceIdentifier = Nothing
+    , _diMonitoringInterval = Nothing
     , _diEngine = Nothing
     , _diLatestRestorableTime = Nothing
     , _diDBInstanceClass = Nothing
@@ -1064,6 +1125,7 @@
     , _diDBSubnetGroup = Nothing
     , _diMultiAZ = Nothing
     , _diOptionGroupMemberships = Nothing
+    , _diEnhancedMonitoringResourceARN = Nothing
     , _diSecondaryAvailabilityZone = Nothing
     , _diAllocatedStorage = Nothing
     , _diDBiResourceId = Nothing
@@ -1131,6 +1193,11 @@
 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});
@@ -1144,6 +1211,11 @@
 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)
@@ -1222,6 +1294,11 @@
 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)
@@ -1317,9 +1394,11 @@
                 (x .@? "ReadReplicaDBInstanceIdentifiers" .!@ mempty
                    >>=
                    may (parseXMLList "ReadReplicaDBInstanceIdentifier"))
+                <*> (x .@? "MonitoringRoleArn")
                 <*> (x .@? "Iops")
                 <*> (x .@? "InstanceCreateTime")
                 <*> (x .@? "ReadReplicaSourceDBInstanceIdentifier")
+                <*> (x .@? "MonitoringInterval")
                 <*> (x .@? "Engine")
                 <*> (x .@? "LatestRestorableTime")
                 <*> (x .@? "DBInstanceClass")
@@ -1340,6 +1419,7 @@
                 <*>
                 (x .@? "OptionGroupMemberships" .!@ mempty >>=
                    may (parseXMLList "OptionGroupMembership"))
+                <*> (x .@? "EnhancedMonitoringResourceArn")
                 <*> (x .@? "SecondaryAvailabilityZone")
                 <*> (x .@? "AllocatedStorage")
                 <*> (x .@? "DbiResourceId")
@@ -3197,17 +3277,18 @@
 --
 -- /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)
-    , _odioStorageType               :: !(Maybe Text)
+    { _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.
@@ -3234,6 +3315,8 @@
 --
 -- * 'odioVPC'
 --
+-- * 'odioSupportsEnhancedMonitoring'
+--
 -- * 'odioStorageType'
 orderableDBInstanceOption
     :: OrderableDBInstanceOption
@@ -3249,6 +3332,7 @@
     , _odioSupportsStorageEncryption = Nothing
     , _odioReadReplicaCapable = Nothing
     , _odioVPC = Nothing
+    , _odioSupportsEnhancedMonitoring = Nothing
     , _odioStorageType = Nothing
     }
 
@@ -3292,6 +3376,11 @@
 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});
@@ -3310,6 +3399,7 @@
                 <*> (x .@? "SupportsStorageEncryption")
                 <*> (x .@? "ReadReplicaCapable")
                 <*> (x .@? "Vpc")
+                <*> (x .@? "SupportsEnhancedMonitoring")
                 <*> (x .@? "StorageType")
 
 -- | This data type is used as a request parameter in the
diff --git a/gen/Network/AWS/RDS/Types/Sum.hs b/gen/Network/AWS/RDS/Types/Sum.hs
--- a/gen/Network/AWS/RDS/Types/Sum.hs
+++ b/gen/Network/AWS/RDS/Types/Sum.hs
@@ -22,7 +22,7 @@
 data ApplyMethod
     = Immediate
     | PendingReboot
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ApplyMethod where
     parser = takeLowerText >>= \case
@@ -51,7 +51,7 @@
     | DBParameterGroup
     | DBSecurityGroup
     | DBSnapshot
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText SourceType where
     parser = takeLowerText >>= \case
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
@@ -15,6 +15,7 @@
 --
 module Network.AWS.RDS.Waiters where
 
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.RDS.DescribeDBInstances
 import           Network.AWS.RDS.DescribeDBInstances
diff --git a/test/Test/AWS/RDS.hs b/test/Test/AWS/RDS.hs
--- a/test/Test/AWS/RDS.hs
+++ b/test/Test/AWS/RDS.hs
@@ -16,13 +16,12 @@
     , fixtures
     ) where
 
-import           Control.Lens
 import           Data.Time
+import           Network.AWS.Lens    ((&), (.~), (?~))
 import           Network.AWS.Prelude
 import           Network.AWS.RDS
 import           Test.AWS.Gen.RDS
 import           Test.AWS.Prelude
-import           Test.Tasty
 
 tests :: [TestTree]
 tests = []
