diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.2.0.2`
+`1.3.0`
 
 
 ## 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.2.0.2
+version:               1.3.0
 synopsis:              Amazon Config SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -76,6 +76,7 @@
         , Network.AWS.Config.DescribeDeliveryChannelStatus
         , Network.AWS.Config.DescribeDeliveryChannels
         , Network.AWS.Config.GetResourceConfigHistory
+        , Network.AWS.Config.ListDiscoveredResources
         , Network.AWS.Config.PutConfigurationRecorder
         , Network.AWS.Config.PutDeliveryChannel
         , Network.AWS.Config.StartConfigurationRecorder
@@ -88,7 +89,7 @@
         , Network.AWS.Config.Types.Sum
 
     build-depends:
-          amazonka-core == 1.2.0.*
+          amazonka-core == 1.3.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-config-test
@@ -108,9 +109,9 @@
         , Test.AWS.Config.Internal
 
     build-depends:
-          amazonka-core == 1.2.0.*
-        , amazonka-test == 1.2.0.*
-        , amazonka-config == 1.2.0.*
+          amazonka-core == 1.3.0.*
+        , amazonka-test == 1.3.0.*
+        , amazonka-config == 1.3.0.*
         , base
         , bytestring
         , lens
diff --git a/fixture/ListDiscoveredResources.yaml b/fixture/ListDiscoveredResources.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListDiscoveredResources.yaml
diff --git a/fixture/ListDiscoveredResourcesResponse.proto b/fixture/ListDiscoveredResourcesResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListDiscoveredResourcesResponse.proto
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
@@ -50,17 +50,17 @@
     -- * Errors
     -- $errors
 
-    -- ** ValidationException
-    , _ValidationException
-
     -- ** InvalidTimeRangeException
     , _InvalidTimeRangeException
 
+    -- ** InvalidSNSTopicARNException
+    , _InvalidSNSTopicARNException
+
     -- ** InvalidRecordingGroupException
     , _InvalidRecordingGroupException
 
-    -- ** InvalidSNSTopicARNException
-    , _InvalidSNSTopicARNException
+    -- ** ValidationException
+    , _ValidationException
 
     -- ** InvalidRoleException
     , _InvalidRoleException
@@ -83,24 +83,24 @@
     -- ** InvalidNextTokenException
     , _InvalidNextTokenException
 
-    -- ** NoSuchBucketException
-    , _NoSuchBucketException
-
     -- ** NoAvailableConfigurationRecorderException
     , _NoAvailableConfigurationRecorderException
 
+    -- ** NoSuchBucketException
+    , _NoSuchBucketException
+
     -- ** NoAvailableDeliveryChannelException
     , _NoAvailableDeliveryChannelException
 
+    -- ** InvalidConfigurationRecorderNameException
+    , _InvalidConfigurationRecorderNameException
+
     -- ** NoRunningConfigurationRecorderException
     , _NoRunningConfigurationRecorderException
 
     -- ** MaxNumberOfConfigurationRecordersExceededException
     , _MaxNumberOfConfigurationRecordersExceededException
 
-    -- ** InvalidConfigurationRecorderNameException
-    , _InvalidConfigurationRecorderNameException
-
     -- ** InsufficientDeliveryPolicyException
     , _InsufficientDeliveryPolicyException
 
@@ -140,15 +140,18 @@
     -- ** PutConfigurationRecorder
     , module Network.AWS.Config.PutConfigurationRecorder
 
-    -- ** DeleteDeliveryChannel
-    , module Network.AWS.Config.DeleteDeliveryChannel
+    -- ** DescribeDeliveryChannelStatus
+    , module Network.AWS.Config.DescribeDeliveryChannelStatus
 
     -- ** PutDeliveryChannel
     , module Network.AWS.Config.PutDeliveryChannel
 
-    -- ** DescribeDeliveryChannelStatus
-    , module Network.AWS.Config.DescribeDeliveryChannelStatus
+    -- ** DeleteDeliveryChannel
+    , module Network.AWS.Config.DeleteDeliveryChannel
 
+    -- ** ListDiscoveredResources
+    , module Network.AWS.Config.ListDiscoveredResources
+
     -- ** DescribeDeliveryChannels
     , module Network.AWS.Config.DescribeDeliveryChannels
 
@@ -190,16 +193,18 @@
     , ConfigurationItem
     , configurationItem
     , ciResourceId
-    , ciConfigurationStateId
     , ciResourceType
+    , ciConfigurationStateId
     , ciArn
+    , ciResourceName
     , ciResourceCreationTime
     , ciConfigurationItemStatus
-    , ciAccountId
     , ciConfigurationItemCaptureTime
+    , ciAccountId
     , ciAvailabilityZone
     , ciRelationships
     , ciVersion
+    , ciAwsRegion
     , ciRelatedEvents
     , ciConfiguration
     , ciConfigurationItemMD5Hash
@@ -235,8 +240,8 @@
     -- ** DeliveryChannelStatus
     , DeliveryChannelStatus
     , deliveryChannelStatus
-    , dcsConfigStreamDeliveryInfo
     , dcsConfigSnapshotDeliveryInfo
+    , dcsConfigStreamDeliveryInfo
     , dcsConfigHistoryDeliveryInfo
     , dcsName
 
@@ -251,7 +256,16 @@
     , relationship
     , rResourceId
     , rResourceType
+    , rResourceName
     , rRelationshipName
+
+    -- ** ResourceIdentifier
+    , ResourceIdentifier
+    , resourceIdentifier
+    , riResourceId
+    , riResourceType
+    , riResourceName
+    , riResourceDeletionTime
     ) where
 
 import           Network.AWS.Config.DeleteDeliveryChannel
@@ -261,6 +275,7 @@
 import           Network.AWS.Config.DescribeDeliveryChannels
 import           Network.AWS.Config.DescribeDeliveryChannelStatus
 import           Network.AWS.Config.GetResourceConfigHistory
+import           Network.AWS.Config.ListDiscoveredResources
 import           Network.AWS.Config.PutConfigurationRecorder
 import           Network.AWS.Config.PutDeliveryChannel
 import           Network.AWS.Config.StartConfigurationRecorder
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
@@ -43,7 +43,7 @@
     , DeliverConfigSnapshotResponse
     -- * Response Lenses
     , dcsrsConfigSnapshotId
-    , dcsrsStatus
+    , dcsrsResponseStatus
     ) where
 
 import           Network.AWS.Config.Types
@@ -115,7 +115,7 @@
 -- /See:/ 'deliverConfigSnapshotResponse' smart constructor.
 data DeliverConfigSnapshotResponse = DeliverConfigSnapshotResponse'
     { _dcsrsConfigSnapshotId :: !(Maybe Text)
-    , _dcsrsStatus           :: !Int
+    , _dcsrsResponseStatus   :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DeliverConfigSnapshotResponse' with the minimum fields required to make a request.
@@ -124,14 +124,14 @@
 --
 -- * 'dcsrsConfigSnapshotId'
 --
--- * 'dcsrsStatus'
+-- * 'dcsrsResponseStatus'
 deliverConfigSnapshotResponse
-    :: Int -- ^ 'dcsrsStatus'
+    :: Int -- ^ 'dcsrsResponseStatus'
     -> DeliverConfigSnapshotResponse
-deliverConfigSnapshotResponse pStatus_ =
+deliverConfigSnapshotResponse pResponseStatus_ =
     DeliverConfigSnapshotResponse'
     { _dcsrsConfigSnapshotId = Nothing
-    , _dcsrsStatus = pStatus_
+    , _dcsrsResponseStatus = pResponseStatus_
     }
 
 -- | The ID of the snapshot that is being created.
@@ -139,5 +139,5 @@
 dcsrsConfigSnapshotId = lens _dcsrsConfigSnapshotId (\ s a -> s{_dcsrsConfigSnapshotId = a});
 
 -- | The response status code.
-dcsrsStatus :: Lens' DeliverConfigSnapshotResponse Int
-dcsrsStatus = lens _dcsrsStatus (\ s a -> s{_dcsrsStatus = a});
+dcsrsResponseStatus :: Lens' DeliverConfigSnapshotResponse Int
+dcsrsResponseStatus = lens _dcsrsResponseStatus (\ s a -> s{_dcsrsResponseStatus = a});
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
@@ -38,7 +38,7 @@
     , DescribeConfigurationRecorderStatusResponse
     -- * Response Lenses
     , dcrsrsConfigurationRecordersStatus
-    , dcrsrsStatus
+    , dcrsrsResponseStatus
     ) where
 
 import           Network.AWS.Config.Types
@@ -117,7 +117,7 @@
 -- /See:/ 'describeConfigurationRecorderStatusResponse' smart constructor.
 data DescribeConfigurationRecorderStatusResponse = DescribeConfigurationRecorderStatusResponse'
     { _dcrsrsConfigurationRecordersStatus :: !(Maybe [ConfigurationRecorderStatus])
-    , _dcrsrsStatus                       :: !Int
+    , _dcrsrsResponseStatus               :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeConfigurationRecorderStatusResponse' with the minimum fields required to make a request.
@@ -126,14 +126,14 @@
 --
 -- * 'dcrsrsConfigurationRecordersStatus'
 --
--- * 'dcrsrsStatus'
+-- * 'dcrsrsResponseStatus'
 describeConfigurationRecorderStatusResponse
-    :: Int -- ^ 'dcrsrsStatus'
+    :: Int -- ^ 'dcrsrsResponseStatus'
     -> DescribeConfigurationRecorderStatusResponse
-describeConfigurationRecorderStatusResponse pStatus_ =
+describeConfigurationRecorderStatusResponse pResponseStatus_ =
     DescribeConfigurationRecorderStatusResponse'
     { _dcrsrsConfigurationRecordersStatus = Nothing
-    , _dcrsrsStatus = pStatus_
+    , _dcrsrsResponseStatus = pResponseStatus_
     }
 
 -- | A list that contains status of the specified recorders.
@@ -141,5 +141,5 @@
 dcrsrsConfigurationRecordersStatus = lens _dcrsrsConfigurationRecordersStatus (\ s a -> s{_dcrsrsConfigurationRecordersStatus = a}) . _Default . _Coerce;
 
 -- | The response status code.
-dcrsrsStatus :: Lens' DescribeConfigurationRecorderStatusResponse Int
-dcrsrsStatus = lens _dcrsrsStatus (\ s a -> s{_dcrsrsStatus = a});
+dcrsrsResponseStatus :: Lens' DescribeConfigurationRecorderStatusResponse Int
+dcrsrsResponseStatus = lens _dcrsrsResponseStatus (\ s a -> s{_dcrsrsResponseStatus = a});
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
@@ -38,7 +38,7 @@
     , DescribeConfigurationRecordersResponse
     -- * Response Lenses
     , dcrrsConfigurationRecorders
-    , dcrrsStatus
+    , dcrrsResponseStatus
     ) where
 
 import           Network.AWS.Config.Types
@@ -111,7 +111,7 @@
 -- /See:/ 'describeConfigurationRecordersResponse' smart constructor.
 data DescribeConfigurationRecordersResponse = DescribeConfigurationRecordersResponse'
     { _dcrrsConfigurationRecorders :: !(Maybe [ConfigurationRecorder])
-    , _dcrrsStatus                 :: !Int
+    , _dcrrsResponseStatus         :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeConfigurationRecordersResponse' with the minimum fields required to make a request.
@@ -120,14 +120,14 @@
 --
 -- * 'dcrrsConfigurationRecorders'
 --
--- * 'dcrrsStatus'
+-- * 'dcrrsResponseStatus'
 describeConfigurationRecordersResponse
-    :: Int -- ^ 'dcrrsStatus'
+    :: Int -- ^ 'dcrrsResponseStatus'
     -> DescribeConfigurationRecordersResponse
-describeConfigurationRecordersResponse pStatus_ =
+describeConfigurationRecordersResponse pResponseStatus_ =
     DescribeConfigurationRecordersResponse'
     { _dcrrsConfigurationRecorders = Nothing
-    , _dcrrsStatus = pStatus_
+    , _dcrrsResponseStatus = pResponseStatus_
     }
 
 -- | A list that contains the descriptions of the specified configuration
@@ -136,5 +136,5 @@
 dcrrsConfigurationRecorders = lens _dcrrsConfigurationRecorders (\ s a -> s{_dcrrsConfigurationRecorders = a}) . _Default . _Coerce;
 
 -- | The response status code.
-dcrrsStatus :: Lens' DescribeConfigurationRecordersResponse Int
-dcrrsStatus = lens _dcrrsStatus (\ s a -> s{_dcrrsStatus = a});
+dcrrsResponseStatus :: Lens' DescribeConfigurationRecordersResponse Int
+dcrrsResponseStatus = lens _dcrrsResponseStatus (\ s a -> s{_dcrrsResponseStatus = a});
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
@@ -38,7 +38,7 @@
     , DescribeDeliveryChannelStatusResponse
     -- * Response Lenses
     , ddcsrsDeliveryChannelsStatus
-    , ddcsrsStatus
+    , ddcsrsResponseStatus
     ) where
 
 import           Network.AWS.Config.Types
@@ -111,7 +111,7 @@
 -- /See:/ 'describeDeliveryChannelStatusResponse' smart constructor.
 data DescribeDeliveryChannelStatusResponse = DescribeDeliveryChannelStatusResponse'
     { _ddcsrsDeliveryChannelsStatus :: !(Maybe [DeliveryChannelStatus])
-    , _ddcsrsStatus                 :: !Int
+    , _ddcsrsResponseStatus         :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeDeliveryChannelStatusResponse' with the minimum fields required to make a request.
@@ -120,14 +120,14 @@
 --
 -- * 'ddcsrsDeliveryChannelsStatus'
 --
--- * 'ddcsrsStatus'
+-- * 'ddcsrsResponseStatus'
 describeDeliveryChannelStatusResponse
-    :: Int -- ^ 'ddcsrsStatus'
+    :: Int -- ^ 'ddcsrsResponseStatus'
     -> DescribeDeliveryChannelStatusResponse
-describeDeliveryChannelStatusResponse pStatus_ =
+describeDeliveryChannelStatusResponse pResponseStatus_ =
     DescribeDeliveryChannelStatusResponse'
     { _ddcsrsDeliveryChannelsStatus = Nothing
-    , _ddcsrsStatus = pStatus_
+    , _ddcsrsResponseStatus = pResponseStatus_
     }
 
 -- | A list that contains the status of a specified delivery channel.
@@ -135,5 +135,5 @@
 ddcsrsDeliveryChannelsStatus = lens _ddcsrsDeliveryChannelsStatus (\ s a -> s{_ddcsrsDeliveryChannelsStatus = a}) . _Default . _Coerce;
 
 -- | The response status code.
-ddcsrsStatus :: Lens' DescribeDeliveryChannelStatusResponse Int
-ddcsrsStatus = lens _ddcsrsStatus (\ s a -> s{_ddcsrsStatus = a});
+ddcsrsResponseStatus :: Lens' DescribeDeliveryChannelStatusResponse Int
+ddcsrsResponseStatus = lens _ddcsrsResponseStatus (\ s a -> s{_ddcsrsResponseStatus = a});
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
@@ -38,7 +38,7 @@
     , DescribeDeliveryChannelsResponse
     -- * Response Lenses
     , ddcrsDeliveryChannels
-    , ddcrsStatus
+    , ddcrsResponseStatus
     ) where
 
 import           Network.AWS.Config.Types
@@ -109,7 +109,7 @@
 -- /See:/ 'describeDeliveryChannelsResponse' smart constructor.
 data DescribeDeliveryChannelsResponse = DescribeDeliveryChannelsResponse'
     { _ddcrsDeliveryChannels :: !(Maybe [DeliveryChannel])
-    , _ddcrsStatus           :: !Int
+    , _ddcrsResponseStatus   :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeDeliveryChannelsResponse' with the minimum fields required to make a request.
@@ -118,14 +118,14 @@
 --
 -- * 'ddcrsDeliveryChannels'
 --
--- * 'ddcrsStatus'
+-- * 'ddcrsResponseStatus'
 describeDeliveryChannelsResponse
-    :: Int -- ^ 'ddcrsStatus'
+    :: Int -- ^ 'ddcrsResponseStatus'
     -> DescribeDeliveryChannelsResponse
-describeDeliveryChannelsResponse pStatus_ =
+describeDeliveryChannelsResponse pResponseStatus_ =
     DescribeDeliveryChannelsResponse'
     { _ddcrsDeliveryChannels = Nothing
-    , _ddcrsStatus = pStatus_
+    , _ddcrsResponseStatus = pResponseStatus_
     }
 
 -- | A list that contains the descriptions of the specified delivery channel.
@@ -133,5 +133,5 @@
 ddcrsDeliveryChannels = lens _ddcrsDeliveryChannels (\ s a -> s{_ddcrsDeliveryChannels = a}) . _Default . _Coerce;
 
 -- | The response status code.
-ddcrsStatus :: Lens' DescribeDeliveryChannelsResponse Int
-ddcrsStatus = lens _ddcrsStatus (\ s a -> s{_ddcrsStatus = a});
+ddcrsResponseStatus :: Lens' DescribeDeliveryChannelsResponse Int
+ddcrsResponseStatus = lens _ddcrsResponseStatus (\ s a -> s{_ddcrsResponseStatus = a});
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
@@ -20,15 +20,18 @@
 --
 -- Returns a list of configuration items for the specified resource. The
 -- list contains details about each state of the resource during the
--- specified time interval. You can specify a 'limit' on the number of
--- results returned on the page. If a limit is specified, a 'nextToken' is
--- returned as part of the result that you can use to continue this
--- request.
+-- specified time interval.
 --
+-- The response is paginated, and by default, AWS Config returns a limit of
+-- 10 configuration items per page. You can customize this number with the
+-- 'limit' 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.
+--
 -- Each call to the API is limited to span a duration of seven days. It is
 -- likely that the number of records returned is smaller than the specified
--- 'limit'. In such cases, you can make another call, using the 'nextToken'
--- .
+-- '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
@@ -51,7 +54,7 @@
     -- * Response Lenses
     , grchrsNextToken
     , grchrsConfigurationItems
-    , grchrsStatus
+    , grchrsResponseStatus
     ) where
 
 import           Network.AWS.Config.Types
@@ -110,12 +113,14 @@
 grchChronologicalOrder :: Lens' GetResourceConfigHistory (Maybe ChronologicalOrder)
 grchChronologicalOrder = lens _grchChronologicalOrder (\ s a -> s{_grchChronologicalOrder = a});
 
--- | An optional parameter used for pagination of the results.
+-- | The 'nextToken' string returned on a previous page that you use to get
+-- the next page of results in a paginated response.
 grchNextToken :: Lens' GetResourceConfigHistory (Maybe Text)
 grchNextToken = lens _grchNextToken (\ s a -> s{_grchNextToken = a});
 
--- | The maximum number of configuration items returned in each page. The
--- default is 10. You cannot specify a limit greater than 100.
+-- | The maximum number of configuration items returned on each page. The
+-- default is 10. You cannot specify a limit greater than 100. If you
+-- specify 0, AWS Config uses the default.
 grchLimit :: Lens' GetResourceConfigHistory (Maybe Natural)
 grchLimit = lens _grchLimit (\ s a -> s{_grchLimit = a}) . mapping _Nat;
 
@@ -185,7 +190,7 @@
 data GetResourceConfigHistoryResponse = GetResourceConfigHistoryResponse'
     { _grchrsNextToken          :: !(Maybe Text)
     , _grchrsConfigurationItems :: !(Maybe [ConfigurationItem])
-    , _grchrsStatus             :: !Int
+    , _grchrsResponseStatus     :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'GetResourceConfigHistoryResponse' with the minimum fields required to make a request.
@@ -196,18 +201,19 @@
 --
 -- * 'grchrsConfigurationItems'
 --
--- * 'grchrsStatus'
+-- * 'grchrsResponseStatus'
 getResourceConfigHistoryResponse
-    :: Int -- ^ 'grchrsStatus'
+    :: Int -- ^ 'grchrsResponseStatus'
     -> GetResourceConfigHistoryResponse
-getResourceConfigHistoryResponse pStatus_ =
+getResourceConfigHistoryResponse pResponseStatus_ =
     GetResourceConfigHistoryResponse'
     { _grchrsNextToken = Nothing
     , _grchrsConfigurationItems = Nothing
-    , _grchrsStatus = pStatus_
+    , _grchrsResponseStatus = pResponseStatus_
     }
 
--- | A token used for pagination of results.
+-- | The string that you use in a subsequent request to get the next page of
+-- results in a paginated response.
 grchrsNextToken :: Lens' GetResourceConfigHistoryResponse (Maybe Text)
 grchrsNextToken = lens _grchrsNextToken (\ s a -> s{_grchrsNextToken = a});
 
@@ -216,5 +222,5 @@
 grchrsConfigurationItems = lens _grchrsConfigurationItems (\ s a -> s{_grchrsConfigurationItems = a}) . _Default . _Coerce;
 
 -- | The response status code.
-grchrsStatus :: Lens' GetResourceConfigHistoryResponse Int
-grchrsStatus = lens _grchrsStatus (\ s a -> s{_grchrsStatus = a});
+grchrsResponseStatus :: Lens' GetResourceConfigHistoryResponse Int
+grchrsResponseStatus = lens _grchrsResponseStatus (\ s a -> s{_grchrsResponseStatus = a});
diff --git a/gen/Network/AWS/Config/ListDiscoveredResources.hs b/gen/Network/AWS/Config/ListDiscoveredResources.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/Config/ListDiscoveredResources.hs
@@ -0,0 +1,216 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.Config.ListDiscoveredResources
+-- Copyright   : (c) 2013-2015 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Accepts a resource type and returns a list of resource identifiers for
+-- the resources of that type. A resource identifier includes the resource
+-- type, ID, and (if available) the custom resource name. The results
+-- consist of resources that AWS Config has discovered, including those
+-- that AWS Config is not currently recording. You can narrow the results
+-- to include only resources that have specific resource IDs or a resource
+-- name.
+--
+-- You can specify either resource IDs or a resource name but not both in
+-- the same request.
+--
+-- The response is paginated, and by default AWS Config lists 100 resource
+-- identifiers on each page. You can customize this number with the 'limit'
+-- 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
+      listDiscoveredResources
+    , ListDiscoveredResources
+    -- * Request Lenses
+    , ldrResourceIds
+    , ldrResourceName
+    , ldrIncludeDeletedResources
+    , ldrNextToken
+    , ldrLimit
+    , ldrResourceType
+
+    -- * Destructuring the Response
+    , listDiscoveredResourcesResponse
+    , ListDiscoveredResourcesResponse
+    -- * Response Lenses
+    , ldrrsNextToken
+    , ldrrsResourceIdentifiers
+    , ldrrsResponseStatus
+    ) where
+
+import           Network.AWS.Config.Types
+import           Network.AWS.Config.Types.Product
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | /See:/ 'listDiscoveredResources' smart constructor.
+data ListDiscoveredResources = ListDiscoveredResources'
+    { _ldrResourceIds             :: !(Maybe [Text])
+    , _ldrResourceName            :: !(Maybe Text)
+    , _ldrIncludeDeletedResources :: !(Maybe Bool)
+    , _ldrNextToken               :: !(Maybe Text)
+    , _ldrLimit                   :: !(Maybe Nat)
+    , _ldrResourceType            :: !ResourceType
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ListDiscoveredResources' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ldrResourceIds'
+--
+-- * 'ldrResourceName'
+--
+-- * 'ldrIncludeDeletedResources'
+--
+-- * 'ldrNextToken'
+--
+-- * 'ldrLimit'
+--
+-- * 'ldrResourceType'
+listDiscoveredResources
+    :: ResourceType -- ^ 'ldrResourceType'
+    -> ListDiscoveredResources
+listDiscoveredResources pResourceType_ =
+    ListDiscoveredResources'
+    { _ldrResourceIds = Nothing
+    , _ldrResourceName = Nothing
+    , _ldrIncludeDeletedResources = Nothing
+    , _ldrNextToken = Nothing
+    , _ldrLimit = Nothing
+    , _ldrResourceType = pResourceType_
+    }
+
+-- | The IDs of only those resources that you want AWS Config to list in the
+-- response. If you do not specify this parameter, AWS Config lists all
+-- resources of the specified type that it has discovered.
+ldrResourceIds :: Lens' ListDiscoveredResources [Text]
+ldrResourceIds = lens _ldrResourceIds (\ s a -> s{_ldrResourceIds = a}) . _Default . _Coerce;
+
+-- | The custom name of only those resources that you want AWS Config to list
+-- in the response. If you do not specify this parameter, AWS Config lists
+-- all resources of the specified type that it has discovered.
+ldrResourceName :: Lens' ListDiscoveredResources (Maybe Text)
+ldrResourceName = lens _ldrResourceName (\ s a -> s{_ldrResourceName = a});
+
+-- | Specifies whether AWS Config includes deleted resources in the results.
+-- By default, deleted resources are not included.
+ldrIncludeDeletedResources :: Lens' ListDiscoveredResources (Maybe Bool)
+ldrIncludeDeletedResources = lens _ldrIncludeDeletedResources (\ s a -> s{_ldrIncludeDeletedResources = a});
+
+-- | The 'nextToken' string returned on a previous page that you use to get
+-- the next page of results in a paginated response.
+ldrNextToken :: Lens' ListDiscoveredResources (Maybe Text)
+ldrNextToken = lens _ldrNextToken (\ s a -> s{_ldrNextToken = a});
+
+-- | The maximum number of resource identifiers returned on each page. The
+-- default is 100. You cannot specify a limit greater than 100. If you
+-- specify 0, AWS Config uses the default.
+ldrLimit :: Lens' ListDiscoveredResources (Maybe Natural)
+ldrLimit = lens _ldrLimit (\ s a -> s{_ldrLimit = a}) . mapping _Nat;
+
+-- | The type of resources that you want AWS Config to list in the response.
+ldrResourceType :: Lens' ListDiscoveredResources ResourceType
+ldrResourceType = lens _ldrResourceType (\ s a -> s{_ldrResourceType = a});
+
+instance AWSRequest ListDiscoveredResources where
+        type Rs ListDiscoveredResources =
+             ListDiscoveredResourcesResponse
+        request = postJSON config
+        response
+          = receiveJSON
+              (\ s h x ->
+                 ListDiscoveredResourcesResponse' <$>
+                   (x .?> "nextToken") <*>
+                     (x .?> "resourceIdentifiers" .!@ mempty)
+                     <*> (pure (fromEnum s)))
+
+instance ToHeaders ListDiscoveredResources where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("StarlingDoveService.ListDiscoveredResources" ::
+                       ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON ListDiscoveredResources where
+        toJSON ListDiscoveredResources'{..}
+          = object
+              (catMaybes
+                 [("resourceIds" .=) <$> _ldrResourceIds,
+                  ("resourceName" .=) <$> _ldrResourceName,
+                  ("includeDeletedResources" .=) <$>
+                    _ldrIncludeDeletedResources,
+                  ("nextToken" .=) <$> _ldrNextToken,
+                  ("limit" .=) <$> _ldrLimit,
+                  Just ("resourceType" .= _ldrResourceType)])
+
+instance ToPath ListDiscoveredResources where
+        toPath = const "/"
+
+instance ToQuery ListDiscoveredResources where
+        toQuery = const mempty
+
+-- | /See:/ 'listDiscoveredResourcesResponse' smart constructor.
+data ListDiscoveredResourcesResponse = ListDiscoveredResourcesResponse'
+    { _ldrrsNextToken           :: !(Maybe Text)
+    , _ldrrsResourceIdentifiers :: !(Maybe [ResourceIdentifier])
+    , _ldrrsResponseStatus      :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ListDiscoveredResourcesResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ldrrsNextToken'
+--
+-- * 'ldrrsResourceIdentifiers'
+--
+-- * 'ldrrsResponseStatus'
+listDiscoveredResourcesResponse
+    :: Int -- ^ 'ldrrsResponseStatus'
+    -> ListDiscoveredResourcesResponse
+listDiscoveredResourcesResponse pResponseStatus_ =
+    ListDiscoveredResourcesResponse'
+    { _ldrrsNextToken = Nothing
+    , _ldrrsResourceIdentifiers = Nothing
+    , _ldrrsResponseStatus = pResponseStatus_
+    }
+
+-- | The string that you use in a subsequent request to get the next page of
+-- results in a paginated response.
+ldrrsNextToken :: Lens' ListDiscoveredResourcesResponse (Maybe Text)
+ldrrsNextToken = lens _ldrrsNextToken (\ s a -> s{_ldrrsNextToken = a});
+
+-- | The details that identify a resource that is discovered by AWS Config,
+-- including the resource type, ID, and (if available) the custom resource
+-- name.
+ldrrsResourceIdentifiers :: Lens' ListDiscoveredResourcesResponse [ResourceIdentifier]
+ldrrsResourceIdentifiers = lens _ldrrsResourceIdentifiers (\ s a -> s{_ldrrsResourceIdentifiers = a}) . _Default . _Coerce;
+
+-- | The response status code.
+ldrrsResponseStatus :: Lens' ListDiscoveredResourcesResponse Int
+ldrrsResponseStatus = lens _ldrrsResponseStatus (\ s a -> s{_ldrrsResponseStatus = a});
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
@@ -16,10 +16,10 @@
       config
 
     -- * Errors
-    , _ValidationException
     , _InvalidTimeRangeException
-    , _InvalidRecordingGroupException
     , _InvalidSNSTopicARNException
+    , _InvalidRecordingGroupException
+    , _ValidationException
     , _InvalidRoleException
     , _LastDeliveryChannelDeleteFailedException
     , _InvalidLimitException
@@ -27,12 +27,12 @@
     , _NoSuchDeliveryChannelException
     , _ResourceNotDiscoveredException
     , _InvalidNextTokenException
-    , _NoSuchBucketException
     , _NoAvailableConfigurationRecorderException
+    , _NoSuchBucketException
     , _NoAvailableDeliveryChannelException
+    , _InvalidConfigurationRecorderNameException
     , _NoRunningConfigurationRecorderException
     , _MaxNumberOfConfigurationRecordersExceededException
-    , _InvalidConfigurationRecorderNameException
     , _InsufficientDeliveryPolicyException
     , _MaxNumberOfDeliveryChannelsExceededException
     , _NoSuchConfigurationRecorderException
@@ -74,16 +74,18 @@
     , ConfigurationItem
     , configurationItem
     , ciResourceId
-    , ciConfigurationStateId
     , ciResourceType
+    , ciConfigurationStateId
     , ciArn
+    , ciResourceName
     , ciResourceCreationTime
     , ciConfigurationItemStatus
-    , ciAccountId
     , ciConfigurationItemCaptureTime
+    , ciAccountId
     , ciAvailabilityZone
     , ciRelationships
     , ciVersion
+    , ciAwsRegion
     , ciRelatedEvents
     , ciConfiguration
     , ciConfigurationItemMD5Hash
@@ -119,8 +121,8 @@
     -- * DeliveryChannelStatus
     , DeliveryChannelStatus
     , deliveryChannelStatus
-    , dcsConfigStreamDeliveryInfo
     , dcsConfigSnapshotDeliveryInfo
+    , dcsConfigStreamDeliveryInfo
     , dcsConfigHistoryDeliveryInfo
     , dcsName
 
@@ -135,7 +137,16 @@
     , relationship
     , rResourceId
     , rResourceType
+    , rResourceName
     , rRelationshipName
+
+    -- * ResourceIdentifier
+    , ResourceIdentifier
+    , resourceIdentifier
+    , riResourceId
+    , riResourceType
+    , riResourceName
+    , riResourceDeletionTime
     ) where
 
 import           Network.AWS.Config.Types.Product
@@ -174,16 +185,17 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
--- | The requested action is not valid.
-_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError
-_ValidationException = _ServiceError . hasCode "ValidationException"
-
 -- | The specified time range is not valid. The earlier time is not
 -- chronologically before the later time.
 _InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidTimeRangeException =
     _ServiceError . hasCode "InvalidTimeRangeException"
 
+-- | The specified Amazon SNS topic does not exist.
+_InvalidSNSTopicARNException :: AsError a => Getting (First ServiceError) a ServiceError
+_InvalidSNSTopicARNException =
+    _ServiceError . hasCode "InvalidSNSTopicARNException"
+
 -- | AWS Config throws an exception if the recording group does not contain a
 -- valid list of resource types. Invalid values could also be incorrectly
 -- formatted.
@@ -191,10 +203,9 @@
 _InvalidRecordingGroupException =
     _ServiceError . hasCode "InvalidRecordingGroupException"
 
--- | The specified Amazon SNS topic does not exist.
-_InvalidSNSTopicARNException :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidSNSTopicARNException =
-    _ServiceError . hasCode "InvalidSNSTopicARNException"
+-- | The requested action is not valid.
+_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError
+_ValidationException = _ServiceError . hasCode "ValidationException"
 
 -- | You have provided a null or empty role ARN.
 _InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError
@@ -206,7 +217,7 @@
 _LastDeliveryChannelDeleteFailedException =
     _ServiceError . hasCode "LastDeliveryChannelDeleteFailedException"
 
--- | You have reached the limit on the pagination.
+-- | The specified limit is outside the allowable range.
 _InvalidLimitException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidLimitException = _ServiceError . hasCode "InvalidLimitException"
 
@@ -226,26 +237,32 @@
 _ResourceNotDiscoveredException =
     _ServiceError . hasCode "ResourceNotDiscoveredException"
 
--- | The specified nextToken for pagination is not valid.
+-- | The specified next token is invalid. Specify the 'nextToken' string that
+-- was returned in the previous response to get the next page of results.
 _InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidNextTokenException =
     _ServiceError . hasCode "InvalidNextTokenException"
 
--- | The specified Amazon S3 bucket does not exist.
-_NoSuchBucketException :: AsError a => Getting (First ServiceError) a ServiceError
-_NoSuchBucketException = _ServiceError . hasCode "NoSuchBucketException"
-
 -- | There are no configuration recorders available to provide the role
--- needed to describe your resources.
+-- needed to describe your resources. Create a configuration recorder.
 _NoAvailableConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError
 _NoAvailableConfigurationRecorderException =
     _ServiceError . hasCode "NoAvailableConfigurationRecorderException"
 
+-- | The specified Amazon S3 bucket does not exist.
+_NoSuchBucketException :: AsError a => Getting (First ServiceError) a ServiceError
+_NoSuchBucketException = _ServiceError . hasCode "NoSuchBucketException"
+
 -- | There is no delivery channel available to record configurations.
 _NoAvailableDeliveryChannelException :: AsError a => Getting (First ServiceError) a ServiceError
 _NoAvailableDeliveryChannelException =
     _ServiceError . hasCode "NoAvailableDeliveryChannelException"
 
+-- | You have provided a configuration recorder name that is not valid.
+_InvalidConfigurationRecorderNameException :: AsError a => Getting (First ServiceError) a ServiceError
+_InvalidConfigurationRecorderNameException =
+    _ServiceError . hasCode "InvalidConfigurationRecorderNameException"
+
 -- | There is no configuration recorder running.
 _NoRunningConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError
 _NoRunningConfigurationRecorderException =
@@ -256,11 +273,6 @@
 _MaxNumberOfConfigurationRecordersExceededException =
     _ServiceError .
     hasCode "MaxNumberOfConfigurationRecordersExceededException"
-
--- | You have provided a configuration recorder name that is not valid.
-_InvalidConfigurationRecorderNameException :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidConfigurationRecorderNameException =
-    _ServiceError . hasCode "InvalidConfigurationRecorderNameException"
 
 -- | Your Amazon S3 bucket policy does not permit AWS Config to write to it.
 _InsufficientDeliveryPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
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
@@ -157,16 +157,18 @@
 -- /See:/ 'configurationItem' smart constructor.
 data ConfigurationItem = ConfigurationItem'
     { _ciResourceId                   :: !(Maybe Text)
-    , _ciConfigurationStateId         :: !(Maybe Text)
     , _ciResourceType                 :: !(Maybe ResourceType)
+    , _ciConfigurationStateId         :: !(Maybe Text)
     , _ciArn                          :: !(Maybe Text)
+    , _ciResourceName                 :: !(Maybe Text)
     , _ciResourceCreationTime         :: !(Maybe POSIX)
     , _ciConfigurationItemStatus      :: !(Maybe ConfigurationItemStatus)
-    , _ciAccountId                    :: !(Maybe Text)
     , _ciConfigurationItemCaptureTime :: !(Maybe POSIX)
+    , _ciAccountId                    :: !(Maybe Text)
     , _ciAvailabilityZone             :: !(Maybe Text)
     , _ciRelationships                :: !(Maybe [Relationship])
     , _ciVersion                      :: !(Maybe Text)
+    , _ciAwsRegion                    :: !(Maybe Text)
     , _ciRelatedEvents                :: !(Maybe [Text])
     , _ciConfiguration                :: !(Maybe Text)
     , _ciConfigurationItemMD5Hash     :: !(Maybe Text)
@@ -179,26 +181,30 @@
 --
 -- * 'ciResourceId'
 --
--- * 'ciConfigurationStateId'
---
 -- * 'ciResourceType'
 --
+-- * 'ciConfigurationStateId'
+--
 -- * 'ciArn'
 --
+-- * 'ciResourceName'
+--
 -- * 'ciResourceCreationTime'
 --
 -- * 'ciConfigurationItemStatus'
 --
--- * 'ciAccountId'
---
 -- * 'ciConfigurationItemCaptureTime'
 --
+-- * 'ciAccountId'
+--
 -- * 'ciAvailabilityZone'
 --
 -- * 'ciRelationships'
 --
 -- * 'ciVersion'
 --
+-- * 'ciAwsRegion'
+--
 -- * 'ciRelatedEvents'
 --
 -- * 'ciConfiguration'
@@ -211,16 +217,18 @@
 configurationItem =
     ConfigurationItem'
     { _ciResourceId = Nothing
-    , _ciConfigurationStateId = Nothing
     , _ciResourceType = Nothing
+    , _ciConfigurationStateId = Nothing
     , _ciArn = Nothing
+    , _ciResourceName = Nothing
     , _ciResourceCreationTime = Nothing
     , _ciConfigurationItemStatus = Nothing
-    , _ciAccountId = Nothing
     , _ciConfigurationItemCaptureTime = Nothing
+    , _ciAccountId = Nothing
     , _ciAvailabilityZone = Nothing
     , _ciRelationships = Nothing
     , _ciVersion = Nothing
+    , _ciAwsRegion = Nothing
     , _ciRelatedEvents = Nothing
     , _ciConfiguration = Nothing
     , _ciConfigurationItemMD5Hash = Nothing
@@ -231,19 +239,23 @@
 ciResourceId :: Lens' ConfigurationItem (Maybe Text)
 ciResourceId = lens _ciResourceId (\ s a -> s{_ciResourceId = a});
 
+-- | The type of AWS resource.
+ciResourceType :: Lens' ConfigurationItem (Maybe ResourceType)
+ciResourceType = lens _ciResourceType (\ s a -> s{_ciResourceType = a});
+
 -- | An identifier that indicates the ordering of the configuration items of
 -- a resource.
 ciConfigurationStateId :: Lens' ConfigurationItem (Maybe Text)
 ciConfigurationStateId = lens _ciConfigurationStateId (\ s a -> s{_ciConfigurationStateId = a});
 
--- | The type of AWS resource.
-ciResourceType :: Lens' ConfigurationItem (Maybe ResourceType)
-ciResourceType = lens _ciResourceType (\ s a -> s{_ciResourceType = a});
-
 -- | The Amazon Resource Name (ARN) of the resource.
 ciArn :: Lens' ConfigurationItem (Maybe Text)
 ciArn = lens _ciArn (\ s a -> s{_ciArn = a});
 
+-- | The custom name of the resource, if available.
+ciResourceName :: Lens' ConfigurationItem (Maybe Text)
+ciResourceName = lens _ciResourceName (\ s a -> s{_ciResourceName = a});
+
 -- | The time stamp when the resource was created.
 ciResourceCreationTime :: Lens' ConfigurationItem (Maybe UTCTime)
 ciResourceCreationTime = lens _ciResourceCreationTime (\ s a -> s{_ciResourceCreationTime = a}) . mapping _Time;
@@ -252,14 +264,14 @@
 ciConfigurationItemStatus :: Lens' ConfigurationItem (Maybe ConfigurationItemStatus)
 ciConfigurationItemStatus = lens _ciConfigurationItemStatus (\ s a -> s{_ciConfigurationItemStatus = a});
 
--- | The 12 digit AWS account ID associated with the resource.
-ciAccountId :: Lens' ConfigurationItem (Maybe Text)
-ciAccountId = lens _ciAccountId (\ s a -> s{_ciAccountId = a});
-
 -- | The time when the configuration recording was initiated.
 ciConfigurationItemCaptureTime :: Lens' ConfigurationItem (Maybe UTCTime)
 ciConfigurationItemCaptureTime = lens _ciConfigurationItemCaptureTime (\ s a -> s{_ciConfigurationItemCaptureTime = a}) . mapping _Time;
 
+-- | The 12 digit AWS account ID associated with the resource.
+ciAccountId :: Lens' ConfigurationItem (Maybe Text)
+ciAccountId = lens _ciAccountId (\ s a -> s{_ciAccountId = a});
+
 -- | The Availability Zone associated with the resource.
 ciAvailabilityZone :: Lens' ConfigurationItem (Maybe Text)
 ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a});
@@ -272,6 +284,10 @@
 ciVersion :: Lens' ConfigurationItem (Maybe Text)
 ciVersion = lens _ciVersion (\ s a -> s{_ciVersion = a});
 
+-- | The region where the resource resides.
+ciAwsRegion :: Lens' ConfigurationItem (Maybe Text)
+ciAwsRegion = lens _ciAwsRegion (\ s a -> s{_ciAwsRegion = a});
+
 -- | A list of CloudTrail event IDs.
 --
 -- A populated field indicates that the current configuration was initiated
@@ -304,17 +320,18 @@
           = withObject "ConfigurationItem"
               (\ x ->
                  ConfigurationItem' <$>
-                   (x .:? "resourceId") <*>
+                   (x .:? "resourceId") <*> (x .:? "resourceType") <*>
                      (x .:? "configurationStateId")
-                     <*> (x .:? "resourceType")
                      <*> (x .:? "arn")
+                     <*> (x .:? "resourceName")
                      <*> (x .:? "resourceCreationTime")
                      <*> (x .:? "configurationItemStatus")
-                     <*> (x .:? "accountId")
                      <*> (x .:? "configurationItemCaptureTime")
+                     <*> (x .:? "accountId")
                      <*> (x .:? "availabilityZone")
                      <*> (x .:? "relationships" .!= mempty)
                      <*> (x .:? "version")
+                     <*> (x .:? "awsRegion")
                      <*> (x .:? "relatedEvents" .!= mempty)
                      <*> (x .:? "configuration")
                      <*> (x .:? "configurationItemMD5Hash")
@@ -509,8 +526,8 @@
 dcS3KeyPrefix :: Lens' DeliveryChannel (Maybe Text)
 dcS3KeyPrefix = lens _dcS3KeyPrefix (\ s a -> s{_dcS3KeyPrefix = a});
 
--- | The Amazon Resource Name (ARN) of the IAM role used for accessing the
--- Amazon S3 bucket and the Amazon SNS topic.
+-- | The Amazon Resource Name (ARN) of the SNS topic that AWS Config delivers
+-- notifications to.
 dcSnsTopicARN :: Lens' DeliveryChannel (Maybe Text)
 dcSnsTopicARN = lens _dcSnsTopicARN (\ s a -> s{_dcSnsTopicARN = a});
 
@@ -549,8 +566,8 @@
 --
 -- /See:/ 'deliveryChannelStatus' smart constructor.
 data DeliveryChannelStatus = DeliveryChannelStatus'
-    { _dcsConfigStreamDeliveryInfo   :: !(Maybe ConfigStreamDeliveryInfo)
-    , _dcsConfigSnapshotDeliveryInfo :: !(Maybe ConfigExportDeliveryInfo)
+    { _dcsConfigSnapshotDeliveryInfo :: !(Maybe ConfigExportDeliveryInfo)
+    , _dcsConfigStreamDeliveryInfo   :: !(Maybe ConfigStreamDeliveryInfo)
     , _dcsConfigHistoryDeliveryInfo  :: !(Maybe ConfigExportDeliveryInfo)
     , _dcsName                       :: !(Maybe Text)
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -559,10 +576,10 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dcsConfigStreamDeliveryInfo'
---
 -- * 'dcsConfigSnapshotDeliveryInfo'
 --
+-- * 'dcsConfigStreamDeliveryInfo'
+--
 -- * 'dcsConfigHistoryDeliveryInfo'
 --
 -- * 'dcsName'
@@ -570,22 +587,22 @@
     :: DeliveryChannelStatus
 deliveryChannelStatus =
     DeliveryChannelStatus'
-    { _dcsConfigStreamDeliveryInfo = Nothing
-    , _dcsConfigSnapshotDeliveryInfo = Nothing
+    { _dcsConfigSnapshotDeliveryInfo = Nothing
+    , _dcsConfigStreamDeliveryInfo = Nothing
     , _dcsConfigHistoryDeliveryInfo = Nothing
     , _dcsName = Nothing
     }
 
--- | A list containing the status of the delivery of the configuration stream
--- notification to the specified Amazon SNS topic.
-dcsConfigStreamDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigStreamDeliveryInfo)
-dcsConfigStreamDeliveryInfo = lens _dcsConfigStreamDeliveryInfo (\ s a -> s{_dcsConfigStreamDeliveryInfo = a});
-
 -- | A list containing the status of the delivery of the snapshot to the
 -- specified Amazon S3 bucket.
 dcsConfigSnapshotDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)
 dcsConfigSnapshotDeliveryInfo = lens _dcsConfigSnapshotDeliveryInfo (\ s a -> s{_dcsConfigSnapshotDeliveryInfo = a});
 
+-- | A list containing the status of the delivery of the configuration stream
+-- notification to the specified Amazon SNS topic.
+dcsConfigStreamDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigStreamDeliveryInfo)
+dcsConfigStreamDeliveryInfo = lens _dcsConfigStreamDeliveryInfo (\ s a -> s{_dcsConfigStreamDeliveryInfo = a});
+
 -- | A list that contains the status of the delivery of the configuration
 -- history to the specified Amazon S3 bucket.
 dcsConfigHistoryDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)
@@ -600,8 +617,8 @@
           = withObject "DeliveryChannelStatus"
               (\ x ->
                  DeliveryChannelStatus' <$>
-                   (x .:? "configStreamDeliveryInfo") <*>
-                     (x .:? "configSnapshotDeliveryInfo")
+                   (x .:? "configSnapshotDeliveryInfo") <*>
+                     (x .:? "configStreamDeliveryInfo")
                      <*> (x .:? "configHistoryDeliveryInfo")
                      <*> (x .:? "name"))
 
@@ -641,7 +658,7 @@
 rgAllSupported = lens _rgAllSupported (\ s a -> s{_rgAllSupported = a});
 
 -- | A comma-separated list of strings representing valid AWS resource types
--- (e.g., 'AWS::EC2::Instance' or 'AWS::CloudTrail::Trail').
+-- (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:
@@ -670,6 +687,7 @@
 data Relationship = Relationship'
     { _rResourceId       :: !(Maybe Text)
     , _rResourceType     :: !(Maybe ResourceType)
+    , _rResourceName     :: !(Maybe Text)
     , _rRelationshipName :: !(Maybe Text)
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
@@ -681,6 +699,8 @@
 --
 -- * 'rResourceType'
 --
+-- * 'rResourceName'
+--
 -- * 'rRelationshipName'
 relationship
     :: Relationship
@@ -688,10 +708,11 @@
     Relationship'
     { _rResourceId = Nothing
     , _rResourceType = Nothing
+    , _rResourceName = Nothing
     , _rRelationshipName = Nothing
     }
 
--- | The resource ID of the related resource (for example, 'sg-xxxxxx').
+-- | The ID of the related resource (for example, 'sg-xxxxxx').
 rResourceId :: Lens' Relationship (Maybe Text)
 rResourceId = lens _rResourceId (\ s a -> s{_rResourceId = a});
 
@@ -699,7 +720,11 @@
 rResourceType :: Lens' Relationship (Maybe ResourceType)
 rResourceType = lens _rResourceType (\ s a -> s{_rResourceType = a});
 
--- | The name of the related resource.
+-- | The custom name of the related resource, if available.
+rResourceName :: Lens' Relationship (Maybe Text)
+rResourceName = lens _rResourceName (\ s a -> s{_rResourceName = a});
+
+-- | The type of relationship with the related resource.
 rRelationshipName :: Lens' Relationship (Maybe Text)
 rRelationshipName = lens _rRelationshipName (\ s a -> s{_rRelationshipName = a});
 
@@ -709,4 +734,63 @@
               (\ x ->
                  Relationship' <$>
                    (x .:? "resourceId") <*> (x .:? "resourceType") <*>
-                     (x .:? "relationshipName"))
+                     (x .:? "resourceName")
+                     <*> (x .:? "relationshipName"))
+
+-- | The details that identify a resource that is discovered by AWS Config,
+-- including the resource type, ID, and (if available) the custom resource
+-- name.
+--
+-- /See:/ 'resourceIdentifier' smart constructor.
+data ResourceIdentifier = ResourceIdentifier'
+    { _riResourceId           :: !(Maybe Text)
+    , _riResourceType         :: !(Maybe ResourceType)
+    , _riResourceName         :: !(Maybe Text)
+    , _riResourceDeletionTime :: !(Maybe POSIX)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ResourceIdentifier' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'riResourceId'
+--
+-- * 'riResourceType'
+--
+-- * 'riResourceName'
+--
+-- * 'riResourceDeletionTime'
+resourceIdentifier
+    :: ResourceIdentifier
+resourceIdentifier =
+    ResourceIdentifier'
+    { _riResourceId = Nothing
+    , _riResourceType = Nothing
+    , _riResourceName = Nothing
+    , _riResourceDeletionTime = Nothing
+    }
+
+-- | The ID of the resource (for example., 'sg-xxxxxx').
+riResourceId :: Lens' ResourceIdentifier (Maybe Text)
+riResourceId = lens _riResourceId (\ s a -> s{_riResourceId = a});
+
+-- | The type of resource.
+riResourceType :: Lens' ResourceIdentifier (Maybe ResourceType)
+riResourceType = lens _riResourceType (\ s a -> s{_riResourceType = a});
+
+-- | The custom name of the resource (if available).
+riResourceName :: Lens' ResourceIdentifier (Maybe Text)
+riResourceName = lens _riResourceName (\ s a -> s{_riResourceName = a});
+
+-- | The time that the resource was deleted.
+riResourceDeletionTime :: Lens' ResourceIdentifier (Maybe UTCTime)
+riResourceDeletionTime = lens _riResourceDeletionTime (\ s a -> s{_riResourceDeletionTime = a}) . mapping _Time;
+
+instance FromJSON ResourceIdentifier where
+        parseJSON
+          = withObject "ResourceIdentifier"
+              (\ x ->
+                 ResourceIdentifier' <$>
+                   (x .:? "resourceId") <*> (x .:? "resourceType") <*>
+                     (x .:? "resourceName")
+                     <*> (x .:? "resourceDeletionTime"))
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
@@ -49,15 +49,18 @@
 --         , testPutConfigurationRecorder $
 --             putConfigurationRecorder
 --
---         , testDeleteDeliveryChannel $
---             deleteDeliveryChannel
+--         , testDescribeDeliveryChannelStatus $
+--             describeDeliveryChannelStatus
 --
 --         , testPutDeliveryChannel $
 --             putDeliveryChannel
 --
---         , testDescribeDeliveryChannelStatus $
---             describeDeliveryChannelStatus
+--         , testDeleteDeliveryChannel $
+--             deleteDeliveryChannel
 --
+--         , testListDiscoveredResources $
+--             listDiscoveredResources
+--
 --         , testDescribeDeliveryChannels $
 --             describeDeliveryChannels
 --
@@ -85,15 +88,18 @@
 --         , testPutConfigurationRecorderResponse $
 --             putConfigurationRecorderResponse
 --
---         , testDeleteDeliveryChannelResponse $
---             deleteDeliveryChannelResponse
+--         , testDescribeDeliveryChannelStatusResponse $
+--             describeDeliveryChannelStatusResponse
 --
 --         , testPutDeliveryChannelResponse $
 --             putDeliveryChannelResponse
 --
---         , testDescribeDeliveryChannelStatusResponse $
---             describeDeliveryChannelStatusResponse
+--         , testDeleteDeliveryChannelResponse $
+--             deleteDeliveryChannelResponse
 --
+--         , testListDiscoveredResourcesResponse $
+--             listDiscoveredResourcesResponse
+--
 --         , testDescribeDeliveryChannelsResponse $
 --             describeDeliveryChannelsResponse
 --
@@ -137,21 +143,26 @@
     "PutConfigurationRecorder"
     "fixture/PutConfigurationRecorder.yaml"
 
-testDeleteDeliveryChannel :: DeleteDeliveryChannel -> TestTree
-testDeleteDeliveryChannel = req
-    "DeleteDeliveryChannel"
-    "fixture/DeleteDeliveryChannel.yaml"
+testDescribeDeliveryChannelStatus :: DescribeDeliveryChannelStatus -> TestTree
+testDescribeDeliveryChannelStatus = req
+    "DescribeDeliveryChannelStatus"
+    "fixture/DescribeDeliveryChannelStatus.yaml"
 
 testPutDeliveryChannel :: PutDeliveryChannel -> TestTree
 testPutDeliveryChannel = req
     "PutDeliveryChannel"
     "fixture/PutDeliveryChannel.yaml"
 
-testDescribeDeliveryChannelStatus :: DescribeDeliveryChannelStatus -> TestTree
-testDescribeDeliveryChannelStatus = req
-    "DescribeDeliveryChannelStatus"
-    "fixture/DescribeDeliveryChannelStatus.yaml"
+testDeleteDeliveryChannel :: DeleteDeliveryChannel -> TestTree
+testDeleteDeliveryChannel = req
+    "DeleteDeliveryChannel"
+    "fixture/DeleteDeliveryChannel.yaml"
 
+testListDiscoveredResources :: ListDiscoveredResources -> TestTree
+testListDiscoveredResources = req
+    "ListDiscoveredResources"
+    "fixture/ListDiscoveredResources.yaml"
+
 testDescribeDeliveryChannels :: DescribeDeliveryChannels -> TestTree
 testDescribeDeliveryChannels = req
     "DescribeDeliveryChannels"
@@ -208,12 +219,12 @@
     config
     (Proxy :: Proxy PutConfigurationRecorder)
 
-testDeleteDeliveryChannelResponse :: DeleteDeliveryChannelResponse -> TestTree
-testDeleteDeliveryChannelResponse = res
-    "DeleteDeliveryChannelResponse"
-    "fixture/DeleteDeliveryChannelResponse.proto"
+testDescribeDeliveryChannelStatusResponse :: DescribeDeliveryChannelStatusResponse -> TestTree
+testDescribeDeliveryChannelStatusResponse = res
+    "DescribeDeliveryChannelStatusResponse"
+    "fixture/DescribeDeliveryChannelStatusResponse.proto"
     config
-    (Proxy :: Proxy DeleteDeliveryChannel)
+    (Proxy :: Proxy DescribeDeliveryChannelStatus)
 
 testPutDeliveryChannelResponse :: PutDeliveryChannelResponse -> TestTree
 testPutDeliveryChannelResponse = res
@@ -222,12 +233,19 @@
     config
     (Proxy :: Proxy PutDeliveryChannel)
 
-testDescribeDeliveryChannelStatusResponse :: DescribeDeliveryChannelStatusResponse -> TestTree
-testDescribeDeliveryChannelStatusResponse = res
-    "DescribeDeliveryChannelStatusResponse"
-    "fixture/DescribeDeliveryChannelStatusResponse.proto"
+testDeleteDeliveryChannelResponse :: DeleteDeliveryChannelResponse -> TestTree
+testDeleteDeliveryChannelResponse = res
+    "DeleteDeliveryChannelResponse"
+    "fixture/DeleteDeliveryChannelResponse.proto"
     config
-    (Proxy :: Proxy DescribeDeliveryChannelStatus)
+    (Proxy :: Proxy DeleteDeliveryChannel)
+
+testListDiscoveredResourcesResponse :: ListDiscoveredResourcesResponse -> TestTree
+testListDiscoveredResourcesResponse = res
+    "ListDiscoveredResourcesResponse"
+    "fixture/ListDiscoveredResourcesResponse.proto"
+    config
+    (Proxy :: Proxy ListDiscoveredResources)
 
 testDescribeDeliveryChannelsResponse :: DescribeDeliveryChannelsResponse -> TestTree
 testDescribeDeliveryChannelsResponse = res
