diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
@@ -44,7 +44,7 @@
 in the /AWS Config Developer Guide/.
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-config)
-and the [AWS API Reference](http://docs.aws.amazon.com/config/latest/APIReference/Welcome.html).
+and the [AWS API Reference](https://aws.amazon.com/documentation/).
 
 The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),
 which provides mechanisms for specifying AuthN/AuthZ information and sending requests.
diff --git a/amazonka-config.cabal b/amazonka-config.cabal
--- a/amazonka-config.cabal
+++ b/amazonka-config.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-config
-version:               1.3.7
+version:               1.4.0
 synopsis:              Amazon Config SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -7,7 +7,7 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2015 Brendan Hay
+copyright:             Copyright (c) 2013-2016 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -54,7 +54,7 @@
     such as <http://hackage.haskell.org/package/lens lens> or
     <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
     .
-    See "Network.AWS.Config" and the <http://docs.aws.amazon.com/config/latest/APIReference/Welcome.html AWS API Reference>
+    See "Network.AWS.Config" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -100,7 +100,7 @@
         , Network.AWS.Config.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-config-test
@@ -120,9 +120,9 @@
         , Test.AWS.Config.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-config == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-config == 1.4.0.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/Config.hs b/gen/Network/AWS/Config.hs
--- a/gen/Network/AWS/Config.hs
+++ b/gen/Network/AWS/Config.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Network.AWS.Config
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -40,8 +40,6 @@
 -- see
 -- <http://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html What Is AWS Config?>
 -- in the /AWS Config Developer Guide/.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.Config
     (
     -- * Service Configuration
diff --git a/gen/Network/AWS/Config/DeleteConfigRule.hs b/gen/Network/AWS/Config/DeleteConfigRule.hs
--- a/gen/Network/AWS/Config/DeleteConfigRule.hs
+++ b/gen/Network/AWS/Config/DeleteConfigRule.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DeleteConfigRule
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,13 +22,11 @@
 --
 -- AWS Config sets the state of a rule to 'DELETING' until the deletion is
 -- complete. You cannot update a rule while it is in this state. If you
--- make a 'PutConfigRule' request for the rule, you will receive a
--- 'ResourceInUseException'.
+-- make a 'PutConfigRule' or 'DeleteConfigRule' request for the rule, you
+-- will receive a 'ResourceInUseException'.
 --
 -- You can check the state of a rule by using the 'DescribeConfigRules'
 -- request.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DeleteConfigRule.html AWS API Reference> for DeleteConfigRule.
 module Network.AWS.Config.DeleteConfigRule
     (
     -- * Creating a Request
@@ -75,6 +73,8 @@
         type Rs DeleteConfigRule = DeleteConfigRuleResponse
         request = postJSON config
         response = receiveNull DeleteConfigRuleResponse'
+
+instance Hashable DeleteConfigRule
 
 instance ToHeaders DeleteConfigRule where
         toHeaders
diff --git a/gen/Network/AWS/Config/DeleteDeliveryChannel.hs b/gen/Network/AWS/Config/DeleteDeliveryChannel.hs
--- a/gen/Network/AWS/Config/DeleteDeliveryChannel.hs
+++ b/gen/Network/AWS/Config/DeleteDeliveryChannel.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DeleteDeliveryChannel
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -23,9 +23,7 @@
 -- The delivery channel cannot be deleted if it is the only delivery
 -- channel and the configuration recorder is still running. To delete the
 -- delivery channel, stop the running configuration recorder using the
--- StopConfigurationRecorder action.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DeleteDeliveryChannel.html AWS API Reference> for DeleteDeliveryChannel.
+-- < StopConfigurationRecorder> action.
 module Network.AWS.Config.DeleteDeliveryChannel
     (
     -- * Creating a Request
@@ -46,8 +44,8 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the DeleteDeliveryChannel action. The action accepts the
--- following data in JSON format.
+-- | The input for the < DeleteDeliveryChannel> action. The action accepts
+-- the following data in JSON format.
 --
 -- /See:/ 'deleteDeliveryChannel' smart constructor.
 newtype DeleteDeliveryChannel = DeleteDeliveryChannel'
@@ -76,6 +74,8 @@
              DeleteDeliveryChannelResponse
         request = postJSON config
         response = receiveNull DeleteDeliveryChannelResponse'
+
+instance Hashable DeleteDeliveryChannel
 
 instance ToHeaders DeleteDeliveryChannel where
         toHeaders
diff --git a/gen/Network/AWS/Config/DeliverConfigSnapshot.hs b/gen/Network/AWS/Config/DeliverConfigSnapshot.hs
--- a/gen/Network/AWS/Config/DeliverConfigSnapshot.hs
+++ b/gen/Network/AWS/Config/DeliverConfigSnapshot.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DeliverConfigSnapshot
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -28,8 +28,6 @@
 --     completed.
 -- -   Notification of delivery failure, if the delivery failed to
 --     complete.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DeliverConfigSnapshot.html AWS API Reference> for DeliverConfigSnapshot.
 module Network.AWS.Config.DeliverConfigSnapshot
     (
     -- * Creating a Request
@@ -53,7 +51,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the DeliverConfigSnapshot action.
+-- | The input for the < DeliverConfigSnapshot> action.
 --
 -- /See:/ 'deliverConfigSnapshot' smart constructor.
 newtype DeliverConfigSnapshot = DeliverConfigSnapshot'
@@ -88,6 +86,8 @@
                  DeliverConfigSnapshotResponse' <$>
                    (x .?> "configSnapshotId") <*> (pure (fromEnum s)))
 
+instance Hashable DeliverConfigSnapshot
+
 instance ToHeaders DeliverConfigSnapshot where
         toHeaders
           = const
@@ -111,7 +111,7 @@
 instance ToQuery DeliverConfigSnapshot where
         toQuery = const mempty
 
--- | The output for the DeliverConfigSnapshot action in JSON format.
+-- | The output for the < DeliverConfigSnapshot> action in JSON format.
 --
 -- /See:/ 'deliverConfigSnapshotResponse' smart constructor.
 data DeliverConfigSnapshotResponse = DeliverConfigSnapshotResponse'
diff --git a/gen/Network/AWS/Config/DescribeComplianceByConfigRule.hs b/gen/Network/AWS/Config/DescribeComplianceByConfigRule.hs
--- a/gen/Network/AWS/Config/DescribeComplianceByConfigRule.hs
+++ b/gen/Network/AWS/Config/DescribeComplianceByConfigRule.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeComplianceByConfigRule
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -26,7 +26,7 @@
 -- and it is noncompliant if any of these resources do not comply.
 --
 -- If AWS Config has no current evaluation results for the rule, it returns
--- 'InsufficientData'. This result might indicate one of the following
+-- 'INSUFFICIENT_DATA'. This result might indicate one of the following
 -- conditions:
 --
 -- -   AWS Config has never invoked an evaluation for the rule. To check
@@ -42,8 +42,6 @@
 -- -   The rule\'s AWS Lambda function has returned 'NOT_APPLICABLE' for
 --     all evaluation results. This can occur if the resources were deleted
 --     or removed from the rule\'s scope.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeComplianceByConfigRule.html AWS API Reference> for DescribeComplianceByConfigRule.
 module Network.AWS.Config.DescribeComplianceByConfigRule
     (
     -- * Creating a Request
@@ -99,8 +97,10 @@
 dcbcrConfigRuleNames :: Lens' DescribeComplianceByConfigRule [Text]
 dcbcrConfigRuleNames = lens _dcbcrConfigRuleNames (\ s a -> s{_dcbcrConfigRuleNames = a}) . _Default . _Coerce;
 
--- | Filters the results by compliance. The valid values are 'Compliant' and
--- 'NonCompliant'.
+-- | Filters the results by compliance.
+--
+-- The allowed values are 'COMPLIANT', 'NON_COMPLIANT', and
+-- 'INSUFFICIENT_DATA'.
 dcbcrComplianceTypes :: Lens' DescribeComplianceByConfigRule [ComplianceType]
 dcbcrComplianceTypes = lens _dcbcrComplianceTypes (\ s a -> s{_dcbcrComplianceTypes = a}) . _Default . _Coerce;
 
@@ -121,6 +121,8 @@
                    (x .?> "ComplianceByConfigRules" .!@ mempty) <*>
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable DescribeComplianceByConfigRule
 
 instance ToHeaders DescribeComplianceByConfigRule
          where
diff --git a/gen/Network/AWS/Config/DescribeComplianceByResource.hs b/gen/Network/AWS/Config/DescribeComplianceByResource.hs
--- a/gen/Network/AWS/Config/DescribeComplianceByResource.hs
+++ b/gen/Network/AWS/Config/DescribeComplianceByResource.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeComplianceByResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -27,7 +27,7 @@
 -- more of these rules.
 --
 -- If AWS Config has no current evaluation results for the resource, it
--- returns 'InsufficientData'. This result might indicate one of the
+-- returns 'INSUFFICIENT_DATA'. This result might indicate one of the
 -- following conditions about the rules that evaluate the resource:
 --
 -- -   AWS Config has never invoked an evaluation for the rule. To check
@@ -43,8 +43,6 @@
 -- -   The rule\'s AWS Lambda function has returned 'NOT_APPLICABLE' for
 --     all evaluation results. This can occur if the resources were deleted
 --     or removed from the rule\'s scope.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeComplianceByResource.html AWS API Reference> for DescribeComplianceByResource.
 module Network.AWS.Config.DescribeComplianceByResource
     (
     -- * Creating a Request
@@ -118,8 +116,10 @@
 dcbrResourceType :: Lens' DescribeComplianceByResource (Maybe Text)
 dcbrResourceType = lens _dcbrResourceType (\ s a -> s{_dcbrResourceType = a});
 
--- | Filters the results by compliance. The valid values are 'Compliant' and
--- 'NonCompliant'.
+-- | Filters the results by compliance.
+--
+-- The allowed values are 'COMPLIANT', 'NON_COMPLIANT', and
+-- 'INSUFFICIENT_DATA'.
 dcbrComplianceTypes :: Lens' DescribeComplianceByResource [ComplianceType]
 dcbrComplianceTypes = lens _dcbrComplianceTypes (\ s a -> s{_dcbrComplianceTypes = a}) . _Default . _Coerce;
 
@@ -146,6 +146,8 @@
                    (x .?> "ComplianceByResources" .!@ mempty) <*>
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable DescribeComplianceByResource
 
 instance ToHeaders DescribeComplianceByResource where
         toHeaders
diff --git a/gen/Network/AWS/Config/DescribeConfigRuleEvaluationStatus.hs b/gen/Network/AWS/Config/DescribeConfigRuleEvaluationStatus.hs
--- a/gen/Network/AWS/Config/DescribeConfigRuleEvaluationStatus.hs
+++ b/gen/Network/AWS/Config/DescribeConfigRuleEvaluationStatus.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeConfigRuleEvaluationStatus
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,8 +22,6 @@
 -- The status includes information such as the last time AWS Config invoked
 -- the rule, the last time AWS Config failed to invoke the rule, and the
 -- related error for the last failure.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigRuleEvaluationStatus.html AWS API Reference> for DescribeConfigRuleEvaluationStatus.
 module Network.AWS.Config.DescribeConfigRuleEvaluationStatus
     (
     -- * Creating a Request
@@ -81,6 +79,8 @@
                  DescribeConfigRuleEvaluationStatusResponse' <$>
                    (x .?> "ConfigRulesEvaluationStatus" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable DescribeConfigRuleEvaluationStatus
 
 instance ToHeaders DescribeConfigRuleEvaluationStatus
          where
diff --git a/gen/Network/AWS/Config/DescribeConfigRules.hs b/gen/Network/AWS/Config/DescribeConfigRules.hs
--- a/gen/Network/AWS/Config/DescribeConfigRules.hs
+++ b/gen/Network/AWS/Config/DescribeConfigRules.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeConfigRules
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Returns details about your AWS Config rules.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigRules.html AWS API Reference> for DescribeConfigRules.
 module Network.AWS.Config.DescribeConfigRules
     (
     -- * Creating a Request
@@ -88,6 +86,8 @@
                    (x .?> "ConfigRules" .!@ mempty) <*>
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable DescribeConfigRules
 
 instance ToHeaders DescribeConfigRules where
         toHeaders
diff --git a/gen/Network/AWS/Config/DescribeConfigurationRecorderStatus.hs b/gen/Network/AWS/Config/DescribeConfigurationRecorderStatus.hs
--- a/gen/Network/AWS/Config/DescribeConfigurationRecorderStatus.hs
+++ b/gen/Network/AWS/Config/DescribeConfigurationRecorderStatus.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeConfigurationRecorderStatus
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -23,8 +23,6 @@
 -- of all configuration recorder associated with the account.
 --
 -- Currently, you can specify only one configuration recorder per account.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigurationRecorderStatus.html AWS API Reference> for DescribeConfigurationRecorderStatus.
 module Network.AWS.Config.DescribeConfigurationRecorderStatus
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the DescribeConfigurationRecorderStatus action.
+-- | The input for the < DescribeConfigurationRecorderStatus> action.
 --
 -- /See:/ 'describeConfigurationRecorderStatus' smart constructor.
 newtype DescribeConfigurationRecorderStatus = DescribeConfigurationRecorderStatus'
@@ -85,6 +83,8 @@
                    (x .?> "ConfigurationRecordersStatus" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
+instance Hashable DescribeConfigurationRecorderStatus
+
 instance ToHeaders
          DescribeConfigurationRecorderStatus where
         toHeaders
@@ -112,7 +112,7 @@
          where
         toQuery = const mempty
 
--- | The output for the DescribeConfigurationRecorderStatus action in JSON
+-- | The output for the < DescribeConfigurationRecorderStatus> action in JSON
 -- format.
 --
 -- /See:/ 'describeConfigurationRecorderStatusResponse' smart constructor.
diff --git a/gen/Network/AWS/Config/DescribeConfigurationRecorders.hs b/gen/Network/AWS/Config/DescribeConfigurationRecorders.hs
--- a/gen/Network/AWS/Config/DescribeConfigurationRecorders.hs
+++ b/gen/Network/AWS/Config/DescribeConfigurationRecorders.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeConfigurationRecorders
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -23,8 +23,6 @@
 -- the configuration recorders associated with the account.
 --
 -- Currently, you can specify only one configuration recorder per account.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigurationRecorders.html AWS API Reference> for DescribeConfigurationRecorders.
 module Network.AWS.Config.DescribeConfigurationRecorders
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the DescribeConfigurationRecorders action.
+-- | The input for the < DescribeConfigurationRecorders> action.
 --
 -- /See:/ 'describeConfigurationRecorders' smart constructor.
 newtype DescribeConfigurationRecorders = DescribeConfigurationRecorders'
@@ -83,6 +81,8 @@
                    (x .?> "ConfigurationRecorders" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
+instance Hashable DescribeConfigurationRecorders
+
 instance ToHeaders DescribeConfigurationRecorders
          where
         toHeaders
@@ -107,7 +107,7 @@
 instance ToQuery DescribeConfigurationRecorders where
         toQuery = const mempty
 
--- | The output for the DescribeConfigurationRecorders action.
+-- | The output for the < DescribeConfigurationRecorders> action.
 --
 -- /See:/ 'describeConfigurationRecordersResponse' smart constructor.
 data DescribeConfigurationRecordersResponse = DescribeConfigurationRecordersResponse'
diff --git a/gen/Network/AWS/Config/DescribeDeliveryChannelStatus.hs b/gen/Network/AWS/Config/DescribeDeliveryChannelStatus.hs
--- a/gen/Network/AWS/Config/DescribeDeliveryChannelStatus.hs
+++ b/gen/Network/AWS/Config/DescribeDeliveryChannelStatus.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeDeliveryChannelStatus
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -23,8 +23,6 @@
 -- status of all delivery channels associated with the account.
 --
 -- Currently, you can specify only one delivery channel per account.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeDeliveryChannelStatus.html AWS API Reference> for DescribeDeliveryChannelStatus.
 module Network.AWS.Config.DescribeDeliveryChannelStatus
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the DeliveryChannelStatus action.
+-- | The input for the < DeliveryChannelStatus> action.
 --
 -- /See:/ 'describeDeliveryChannelStatus' smart constructor.
 newtype DescribeDeliveryChannelStatus = DescribeDeliveryChannelStatus'
@@ -83,6 +81,8 @@
                    (x .?> "DeliveryChannelsStatus" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
+instance Hashable DescribeDeliveryChannelStatus
+
 instance ToHeaders DescribeDeliveryChannelStatus
          where
         toHeaders
@@ -107,7 +107,7 @@
 instance ToQuery DescribeDeliveryChannelStatus where
         toQuery = const mempty
 
--- | The output for the DescribeDeliveryChannelStatus action.
+-- | The output for the < DescribeDeliveryChannelStatus> action.
 --
 -- /See:/ 'describeDeliveryChannelStatusResponse' smart constructor.
 data DescribeDeliveryChannelStatusResponse = DescribeDeliveryChannelStatusResponse'
diff --git a/gen/Network/AWS/Config/DescribeDeliveryChannels.hs b/gen/Network/AWS/Config/DescribeDeliveryChannels.hs
--- a/gen/Network/AWS/Config/DescribeDeliveryChannels.hs
+++ b/gen/Network/AWS/Config/DescribeDeliveryChannels.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.DescribeDeliveryChannels
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -23,8 +23,6 @@
 -- delivery channels associated with the account.
 --
 -- Currently, you can specify only one delivery channel per account.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_DescribeDeliveryChannels.html AWS API Reference> for DescribeDeliveryChannels.
 module Network.AWS.Config.DescribeDeliveryChannels
     (
     -- * Creating a Request
@@ -48,7 +46,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the DescribeDeliveryChannels action.
+-- | The input for the < DescribeDeliveryChannels> action.
 --
 -- /See:/ 'describeDeliveryChannels' smart constructor.
 newtype DescribeDeliveryChannels = DescribeDeliveryChannels'
@@ -82,6 +80,8 @@
                    (x .?> "DeliveryChannels" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
+instance Hashable DescribeDeliveryChannels
+
 instance ToHeaders DescribeDeliveryChannels where
         toHeaders
           = const
@@ -105,7 +105,7 @@
 instance ToQuery DescribeDeliveryChannels where
         toQuery = const mempty
 
--- | The output for the DescribeDeliveryChannels action.
+-- | The output for the < DescribeDeliveryChannels> action.
 --
 -- /See:/ 'describeDeliveryChannelsResponse' smart constructor.
 data DescribeDeliveryChannelsResponse = DescribeDeliveryChannelsResponse'
diff --git a/gen/Network/AWS/Config/GetComplianceDetailsByConfigRule.hs b/gen/Network/AWS/Config/GetComplianceDetailsByConfigRule.hs
--- a/gen/Network/AWS/Config/GetComplianceDetailsByConfigRule.hs
+++ b/gen/Network/AWS/Config/GetComplianceDetailsByConfigRule.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.GetComplianceDetailsByConfigRule
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,8 +22,6 @@
 -- results indicate which AWS resources were evaluated by the rule, when
 -- each resource was last evaluated, and whether each resource complies
 -- with the rule.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_GetComplianceDetailsByConfigRule.html AWS API Reference> for GetComplianceDetailsByConfigRule.
 module Network.AWS.Config.GetComplianceDetailsByConfigRule
     (
     -- * Creating a Request
@@ -81,8 +79,10 @@
     , _gcdbcrConfigRuleName = pConfigRuleName_
     }
 
--- | Specify to filter the results by compliance. The valid values are
--- 'Compliant', 'NonCompliant', and 'NotApplicable'.
+-- | Filters the results by compliance.
+--
+-- The allowed values are 'COMPLIANT', 'NON_COMPLIANT', and
+-- 'NOT_APPLICABLE'.
 gcdbcrComplianceTypes :: Lens' GetComplianceDetailsByConfigRule [ComplianceType]
 gcdbcrComplianceTypes = lens _gcdbcrComplianceTypes (\ s a -> s{_gcdbcrComplianceTypes = a}) . _Default . _Coerce;
 
@@ -114,6 +114,8 @@
                    (x .?> "EvaluationResults" .!@ mempty) <*>
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable GetComplianceDetailsByConfigRule
 
 instance ToHeaders GetComplianceDetailsByConfigRule
          where
diff --git a/gen/Network/AWS/Config/GetComplianceDetailsByResource.hs b/gen/Network/AWS/Config/GetComplianceDetailsByResource.hs
--- a/gen/Network/AWS/Config/GetComplianceDetailsByResource.hs
+++ b/gen/Network/AWS/Config/GetComplianceDetailsByResource.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.GetComplianceDetailsByResource
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,8 +22,6 @@
 -- results indicate which AWS Config rules were used to evaluate the
 -- resource, when each rule was last used, and whether the resource
 -- complies with each rule.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_GetComplianceDetailsByResource.html AWS API Reference> for GetComplianceDetailsByResource.
 module Network.AWS.Config.GetComplianceDetailsByResource
     (
     -- * Creating a Request
@@ -82,8 +80,10 @@
     , _gcdbrResourceId = pResourceId_
     }
 
--- | Specify to filter the results by compliance. The valid values are
--- 'Compliant', 'NonCompliant', and 'NotApplicable'.
+-- | Filters the results by compliance.
+--
+-- The allowed values are 'COMPLIANT', 'NON_COMPLIANT', and
+-- 'NOT_APPLICABLE'.
 gcdbrComplianceTypes :: Lens' GetComplianceDetailsByResource [ComplianceType]
 gcdbrComplianceTypes = lens _gcdbrComplianceTypes (\ s a -> s{_gcdbrComplianceTypes = a}) . _Default . _Coerce;
 
@@ -112,6 +112,8 @@
                    (x .?> "EvaluationResults" .!@ mempty) <*>
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable GetComplianceDetailsByResource
 
 instance ToHeaders GetComplianceDetailsByResource
          where
diff --git a/gen/Network/AWS/Config/GetComplianceSummaryByConfigRule.hs b/gen/Network/AWS/Config/GetComplianceSummaryByConfigRule.hs
--- a/gen/Network/AWS/Config/GetComplianceSummaryByConfigRule.hs
+++ b/gen/Network/AWS/Config/GetComplianceSummaryByConfigRule.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.GetComplianceSummaryByConfigRule
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Returns the number of AWS Config rules that are compliant and
 -- noncompliant, up to a maximum of 25 for each.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_GetComplianceSummaryByConfigRule.html AWS API Reference> for GetComplianceSummaryByConfigRule.
 module Network.AWS.Config.GetComplianceSummaryByConfigRule
     (
     -- * Creating a Request
@@ -64,6 +62,8 @@
               (\ s h x ->
                  GetComplianceSummaryByConfigRuleResponse' <$>
                    (x .?> "ComplianceSummary") <*> (pure (fromEnum s)))
+
+instance Hashable GetComplianceSummaryByConfigRule
 
 instance ToHeaders GetComplianceSummaryByConfigRule
          where
diff --git a/gen/Network/AWS/Config/GetComplianceSummaryByResourceType.hs b/gen/Network/AWS/Config/GetComplianceSummaryByResourceType.hs
--- a/gen/Network/AWS/Config/GetComplianceSummaryByResourceType.hs
+++ b/gen/Network/AWS/Config/GetComplianceSummaryByResourceType.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.GetComplianceSummaryByResourceType
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,8 +22,6 @@
 -- are noncompliant. You can specify one or more resource types to get
 -- these numbers for each resource type. The maximum number returned is
 -- 100.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_GetComplianceSummaryByResourceType.html AWS API Reference> for GetComplianceSummaryByResourceType.
 module Network.AWS.Config.GetComplianceSummaryByResourceType
     (
     -- * Creating a Request
@@ -86,6 +84,8 @@
                    (x .?> "ComplianceSummariesByResourceType" .!@
                       mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable GetComplianceSummaryByResourceType
 
 instance ToHeaders GetComplianceSummaryByResourceType
          where
diff --git a/gen/Network/AWS/Config/GetResourceConfigHistory.hs b/gen/Network/AWS/Config/GetResourceConfigHistory.hs
--- a/gen/Network/AWS/Config/GetResourceConfigHistory.hs
+++ b/gen/Network/AWS/Config/GetResourceConfigHistory.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.GetResourceConfigHistory
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -32,8 +32,6 @@
 -- likely that the number of records returned is smaller than the specified
 -- 'limit'. In such cases, you can make another call, using the
 -- 'nextToken'.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html AWS API Reference> for GetResourceConfigHistory.
 module Network.AWS.Config.GetResourceConfigHistory
     (
     -- * Creating a Request
@@ -64,7 +62,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the GetResourceConfigHistory action.
+-- | The input for the < GetResourceConfigHistory> action.
 --
 -- /See:/ 'getResourceConfigHistory' smart constructor.
 data GetResourceConfigHistory = GetResourceConfigHistory'
@@ -156,6 +154,8 @@
                      (x .?> "configurationItems" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable GetResourceConfigHistory
+
 instance ToHeaders GetResourceConfigHistory where
         toHeaders
           = const
@@ -185,7 +185,7 @@
 instance ToQuery GetResourceConfigHistory where
         toQuery = const mempty
 
--- | The output for the GetResourceConfigHistory action.
+-- | The output for the < GetResourceConfigHistory> action.
 --
 -- /See:/ 'getResourceConfigHistoryResponse' smart constructor.
 data GetResourceConfigHistoryResponse = GetResourceConfigHistoryResponse'
diff --git a/gen/Network/AWS/Config/ListDiscoveredResources.hs b/gen/Network/AWS/Config/ListDiscoveredResources.hs
--- a/gen/Network/AWS/Config/ListDiscoveredResources.hs
+++ b/gen/Network/AWS/Config/ListDiscoveredResources.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.ListDiscoveredResources
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -34,8 +34,6 @@
 -- parameter. The response includes a 'nextToken' string, and to get the
 -- next page of results, run the request again and enter this string for
 -- the 'nextToken' parameter.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_ListDiscoveredResources.html AWS API Reference> for ListDiscoveredResources.
 module Network.AWS.Config.ListDiscoveredResources
     (
     -- * Creating a Request
@@ -146,6 +144,8 @@
                    (x .?> "nextToken") <*>
                      (x .?> "resourceIdentifiers" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListDiscoveredResources
 
 instance ToHeaders ListDiscoveredResources where
         toHeaders
diff --git a/gen/Network/AWS/Config/PutConfigRule.hs b/gen/Network/AWS/Config/PutConfigRule.hs
--- a/gen/Network/AWS/Config/PutConfigRule.hs
+++ b/gen/Network/AWS/Config/PutConfigRule.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.PutConfigRule
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -53,8 +53,6 @@
 -- <http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html Evaluating AWS Resource Configurations with AWS Config>
 -- in the /AWS Config Developer Guide/.
 --
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigRule.html AWS API Reference> for PutConfigRule.
 module Network.AWS.Config.PutConfigRule
     (
     -- * Creating a Request
@@ -101,6 +99,8 @@
         type Rs PutConfigRule = PutConfigRuleResponse
         request = postJSON config
         response = receiveNull PutConfigRuleResponse'
+
+instance Hashable PutConfigRule
 
 instance ToHeaders PutConfigRule where
         toHeaders
diff --git a/gen/Network/AWS/Config/PutConfigurationRecorder.hs b/gen/Network/AWS/Config/PutConfigurationRecorder.hs
--- a/gen/Network/AWS/Config/PutConfigurationRecorder.hs
+++ b/gen/Network/AWS/Config/PutConfigurationRecorder.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.PutConfigurationRecorder
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -30,8 +30,6 @@
 -- If 'ConfigurationRecorder' does not have the __recordingGroup__
 -- parameter specified, the default is to record all supported resource
 -- types.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigurationRecorder.html AWS API Reference> for PutConfigurationRecorder.
 module Network.AWS.Config.PutConfigurationRecorder
     (
     -- * Creating a Request
@@ -52,7 +50,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the PutConfigurationRecorder action.
+-- | The input for the < PutConfigurationRecorder> action.
 --
 -- /See:/ 'putConfigurationRecorder' smart constructor.
 newtype PutConfigurationRecorder = PutConfigurationRecorder'
@@ -83,6 +81,8 @@
         request = postJSON config
         response
           = receiveNull PutConfigurationRecorderResponse'
+
+instance Hashable PutConfigurationRecorder
 
 instance ToHeaders PutConfigurationRecorder where
         toHeaders
diff --git a/gen/Network/AWS/Config/PutDeliveryChannel.hs b/gen/Network/AWS/Config/PutDeliveryChannel.hs
--- a/gen/Network/AWS/Config/PutDeliveryChannel.hs
+++ b/gen/Network/AWS/Config/PutDeliveryChannel.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.PutDeliveryChannel
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -29,8 +29,6 @@
 -- existing value for the parameter that is not changed.
 --
 -- Currently, you can specify only one delivery channel per account.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_PutDeliveryChannel.html AWS API Reference> for PutDeliveryChannel.
 module Network.AWS.Config.PutDeliveryChannel
     (
     -- * Creating a Request
@@ -51,7 +49,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the PutDeliveryChannel action.
+-- | The input for the < PutDeliveryChannel> action.
 --
 -- /See:/ 'putDeliveryChannel' smart constructor.
 newtype PutDeliveryChannel = PutDeliveryChannel'
@@ -82,6 +80,8 @@
              PutDeliveryChannelResponse
         request = postJSON config
         response = receiveNull PutDeliveryChannelResponse'
+
+instance Hashable PutDeliveryChannel
 
 instance ToHeaders PutDeliveryChannel where
         toHeaders
diff --git a/gen/Network/AWS/Config/PutEvaluations.hs b/gen/Network/AWS/Config/PutEvaluations.hs
--- a/gen/Network/AWS/Config/PutEvaluations.hs
+++ b/gen/Network/AWS/Config/PutEvaluations.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.PutEvaluations
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +21,6 @@
 -- Used by an AWS Lambda function to deliver evaluation results to AWS
 -- Config. This action is required in every AWS Lambda function that is
 -- invoked by an AWS Config rule.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_PutEvaluations.html AWS API Reference> for PutEvaluations.
 module Network.AWS.Config.PutEvaluations
     (
     -- * Creating a Request
@@ -89,6 +87,8 @@
                  PutEvaluationsResponse' <$>
                    (x .?> "FailedEvaluations" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable PutEvaluations
 
 instance ToHeaders PutEvaluations where
         toHeaders
diff --git a/gen/Network/AWS/Config/StartConfigurationRecorder.hs b/gen/Network/AWS/Config/StartConfigurationRecorder.hs
--- a/gen/Network/AWS/Config/StartConfigurationRecorder.hs
+++ b/gen/Network/AWS/Config/StartConfigurationRecorder.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.StartConfigurationRecorder
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -23,8 +23,6 @@
 --
 -- You must have created at least one delivery channel to successfully
 -- start the configuration recorder.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_StartConfigurationRecorder.html AWS API Reference> for StartConfigurationRecorder.
 module Network.AWS.Config.StartConfigurationRecorder
     (
     -- * Creating a Request
@@ -45,7 +43,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the StartConfigurationRecorder action.
+-- | The input for the < StartConfigurationRecorder> action.
 --
 -- /See:/ 'startConfigurationRecorder' smart constructor.
 newtype StartConfigurationRecorder = StartConfigurationRecorder'
@@ -76,6 +74,8 @@
         request = postJSON config
         response
           = receiveNull StartConfigurationRecorderResponse'
+
+instance Hashable StartConfigurationRecorder
 
 instance ToHeaders StartConfigurationRecorder where
         toHeaders
diff --git a/gen/Network/AWS/Config/StopConfigurationRecorder.hs b/gen/Network/AWS/Config/StopConfigurationRecorder.hs
--- a/gen/Network/AWS/Config/StopConfigurationRecorder.hs
+++ b/gen/Network/AWS/Config/StopConfigurationRecorder.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.StopConfigurationRecorder
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Stops recording configurations of the AWS resources you have selected to
 -- record in your AWS account.
---
--- /See:/ <http://docs.aws.amazon.com/config/latest/APIReference/API_StopConfigurationRecorder.html AWS API Reference> for StopConfigurationRecorder.
 module Network.AWS.Config.StopConfigurationRecorder
     (
     -- * Creating a Request
@@ -42,7 +40,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | The input for the StopConfigurationRecorder action.
+-- | The input for the < StopConfigurationRecorder> action.
 --
 -- /See:/ 'stopConfigurationRecorder' smart constructor.
 newtype StopConfigurationRecorder = StopConfigurationRecorder'
@@ -73,6 +71,8 @@
         request = postJSON config
         response
           = receiveNull StopConfigurationRecorderResponse'
+
+instance Hashable StopConfigurationRecorder
 
 instance ToHeaders StopConfigurationRecorder where
         toHeaders
diff --git a/gen/Network/AWS/Config/Types.hs b/gen/Network/AWS/Config/Types.hs
--- a/gen/Network/AWS/Config/Types.hs
+++ b/gen/Network/AWS/Config/Types.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.Types
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -329,6 +329,7 @@
         , _retryCheck = check
         }
     check e
+      | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
diff --git a/gen/Network/AWS/Config/Types/Product.hs b/gen/Network/AWS/Config/Types/Product.hs
--- a/gen/Network/AWS/Config/Types/Product.hs
+++ b/gen/Network/AWS/Config/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.Types.Product
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -46,7 +46,7 @@
     }
 
 -- | The number of AWS resources or AWS Config rules that cause a result of
--- 'NON_COMPLIANT', up to a maximum of 25.
+-- 'NON_COMPLIANT', up to a maximum number.
 cComplianceContributorCount :: Lens' Compliance (Maybe ComplianceContributorCount)
 cComplianceContributorCount = lens _cComplianceContributorCount (\ s a -> s{_cComplianceContributorCount = a});
 
@@ -59,6 +59,13 @@
 -- A rule is compliant if all of the resources that the rule evaluates
 -- comply with it, and it is noncompliant if any of these resources do not
 -- comply.
+--
+-- AWS Config returns the 'INSUFFICIENT_DATA' value when no evaluation
+-- results are available for the AWS resource or Config rule.
+--
+-- For the 'Compliance' data type, AWS Config supports only 'COMPLIANT',
+-- 'NON_COMPLIANT', and 'INSUFFICIENT_DATA' values. AWS Config does not
+-- support the 'NOT_APPLICABLE' value for the 'Compliance' data type.
 cComplianceType :: Lens' Compliance (Maybe ComplianceType)
 cComplianceType = lens _cComplianceType (\ s a -> s{_cComplianceType = a});
 
@@ -70,6 +77,8 @@
                    (x .:? "ComplianceContributorCount") <*>
                      (x .:? "ComplianceType"))
 
+instance Hashable Compliance
+
 -- | Indicates whether an AWS Config rule is compliant. A rule is compliant
 -- if all of the resources that the rule evaluated comply with it, and it
 -- is noncompliant if any of these resources do not comply.
@@ -110,6 +119,8 @@
                  ComplianceByConfigRule' <$>
                    (x .:? "Compliance") <*> (x .:? "ConfigRuleName"))
 
+instance Hashable ComplianceByConfigRule
+
 -- | Indicates whether an AWS resource that is evaluated according to one or
 -- more AWS Config rules is compliant. A resource is compliant if it
 -- complies with all of the rules that evaluate it, and it is noncompliant
@@ -161,6 +172,8 @@
                    (x .:? "ResourceId") <*> (x .:? "ResourceType") <*>
                      (x .:? "Compliance"))
 
+instance Hashable ComplianceByResource
+
 -- | The number of AWS resources or AWS Config rules responsible for the
 -- current compliance of the item, up to a maximum number.
 --
@@ -201,6 +214,8 @@
                  ComplianceContributorCount' <$>
                    (x .:? "CappedCount") <*> (x .:? "CapExceeded"))
 
+instance Hashable ComplianceContributorCount
+
 -- | The number of AWS Config rules or AWS resources that are compliant and
 -- noncompliant, up to a maximum.
 --
@@ -252,6 +267,8 @@
                      (x .:? "CompliantResourceCount")
                      <*> (x .:? "NonCompliantResourceCount"))
 
+instance Hashable ComplianceSummary
+
 -- | The number of AWS resources of a specific type that are compliant or
 -- noncompliant, up to a maximum of 100 for each compliance.
 --
@@ -294,6 +311,8 @@
                    (x .:? "ResourceType") <*>
                      (x .:? "ComplianceSummary"))
 
+instance Hashable ComplianceSummaryByResourceType
+
 -- | A list that contains the status of the delivery of either the snapshot
 -- or the configuration history to the specified Amazon S3 bucket.
 --
@@ -369,12 +388,13 @@
                      <*> (x .:? "lastErrorMessage")
                      <*> (x .:? "nextDeliveryTime"))
 
+instance Hashable ConfigExportDeliveryInfo
+
 -- | An AWS Lambda function that evaluates configuration items to assess
 -- whether your AWS resources comply with your desired configurations. This
--- function can run when AWS Config detects a configuration change or
--- delivers a configuration snapshot. This function can evaluate any
--- resource in the recording group. To define which of these are evaluated,
--- specify a value for the 'Scope' key.
+-- function can run when AWS Config detects a configuration change to an
+-- AWS resource, or when it delivers a configuration snapshot of the
+-- resources in the account.
 --
 -- For more information about developing and using AWS Config rules, see
 -- <http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html Evaluating AWS Resource Configurations with AWS Config>
@@ -456,12 +476,12 @@
 crConfigRuleId :: Lens' ConfigRule (Maybe Text)
 crConfigRuleId = lens _crConfigRuleId (\ s a -> s{_crConfigRuleId = a});
 
--- | Defines which resources the AWS Config rule evaluates. The scope can
--- include one or more resource types, a combination of a tag key and
--- value, or a combination of one resource type and one or more resource
--- IDs. Specify a scope to constrain the resources that are evaluated. If
--- you do not specify a scope, the AWS Config Rule evaluates all resources
--- in the recording group.
+-- | Defines which resources can trigger an evaluation for the rule. The
+-- scope can include one or more resource types, a combination of one
+-- resource type and one resource ID, or a combination of a tag key and
+-- value. Specify a scope to constrain the resources that can trigger an
+-- evaluation for the rule. If you do not specify a scope, evaluations are
+-- triggered when any resource in the recording group changes.
 crScope :: Lens' ConfigRule (Maybe Scope)
 crScope = lens _crScope (\ s a -> s{_crScope = a});
 
@@ -507,6 +527,8 @@
                      <*> (x .:? "ConfigRuleArn")
                      <*> (x .: "Source"))
 
+instance Hashable ConfigRule
+
 instance ToJSON ConfigRule where
         toJSON ConfigRule'{..}
           = object
@@ -657,6 +679,8 @@
                      <*> (x .:? "LastSuccessfulInvocationTime")
                      <*> (x .:? "ConfigRuleArn"))
 
+instance Hashable ConfigRuleEvaluationStatus
+
 -- | Options for how AWS Config delivers configuration snapshots to the
 -- Amazon S3 bucket in your delivery channel.
 --
@@ -690,6 +714,8 @@
                  ConfigSnapshotDeliveryProperties' <$>
                    (x .:? "deliveryFrequency"))
 
+instance Hashable ConfigSnapshotDeliveryProperties
+
 instance ToJSON ConfigSnapshotDeliveryProperties
          where
         toJSON ConfigSnapshotDeliveryProperties'{..}
@@ -761,6 +787,8 @@
                      <*> (x .:? "lastStatus")
                      <*> (x .:? "lastErrorMessage"))
 
+instance Hashable ConfigStreamDeliveryInfo
+
 -- | A list that contains detailed configurations of a specified resource.
 --
 -- Currently, the list does not contain information about non-AWS
@@ -949,6 +977,8 @@
                      <*> (x .:? "configurationItemMD5Hash")
                      <*> (x .:? "tags" .!= mempty))
 
+instance Hashable ConfigurationItem
+
 -- | An object that represents the recording of configuration changes of an
 -- AWS resource.
 --
@@ -1001,6 +1031,8 @@
                    (x .:? "name") <*> (x .:? "recordingGroup") <*>
                      (x .:? "roleARN"))
 
+instance Hashable ConfigurationRecorder
+
 instance ToJSON ConfigurationRecorder where
         toJSON ConfigurationRecorder'{..}
           = object
@@ -1101,6 +1133,8 @@
                      <*> (x .:? "name")
                      <*> (x .:? "lastStartTime"))
 
+instance Hashable ConfigurationRecorderStatus
+
 -- | A logical container used for storing the configuration changes of an AWS
 -- resource.
 --
@@ -1171,6 +1205,8 @@
                      <*> (x .:? "configSnapshotDeliveryProperties")
                      <*> (x .:? "s3BucketName"))
 
+instance Hashable DeliveryChannel
+
 instance ToJSON DeliveryChannel where
         toJSON DeliveryChannel'{..}
           = object
@@ -1244,6 +1280,8 @@
                      <*> (x .:? "configHistoryDeliveryInfo")
                      <*> (x .:? "name"))
 
+instance Hashable DeliveryChannelStatus
+
 -- | Identifies an AWS resource and indicates whether it complies with the
 -- AWS Config rule that it was evaluated against.
 --
@@ -1299,6 +1337,15 @@
 
 -- | Indicates whether the AWS resource complies with the AWS Config rule
 -- that it was evaluated against.
+--
+-- For the 'Evaluation' data type, AWS Config supports only the
+-- 'COMPLIANT', 'NON_COMPLIANT', and 'NOT_APPLICABLE' values. AWS Config
+-- does not support the 'INSUFFICIENT_DATA' value for this data type.
+--
+-- Similarly, AWS Config does not accept 'INSUFFICIENT_DATA' as the value
+-- for 'ComplianceType' from a 'PutEvaluations' request. For example, an
+-- AWS Lambda function for a custom Config rule cannot pass an
+-- 'INSUFFICIENT_DATA' value to AWS Config.
 eComplianceType :: Lens' Evaluation ComplianceType
 eComplianceType = lens _eComplianceType (\ s a -> s{_eComplianceType = a});
 
@@ -1321,6 +1368,8 @@
                      <*> (x .: "ComplianceType")
                      <*> (x .: "OrderingTimestamp"))
 
+instance Hashable Evaluation
+
 instance ToJSON Evaluation where
         toJSON Evaluation'{..}
           = object
@@ -1400,6 +1449,11 @@
 
 -- | Indicates whether the AWS resource complies with the AWS Config rule
 -- that evaluated it.
+--
+-- For the 'EvaluationResult' data type, AWS Config supports only the
+-- 'COMPLIANT', 'NON_COMPLIANT', and 'NOT_APPLICABLE' values. AWS Config
+-- does not support the 'INSUFFICIENT_DATA' value for the
+-- 'EvaluationResult' data type.
 erComplianceType :: Lens' EvaluationResult (Maybe ComplianceType)
 erComplianceType = lens _erComplianceType (\ s a -> s{_erComplianceType = a});
 
@@ -1415,6 +1469,8 @@
                      <*> (x .:? "ResultToken")
                      <*> (x .:? "ComplianceType"))
 
+instance Hashable EvaluationResult
+
 -- | Uniquely identifies an evaluation result.
 --
 -- /See:/ 'evaluationResultIdentifier' smart constructor.
@@ -1459,6 +1515,8 @@
                    (x .:? "EvaluationResultQualifier") <*>
                      (x .:? "OrderingTimestamp"))
 
+instance Hashable EvaluationResultIdentifier
+
 -- | Identifies an AWS Config rule that evaluated an AWS resource, and
 -- provides the type and ID of the resource that the rule evaluated.
 --
@@ -1507,6 +1565,8 @@
                    (x .:? "ResourceId") <*> (x .:? "ResourceType") <*>
                      (x .:? "ConfigRuleName"))
 
+instance Hashable EvaluationResultQualifier
+
 -- | Specifies the types of AWS resource for which AWS Config records
 -- configuration changes.
 --
@@ -1520,8 +1580,8 @@
 -- instances and EBS volumes.
 --
 -- You can also have AWS Config record configuration changes for supported
--- types of global resources. Global resources are not tied to an
--- individual region and can be used in all regions.
+-- types of global resources (for example, IAM resources). Global resources
+-- are not tied to an individual region and can be used in all regions.
 --
 -- The configuration details for any global resource are the same in all
 -- regions. If you customize AWS Config in multiple regions to record
@@ -1580,7 +1640,8 @@
 rgAllSupported = lens _rgAllSupported (\ s a -> s{_rgAllSupported = a});
 
 -- | Specifies whether AWS Config includes all supported types of global
--- resources with the resources that it records.
+-- resources (for example, IAM resources) with the resources that it
+-- records.
 --
 -- Before you can set this option to 'true', you must set the
 -- 'allSupported' option to 'true'.
@@ -1588,6 +1649,10 @@
 -- If you set this option to 'true', when AWS Config adds support for a new
 -- type of global resource, it automatically starts recording resources of
 -- that type.
+--
+-- The configuration details for any global resource are the same in all
+-- regions. To prevent duplicate configuration items, you should consider
+-- customizing AWS Config in only one region to record global resources.
 rgIncludeGlobalResourceTypes :: Lens' RecordingGroup (Maybe Bool)
 rgIncludeGlobalResourceTypes = lens _rgIncludeGlobalResourceTypes (\ s a -> s{_rgIncludeGlobalResourceTypes = a});
 
@@ -1617,6 +1682,8 @@
                      (x .:? "includeGlobalResourceTypes")
                      <*> (x .:? "resourceTypes" .!= mempty))
 
+instance Hashable RecordingGroup
+
 instance ToJSON RecordingGroup where
         toJSON RecordingGroup'{..}
           = object
@@ -1682,6 +1749,8 @@
                      (x .:? "resourceName")
                      <*> (x .:? "relationshipName"))
 
+instance Hashable Relationship
+
 -- | The details that identify a resource that is discovered by AWS Config,
 -- including the resource type, ID, and (if available) the custom resource
 -- name.
@@ -1740,12 +1809,14 @@
                      (x .:? "resourceName")
                      <*> (x .:? "resourceDeletionTime"))
 
--- | Defines which resources AWS Config evaluates against a rule. The scope
--- can include one or more resource types, a combination of a tag key and
--- value, or a combination of one resource type and one or more resource
--- IDs. Specify a scope to constrain the resources to be evaluated. If you
--- do not specify a scope, all resources in your recording group are
--- evaluated against the rule.
+instance Hashable ResourceIdentifier
+
+-- | Defines which resources trigger an evaluation for an AWS Config rule.
+-- The scope can include one or more resource types, a combination of a tag
+-- key and value, or a combination of one resource type and one resource
+-- ID. Specify a scope to constrain which resources trigger an evaluation
+-- for a rule. Otherwise, evaluations for the rule are triggered when any
+-- resource in your recording group changes in configuration.
 --
 -- /See:/ 'scope' smart constructor.
 data Scope = Scope'
@@ -1776,26 +1847,26 @@
     , _sTagKey = Nothing
     }
 
--- | The resource types of only those AWS resources that you want AWS Config
--- to evaluate against the rule. You can specify only one type if you also
--- specify resource IDs for 'ComplianceResourceId'.
+-- | The resource types of only those AWS resources that you want to trigger
+-- an evaluation for the rule. You can only specify one type if you also
+-- specify a resource ID for 'ComplianceResourceId'.
 sComplianceResourceTypes :: Lens' Scope [Text]
 sComplianceResourceTypes = lens _sComplianceResourceTypes (\ s a -> s{_sComplianceResourceTypes = a}) . _Default . _Coerce;
 
--- | The IDs of only those AWS resources that you want AWS Config to evaluate
--- against the rule. If you specify a resource ID, you must specify one
+-- | The IDs of the only AWS resource that you want to trigger an evaluation
+-- for the rule. If you specify a resource ID, you must specify one
 -- resource type for 'ComplianceResourceTypes'.
 sComplianceResourceId :: Lens' Scope (Maybe Text)
 sComplianceResourceId = lens _sComplianceResourceId (\ s a -> s{_sComplianceResourceId = a});
 
--- | The tag value applied to only those AWS resources that you want AWS
--- Config to evaluate against the rule. If you specify a value for
+-- | The tag value applied to only those AWS resources that you want to
+-- trigger an evaluation for the rule. If you specify a value for
 -- 'TagValue', you must also specify a value for 'TagKey'.
 sTagValue :: Lens' Scope (Maybe Text)
 sTagValue = lens _sTagValue (\ s a -> s{_sTagValue = a});
 
 -- | The tag key that is applied to only those AWS resources that you want
--- AWS Config to evaluate against the rule.
+-- you want to trigger an evaluation for the rule.
 sTagKey :: Lens' Scope (Maybe Text)
 sTagKey = lens _sTagKey (\ s a -> s{_sTagKey = a});
 
@@ -1809,6 +1880,8 @@
                      <*> (x .:? "TagValue")
                      <*> (x .:? "TagKey"))
 
+instance Hashable Scope
+
 instance ToJSON Scope where
         toJSON Scope'{..}
           = object
@@ -1876,6 +1949,8 @@
                    (x .:? "SourceIdentifier") <*> (x .:? "Owner") <*>
                      (x .:? "SourceDetails" .!= mempty))
 
