diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.5`
+`1.3.6`
 
 
 ## Description
@@ -22,15 +22,16 @@
 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, PostgreSQL,
-Microsoft SQL Server, Oracle, or Aurora database server. This means 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 Aurora database server.
+This means 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 is an interface reference for Amazon RDS. It contains documentation
 for a programming or command line interface you can use to manage Amazon
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.5
+version:               1.3.6
 synopsis:              Amazon Relational Database Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -22,15 +22,16 @@
     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, PostgreSQL,
-    Microsoft SQL Server, Oracle, or Aurora database server. This means 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 Aurora database server.
+    This means 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 is an interface reference for Amazon RDS. It contains documentation
     for a programming or command line interface you can use to manage Amazon
@@ -109,6 +110,7 @@
         , Network.AWS.RDS.DescribeDBParameterGroups
         , Network.AWS.RDS.DescribeDBParameters
         , Network.AWS.RDS.DescribeDBSecurityGroups
+        , Network.AWS.RDS.DescribeDBSnapshotAttributes
         , Network.AWS.RDS.DescribeDBSnapshots
         , Network.AWS.RDS.DescribeDBSubnetGroups
         , Network.AWS.RDS.DescribeEngineDefaultClusterParameters
@@ -129,6 +131,7 @@
         , Network.AWS.RDS.ModifyDBClusterParameterGroup
         , Network.AWS.RDS.ModifyDBInstance
         , Network.AWS.RDS.ModifyDBParameterGroup
+        , Network.AWS.RDS.ModifyDBSnapshotAttribute
         , Network.AWS.RDS.ModifyDBSubnetGroup
         , Network.AWS.RDS.ModifyEventSubscription
         , Network.AWS.RDS.ModifyOptionGroup
@@ -152,7 +155,7 @@
         , Network.AWS.RDS.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.5.*
+          amazonka-core == 1.3.6.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-rds-test
@@ -172,9 +175,9 @@
         , Test.AWS.RDS.Internal
 
     build-depends:
-          amazonka-core == 1.3.5.*
-        , amazonka-test == 1.3.5.*
-        , amazonka-rds == 1.3.5.*
+          amazonka-core == 1.3.6.*
+        , amazonka-test == 1.3.6.*
+        , amazonka-rds == 1.3.6.*
         , base
         , bytestring
         , lens
diff --git a/fixture/DescribeDBSnapshotAttributes.yaml b/fixture/DescribeDBSnapshotAttributes.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DescribeDBSnapshotAttributes.yaml
diff --git a/fixture/DescribeDBSnapshotAttributesResponse.proto b/fixture/DescribeDBSnapshotAttributesResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DescribeDBSnapshotAttributesResponse.proto
diff --git a/fixture/ModifyDBSnapshotAttribute.yaml b/fixture/ModifyDBSnapshotAttribute.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ModifyDBSnapshotAttribute.yaml
diff --git a/fixture/ModifyDBSnapshotAttributeResponse.proto b/fixture/ModifyDBSnapshotAttributeResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ModifyDBSnapshotAttributeResponse.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
@@ -20,15 +20,16 @@
 -- 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, PostgreSQL,
--- Microsoft SQL Server, Oracle, or Aurora database server. This means 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 Aurora database server.
+-- This means 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 is an interface reference for Amazon RDS. It contains documentation
 -- for a programming or command line interface you can use to manage Amazon
@@ -97,6 +98,9 @@
     -- ** InvalidSubnet
     , _InvalidSubnet
 
+    -- ** SharedSnapshotQuotaExceededFault
+    , _SharedSnapshotQuotaExceededFault
+
     -- ** DBSubnetQuotaExceededFault
     , _DBSubnetQuotaExceededFault
 
@@ -337,6 +341,9 @@
     -- ** DescribeEngineDefaultClusterParameters
     , module Network.AWS.RDS.DescribeEngineDefaultClusterParameters
 
+    -- ** DescribeDBSnapshotAttributes
+    , module Network.AWS.RDS.DescribeDBSnapshotAttributes
+
     -- ** RemoveTagsFromResource
     , module Network.AWS.RDS.RemoveTagsFromResource
 
@@ -379,6 +386,9 @@
     -- ** DescribeDBParameterGroups (Paginated)
     , module Network.AWS.RDS.DescribeDBParameterGroups
 
+    -- ** ModifyDBSnapshotAttribute
+    , module Network.AWS.RDS.ModifyDBSnapshotAttribute
+
     -- ** DeleteDBClusterSnapshot
     , module Network.AWS.RDS.DeleteDBClusterSnapshot
 
@@ -544,6 +554,7 @@
     , dcStatus
     , dcDBClusterIdentifier
     , dcDBClusterMembers
+    , dcHostedZoneId
     , dcDBClusterParameterGroup
     , dcMasterUsername
     , dcEarliestRestorableTime
@@ -732,6 +743,18 @@
     , dsPort
     , dsStorageType
 
+    -- ** DBSnapshotAttribute
+    , DBSnapshotAttribute
+    , dbSnapshotAttribute
+    , dsaAttributeValues
+    , dsaAttributeName
+
+    -- ** DBSnapshotAttributesResult
+    , DBSnapshotAttributesResult
+    , dbSnapshotAttributesResult
+    , dsarDBSnapshotIdentifier
+    , dsarDBSnapshotAttributes
+
     -- ** DBSubnetGroup
     , DBSubnetGroup
     , dbSubnetGroup
@@ -759,6 +782,7 @@
     -- ** Endpoint
     , Endpoint
     , endpoint
+    , eHostedZoneId
     , eAddress
     , ePort
 
@@ -1053,6 +1077,7 @@
 import           Network.AWS.RDS.DescribeDBParameterGroups
 import           Network.AWS.RDS.DescribeDBParameters
 import           Network.AWS.RDS.DescribeDBSecurityGroups
+import           Network.AWS.RDS.DescribeDBSnapshotAttributes
 import           Network.AWS.RDS.DescribeDBSnapshots
 import           Network.AWS.RDS.DescribeDBSubnetGroups
 import           Network.AWS.RDS.DescribeEngineDefaultClusterParameters
@@ -1073,6 +1098,7 @@
 import           Network.AWS.RDS.ModifyDBClusterParameterGroup
 import           Network.AWS.RDS.ModifyDBInstance
 import           Network.AWS.RDS.ModifyDBParameterGroup
+import           Network.AWS.RDS.ModifyDBSnapshotAttribute
 import           Network.AWS.RDS.ModifyDBSubnetGroup
 import           Network.AWS.RDS.ModifyEventSubscription
 import           Network.AWS.RDS.ModifyOptionGroup
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,12 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Copies the specified DBSnapshot. The source DBSnapshot must be in the
+-- Copies the specified DBSnapshot. 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.
+--
 -- /See:/ <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBSnapshot.html AWS API Reference> for CopyDBSnapshot.
 module Network.AWS.RDS.CopyDBSnapshot
     (
@@ -90,6 +93,9 @@
 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:
 --
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
@@ -207,15 +207,14 @@
 cdcPreferredBackupWindow :: Lens' CreateDBCluster (Maybe Text)
 cdcPreferredBackupWindow = lens _cdcPreferredBackupWindow (\ s a -> s{_cdcPreferredBackupWindow = 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.
+-- | 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 0 to 35
+-- -   Must be a value from 1 to 35
 cdcBackupRetentionPeriod :: Lens' CreateDBCluster (Maybe Int)
 cdcBackupRetentionPeriod = lens _cdcBackupRetentionPeriod (\ s a -> s{_cdcBackupRetentionPeriod = 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
@@ -239,6 +239,11 @@
 -- -   __Version 5.6 (Available in all regions):__
 --     ' 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22 | 5.6.23'
 --
+-- __MariaDB__
+--
+-- -   __Version 10.0 (Available in all regions except AWS GovCloud (US)
+--     Region (us-gov-west-1)):__ ' 10.0.17 '
+--
 -- __Oracle Database Enterprise Edition (oracle-ee)__
 --
 -- -   __Version 11.2 (Only available in the following regions:
@@ -282,25 +287,34 @@
 --
 -- __Microsoft SQL Server Enterprise Edition (sqlserver-ee)__
 --
--- -   __Version 10.50 (Only available in the following regions:
---     eu-central-1, us-west-1):__ ' 10.50.2789.0.v1'
--- -   __Version 11.00 (Only available in the following regions:
---     eu-central-1, us-west-1):__ ' 11.00.2100.60.v1'
+-- -   __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1'
+-- -   __Version 10.50 (Available in all regions):__ ' 10.50.6000.34.v1'
+-- -   __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1'
+-- -   __Version 11.00 (Available in all regions):__ ' 11.00.5058.0.v1'
 --
 -- __Microsoft SQL Server Express Edition (sqlserver-ex)__
 --
 -- -   __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1'
+-- -   __Version 10.50 (Available in all regions):__ ' 10.50.6000.34.v1'
 -- -   __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1'
+-- -   __Version 11.00 (Available in all regions):__ ' 11.00.5058.0.v1'
+-- -   __Version 12.00 (Available in all regions):__ ' 12.00.4422.0.v1'
 --
 -- __Microsoft SQL Server Standard Edition (sqlserver-se)__
 --
 -- -   __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1'
+-- -   __Version 10.50 (Available in all regions):__ ' 10.50.6000.34.v1'
 -- -   __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1'
+-- -   __Version 11.00 (Available in all regions):__ ' 11.00.5058.0.v1'
+-- -   __Version 12.00 (Available in all regions):__ ' 12.00.4422.0.v1'
 --
 -- __Microsoft SQL Server Web Edition (sqlserver-web)__
 --
 -- -   __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1'
+-- -   __Version 10.50 (Available in all regions):__ ' 10.50.6000.34.v1'
 -- -   __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1'
+-- -   __Version 11.00 (Available in all regions):__ ' 11.00.5058.0.v1'
+-- -   __Version 12.00 (Available in all regions):__ ' 12.00.4422.0.v1'
 cdiEngineVersion :: Lens' CreateDBInstance (Maybe Text)
 cdiEngineVersion = lens _cdiEngineVersion (\ s a -> s{_cdiEngineVersion = a});
 
@@ -333,6 +347,10 @@
 --
 -- 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.
@@ -389,6 +407,13 @@
 -- -   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__
@@ -468,7 +493,7 @@
 
 -- | The KMS key identifier for an encrypted DB instance.
 --
--- The KMS key identifier is the Amazon Resoure Name (ARN) for the KMS
+-- 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
@@ -565,6 +590,10 @@
 --
 -- 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.
@@ -614,6 +643,14 @@
 --
 -- Type: Integer
 --
+-- __MariaDB__
+--
+-- Default: '3306'
+--
+-- Valid Values: '1150-65535'
+--
+-- Type: Integer
+--
 -- __PostgreSQL__
 --
 -- Default: '5432'
@@ -673,6 +710,17 @@
 -- -   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
@@ -730,15 +778,15 @@
 -- | The compute and memory capacity of the DB instance.
 --
 -- Valid Values:
--- 'db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- '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' | 'oracle-se1' | 'oracle-se' | 'oracle-ee' |
--- 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web' |
--- 'postgres'
+-- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' |
+-- 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' |
+-- 'sqlserver-web' | 'postgres'
 --
 -- Not every database engine is available for every AWS region.
 cdiEngine :: Lens' CreateDBInstance Text
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
@@ -18,8 +18,8 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a DB instance for a DB instance running MySQL or PostgreSQL that
--- acts as a Read Replica of a source DB instance.
+-- 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
@@ -186,7 +186,7 @@
 -- | The compute and memory capacity of the Read Replica.
 --
 -- Valid Values:
--- 'db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- '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)
@@ -247,7 +247,8 @@
 --
 -- Constraints:
 --
--- -   Must be the identifier of an existing DB instance.
+-- -   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
diff --git a/gen/Network/AWS/RDS/DescribeDBSnapshotAttributes.hs b/gen/Network/AWS/RDS/DescribeDBSnapshotAttributes.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/RDS/DescribeDBSnapshotAttributes.hs
@@ -0,0 +1,134 @@
+{-# 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.DescribeDBSnapshotAttributes
+-- Copyright   : (c) 2013-2015 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- 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 the AWS account ids 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.
+--
+-- /See:/ <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshotAttributes.html AWS API Reference> for DescribeDBSnapshotAttributes.
+module Network.AWS.RDS.DescribeDBSnapshotAttributes
+    (
+    -- * Creating a Request
+      describeDBSnapshotAttributes
+    , DescribeDBSnapshotAttributes
+    -- * Request Lenses
+    , ddsaDBSnapshotIdentifier
+
+    -- * Destructuring the Response
+    , describeDBSnapshotAttributesResponse
+    , DescribeDBSnapshotAttributesResponse
+    -- * Response Lenses
+    , ddsarsDBSnapshotAttributesResult
+    , ddsarsResponseStatus
+    ) where
+
+import           Network.AWS.Prelude
+import           Network.AWS.RDS.Types
+import           Network.AWS.RDS.Types.Product
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'describeDBSnapshotAttributes' smart constructor.
+newtype DescribeDBSnapshotAttributes = DescribeDBSnapshotAttributes'
+    { _ddsaDBSnapshotIdentifier :: Maybe Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DescribeDBSnapshotAttributes' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ddsaDBSnapshotIdentifier'
+describeDBSnapshotAttributes
+    :: DescribeDBSnapshotAttributes
+describeDBSnapshotAttributes =
+    DescribeDBSnapshotAttributes'
+    { _ddsaDBSnapshotIdentifier = Nothing
+    }
+
+-- | The identifier for the DB snapshot to modify the attributes for.
+ddsaDBSnapshotIdentifier :: Lens' DescribeDBSnapshotAttributes (Maybe Text)
+ddsaDBSnapshotIdentifier = lens _ddsaDBSnapshotIdentifier (\ s a -> s{_ddsaDBSnapshotIdentifier = a});
+
+instance AWSRequest DescribeDBSnapshotAttributes
+         where
+        type Rs DescribeDBSnapshotAttributes =
+             DescribeDBSnapshotAttributesResponse
+        request = postQuery rDS
+        response
+          = receiveXMLWrapper
+              "DescribeDBSnapshotAttributesResult"
+              (\ s h x ->
+                 DescribeDBSnapshotAttributesResponse' <$>
+                   (x .@? "DBSnapshotAttributesResult") <*>
+                     (pure (fromEnum s)))
+
+instance ToHeaders DescribeDBSnapshotAttributes where
+        toHeaders = const mempty
+
+instance ToPath DescribeDBSnapshotAttributes where
+        toPath = const "/"
+
+instance ToQuery DescribeDBSnapshotAttributes where
+        toQuery DescribeDBSnapshotAttributes'{..}
+          = mconcat
+              ["Action" =:
+                 ("DescribeDBSnapshotAttributes" :: ByteString),
+               "Version" =: ("2014-10-31" :: ByteString),
+               "DBSnapshotIdentifier" =: _ddsaDBSnapshotIdentifier]
+
+-- | /See:/ 'describeDBSnapshotAttributesResponse' smart constructor.
+data DescribeDBSnapshotAttributesResponse = DescribeDBSnapshotAttributesResponse'
+    { _ddsarsDBSnapshotAttributesResult :: !(Maybe DBSnapshotAttributesResult)
+    , _ddsarsResponseStatus             :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'DescribeDBSnapshotAttributesResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ddsarsDBSnapshotAttributesResult'
+--
+-- * 'ddsarsResponseStatus'
+describeDBSnapshotAttributesResponse
+    :: Int -- ^ 'ddsarsResponseStatus'
+    -> DescribeDBSnapshotAttributesResponse
+describeDBSnapshotAttributesResponse pResponseStatus_ =
+    DescribeDBSnapshotAttributesResponse'
+    { _ddsarsDBSnapshotAttributesResult = Nothing
+    , _ddsarsResponseStatus = pResponseStatus_
+    }
+
+-- | Undocumented member.
+ddsarsDBSnapshotAttributesResult :: Lens' DescribeDBSnapshotAttributesResponse (Maybe DBSnapshotAttributesResult)
+ddsarsDBSnapshotAttributesResult = lens _ddsarsDBSnapshotAttributesResult (\ s a -> s{_ddsarsDBSnapshotAttributesResult = a});
+
+-- | 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
@@ -29,12 +29,14 @@
       describeDBSnapshots
     , DescribeDBSnapshots
     -- * Request Lenses
+    , ddsIncludeShared
     , ddsFilters
     , ddsDBSnapshotIdentifier
     , ddsSnapshotType
     , ddsDBInstanceIdentifier
     , ddsMarker
     , ddsMaxRecords
+    , ddsIncludePublic
 
     -- * Destructuring the Response
     , describeDBSnapshotsResponse
@@ -56,18 +58,22 @@
 --
 -- /See:/ 'describeDBSnapshots' smart constructor.
 data DescribeDBSnapshots = DescribeDBSnapshots'
-    { _ddsFilters              :: !(Maybe [Filter])
+    { _ddsIncludeShared        :: !(Maybe Bool)
+    , _ddsFilters              :: !(Maybe [Filter])
     , _ddsDBSnapshotIdentifier :: !(Maybe Text)
     , _ddsSnapshotType         :: !(Maybe Text)
     , _ddsDBInstanceIdentifier :: !(Maybe Text)
     , _ddsMarker               :: !(Maybe Text)
     , _ddsMaxRecords           :: !(Maybe Int)
+    , _ddsIncludePublic        :: !(Maybe Bool)
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeDBSnapshots' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
+-- * 'ddsIncludeShared'
+--
 -- * 'ddsFilters'
 --
 -- * 'ddsDBSnapshotIdentifier'
@@ -79,18 +85,31 @@
 -- * 'ddsMarker'
 --
 -- * 'ddsMaxRecords'
+--
+-- * 'ddsIncludePublic'
 describeDBSnapshots
     :: DescribeDBSnapshots
 describeDBSnapshots =
     DescribeDBSnapshots'
-    { _ddsFilters = Nothing
+    { _ddsIncludeShared = Nothing
+    , _ddsFilters = Nothing
     , _ddsDBSnapshotIdentifier = Nothing
     , _ddsSnapshotType = Nothing
     , _ddsDBInstanceIdentifier = Nothing
     , _ddsMarker = Nothing
     , _ddsMaxRecords = Nothing
+    , _ddsIncludePublic = Nothing
     }
 
+-- | True to include shared manual DB snapshots from other AWS accounts that
+-- this AWS account has been given permission to copy or restore; otherwise
+-- false. The default is false.
+--
+-- An AWS account is given permission to restore a manual DB snapshot from
+-- another AWS account by the ModifyDBSnapshotAttribute API.
+ddsIncludeShared :: Lens' DescribeDBSnapshots (Maybe Bool)
+ddsIncludeShared = lens _ddsIncludeShared (\ s a -> s{_ddsIncludeShared = a});
+
 -- | This parameter is not currently supported.
 ddsFilters :: Lens' DescribeDBSnapshots [Filter]
 ddsFilters = lens _ddsFilters (\ s a -> s{_ddsFilters = a}) . _Default . _Coerce;
@@ -109,9 +128,28 @@
 ddsDBSnapshotIdentifier :: Lens' DescribeDBSnapshots (Maybe Text)
 ddsDBSnapshotIdentifier = lens _ddsDBSnapshotIdentifier (\ s a -> s{_ddsDBSnapshotIdentifier = a});
 
--- | The type of snapshots that will be returned. Values can be \"automated\"
--- or \"manual.\" If not specified, the returned results will include all
--- snapshots types.
+-- | The type of snapshots that will 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 do not specify a 'SnapshotType', then both automated and manual
+-- snapshots are returned. 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 do not apply for
+-- 'SnapshotType' values of 'manual' or 'automated'. The 'IncludePublic'
+-- paramter 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)
 ddsSnapshotType = lens _ddsSnapshotType (\ s a -> s{_ddsSnapshotType = a});
 
@@ -145,6 +183,14 @@
 ddsMaxRecords :: Lens' DescribeDBSnapshots (Maybe Int)
 ddsMaxRecords = lens _ddsMaxRecords (\ s a -> s{_ddsMaxRecords = a});
 
+-- | True to include manual DB snapshots that are public and can be copied or
+-- restored by any AWS account; otherwise false. The default is false.
+--
+-- An manual DB snapshot is shared as public by the
+-- ModifyDBSnapshotAttribute API.
+ddsIncludePublic :: Lens' DescribeDBSnapshots (Maybe Bool)
+ddsIncludePublic = lens _ddsIncludePublic (\ s a -> s{_ddsIncludePublic = a});
+
 instance AWSPager DescribeDBSnapshots where
         page rq rs
           | stop (rs ^. ddsrsMarker) = Nothing
@@ -176,13 +222,15 @@
           = mconcat
               ["Action" =: ("DescribeDBSnapshots" :: ByteString),
                "Version" =: ("2014-10-31" :: ByteString),
+               "IncludeShared" =: _ddsIncludeShared,
                "Filters" =:
                  toQuery (toQueryList "Filter" <$> _ddsFilters),
                "DBSnapshotIdentifier" =: _ddsDBSnapshotIdentifier,
                "SnapshotType" =: _ddsSnapshotType,
                "DBInstanceIdentifier" =: _ddsDBInstanceIdentifier,
                "Marker" =: _ddsMarker,
-               "MaxRecords" =: _ddsMaxRecords]
+               "MaxRecords" =: _ddsMaxRecords,
+               "IncludePublic" =: _ddsIncludePublic]
 
 -- | Contains the result of a successful invocation of the
 -- DescribeDBSnapshots action.
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
@@ -160,15 +160,14 @@
 mdcPreferredBackupWindow :: Lens' ModifyDBCluster (Maybe Text)
 mdcPreferredBackupWindow = lens _mdcPreferredBackupWindow (\ s a -> s{_mdcPreferredBackupWindow = 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.
+-- | 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 0 to 35
+-- -   Must be a value from 1 to 35
 mdcBackupRetentionPeriod :: Lens' ModifyDBCluster (Maybe Int)
 mdcBackupRetentionPeriod = lens _mdcBackupRetentionPeriod (\ s a -> s{_mdcBackupRetentionPeriod = 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
@@ -32,6 +32,7 @@
     , mdiEngineVersion
     , mdiDBSecurityGroups
     , mdiMasterUserPassword
+    , mdiPubliclyAccessible
     , mdiAutoMinorVersionUpgrade
     , mdiIOPS
     , mdiAllowMajorVersionUpgrade
@@ -74,6 +75,7 @@
     { _mdiEngineVersion              :: !(Maybe Text)
     , _mdiDBSecurityGroups           :: !(Maybe [Text])
     , _mdiMasterUserPassword         :: !(Maybe Text)
+    , _mdiPubliclyAccessible         :: !(Maybe Bool)
     , _mdiAutoMinorVersionUpgrade    :: !(Maybe Bool)
     , _mdiIOPS                       :: !(Maybe Int)
     , _mdiAllowMajorVersionUpgrade   :: !(Maybe Bool)
@@ -106,6 +108,8 @@
 --
 -- * 'mdiMasterUserPassword'
 --
+-- * 'mdiPubliclyAccessible'
+--
 -- * 'mdiAutoMinorVersionUpgrade'
 --
 -- * 'mdiIOPS'
@@ -153,6 +157,7 @@
     { _mdiEngineVersion = Nothing
     , _mdiDBSecurityGroups = Nothing
     , _mdiMasterUserPassword = Nothing
+    , _mdiPubliclyAccessible = Nothing
     , _mdiAutoMinorVersionUpgrade = Nothing
     , _mdiIOPS = Nothing
     , _mdiAllowMajorVersionUpgrade = Nothing
@@ -212,9 +217,9 @@
 --
 -- Default: Uses existing setting
 --
--- Constraints: Must be 8 to 41 alphanumeric characters (MySQL and Amazon
--- Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128
--- alphanumeric characters (SQL Server).
+-- 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
@@ -223,6 +228,21 @@
 mdiMasterUserPassword :: Lens' ModifyDBInstance (Maybe Text)
 mdiMasterUserPassword = lens _mdiMasterUserPassword (\ s a -> s{_mdiMasterUserPassword = a});
 
+-- | True to make the DB instance Internet-facing with a publicly resolvable
+-- DNS name, which resolves to a public IP address. 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
@@ -311,7 +331,7 @@
 -- Default: Uses existing setting
 --
 -- Valid Values:
--- 'db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- '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});
 
@@ -433,6 +453,19 @@
 --
 -- 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
@@ -571,6 +604,7 @@
                    (toQueryList "DBSecurityGroupName" <$>
                       _mdiDBSecurityGroups),
                "MasterUserPassword" =: _mdiMasterUserPassword,
+               "PubliclyAccessible" =: _mdiPubliclyAccessible,
                "AutoMinorVersionUpgrade" =:
                  _mdiAutoMinorVersionUpgrade,
                "Iops" =: _mdiIOPS,
diff --git a/gen/Network/AWS/RDS/ModifyDBSnapshotAttribute.hs b/gen/Network/AWS/RDS/ModifyDBSnapshotAttribute.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/RDS/ModifyDBSnapshotAttribute.hs
@@ -0,0 +1,189 @@
+{-# 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.ModifyDBSnapshotAttribute
+-- Copyright   : (c) 2013-2015 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Adds an attribute and values to, or removes an attibute 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 the AWS account ids that are authorized to retore the manual DB
+-- snapshot. Uses the value 'all' to make the manual DB snapshot public and
+-- can by copied or restored by all AWS accounts. Do not add the 'all'
+-- value for any manual DB snapshots that contain private information that
+-- you do not want to be 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.
+--
+-- If the manual DB snapshot is encrypted, it cannot be shared.
+--
+-- /See:/ <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBSnapshotAttribute.html AWS API Reference> for ModifyDBSnapshotAttribute.
+module Network.AWS.RDS.ModifyDBSnapshotAttribute
+    (
+    -- * Creating a Request
+      modifyDBSnapshotAttribute
+    , ModifyDBSnapshotAttribute
+    -- * Request Lenses
+    , mdsaValuesToAdd
+    , mdsaValuesToRemove
+    , mdsaAttributeName
+    , mdsaDBSnapshotIdentifier
+
+    -- * Destructuring the Response
+    , modifyDBSnapshotAttributeResponse
+    , ModifyDBSnapshotAttributeResponse
+    -- * Response Lenses
+    , mdsarsDBSnapshotAttributesResult
+    , mdsarsResponseStatus
+    ) where
+
+import           Network.AWS.Prelude
+import           Network.AWS.RDS.Types
+import           Network.AWS.RDS.Types.Product
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'modifyDBSnapshotAttribute' smart constructor.
+data ModifyDBSnapshotAttribute = ModifyDBSnapshotAttribute'
+    { _mdsaValuesToAdd          :: !(Maybe [Text])
+    , _mdsaValuesToRemove       :: !(Maybe [Text])
+    , _mdsaAttributeName        :: !(Maybe Text)
+    , _mdsaDBSnapshotIdentifier :: !Text
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ModifyDBSnapshotAttribute' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'mdsaValuesToAdd'
+--
+-- * 'mdsaValuesToRemove'
+--
+-- * 'mdsaAttributeName'
+--
+-- * 'mdsaDBSnapshotIdentifier'
+modifyDBSnapshotAttribute
+    :: Text -- ^ 'mdsaDBSnapshotIdentifier'
+    -> ModifyDBSnapshotAttribute
+modifyDBSnapshotAttribute pDBSnapshotIdentifier_ =
+    ModifyDBSnapshotAttribute'
+    { _mdsaValuesToAdd = Nothing
+    , _mdsaValuesToRemove = Nothing
+    , _mdsaAttributeName = Nothing
+    , _mdsaDBSnapshotIdentifier = pDBSnapshotIdentifier_
+    }
+
+-- | 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,
+-- this is one or more AWS account identifiers, 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 do
+-- not want to be 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, this is 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', AWS accounts that have their account
+-- identifier 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;
+
+-- | The name of the DB snapshot attribute to modify.
+--
+-- To manage authorization for other AWS accounts to copy or restore a
+-- manual DB snapshot, this value is 'restore'.
+mdsaAttributeName :: Lens' ModifyDBSnapshotAttribute (Maybe Text)
+mdsaAttributeName = lens _mdsaAttributeName (\ s a -> s{_mdsaAttributeName = a});
+
+-- | The identifier for the DB snapshot to modify the attributes for.
+mdsaDBSnapshotIdentifier :: Lens' ModifyDBSnapshotAttribute Text
+mdsaDBSnapshotIdentifier = lens _mdsaDBSnapshotIdentifier (\ s a -> s{_mdsaDBSnapshotIdentifier = a});
+
+instance AWSRequest ModifyDBSnapshotAttribute where
+        type Rs ModifyDBSnapshotAttribute =
+             ModifyDBSnapshotAttributeResponse
+        request = postQuery rDS
+        response
+          = receiveXMLWrapper "ModifyDBSnapshotAttributeResult"
+              (\ s h x ->
+                 ModifyDBSnapshotAttributeResponse' <$>
+                   (x .@? "DBSnapshotAttributesResult") <*>
+                     (pure (fromEnum s)))
+
+instance ToHeaders ModifyDBSnapshotAttribute where
+        toHeaders = const mempty
+
+instance ToPath ModifyDBSnapshotAttribute where
+        toPath = const "/"
+
+instance ToQuery ModifyDBSnapshotAttribute where
+        toQuery ModifyDBSnapshotAttribute'{..}
+          = mconcat
+              ["Action" =:
+                 ("ModifyDBSnapshotAttribute" :: ByteString),
+               "Version" =: ("2014-10-31" :: ByteString),
+               "ValuesToAdd" =:
+                 toQuery
+                   (toQueryList "AttributeValue" <$> _mdsaValuesToAdd),
+               "ValuesToRemove" =:
+                 toQuery
+                   (toQueryList "AttributeValue" <$>
+                      _mdsaValuesToRemove),
+               "AttributeName" =: _mdsaAttributeName,
+               "DBSnapshotIdentifier" =: _mdsaDBSnapshotIdentifier]
+
+-- | /See:/ 'modifyDBSnapshotAttributeResponse' smart constructor.
+data ModifyDBSnapshotAttributeResponse = ModifyDBSnapshotAttributeResponse'
+    { _mdsarsDBSnapshotAttributesResult :: !(Maybe DBSnapshotAttributesResult)
+    , _mdsarsResponseStatus             :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ModifyDBSnapshotAttributeResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'mdsarsDBSnapshotAttributesResult'
+--
+-- * 'mdsarsResponseStatus'
+modifyDBSnapshotAttributeResponse
+    :: Int -- ^ 'mdsarsResponseStatus'
+    -> ModifyDBSnapshotAttributeResponse
+modifyDBSnapshotAttributeResponse pResponseStatus_ =
+    ModifyDBSnapshotAttributeResponse'
+    { _mdsarsDBSnapshotAttributesResult = Nothing
+    , _mdsarsResponseStatus = pResponseStatus_
+    }
+
+-- | Undocumented member.
+mdsarsDBSnapshotAttributesResult :: Lens' ModifyDBSnapshotAttributeResponse (Maybe DBSnapshotAttributesResult)
+mdsarsDBSnapshotAttributesResult = lens _mdsarsDBSnapshotAttributesResult (\ s a -> s{_mdsarsDBSnapshotAttributesResult = a});
+
+-- | The response status code.
+mdsarsResponseStatus :: Lens' ModifyDBSnapshotAttributeResponse Int
+mdsarsResponseStatus = lens _mdsarsResponseStatus (\ s a -> s{_mdsarsResponseStatus = a});
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
@@ -99,6 +99,14 @@
 -- 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'
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
@@ -38,6 +38,9 @@
 -- 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.
+--
 -- /See:/ <http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html AWS API Reference> for RestoreDBInstanceFromDBSnapshot.
 module Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot
     (
@@ -224,9 +227,9 @@
 --
 -- Constraint: Must be compatible with the engine of the source
 --
--- Valid Values: 'MySQL' | 'oracle-se1' | 'oracle-se' | 'oracle-ee' |
--- 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web' |
--- 'postgres'
+-- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' |
+-- 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' |
+-- 'sqlserver-web' | 'postgres'
 rdifdsEngine :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsEngine = lens _rdifdsEngine (\ s a -> s{_rdifdsEngine = a});
 
@@ -238,7 +241,7 @@
 -- | The compute and memory capacity of the Amazon RDS DB instance.
 --
 -- Valid Values:
--- 'db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- '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});
 
@@ -314,7 +317,7 @@
 
 -- | The database name for the restored DB instance.
 --
--- This parameter doesn\'t apply to the MySQL engine.
+-- This parameter doesn\'t apply to the MySQL or MariaDB engines.
 rdifdsDBName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)
 rdifdsDBName = lens _rdifdsDBName (\ s a -> s{_rdifdsDBName = a});
 
@@ -339,6 +342,9 @@
 -- -   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});
 
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
@@ -244,9 +244,9 @@
 --
 -- Constraint: Must be compatible with the engine of the source
 --
--- Valid Values: 'MySQL' | 'oracle-se1' | 'oracle-se' | 'oracle-ee' |
--- 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web' |
--- 'postgres'
+-- Valid Values: 'MySQL' | 'mariadb' | 'oracle-se1' | 'oracle-se' |
+-- 'oracle-ee' | 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' |
+-- 'sqlserver-web' | 'postgres'
 rditpitEngine :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitEngine = lens _rditpitEngine (\ s a -> s{_rditpitEngine = a});
 
@@ -258,7 +258,7 @@
 -- | The compute and memory capacity of the Amazon RDS DB instance.
 --
 -- Valid Values:
--- 'db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large'
+-- '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)
@@ -336,7 +336,7 @@
 
 -- | The database name for the restored DB instance.
 --
--- This parameter is not used for the MySQL engine.
+-- This parameter is not used for the MySQL or MariaDB engines.
 rditpitDBName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)
 rditpitDBName = lens _rditpitDBName (\ s a -> s{_rditpitDBName = 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
@@ -32,6 +32,7 @@
     , _SubscriptionCategoryNotFoundFault
     , _SubscriptionNotFoundFault
     , _InvalidSubnet
+    , _SharedSnapshotQuotaExceededFault
     , _DBSubnetQuotaExceededFault
     , _OptionGroupNotFoundFault
     , _DBClusterNotFoundFault
@@ -127,6 +128,7 @@
     , dcStatus
     , dcDBClusterIdentifier
     , dcDBClusterMembers
+    , dcHostedZoneId
     , dcDBClusterParameterGroup
     , dcMasterUsername
     , dcEarliestRestorableTime
@@ -315,6 +317,18 @@
     , dsPort
     , dsStorageType
 
+    -- * DBSnapshotAttribute
+    , DBSnapshotAttribute
+    , dbSnapshotAttribute
+    , dsaAttributeValues
+    , dsaAttributeName
+
+    -- * DBSnapshotAttributesResult
+    , DBSnapshotAttributesResult
+    , dbSnapshotAttributesResult
+    , dsarDBSnapshotIdentifier
+    , dsarDBSnapshotAttributes
+
     -- * DBSubnetGroup
     , DBSubnetGroup
     , dbSubnetGroup
@@ -342,6 +356,7 @@
     -- * Endpoint
     , Endpoint
     , endpoint
+    , eHostedZoneId
     , eAddress
     , ePort
 
@@ -715,6 +730,12 @@
 -- 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 account ids 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.
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
@@ -214,6 +214,7 @@
     , _dcStatus                          :: !(Maybe Text)
     , _dcDBClusterIdentifier             :: !(Maybe Text)
     , _dcDBClusterMembers                :: !(Maybe [DBClusterMember])
+    , _dcHostedZoneId                    :: !(Maybe Text)
     , _dcDBClusterParameterGroup         :: !(Maybe Text)
     , _dcMasterUsername                  :: !(Maybe Text)
     , _dcEarliestRestorableTime          :: !(Maybe ISO8601)
@@ -246,6 +247,8 @@
 --
 -- * 'dcDBClusterMembers'
 --
+-- * 'dcHostedZoneId'
+--
 -- * 'dcDBClusterParameterGroup'
 --
 -- * 'dcMasterUsername'
@@ -289,6 +292,7 @@
     , _dcStatus = Nothing
     , _dcDBClusterIdentifier = Nothing
     , _dcDBClusterMembers = Nothing
+    , _dcHostedZoneId = Nothing
     , _dcDBClusterParameterGroup = Nothing
     , _dcMasterUsername = Nothing
     , _dcEarliestRestorableTime = Nothing
@@ -326,6 +330,11 @@
 dcDBClusterMembers :: Lens' DBCluster [DBClusterMember]
 dcDBClusterMembers = lens _dcDBClusterMembers (\ s a -> s{_dcDBClusterMembers = a}) . _Default . _Coerce;
 
+-- | 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});
@@ -419,6 +428,7 @@
                 <*>
                 (x .@? "DBClusterMembers" .!@ mempty >>=
                    may (parseXMLList "DBClusterMember"))
+                <*> (x .@? "HostedZoneId")
                 <*> (x .@? "DBClusterParameterGroup")
                 <*> (x .@? "MasterUsername")
                 <*> (x .@? "EarliestRestorableTime")
@@ -1272,11 +1282,11 @@
 diStatusInfos = lens _diStatusInfos (\ s a -> s{_diStatusInfos = a}) . _Default . _Coerce;
 
 -- | The meaning of this parameter differs according to the database engine
--- you use. For example, this value returns either MySQL or PostgreSQL
+-- you use. For example, this value returns MySQL, MariaDB, or PostgreSQL
 -- information when returning values from CreateDBInstanceReadReplica since
--- Read Replicas are only supported for MySQL and PostgreSQL.
+-- Read Replicas are only supported for these engines.
 --
--- __MySQL, SQL Server, PostgreSQL, Amazon Aurora__
+-- __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
@@ -1896,6 +1906,100 @@
                 <*> (x .@? "Port")
                 <*> (x .@? "StorageType")
 
+-- | 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(s) for the manual DB snapshot attribute.
+--
+-- If the 'AttributeName' field is 'restore', then this field returns a
+-- list of AWS account ids 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.
+--
+-- An attribute name of 'restore' applies to the list of AWS accounts that
+-- have permission to copy or restore the manual DB snapshot.
+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")
+
+-- | Contains the results of a successful call to the
+-- DescribeDBSnapshotAttributes API.
+--
+-- 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.
+--
+-- /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"))
+
 -- | Contains the result of a successful invocation of the following actions:
 --
 -- -   CreateDBSubnetGroup
@@ -2082,14 +2186,17 @@
 --
 -- /See:/ 'endpoint' smart constructor.
 data Endpoint = Endpoint'
-    { _eAddress :: !(Maybe Text)
-    , _ePort    :: !(Maybe Int)
+    { _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'
@@ -2097,10 +2204,16 @@
     :: Endpoint
 endpoint =
     Endpoint'
-    { _eAddress = Nothing
+    { _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});
@@ -2111,7 +2224,9 @@
 
 instance FromXML Endpoint where
         parseXML x
-          = Endpoint' <$> (x .@? "Address") <*> (x .@? "Port")
+          = Endpoint' <$>
+              (x .@? "HostedZoneId") <*> (x .@? "Address") <*>
+                (x .@? "Port")
 
 -- | Contains the result of a successful invocation of the
 -- DescribeEngineDefaultParameters action.
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
@@ -50,6 +50,7 @@
     | DBInstance
     | DBParameterGroup
     | DBSecurityGroup
+    | DBSnapshot
     deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
 
 instance FromText SourceType where
@@ -59,8 +60,9 @@
         "db-instance" -> pure DBInstance
         "db-parameter-group" -> pure DBParameterGroup
         "db-security-group" -> pure DBSecurityGroup
+        "db-snapshot" -> pure DBSnapshot
         e -> fromTextError $ "Failure parsing SourceType from value: '" <> e
-           <> "'. Accepted values: db-cluster, db-cluster-snapshot, db-instance, db-parameter-group, db-security-group"
+           <> "'. Accepted values: db-cluster, db-cluster-snapshot, db-instance, db-parameter-group, db-security-group, db-snapshot"
 
 instance ToText SourceType where
     toText = \case
@@ -69,6 +71,7 @@
         DBInstance -> "db-instance"
         DBParameterGroup -> "db-parameter-group"
         DBSecurityGroup -> "db-security-group"
+        DBSnapshot -> "db-snapshot"
 
 instance Hashable     SourceType
 instance ToByteString SourceType
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
@@ -91,6 +91,9 @@
 --         , testDescribeEngineDefaultClusterParameters $
 --             describeEngineDefaultClusterParameters
 --
+--         , testDescribeDBSnapshotAttributes $
+--             describeDBSnapshotAttributes
+--
 --         , testRemoveTagsFromResource $
 --             removeTagsFromResource
 --
@@ -133,6 +136,9 @@
 --         , testDescribeDBParameterGroups $
 --             describeDBParameterGroups
 --
+--         , testModifyDBSnapshotAttribute $
+--             modifyDBSnapshotAttribute
+--
 --         , testDeleteDBClusterSnapshot $
 --             deleteDBClusterSnapshot
 --
@@ -322,6 +328,9 @@
 --         , testDescribeEngineDefaultClusterParametersResponse $
 --             describeEngineDefaultClusterParametersResponse
 --
+--         , testDescribeDBSnapshotAttributesResponse $
+--             describeDBSnapshotAttributesResponse
+--
 --         , testRemoveTagsFromResourceResponse $
 --             removeTagsFromResourceResponse
 --
@@ -364,6 +373,9 @@
 --         , testDescribeDBParameterGroupsResponse $
 --             describeDBParameterGroupsResponse
 --
+--         , testModifyDBSnapshotAttributeResponse $
+--             modifyDBSnapshotAttributeResponse
+--
 --         , testDeleteDBClusterSnapshotResponse $
 --             deleteDBClusterSnapshotResponse
 --
@@ -597,6 +609,11 @@
     "DescribeEngineDefaultClusterParameters"
     "fixture/DescribeEngineDefaultClusterParameters.yaml"
 
+testDescribeDBSnapshotAttributes :: DescribeDBSnapshotAttributes -> TestTree
+testDescribeDBSnapshotAttributes = req
+    "DescribeDBSnapshotAttributes"
+    "fixture/DescribeDBSnapshotAttributes.yaml"
+
 testRemoveTagsFromResource :: RemoveTagsFromResource -> TestTree
 testRemoveTagsFromResource = req
     "RemoveTagsFromResource"
@@ -667,6 +684,11 @@
     "DescribeDBParameterGroups"
     "fixture/DescribeDBParameterGroups.yaml"
 
+testModifyDBSnapshotAttribute :: ModifyDBSnapshotAttribute -> TestTree
+testModifyDBSnapshotAttribute = req
+    "ModifyDBSnapshotAttribute"
+    "fixture/ModifyDBSnapshotAttribute.yaml"
+
 testDeleteDBClusterSnapshot :: DeleteDBClusterSnapshot -> TestTree
 testDeleteDBClusterSnapshot = req
     "DeleteDBClusterSnapshot"
@@ -1021,6 +1043,13 @@
     rDS
     (Proxy :: Proxy DescribeEngineDefaultClusterParameters)
 
+testDescribeDBSnapshotAttributesResponse :: DescribeDBSnapshotAttributesResponse -> TestTree
+testDescribeDBSnapshotAttributesResponse = res
+    "DescribeDBSnapshotAttributesResponse"
+    "fixture/DescribeDBSnapshotAttributesResponse.proto"
+    rDS
+    (Proxy :: Proxy DescribeDBSnapshotAttributes)
+
 testRemoveTagsFromResourceResponse :: RemoveTagsFromResourceResponse -> TestTree
 testRemoveTagsFromResourceResponse = res
     "RemoveTagsFromResourceResponse"
@@ -1118,6 +1147,13 @@
     "fixture/DescribeDBParameterGroupsResponse.proto"
     rDS
     (Proxy :: Proxy DescribeDBParameterGroups)
+
+testModifyDBSnapshotAttributeResponse :: ModifyDBSnapshotAttributeResponse -> TestTree
+testModifyDBSnapshotAttributeResponse = res
+    "ModifyDBSnapshotAttributeResponse"
+    "fixture/ModifyDBSnapshotAttributeResponse.proto"
+    rDS
+    (Proxy :: Proxy ModifyDBSnapshotAttribute)
 
 testDeleteDBClusterSnapshotResponse :: DeleteDBClusterSnapshotResponse -> TestTree
 testDeleteDBClusterSnapshotResponse = res
