diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,14 +8,12 @@
 
 ## Version
 
-`1.3.6`
+`1.3.7`
 
 
 ## Description
 
-AWS IoT (Beta)
-
-__AWS IoT is in beta and is subject to change__
+AWS IoT
 
 AWS IoT provides secure, bi-directional communication between
 Internet-connected things (such as sensors, actuators, embedded devices,
diff --git a/amazonka-iot.cabal b/amazonka-iot.cabal
--- a/amazonka-iot.cabal
+++ b/amazonka-iot.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-iot
-version:               1.3.6
+version:               1.3.7
 synopsis:              Amazon IoT SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -13,9 +13,7 @@
 cabal-version:         >= 1.10
 extra-source-files:    README.md fixture/*.yaml fixture/*.proto
 description:
-    AWS IoT (Beta)
-
-    __AWS IoT is in beta and is subject to change__
+    AWS IoT
 
     AWS IoT provides secure, bi-directional communication between
     Internet-connected things (such as sensors, actuators, embedded devices,
@@ -101,7 +99,7 @@
         , Network.AWS.IoT.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.6.*
+          amazonka-core == 1.3.7.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-iot-test
@@ -121,12 +119,11 @@
         , Test.AWS.IoT.Internal
 
     build-depends:
-          amazonka-core == 1.3.6.*
-        , amazonka-test == 1.3.6.*
-        , amazonka-iot == 1.3.6.*
+          amazonka-core == 1.3.7.*
+        , amazonka-test == 1.3.7.*
+        , amazonka-iot == 1.3.7.*
         , base
         , bytestring
-        , lens
         , tasty
         , tasty-hunit
         , text
diff --git a/gen/Network/AWS/IoT.hs b/gen/Network/AWS/IoT.hs
--- a/gen/Network/AWS/IoT.hs
+++ b/gen/Network/AWS/IoT.hs
@@ -11,9 +11,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- AWS IoT (Beta)
---
--- __AWS IoT is in beta and is subject to change__
+-- AWS IoT
 --
 -- AWS IoT provides secure, bi-directional communication between
 -- Internet-connected things (such as sensors, actuators, embedded devices,
diff --git a/gen/Network/AWS/IoT/AcceptCertificateTransfer.hs b/gen/Network/AWS/IoT/AcceptCertificateTransfer.hs
--- a/gen/Network/AWS/IoT/AcceptCertificateTransfer.hs
+++ b/gen/Network/AWS/IoT/AcceptCertificateTransfer.hs
@@ -41,6 +41,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/AttachPrincipalPolicy.hs b/gen/Network/AWS/IoT/AttachPrincipalPolicy.hs
--- a/gen/Network/AWS/IoT/AttachPrincipalPolicy.hs
+++ b/gen/Network/AWS/IoT/AttachPrincipalPolicy.hs
@@ -38,6 +38,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/AttachThingPrincipal.hs b/gen/Network/AWS/IoT/AttachThingPrincipal.hs
--- a/gen/Network/AWS/IoT/AttachThingPrincipal.hs
+++ b/gen/Network/AWS/IoT/AttachThingPrincipal.hs
@@ -39,6 +39,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/CancelCertificateTransfer.hs b/gen/Network/AWS/IoT/CancelCertificateTransfer.hs
--- a/gen/Network/AWS/IoT/CancelCertificateTransfer.hs
+++ b/gen/Network/AWS/IoT/CancelCertificateTransfer.hs
@@ -46,6 +46,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/CreateCertificateFromCsr.hs b/gen/Network/AWS/IoT/CreateCertificateFromCsr.hs
--- a/gen/Network/AWS/IoT/CreateCertificateFromCsr.hs
+++ b/gen/Network/AWS/IoT/CreateCertificateFromCsr.hs
@@ -24,6 +24,46 @@
 -- __Note__ Reusing the same certificate signing request (CSR) results in a
 -- distinct certificate.
 --
+-- You can create multiple certificates in a batch by creating a directory
+-- and copying multiple .csr files into that directory and specifying that
+-- directory on the command line. The following commands show how to create
+-- a batch of certificates given a batch of CSRs.
+--
+-- Assuming a set of CSRs are located inside of the directory
+-- my-csr-directory:
+--
+-- >
+--
+-- On Linux and OSX, the command is:
+--
+-- $ ls my-csr-directory\/ | xargs -I {} aws iot
+-- create-certificate-from-csr --certificate-signing-request
+-- file:\/\/my-csr-directory\/{}
+--
+-- This command lists all of the CSRs in my-csr-directory and pipes each
+-- CSR filename to the aws iot create-certificate-from-csr AWS CLI command
+-- to create a certificate for the corresponding CSR.
+--
+-- The aws iot create-certificate-from-csr part of the command can also be
+-- run in parallel to speed up the certificate creation process:
+--
+-- $ ls my-csr-directory\/ | xargs -P 10 -I {} aws iot
+-- create-certificate-from-csr --certificate-signing-request
+-- file:\/\/my-csr-directory\/{}
+--
+-- On Windows PowerShell, the command to create certificates for all CSRs
+-- in my-csr-directory is:
+--
+-- > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr
+-- --certificate-signing-request file:\/\/my-csr-directory\/$_}
+--
+-- On Windows Command Prompt, the command to create certificates for all
+-- CSRs in my-csr-directory is:
+--
+-- > forfiles \/p my-csr-directory \/c \"cmd \/c aws iot
+-- create-certificate-from-csr --certificate-signing-request
+-- file:\/\/\'path\"
+--
 -- /See:/ <https://aws.amazon.com/iot#CreateCertificateFromCsr.html AWS API Reference> for CreateCertificateFromCsr.
 module Network.AWS.IoT.CreateCertificateFromCsr
     (
@@ -46,6 +86,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/CreateKeysAndCertificate.hs b/gen/Network/AWS/IoT/CreateKeysAndCertificate.hs
--- a/gen/Network/AWS/IoT/CreateKeysAndCertificate.hs
+++ b/gen/Network/AWS/IoT/CreateKeysAndCertificate.hs
@@ -46,6 +46,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/CreatePolicy.hs b/gen/Network/AWS/IoT/CreatePolicy.hs
--- a/gen/Network/AWS/IoT/CreatePolicy.hs
+++ b/gen/Network/AWS/IoT/CreatePolicy.hs
@@ -47,6 +47,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/CreatePolicyVersion.hs b/gen/Network/AWS/IoT/CreatePolicyVersion.hs
--- a/gen/Network/AWS/IoT/CreatePolicyVersion.hs
+++ b/gen/Network/AWS/IoT/CreatePolicyVersion.hs
@@ -18,8 +18,17 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a new version of the specified AWS IoT policy.
+-- Creates a new version of the specified AWS IoT policy. To update a
+-- policy, create a new policy version. A managed policy can have up to
+-- five versions. If the policy has five versions, you must delete an
+-- existing version using DeletePolicyVersion before you create a new
+-- version.
 --
+-- Optionally, you can set the new version as the policy\'s default
+-- version. The default version is the operative version; that is, the
+-- version that is in effect for the certificates that the policy is
+-- attached to.
+--
 -- /See:/ <https://aws.amazon.com/iot#CreatePolicyVersion.html AWS API Reference> for CreatePolicyVersion.
 module Network.AWS.IoT.CreatePolicyVersion
     (
@@ -44,6 +53,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -77,7 +87,10 @@
     , _cpvPolicyDocument = pPolicyDocument_
     }
 
--- | Specifies whether the policy version is set as the default.
+-- | Specifies whether the policy version is set as the default. When this
+-- parameter is true, the new policy version becomes the operative version;
+-- that is, the version that is in effect for the certificates that the
+-- policy is attached to.
 cpvSetAsDefault :: Lens' CreatePolicyVersion (Maybe Bool)
 cpvSetAsDefault = lens _cpvSetAsDefault (\ s a -> s{_cpvSetAsDefault = a});
 
@@ -85,7 +98,8 @@
 cpvPolicyName :: Lens' CreatePolicyVersion Text
 cpvPolicyName = lens _cpvPolicyName (\ s a -> s{_cpvPolicyName = a});
 
--- | The JSON document that describes the policy.
+-- | The JSON document that describes the policy. Minimum length of 1.
+-- Maximum length of 2048 excluding whitespaces
 cpvPolicyDocument :: Lens' CreatePolicyVersion Text
 cpvPolicyDocument = lens _cpvPolicyDocument (\ s a -> s{_cpvPolicyDocument = a});
 
diff --git a/gen/Network/AWS/IoT/CreateThing.hs b/gen/Network/AWS/IoT/CreateThing.hs
--- a/gen/Network/AWS/IoT/CreateThing.hs
+++ b/gen/Network/AWS/IoT/CreateThing.hs
@@ -41,6 +41,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -71,7 +72,7 @@
 
 -- | The attribute payload. Which consists of up to 3 name\/value pairs in a
 -- JSON document. For example:
--- {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\”}}
+-- {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}
 ctAttributePayload :: Lens' CreateThing (Maybe AttributePayload)
 ctAttributePayload = lens _ctAttributePayload (\ s a -> s{_ctAttributePayload = a});
 
diff --git a/gen/Network/AWS/IoT/CreateTopicRule.hs b/gen/Network/AWS/IoT/CreateTopicRule.hs
--- a/gen/Network/AWS/IoT/CreateTopicRule.hs
+++ b/gen/Network/AWS/IoT/CreateTopicRule.hs
@@ -37,6 +37,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DeleteCertificate.hs b/gen/Network/AWS/IoT/DeleteCertificate.hs
--- a/gen/Network/AWS/IoT/DeleteCertificate.hs
+++ b/gen/Network/AWS/IoT/DeleteCertificate.hs
@@ -20,13 +20,10 @@
 --
 -- Deletes the specified certificate.
 --
--- A certificate cannot be deleted if it has a policy attached to it. To
--- delete a certificate, first detach all policies using the
--- DetachPrincipalPolicy operation.
---
--- In addition, a certificate cannot be deleted if it is in ACTIVE status.
--- To delete a certificate, first change the status to INACTIVE using the
--- UpdateCertificate operation.
+-- A certificate cannot be deleted if it has a policy attached to it or if
+-- its status is set to ACTIVE. To delete a certificate, first detach all
+-- policies using the DetachPrincipalPolicy API. Next use the
+-- UpdateCertificate API to set the certificate to the INACTIVE status.
 --
 -- /See:/ <https://aws.amazon.com/iot#DeleteCertificate.html AWS API Reference> for DeleteCertificate.
 module Network.AWS.IoT.DeleteCertificate
@@ -44,6 +41,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DeletePolicy.hs b/gen/Network/AWS/IoT/DeletePolicy.hs
--- a/gen/Network/AWS/IoT/DeletePolicy.hs
+++ b/gen/Network/AWS/IoT/DeletePolicy.hs
@@ -20,20 +20,16 @@
 --
 -- Deletes the specified policy.
 --
--- A policy cannot be deleted if:
---
--- - it has non-default versions
---
--- - it is attached to any certificate
---
--- To delete a policy:
---
--- - First delete all the non-default versions of the policy using the
--- DeletePolicyVersion API.
+-- A policy cannot be deleted if it has non-default versions and\/or it is
+-- attached to any certificate.
 --
--- - Detach it from any certificate using the DetachPrincipalPolicy API.
+-- To delete a policy, delete all non-default versions of the policy using
+-- the DeletePolicyVersion API, detach the policy from any certificate
+-- using the DetachPrincipalPolicy API, and then use the DeletePolicy API
+-- to delete the policy.
 --
--- When a policy is deleted, its default version is deleted with it.
+-- When a policy is deleted using DeletePolicy, its default version is
+-- deleted with it.
 --
 -- /See:/ <https://aws.amazon.com/iot#DeletePolicy.html AWS API Reference> for DeletePolicy.
 module Network.AWS.IoT.DeletePolicy
@@ -51,6 +47,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DeletePolicyVersion.hs b/gen/Network/AWS/IoT/DeletePolicyVersion.hs
--- a/gen/Network/AWS/IoT/DeletePolicyVersion.hs
+++ b/gen/Network/AWS/IoT/DeletePolicyVersion.hs
@@ -18,11 +18,10 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes the specified version of the specified policy. The default
--- version of the policy cannot be deleted.
---
--- To delete the default version use the DeletePolicy API or mark the
--- policy as non-default and then delete it.
+-- Deletes the specified version of the specified policy. You cannot delete
+-- the default version of a policy using this API. To delete the default
+-- version of a policy, use DeletePolicy. To find out which version of a
+-- policy is marked as the default version, use ListPolicyVersions.
 --
 -- /See:/ <https://aws.amazon.com/iot#DeletePolicyVersion.html AWS API Reference> for DeletePolicyVersion.
 module Network.AWS.IoT.DeletePolicyVersion
@@ -41,6 +40,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DeleteThing.hs b/gen/Network/AWS/IoT/DeleteThing.hs
--- a/gen/Network/AWS/IoT/DeleteThing.hs
+++ b/gen/Network/AWS/IoT/DeleteThing.hs
@@ -38,6 +38,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DeleteTopicRule.hs b/gen/Network/AWS/IoT/DeleteTopicRule.hs
--- a/gen/Network/AWS/IoT/DeleteTopicRule.hs
+++ b/gen/Network/AWS/IoT/DeleteTopicRule.hs
@@ -36,6 +36,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DescribeCertificate.hs b/gen/Network/AWS/IoT/DescribeCertificate.hs
--- a/gen/Network/AWS/IoT/DescribeCertificate.hs
+++ b/gen/Network/AWS/IoT/DescribeCertificate.hs
@@ -39,6 +39,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DescribeEndpoint.hs b/gen/Network/AWS/IoT/DescribeEndpoint.hs
--- a/gen/Network/AWS/IoT/DescribeEndpoint.hs
+++ b/gen/Network/AWS/IoT/DescribeEndpoint.hs
@@ -18,9 +18,9 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Returns a unique URL specific to the AWS account making the call. The
--- URL points to the AWS IoT data plane endpoint. The customer-specific
--- endpoint should be provided to all data plane operations.
+-- Returns a unique endpoint specific to the AWS account making the call.
+-- You specify the following URI when updating state information for your
+-- thing: https:\/\//endpoint/\/things\//thingName/\/shadow.
 --
 -- /See:/ <https://aws.amazon.com/iot#DescribeEndpoint.html AWS API Reference> for DescribeEndpoint.
 module Network.AWS.IoT.DescribeEndpoint
@@ -39,6 +39,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -98,7 +99,8 @@
     , _dersResponseStatus = pResponseStatus_
     }
 
--- | The address.
+-- | The endpoint. The format of the endpoint is as follows:
+-- /identifier/.iot./region/.amazonaws.com.
 dersEndpointAddress :: Lens' DescribeEndpointResponse (Maybe Text)
 dersEndpointAddress = lens _dersEndpointAddress (\ s a -> s{_dersEndpointAddress = a});
 
diff --git a/gen/Network/AWS/IoT/DescribeThing.hs b/gen/Network/AWS/IoT/DescribeThing.hs
--- a/gen/Network/AWS/IoT/DescribeThing.hs
+++ b/gen/Network/AWS/IoT/DescribeThing.hs
@@ -41,6 +41,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -129,9 +130,9 @@
 
 -- | The attributes which are name\/value pairs in JSON format. For example:
 --
--- {\\\"attributes\\\":{\\\"some-name1\\\":\\\"some-value1\\”},
--- {\\\"some-name2\\\":\\\"some-value2\\”},
--- {\\\"some-name3\\\":\\\"some-value3\\”}}
+-- {\\\"attributes\\\":{\\\"some-name1\\\":\\\"some-value1\\\"},
+-- {\\\"some-name2\\\":\\\"some-value2\\\"},
+-- {\\\"some-name3\\\":\\\"some-value3\\\"}}
 dtrsAttributes :: Lens' DescribeThingResponse (HashMap Text Text)
 dtrsAttributes = lens _dtrsAttributes (\ s a -> s{_dtrsAttributes = a}) . _Default . _Map;
 
diff --git a/gen/Network/AWS/IoT/DetachPrincipalPolicy.hs b/gen/Network/AWS/IoT/DetachPrincipalPolicy.hs
--- a/gen/Network/AWS/IoT/DetachPrincipalPolicy.hs
+++ b/gen/Network/AWS/IoT/DetachPrincipalPolicy.hs
@@ -37,6 +37,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/DetachThingPrincipal.hs b/gen/Network/AWS/IoT/DetachThingPrincipal.hs
--- a/gen/Network/AWS/IoT/DetachThingPrincipal.hs
+++ b/gen/Network/AWS/IoT/DetachThingPrincipal.hs
@@ -39,6 +39,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/GetLoggingOptions.hs b/gen/Network/AWS/IoT/GetLoggingOptions.hs
--- a/gen/Network/AWS/IoT/GetLoggingOptions.hs
+++ b/gen/Network/AWS/IoT/GetLoggingOptions.hs
@@ -38,6 +38,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/GetPolicy.hs b/gen/Network/AWS/IoT/GetPolicy.hs
--- a/gen/Network/AWS/IoT/GetPolicy.hs
+++ b/gen/Network/AWS/IoT/GetPolicy.hs
@@ -43,6 +43,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/GetPolicyVersion.hs b/gen/Network/AWS/IoT/GetPolicyVersion.hs
--- a/gen/Network/AWS/IoT/GetPolicyVersion.hs
+++ b/gen/Network/AWS/IoT/GetPolicyVersion.hs
@@ -44,6 +44,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/GetTopicRule.hs b/gen/Network/AWS/IoT/GetTopicRule.hs
--- a/gen/Network/AWS/IoT/GetTopicRule.hs
+++ b/gen/Network/AWS/IoT/GetTopicRule.hs
@@ -39,6 +39,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ListCertificates.hs b/gen/Network/AWS/IoT/ListCertificates.hs
--- a/gen/Network/AWS/IoT/ListCertificates.hs
+++ b/gen/Network/AWS/IoT/ListCertificates.hs
@@ -45,6 +45,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ListPolicies.hs b/gen/Network/AWS/IoT/ListPolicies.hs
--- a/gen/Network/AWS/IoT/ListPolicies.hs
+++ b/gen/Network/AWS/IoT/ListPolicies.hs
@@ -42,6 +42,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ListPolicyVersions.hs b/gen/Network/AWS/IoT/ListPolicyVersions.hs
--- a/gen/Network/AWS/IoT/ListPolicyVersions.hs
+++ b/gen/Network/AWS/IoT/ListPolicyVersions.hs
@@ -40,6 +40,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ListPrincipalPolicies.hs b/gen/Network/AWS/IoT/ListPrincipalPolicies.hs
--- a/gen/Network/AWS/IoT/ListPrincipalPolicies.hs
+++ b/gen/Network/AWS/IoT/ListPrincipalPolicies.hs
@@ -45,6 +45,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ListPrincipalThings.hs b/gen/Network/AWS/IoT/ListPrincipalThings.hs
--- a/gen/Network/AWS/IoT/ListPrincipalThings.hs
+++ b/gen/Network/AWS/IoT/ListPrincipalThings.hs
@@ -42,6 +42,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -78,7 +79,7 @@
 lptNextToken :: Lens' ListPrincipalThings (Maybe Text)
 lptNextToken = lens _lptNextToken (\ s a -> s{_lptNextToken = a});
 
--- | Undocumented member.
+-- | The maximum number of principals to return.
 lptMaxResults :: Lens' ListPrincipalThings (Maybe Natural)
 lptMaxResults = lens _lptMaxResults (\ s a -> s{_lptMaxResults = a}) . mapping _Nat;
 
diff --git a/gen/Network/AWS/IoT/ListThingPrincipals.hs b/gen/Network/AWS/IoT/ListThingPrincipals.hs
--- a/gen/Network/AWS/IoT/ListThingPrincipals.hs
+++ b/gen/Network/AWS/IoT/ListThingPrincipals.hs
@@ -39,6 +39,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ListThings.hs b/gen/Network/AWS/IoT/ListThings.hs
--- a/gen/Network/AWS/IoT/ListThings.hs
+++ b/gen/Network/AWS/IoT/ListThings.hs
@@ -45,6 +45,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ListTopicRules.hs b/gen/Network/AWS/IoT/ListTopicRules.hs
--- a/gen/Network/AWS/IoT/ListTopicRules.hs
+++ b/gen/Network/AWS/IoT/ListTopicRules.hs
@@ -43,6 +43,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/RejectCertificateTransfer.hs b/gen/Network/AWS/IoT/RejectCertificateTransfer.hs
--- a/gen/Network/AWS/IoT/RejectCertificateTransfer.hs
+++ b/gen/Network/AWS/IoT/RejectCertificateTransfer.hs
@@ -45,6 +45,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/ReplaceTopicRule.hs b/gen/Network/AWS/IoT/ReplaceTopicRule.hs
--- a/gen/Network/AWS/IoT/ReplaceTopicRule.hs
+++ b/gen/Network/AWS/IoT/ReplaceTopicRule.hs
@@ -38,6 +38,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/SetDefaultPolicyVersion.hs b/gen/Network/AWS/IoT/SetDefaultPolicyVersion.hs
--- a/gen/Network/AWS/IoT/SetDefaultPolicyVersion.hs
+++ b/gen/Network/AWS/IoT/SetDefaultPolicyVersion.hs
@@ -18,8 +18,10 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Sets the specified policy version as the default for the specified
--- policy.
+-- Sets the specified version of the specified policy as the policy\'s
+-- default (operative) version. This action affects all certificates that
+-- the policy is attached to. To list the principals the policy is attached
+-- to, use the ListPrincipalPolicy API.
 --
 -- /See:/ <https://aws.amazon.com/iot#SetDefaultPolicyVersion.html AWS API Reference> for SetDefaultPolicyVersion.
 module Network.AWS.IoT.SetDefaultPolicyVersion
@@ -38,6 +40,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/SetLoggingOptions.hs b/gen/Network/AWS/IoT/SetLoggingOptions.hs
--- a/gen/Network/AWS/IoT/SetLoggingOptions.hs
+++ b/gen/Network/AWS/IoT/SetLoggingOptions.hs
@@ -36,6 +36,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/TransferCertificate.hs b/gen/Network/AWS/IoT/TransferCertificate.hs
--- a/gen/Network/AWS/IoT/TransferCertificate.hs
+++ b/gen/Network/AWS/IoT/TransferCertificate.hs
@@ -51,6 +51,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/Types.hs b/gen/Network/AWS/IoT/Types.hs
--- a/gen/Network/AWS/IoT/Types.hs
+++ b/gen/Network/AWS/IoT/Types.hs
@@ -190,6 +190,7 @@
 
 import           Network.AWS.IoT.Types.Product
 import           Network.AWS.IoT.Types.Sum
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
diff --git a/gen/Network/AWS/IoT/Types/Product.hs b/gen/Network/AWS/IoT/Types/Product.hs
--- a/gen/Network/AWS/IoT/Types/Product.hs
+++ b/gen/Network/AWS/IoT/Types/Product.hs
@@ -18,6 +18,7 @@
 module Network.AWS.IoT.Types.Product where
 
 import           Network.AWS.IoT.Types.Sum
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 
 -- | Describes the actions associated with a rule.
@@ -127,7 +128,7 @@
 -- | The attribute payload, a JSON string containing up to three key-value
 -- pairs.
 --
--- For example: {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\”}}
+-- For example: {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}
 --
 -- /See:/ 'attributePayload' smart constructor.
 newtype AttributePayload = AttributePayload'
@@ -148,7 +149,7 @@
 
 -- | A JSON string containing up to three key-value pair in JSON format.
 --
--- For example: {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\”}}
+-- For example: {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}
 apAttributes :: Lens' AttributePayload (HashMap Text Text)
 apAttributes = lens _apAttributes (\ s a -> s{_apAttributes = a}) . _Default . _Map;
 
@@ -363,7 +364,7 @@
     , _ddaRangeKeyValue = pRangeKeyValue_
     }
 
--- | The action payload.
+-- | The action payload, this name can be customized.
 ddaPayloadField :: Lens' DynamoDBAction (Maybe Text)
 ddaPayloadField = lens _ddaPayloadField (\ s a -> s{_ddaPayloadField = a});
 
@@ -465,7 +466,7 @@
 --
 -- /See:/ 'keyPair' smart constructor.
 data KeyPair = KeyPair'
-    { _kpPrivateKey :: !(Maybe Text)
+    { _kpPrivateKey :: !(Maybe (Sensitive Text))
     , _kpPublicKey  :: !(Maybe Text)
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
@@ -486,7 +487,7 @@
 
 -- | The private key.
 kpPrivateKey :: Lens' KeyPair (Maybe Text)
-kpPrivateKey = lens _kpPrivateKey (\ s a -> s{_kpPrivateKey = a});
+kpPrivateKey = lens _kpPrivateKey (\ s a -> s{_kpPrivateKey = a}) . mapping _Sensitive;
 
 -- | The public key.
 kpPublicKey :: Lens' KeyPair (Maybe Text)
diff --git a/gen/Network/AWS/IoT/Types/Sum.hs b/gen/Network/AWS/IoT/Types/Sum.hs
--- a/gen/Network/AWS/IoT/Types/Sum.hs
+++ b/gen/Network/AWS/IoT/Types/Sum.hs
@@ -24,7 +24,7 @@
     | Inactive
     | PendingTransfer
     | Revoked
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText CertificateStatus where
     parser = takeLowerText >>= \case
@@ -59,7 +59,7 @@
     | Error'
     | Info
     | Warn
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText LogLevel where
     parser = takeLowerText >>= \case
diff --git a/gen/Network/AWS/IoT/UpdateCertificate.hs b/gen/Network/AWS/IoT/UpdateCertificate.hs
--- a/gen/Network/AWS/IoT/UpdateCertificate.hs
+++ b/gen/Network/AWS/IoT/UpdateCertificate.hs
@@ -45,6 +45,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/IoT/UpdateThing.hs b/gen/Network/AWS/IoT/UpdateThing.hs
--- a/gen/Network/AWS/IoT/UpdateThing.hs
+++ b/gen/Network/AWS/IoT/UpdateThing.hs
@@ -39,6 +39,7 @@
 
 import           Network.AWS.IoT.Types
 import           Network.AWS.IoT.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -75,7 +76,7 @@
 -- | The attribute payload, a JSON string containing up to three key-value
 -- pairs.
 --
--- For example: {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\”}}
+-- For example: {\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}
 utAttributePayload :: Lens' UpdateThing AttributePayload
 utAttributePayload = lens _utAttributePayload (\ s a -> s{_utAttributePayload = a});
 
diff --git a/gen/Network/AWS/IoT/Waiters.hs b/gen/Network/AWS/IoT/Waiters.hs
--- a/gen/Network/AWS/IoT/Waiters.hs
+++ b/gen/Network/AWS/IoT/Waiters.hs
@@ -16,5 +16,6 @@
 module Network.AWS.IoT.Waiters where
 
 import           Network.AWS.IoT.Types
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Waiter
