diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.6`
+`1.3.7`
 
 
 ## Description
diff --git a/amazonka-config.cabal b/amazonka-config.cabal
--- a/amazonka-config.cabal
+++ b/amazonka-config.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-config
-version:               1.3.6
+version:               1.3.7
 synopsis:              Amazon Config SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -100,7 +100,7 @@
         , Network.AWS.Config.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.6.*
+          amazonka-core == 1.3.7.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-config-test
@@ -120,12 +120,11 @@
         , Test.AWS.Config.Internal
 
     build-depends:
-          amazonka-core == 1.3.6.*
-        , amazonka-test == 1.3.6.*
-        , amazonka-config == 1.3.6.*
+          amazonka-core == 1.3.7.*
+        , amazonka-test == 1.3.7.*
+        , amazonka-config == 1.3.7.*
         , base
         , bytestring
-        , lens
         , tasty
         , tasty-hunit
         , text
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
@@ -86,6 +86,9 @@
     -- ** NoSuchConfigRuleException
     , _NoSuchConfigRuleException
 
+    -- ** InsufficientPermissionsException
+    , _InsufficientPermissionsException
+
     -- ** ResourceNotDiscoveredException
     , _ResourceNotDiscoveredException
 
@@ -303,11 +306,14 @@
     , ConfigRuleEvaluationStatus
     , configRuleEvaluationStatus
     , cresLastErrorCode
+    , cresLastFailedEvaluationTime
     , cresFirstActivatedTime
+    , cresLastSuccessfulEvaluationTime
     , cresConfigRuleName
     , cresLastErrorMessage
     , cresConfigRuleId
     , cresLastFailedInvocationTime
+    , cresFirstEvaluationStarted
     , cresLastSuccessfulInvocationTime
     , cresConfigRuleARN
 
@@ -417,6 +423,7 @@
     , RecordingGroup
     , recordingGroup
     , rgAllSupported
+    , rgIncludeGlobalResourceTypes
     , rgResourceTypes
 
     -- ** Relationship
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
@@ -44,6 +44,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -41,6 +41,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -48,6 +48,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -65,6 +65,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -68,6 +68,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -42,6 +42,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -41,6 +41,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -43,6 +43,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -43,6 +43,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -43,6 +43,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -43,6 +43,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -46,6 +46,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -46,6 +46,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -38,6 +38,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -42,6 +42,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -59,6 +59,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -60,6 +60,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -70,6 +70,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -47,6 +47,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -46,6 +46,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -42,6 +42,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -40,6 +40,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -37,6 +37,7 @@
 
 import           Network.AWS.Config.Types
 import           Network.AWS.Config.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
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
@@ -28,6 +28,7 @@
     , _InvalidResultTokenException
     , _NoSuchDeliveryChannelException
     , _NoSuchConfigRuleException
+    , _InsufficientPermissionsException
     , _ResourceNotDiscoveredException
     , _InvalidNextTokenException
     , _MaxNumberOfConfigRulesExceededException
@@ -141,11 +142,14 @@
     , ConfigRuleEvaluationStatus
     , configRuleEvaluationStatus
     , cresLastErrorCode
+    , cresLastFailedEvaluationTime
     , cresFirstActivatedTime
+    , cresLastSuccessfulEvaluationTime
     , cresConfigRuleName
     , cresLastErrorMessage
     , cresConfigRuleId
     , cresLastFailedInvocationTime
+    , cresFirstEvaluationStarted
     , cresLastSuccessfulInvocationTime
     , cresConfigRuleARN
 
@@ -255,6 +259,7 @@
     , RecordingGroup
     , recordingGroup
     , rgAllSupported
+    , rgIncludeGlobalResourceTypes
     , rgResourceTypes
 
     -- * Relationship
@@ -297,6 +302,7 @@
 
 import           Network.AWS.Config.Types.Product
 import           Network.AWS.Config.Types.Sum
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
@@ -393,6 +399,16 @@
 _NoSuchConfigRuleException :: AsError a => Getting (First ServiceError) a ServiceError
 _NoSuchConfigRuleException =
     _ServiceError . hasCode "NoSuchConfigRuleException"
+
+-- | Indicates one of the following errors:
+--
+-- -   The rule cannot be created because the IAM role assigned to AWS
+--     Config lacks permissions to perform the config:Put* action.
+-- -   The AWS Lambda function cannot be invoked. Check the function ARN,
+--     and check the function\'s permissions.
+_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError
+_InsufficientPermissionsException =
+    _ServiceError . hasCode "InsufficientPermissionsException"
 
 -- | You have specified a resource that is either unknown or has not been
 -- discovered.
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
@@ -18,6 +18,7 @@
 module Network.AWS.Config.Types.Product where
 
 import           Network.AWS.Config.Types.Sum
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 
 -- | Indicates whether an AWS resource or AWS Config rule is compliant and
@@ -531,11 +532,14 @@
 -- /See:/ 'configRuleEvaluationStatus' smart constructor.
 data ConfigRuleEvaluationStatus = ConfigRuleEvaluationStatus'
     { _cresLastErrorCode                :: !(Maybe Text)
+    , _cresLastFailedEvaluationTime     :: !(Maybe POSIX)
     , _cresFirstActivatedTime           :: !(Maybe POSIX)
+    , _cresLastSuccessfulEvaluationTime :: !(Maybe POSIX)
     , _cresConfigRuleName               :: !(Maybe Text)
     , _cresLastErrorMessage             :: !(Maybe Text)
     , _cresConfigRuleId                 :: !(Maybe Text)
     , _cresLastFailedInvocationTime     :: !(Maybe POSIX)
+    , _cresFirstEvaluationStarted       :: !(Maybe Bool)
     , _cresLastSuccessfulInvocationTime :: !(Maybe POSIX)
     , _cresConfigRuleARN                :: !(Maybe Text)
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -546,8 +550,12 @@
 --
 -- * 'cresLastErrorCode'
 --
+-- * 'cresLastFailedEvaluationTime'
+--
 -- * 'cresFirstActivatedTime'
 --
+-- * 'cresLastSuccessfulEvaluationTime'
+--
 -- * 'cresConfigRuleName'
 --
 -- * 'cresLastErrorMessage'
@@ -556,6 +564,8 @@
 --
 -- * 'cresLastFailedInvocationTime'
 --
+-- * 'cresFirstEvaluationStarted'
+--
 -- * 'cresLastSuccessfulInvocationTime'
 --
 -- * 'cresConfigRuleARN'
@@ -564,11 +574,14 @@
 configRuleEvaluationStatus =
     ConfigRuleEvaluationStatus'
     { _cresLastErrorCode = Nothing
+    , _cresLastFailedEvaluationTime = Nothing
     , _cresFirstActivatedTime = Nothing
+    , _cresLastSuccessfulEvaluationTime = Nothing
     , _cresConfigRuleName = Nothing
     , _cresLastErrorMessage = Nothing
     , _cresConfigRuleId = Nothing
     , _cresLastFailedInvocationTime = Nothing
+    , _cresFirstEvaluationStarted = Nothing
     , _cresLastSuccessfulInvocationTime = Nothing
     , _cresConfigRuleARN = Nothing
     }
@@ -577,10 +590,20 @@
 cresLastErrorCode :: Lens' ConfigRuleEvaluationStatus (Maybe Text)
 cresLastErrorCode = lens _cresLastErrorCode (\ s a -> s{_cresLastErrorCode = a});
 
+-- | The time that AWS Config last failed to evaluate your AWS resources
+-- against the rule.
+cresLastFailedEvaluationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)
+cresLastFailedEvaluationTime = lens _cresLastFailedEvaluationTime (\ s a -> s{_cresLastFailedEvaluationTime = a}) . mapping _Time;
+
 -- | The time that you first activated the AWS Config rule.
 cresFirstActivatedTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)
 cresFirstActivatedTime = lens _cresFirstActivatedTime (\ s a -> s{_cresFirstActivatedTime = a}) . mapping _Time;
 
+-- | The time that AWS Config last successfully evaluated your AWS resources
+-- against the rule.
+cresLastSuccessfulEvaluationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)
+cresLastSuccessfulEvaluationTime = lens _cresLastSuccessfulEvaluationTime (\ s a -> s{_cresLastSuccessfulEvaluationTime = a}) . mapping _Time;
+
 -- | The name of the AWS Config rule.
 cresConfigRuleName :: Lens' ConfigRuleEvaluationStatus (Maybe Text)
 cresConfigRuleName = lens _cresConfigRuleName (\ s a -> s{_cresConfigRuleName = a});
@@ -598,6 +621,16 @@
 cresLastFailedInvocationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)
 cresLastFailedInvocationTime = lens _cresLastFailedInvocationTime (\ s a -> s{_cresLastFailedInvocationTime = a}) . mapping _Time;
 
+-- | Indicates whether AWS Config has evaluated your resources against the
+-- rule at least once.
+--
+-- -   'true' - AWS Config has evaluated your AWS resources against the
+--     rule at least once.
+-- -   'false' - AWS Config has not once finished evaluating your AWS
+--     resources against the rule.
+cresFirstEvaluationStarted :: Lens' ConfigRuleEvaluationStatus (Maybe Bool)
+cresFirstEvaluationStarted = lens _cresFirstEvaluationStarted (\ s a -> s{_cresFirstEvaluationStarted = a});
+
 -- | The time that AWS Config last successfully invoked the AWS Config rule
 -- to evaluate your AWS resources.
 cresLastSuccessfulInvocationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)
@@ -613,11 +646,14 @@
               (\ x ->
                  ConfigRuleEvaluationStatus' <$>
                    (x .:? "LastErrorCode") <*>
-                     (x .:? "FirstActivatedTime")
+                     (x .:? "LastFailedEvaluationTime")
+                     <*> (x .:? "FirstActivatedTime")
+                     <*> (x .:? "LastSuccessfulEvaluationTime")
                      <*> (x .:? "ConfigRuleName")
                      <*> (x .:? "LastErrorMessage")
                      <*> (x .:? "ConfigRuleId")
                      <*> (x .:? "LastFailedInvocationTime")
+                     <*> (x .:? "FirstEvaluationStarted")
                      <*> (x .:? "LastSuccessfulInvocationTime")
                      <*> (x .:? "ConfigRuleArn"))
 
@@ -947,9 +983,8 @@
 crName :: Lens' ConfigurationRecorder (Maybe Text)
 crName = lens _crName (\ s a -> s{_crName = a});
 
--- | The recording group specifies either to record configurations for all
--- supported resources or to provide a list of resource types to record.
--- The list of resource types must be a subset of supported resource types.
+-- | Specifies the types of AWS resource for which AWS Config records
+-- configuration changes.
 crRecordingGroup :: Lens' ConfigurationRecorder (Maybe RecordingGroup)
 crRecordingGroup = lens _crRecordingGroup (\ s a -> s{_crRecordingGroup = a});
 
@@ -1472,16 +1507,46 @@
                    (x .:? "ResourceId") <*> (x .:? "ResourceType") <*>
                      (x .:? "ConfigRuleName"))
 
--- | The group of AWS resource types that AWS Config records when starting
--- the configuration recorder.
+-- | Specifies the types of AWS resource for which AWS Config records
+-- configuration changes.
 --
--- __recordingGroup__ can have one and only one parameter. Choose either
--- __allSupported__ or __resourceTypes__.
+-- In the recording group, you specify whether all supported types or
+-- specific types of resources are recorded.
 --
+-- By default, AWS Config records configuration changes for all supported
+-- types of regional resources that AWS Config discovers in the region in
+-- which it is running. Regional resources are tied to a region and can be
+-- used only in that region. Examples of regional resources are EC2
+-- 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.
+--
+-- The configuration details for any global resource are the same in all
+-- regions. If you customize AWS Config in multiple regions to record
+-- global resources, it will create multiple configuration items each time
+-- a global resource changes: one configuration item for each region. These
+-- configuration items will contain identical data. To prevent duplicate
+-- configuration items, you should consider customizing AWS Config in only
+-- one region to record global resources, unless you want the configuration
+-- items to be available in multiple regions.
+--
+-- If you don\'t want AWS Config to record all resources, you can specify
+-- which types of resources it will record with the 'resourceTypes'
+-- parameter.
+--
+-- For a list of supported resource types, see
+-- <http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources Supported resource types>.
+--
+-- For more information, see
+-- <http://docs.aws.amazon.com/config/latest/developerguide/select-resources.html Selecting Which Resources AWS Config Records>.
+--
 -- /See:/ 'recordingGroup' smart constructor.
 data RecordingGroup = RecordingGroup'
-    { _rgAllSupported  :: !(Maybe Bool)
-    , _rgResourceTypes :: !(Maybe [ResourceType])
+    { _rgAllSupported               :: !(Maybe Bool)
+    , _rgIncludeGlobalResourceTypes :: !(Maybe Bool)
+    , _rgResourceTypes              :: !(Maybe [ResourceType])
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'RecordingGroup' with the minimum fields required to make a request.
@@ -1490,28 +1555,55 @@
 --
 -- * 'rgAllSupported'
 --
+-- * 'rgIncludeGlobalResourceTypes'
+--
 -- * 'rgResourceTypes'
 recordingGroup
     :: RecordingGroup
 recordingGroup =
     RecordingGroup'
     { _rgAllSupported = Nothing
+    , _rgIncludeGlobalResourceTypes = Nothing
     , _rgResourceTypes = Nothing
     }
 
--- | Records all supported resource types in the recording group. For a list
--- of supported resource types, see
--- <http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources Supported resource types>.
--- If you specify __allSupported__, you cannot enumerate a list of
--- __resourceTypes__.
+-- | Specifies whether AWS Config records configuration changes for every
+-- supported type of regional resource.
+--
+-- If you set this option to 'true', when AWS Config adds support for a new
+-- type of regional resource, it automatically starts recording resources
+-- of that type.
+--
+-- If you set this option to 'true', you cannot enumerate a list of
+-- 'resourceTypes'.
 rgAllSupported :: Lens' RecordingGroup (Maybe Bool)
 rgAllSupported = lens _rgAllSupported (\ s a -> s{_rgAllSupported = a});
 
--- | A comma-separated list of strings representing valid AWS resource types
--- (for example, 'AWS::EC2::Instance' or 'AWS::CloudTrail::Trail').
--- __resourceTypes__ is only valid if you have chosen not to select
--- __allSupported__. For a list of valid __resourceTypes__ values, see the
--- __resourceType Value__ column in the following topic:
+-- | Specifies whether AWS Config includes all supported types of global
+-- resources with the resources that it records.
+--
+-- Before you can set this option to 'true', you must set the
+-- 'allSupported' option to 'true'.
+--
+-- 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.
+rgIncludeGlobalResourceTypes :: Lens' RecordingGroup (Maybe Bool)
+rgIncludeGlobalResourceTypes = lens _rgIncludeGlobalResourceTypes (\ s a -> s{_rgIncludeGlobalResourceTypes = a});
+
+-- | A comma-separated list that specifies the types of AWS resources for
+-- which AWS Config records configuration changes (for example,
+-- 'AWS::EC2::Instance' or 'AWS::CloudTrail::Trail').
+--
+-- Before you can set this option to 'true', you must set the
+-- 'allSupported' option to 'false'.
+--
+-- If you set this option to 'true', when AWS Config adds support for a new
+-- type of resource, it will not record resources of that type unless you
+-- manually add that type to your recording group.
+--
+-- For a list of valid 'resourceTypes' values, see the __resourceType
+-- Value__ column in
 -- <http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources Supported AWS Resource Types>.
 rgResourceTypes :: Lens' RecordingGroup [ResourceType]
 rgResourceTypes = lens _rgResourceTypes (\ s a -> s{_rgResourceTypes = a}) . _Default . _Coerce;
@@ -1522,13 +1614,16 @@
               (\ x ->
                  RecordingGroup' <$>
                    (x .:? "allSupported") <*>
-                     (x .:? "resourceTypes" .!= mempty))
+                     (x .:? "includeGlobalResourceTypes")
+                     <*> (x .:? "resourceTypes" .!= mempty))
 
 instance ToJSON RecordingGroup where
         toJSON RecordingGroup'{..}
           = object
               (catMaybes
                  [("allSupported" .=) <$> _rgAllSupported,
+                  ("includeGlobalResourceTypes" .=) <$>
+                    _rgIncludeGlobalResourceTypes,
                   ("resourceTypes" .=) <$> _rgResourceTypes])
 
 -- | The relationship of the related resource to the main resource.
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
@@ -22,7 +22,7 @@
 data ChronologicalOrder
     = Forward
     | Reverse
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ChronologicalOrder where
     parser = takeLowerText >>= \case
@@ -49,7 +49,7 @@
     | InsufficientData
     | NonCompliant
     | NotApplicable
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ComplianceType where
     parser = takeLowerText >>= \case
@@ -81,7 +81,7 @@
 data ConfigRuleState
     = Active
     | Deleting
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ConfigRuleState where
     parser = takeLowerText >>= \case
@@ -111,7 +111,7 @@
     | Discovered
     | Failed
     | OK
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ConfigurationItemStatus where
     parser = takeLowerText >>= \case
@@ -141,7 +141,7 @@
     = DSFailure
     | DSNotApplicable
     | DSSuccess
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText DeliveryStatus where
     parser = takeLowerText >>= \case
@@ -167,7 +167,7 @@
 
 data EventSource =
     AWS_Config
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText EventSource where
     parser = takeLowerText >>= \case
@@ -196,7 +196,7 @@
     | ThreeHours
     | TwelveHours
     | TwentyFourHours
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText MaximumExecutionFrequency where
     parser = takeLowerText >>= \case
@@ -230,7 +230,7 @@
 data MessageType
     = ConfigurationItemChangeNotification
     | ConfigurationSnapshotDeliveryCompleted
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText MessageType where
     parser = takeLowerText >>= \case
@@ -258,7 +258,7 @@
 data Owner
     = AWS
     | CustomLambda
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText Owner where
     parser = takeLowerText >>= \case
@@ -287,7 +287,7 @@
     = Failure
     | Pending
     | Success
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText RecorderStatus where
     parser = takeLowerText >>= \case
@@ -315,6 +315,7 @@
     = AWSCloudTrailTrail
     | AWSEC2CustomerGateway
     | AWSEC2EIP
+    | AWSEC2Host
     | AWSEC2Instance
     | AWSEC2InternetGateway
     | AWSEC2NetworkACL
@@ -326,13 +327,18 @@
     | AWSEC2VPNConnection
     | AWSEC2VPNGateway
     | AWSEC2Volume
-    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+    | AWSIAMGroup
+    | AWSIAMPolicy
+    | AWSIAMRole
+    | AWSIAMUser
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ResourceType where
     parser = takeLowerText >>= \case
         "aws::cloudtrail::trail" -> pure AWSCloudTrailTrail
         "aws::ec2::customergateway" -> pure AWSEC2CustomerGateway
         "aws::ec2::eip" -> pure AWSEC2EIP
+        "aws::ec2::host" -> pure AWSEC2Host
         "aws::ec2::instance" -> pure AWSEC2Instance
         "aws::ec2::internetgateway" -> pure AWSEC2InternetGateway
         "aws::ec2::networkacl" -> pure AWSEC2NetworkACL
@@ -344,14 +350,19 @@
         "aws::ec2::vpnconnection" -> pure AWSEC2VPNConnection
         "aws::ec2::vpngateway" -> pure AWSEC2VPNGateway
         "aws::ec2::volume" -> pure AWSEC2Volume
+        "aws::iam::group" -> pure AWSIAMGroup
+        "aws::iam::policy" -> pure AWSIAMPolicy
+        "aws::iam::role" -> pure AWSIAMRole
+        "aws::iam::user" -> pure AWSIAMUser
         e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e
-           <> "'. Accepted values: AWS::CloudTrail::Trail, AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::EC2::Volume"
+           <> "'. Accepted values: AWS::CloudTrail::Trail, AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::EC2::Volume, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User"
 
 instance ToText ResourceType where
     toText = \case
         AWSCloudTrailTrail -> "AWS::CloudTrail::Trail"
         AWSEC2CustomerGateway -> "AWS::EC2::CustomerGateway"
         AWSEC2EIP -> "AWS::EC2::EIP"
+        AWSEC2Host -> "AWS::EC2::Host"
         AWSEC2Instance -> "AWS::EC2::Instance"
         AWSEC2InternetGateway -> "AWS::EC2::InternetGateway"
         AWSEC2NetworkACL -> "AWS::EC2::NetworkAcl"
@@ -363,6 +374,10 @@
         AWSEC2VPNConnection -> "AWS::EC2::VPNConnection"
         AWSEC2VPNGateway -> "AWS::EC2::VPNGateway"
         AWSEC2Volume -> "AWS::EC2::Volume"
+        AWSIAMGroup -> "AWS::IAM::Group"
+        AWSIAMPolicy -> "AWS::IAM::Policy"
+        AWSIAMRole -> "AWS::IAM::Role"
+        AWSIAMUser -> "AWS::IAM::User"
 
 instance Hashable     ResourceType
 instance ToByteString ResourceType
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
@@ -16,5 +16,6 @@
 module Network.AWS.Config.Waiters where
 
 import           Network.AWS.Config.Types
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Waiter