+instance Hashable Source
+
 instance ToJSON Source where
         toJSON Source'{..}
           = object
@@ -1928,6 +2003,8 @@
               (\ x ->
                  SourceDetail' <$>
                    (x .:? "MessageType") <*> (x .:? "EventSource"))
+
+instance Hashable SourceDetail
 
 instance ToJSON SourceDetail where
         toJSON SourceDetail'{..}
diff --git a/gen/Network/AWS/Config/Types/Sum.hs b/gen/Network/AWS/Config/Types/Sum.hs
--- a/gen/Network/AWS/Config/Types/Sum.hs
+++ b/gen/Network/AWS/Config/Types/Sum.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.Types.Sum
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/gen/Network/AWS/Config/Waiters.hs b/gen/Network/AWS/Config/Waiters.hs
--- a/gen/Network/AWS/Config/Waiters.hs
+++ b/gen/Network/AWS/Config/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.Config.Waiters
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Test/AWS/Config.hs b/test/Test/AWS/Config.hs
--- a/test/Test/AWS/Config.hs
+++ b/test/Test/AWS/Config.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- Module      : Test.AWS.Config
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/Config/Internal.hs b/test/Test/AWS/Config/Internal.hs
--- a/test/Test/AWS/Config/Internal.hs
+++ b/test/Test/AWS/Config/Internal.hs
@@ -2,7 +2,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.Config.Internal
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/Gen/Config.hs b/test/Test/AWS/Gen/Config.hs
--- a/test/Test/AWS/Gen/Config.hs
+++ b/test/Test/AWS/Gen/Config.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.Config
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
