diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,88 +8,27 @@
 
 ## Version
 
-`1.4.4`
+`1.4.5`
 
 
 ## Description
 
-Application Auto Scaling is a general purpose Auto Scaling service for supported elastic AWS resources. With Application Auto Scaling, you can automatically scale your AWS resources, with an experience similar to that of Auto Scaling.
-
-Application Auto Scaling supports scaling the following AWS resources:
-
--   Amazon ECS services
-
--   Amazon EC2 Spot fleet instances
-
-You can use Application Auto Scaling to accomplish the following tasks:
-
--   Define scaling policies for automatically adjusting your AWS resources
-
--   Scale your resources in response to CloudWatch alarms
-
--   View history of your scaling events
-
-Application Auto Scaling is available in the following regions:
-
--   
-    @
-    us-east-1
-    @
-    
-
--   
-    @
-    us-west-1
-    @
-    
-
--   
-    @
-    us-west-2
-    @
-    
-
--   
-    @
-    ap-southeast-1
-    @
-    
-
--   
-    @
-    ap-southeast-2
-    @
-    
-
--   
-    @
-    ap-northeast-1
-    @
-    
-
--   
-    @
-    eu-central-1
-    @
-    
-
--   
-    @
-    eu-west-1
-    @
-    
-
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-application-autoscaling)
 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.
+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,
+and receiving responses.
 
-Use of lenses is required for constructing and manipulating types.
-This is due to the amount of nesting of AWS types and transparency regarding
+Lenses are used for constructing and manipulating types,
+due to the depth of nesting of AWS types and transparency regarding
 de/serialisation into more palatable Haskell values.
 The provided lenses should be compatible with any of the major lens libraries
 [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).
+
+See [Network.AWS.ApplicationAutoScaling](http://hackage.haskell.org/package/amazonka-application-autoscaling/docs/Network-AWS-ApplicationAutoScaling.html)
+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.
+
 
 ## Contribute
 
diff --git a/amazonka-application-autoscaling.cabal b/amazonka-application-autoscaling.cabal
--- a/amazonka-application-autoscaling.cabal
+++ b/amazonka-application-autoscaling.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-application-autoscaling
-version:               1.4.4
+version:               1.4.5
 synopsis:              Amazon Application Auto Scaling SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -13,84 +13,19 @@
 cabal-version:         >= 1.10
 extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep
 description:
-    Application Auto Scaling is a general purpose Auto Scaling service for supported elastic AWS resources. With Application Auto Scaling, you can automatically scale your AWS resources, with an experience similar to that of Auto Scaling.
-
-    Application Auto Scaling supports scaling the following AWS resources:
-
-    -   Amazon ECS services
-
-    -   Amazon EC2 Spot fleet instances
-
-    You can use Application Auto Scaling to accomplish the following tasks:
-
-    -   Define scaling policies for automatically adjusting your AWS resources
-
-    -   Scale your resources in response to CloudWatch alarms
-
-    -   View history of your scaling events
-
-    Application Auto Scaling is available in the following regions:
-
-    -   
-    @
-    us-east-1
-    @
-    
-
-    -   
-    @
-    us-west-1
-    @
-    
-
-    -   
-    @
-    us-west-2
-    @
-    
-
-    -   
-    @
-    ap-southeast-1
-    @
-    
-
-    -   
-    @
-    ap-southeast-2
-    @
-    
-
-    -   
-    @
-    ap-northeast-1
-    @
-    
-
-    -   
-    @
-    eu-central-1
-    @
-    
-
-    -   
-    @
-    eu-west-1
-    @
-    
-    .
     The types from this library are intended to be used with
     <http://hackage.haskell.org/package/amazonka amazonka>, which provides
-    mechanisms for specifying AuthN/AuthZ information and sending requests.
+    mechanisms for specifying AuthN/AuthZ information, sending requests,
+    and receiving responses.
     .
-    Use of lenses is required for constructing and manipulating types.
-    This is due to the amount of nesting of AWS types and transparency regarding
+    Lenses are used for constructing and manipulating types,
+    due to the depth of nesting of AWS types and transparency regarding
     de/serialisation into more palatable Haskell values.
     The provided lenses should be compatible with any of the major lens libraries
     such as <http://hackage.haskell.org/package/lens lens> or
     <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
     .
-    See "Network.AWS.ApplicationAutoScaling" or <https://aws.amazon.com/documentation/ the AWS Documentation>
+    See "Network.AWS.ApplicationAutoScaling" or <https://aws.amazon.com/documentation/ the AWS documentation>
     to get started.
 
 source-repository head
@@ -120,7 +55,7 @@
         , Network.AWS.ApplicationAutoScaling.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.4.*
+          amazonka-core == 1.4.5.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-application-autoscaling-test
@@ -140,9 +75,9 @@
         , Test.AWS.ApplicationAutoScaling.Internal
 
     build-depends:
-          amazonka-core == 1.4.4.*
-        , amazonka-test == 1.4.4.*
-        , amazonka-application-autoscaling == 1.4.4.*
+          amazonka-core == 1.4.5.*
+        , amazonka-test == 1.4.5.*
+        , amazonka-application-autoscaling == 1.4.5.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/ApplicationAutoScaling.hs b/gen/Network/AWS/ApplicationAutoScaling.hs
--- a/gen/Network/AWS/ApplicationAutoScaling.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling.hs
@@ -11,39 +11,28 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Application Auto Scaling is a general purpose Auto Scaling service for supported elastic AWS resources. With Application Auto Scaling, you can automatically scale your AWS resources, with an experience similar to that of Auto Scaling.
+-- With Application Auto Scaling, you can automatically scale your AWS resources. The experience similar to that of <https://aws.amazon.com/autoscaling/ Auto Scaling> . You can use Application Auto Scaling to accomplish the following tasks:
 --
--- Application Auto Scaling supports scaling the following AWS resources:
 --
--- -   Amazon ECS services
+--     * Define scaling policies to automatically scale your AWS resources
 --
--- -   Amazon EC2 Spot fleet instances
+--     * Scale your resources in response to CloudWatch alarms
 --
--- You can use Application Auto Scaling to accomplish the following tasks:
+--     * View the history of your scaling events
 --
--- -   Define scaling policies for automatically adjusting your AWS resources
 --
--- -   Scale your resources in response to CloudWatch alarms
 --
--- -   View history of your scaling events
+-- Application Auto Scaling can scale the following AWS resources:
 --
--- Application Auto Scaling is available in the following regions:
+--     * Amazon ECS services. For more information, see <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html Service Auto Scaling> in the /Amazon EC2 Container Service Developer Guide/ .
 --
--- -   'us-east-1'
+--     * Amazon EC2 Spot fleets. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-auto-scaling.html Automatic Scaling for Spot Fleet> in the /Amazon EC2 User Guide/ .
 --
--- -   'us-west-1'
+--     * Amazon EMR clusters. For more information, see <http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-automatic-scaling.html Using Automatic Scaling in Amazon EMR> in the /Amazon EMR Management Guide/ .
 --
--- -   'us-west-2'
 --
--- -   'ap-southeast-1'
 --
--- -   'ap-southeast-2'
---
--- -   'ap-northeast-1'
---
--- -   'eu-central-1'
---
--- -   'eu-west-1'
+-- For a list of supported regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html#as-app_region AWS Regions and Endpoints: Application Auto Scaling> in the /AWS General Reference/ .
 --
 module Network.AWS.ApplicationAutoScaling
     (
@@ -89,13 +78,13 @@
     -- ** RegisterScalableTarget
     , module Network.AWS.ApplicationAutoScaling.RegisterScalableTarget
 
-    -- ** DescribeScalingPolicies
+    -- ** DescribeScalingPolicies (Paginated)
     , module Network.AWS.ApplicationAutoScaling.DescribeScalingPolicies
 
-    -- ** DescribeScalableTargets
+    -- ** DescribeScalableTargets (Paginated)
     , module Network.AWS.ApplicationAutoScaling.DescribeScalableTargets
 
-    -- ** DescribeScalingActivities
+    -- ** DescribeScalingActivities (Paginated)
     , module Network.AWS.ApplicationAutoScaling.DescribeScalingActivities
 
     -- ** DeregisterScalableTarget
diff --git a/gen/Network/AWS/ApplicationAutoScaling/DeleteScalingPolicy.hs b/gen/Network/AWS/ApplicationAutoScaling/DeleteScalingPolicy.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/DeleteScalingPolicy.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/DeleteScalingPolicy.hs
@@ -18,11 +18,13 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes an Application Auto Scaling scaling policy that was previously created. If you are no longer using a scaling policy, you can delete it with this operation.
+-- Deletes the specified Application Auto Scaling scaling policy.
 --
+--
 -- Deleting a policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.
 --
--- To create a new scaling policy or update an existing one, see < PutScalingPolicy>.
+-- To create a scaling policy or update an existing one, see 'PutScalingPolicy' .
+--
 module Network.AWS.ApplicationAutoScaling.DeleteScalingPolicy
     (
     -- * Creating a Request
@@ -60,13 +62,13 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dspPolicyName'
+-- * 'dspPolicyName' - The name of the scaling policy.
 --
--- * 'dspServiceNamespace'
+-- * 'dspServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 --
--- * 'dspResourceId'
+-- * 'dspResourceId' - The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'dspScalableDimension'
+-- * 'dspScalableDimension' - The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 deleteScalingPolicy
     :: Text -- ^ 'dspPolicyName'
     -> ServiceNamespace -- ^ 'dspServiceNamespace'
@@ -81,19 +83,19 @@
     , _dspScalableDimension = pScalableDimension_
     }
 
--- | The name of the scaling policy to delete.
+-- | The name of the scaling policy.
 dspPolicyName :: Lens' DeleteScalingPolicy Text
 dspPolicyName = lens _dspPolicyName (\ s a -> s{_dspPolicyName = a});
 
--- | The namespace for the AWS service that the scaling policy is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 dspServiceNamespace :: Lens' DeleteScalingPolicy ServiceNamespace
 dspServiceNamespace = lens _dspServiceNamespace (\ s a -> s{_dspServiceNamespace = a});
 
--- | The resource type and unique identifier string for the resource associated with the scaling policy. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'.
+-- | The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 dspResourceId :: Lens' DeleteScalingPolicy Text
 dspResourceId = lens _dspResourceId (\ s a -> s{_dspResourceId = a});
 
--- | The scalable dimension associated with the scaling policy. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request.
+-- | The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 dspScalableDimension :: Lens' DeleteScalingPolicy ScalableDimension
 dspScalableDimension = lens _dspScalableDimension (\ s a -> s{_dspScalableDimension = a});
 
@@ -144,7 +146,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dsprsResponseStatus'
+-- * 'dsprsResponseStatus' - -- | The response status code.
 deleteScalingPolicyResponse
     :: Int -- ^ 'dsprsResponseStatus'
     -> DeleteScalingPolicyResponse
@@ -153,7 +155,7 @@
     { _dsprsResponseStatus = pResponseStatus_
     }
 
--- | The response status code.
+-- | -- | The response status code.
 dsprsResponseStatus :: Lens' DeleteScalingPolicyResponse Int
 dsprsResponseStatus = lens _dsprsResponseStatus (\ s a -> s{_dsprsResponseStatus = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/DeregisterScalableTarget.hs b/gen/Network/AWS/ApplicationAutoScaling/DeregisterScalableTarget.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/DeregisterScalableTarget.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/DeregisterScalableTarget.hs
@@ -18,9 +18,13 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deregisters a scalable target that was previously registered. If you are no longer using a scalable target, you can delete it with this operation. When you deregister a scalable target, all of the scaling policies that are associated with that scalable target are deleted.
+-- Deregisters a scalable target.
 --
--- To create a new scalable target or update an existing one, see < RegisterScalableTarget>.
+--
+-- Deregistering a scalable target deletes the scaling policies that are associated with it.
+--
+-- To create a scalable target or update an existing one, see 'RegisterScalableTarget' .
+--
 module Network.AWS.ApplicationAutoScaling.DeregisterScalableTarget
     (
     -- * Creating a Request
@@ -56,11 +60,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'derServiceNamespace'
+-- * 'derServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 --
--- * 'derResourceId'
+-- * 'derResourceId' - The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'derScalableDimension'
+-- * 'derScalableDimension' - The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 deregisterScalableTarget
     :: ServiceNamespace -- ^ 'derServiceNamespace'
     -> Text -- ^ 'derResourceId'
@@ -73,15 +77,15 @@
     , _derScalableDimension = pScalableDimension_
     }
 
--- | The namespace for the AWS service that the scalable target is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 derServiceNamespace :: Lens' DeregisterScalableTarget ServiceNamespace
 derServiceNamespace = lens _derServiceNamespace (\ s a -> s{_derServiceNamespace = a});
 
--- | The resource type and unique identifier string for the resource associated with the scalable target. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'.
+-- | The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 derResourceId :: Lens' DeregisterScalableTarget Text
 derResourceId = lens _derResourceId (\ s a -> s{_derResourceId = a});
 
--- | The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request.
+-- | The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 derScalableDimension :: Lens' DeregisterScalableTarget ScalableDimension
 derScalableDimension = lens _derScalableDimension (\ s a -> s{_derScalableDimension = a});
 
@@ -132,7 +136,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dstrsResponseStatus'
+-- * 'dstrsResponseStatus' - -- | The response status code.
 deregisterScalableTargetResponse
     :: Int -- ^ 'dstrsResponseStatus'
     -> DeregisterScalableTargetResponse
@@ -141,7 +145,7 @@
     { _dstrsResponseStatus = pResponseStatus_
     }
 
--- | The response status code.
+-- | -- | The response status code.
 dstrsResponseStatus :: Lens' DeregisterScalableTargetResponse Int
 dstrsResponseStatus = lens _dstrsResponseStatus (\ s a -> s{_dstrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/DescribeScalableTargets.hs b/gen/Network/AWS/ApplicationAutoScaling/DescribeScalableTargets.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/DescribeScalableTargets.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/DescribeScalableTargets.hs
@@ -18,11 +18,15 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Provides descriptive information for scalable targets with a specified service namespace.
+-- Provides descriptive information about the scalable targets in the specified namespace.
 --
--- You can filter the results in a service namespace with the 'ResourceIds' and 'ScalableDimension' parameters.
 --
--- To create a new scalable target or update an existing one, see < RegisterScalableTarget>. If you are no longer using a scalable target, you can deregister it with < DeregisterScalableTarget>.
+-- You can filter the results using the @ResourceIds@ and @ScalableDimension@ parameters.
+--
+-- To create a scalable target or update an existing one, see 'RegisterScalableTarget' . If you are no longer using a scalable target, you can deregister it using 'DeregisterScalableTarget' .
+--
+--
+-- This operation returns paginated results.
 module Network.AWS.ApplicationAutoScaling.DescribeScalableTargets
     (
     -- * Creating a Request
@@ -47,6 +51,7 @@
 import           Network.AWS.ApplicationAutoScaling.Types
 import           Network.AWS.ApplicationAutoScaling.Types.Product
 import           Network.AWS.Lens
+import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -64,15 +69,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dstResourceIds'
+-- * 'dstResourceIds' - The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'dstScalableDimension'
+-- * 'dstScalableDimension' - The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 --
--- * 'dstNextToken'
+-- * 'dstNextToken' - The token for the next set of results.
 --
--- * 'dstMaxResults'
+-- * 'dstMaxResults' - The maximum number of scalable target results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to @MaxResults@ results at a time, along with a @NextToken@ value. To get the next set of results, include the @NextToken@ value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a @NextToken@ value, if applicable.
 --
--- * 'dstServiceNamespace'
+-- * 'dstServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 describeScalableTargets
     :: ServiceNamespace -- ^ 'dstServiceNamespace'
     -> DescribeScalableTargets
@@ -85,26 +90,33 @@
     , _dstServiceNamespace = pServiceNamespace_
     }
 
--- | The resource type and unique identifier string for the resource associated with the scalable target. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'. If you specify a scalable dimension, you must also specify a resource ID.
+-- | The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 dstResourceIds :: Lens' DescribeScalableTargets [Text]
 dstResourceIds = lens _dstResourceIds (\ s a -> s{_dstResourceIds = a}) . _Default . _Coerce;
 
--- | The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, you must also specify a resource ID.
+-- | The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 dstScalableDimension :: Lens' DescribeScalableTargets (Maybe ScalableDimension)
 dstScalableDimension = lens _dstScalableDimension (\ s a -> s{_dstScalableDimension = a});
 
--- | The 'NextToken' value returned from a previous paginated 'DescribeScalableTargets' request. Pagination continues from the end of the previous results that returned the 'NextToken' value. This value is 'null' when there are no more results to return.
+-- | The token for the next set of results.
 dstNextToken :: Lens' DescribeScalableTargets (Maybe Text)
 dstNextToken = lens _dstNextToken (\ s a -> s{_dstNextToken = a});
 
--- | The maximum number of scalable target results returned by 'DescribeScalableTargets' in paginated output. When this parameter is used, 'DescribeScalableTargets' returns up to 'MaxResults' results in a single page along with a 'NextToken' response element. The remaining results of the initial request can be seen by sending another 'DescribeScalableTargets' request with the returned 'NextToken' value. This value can be between 1 and 50. If this parameter is not used, then 'DescribeScalableTargets' returns up to 50 results and a 'NextToken' value, if applicable.
+-- | The maximum number of scalable target results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to @MaxResults@ results at a time, along with a @NextToken@ value. To get the next set of results, include the @NextToken@ value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a @NextToken@ value, if applicable.
 dstMaxResults :: Lens' DescribeScalableTargets (Maybe Int)
 dstMaxResults = lens _dstMaxResults (\ s a -> s{_dstMaxResults = a});
 
--- | The namespace for the AWS service that the scalable target is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 dstServiceNamespace :: Lens' DescribeScalableTargets ServiceNamespace
 dstServiceNamespace = lens _dstServiceNamespace (\ s a -> s{_dstServiceNamespace = a});
 
+instance AWSPager DescribeScalableTargets where
+        page rq rs
+          | stop (rs ^. dstsrsNextToken) = Nothing
+          | stop (rs ^. dstsrsScalableTargets) = Nothing
+          | otherwise =
+            Just $ rq & dstNextToken .~ rs ^. dstsrsNextToken
+
 instance AWSRequest DescribeScalableTargets where
         type Rs DescribeScalableTargets =
              DescribeScalableTargetsResponse
@@ -158,11 +170,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dstsrsNextToken'
+-- * 'dstsrsNextToken' - The token required to get the next set of results. This value is @null@ if there are no more results to return.
 --
--- * 'dstsrsScalableTargets'
+-- * 'dstsrsScalableTargets' - The list of scalable targets that matches the request parameters.
 --
--- * 'dstsrsResponseStatus'
+-- * 'dstsrsResponseStatus' - -- | The response status code.
 describeScalableTargetsResponse
     :: Int -- ^ 'dstsrsResponseStatus'
     -> DescribeScalableTargetsResponse
@@ -173,7 +185,7 @@
     , _dstsrsResponseStatus = pResponseStatus_
     }
 
--- | The 'NextToken' value to include in a future 'DescribeScalableTargets' request. When the results of a 'DescribeScalableTargets' request exceed 'MaxResults', this value can be used to retrieve the next page of results. This value is 'null' when there are no more results to return.
+-- | The token required to get the next set of results. This value is @null@ if there are no more results to return.
 dstsrsNextToken :: Lens' DescribeScalableTargetsResponse (Maybe Text)
 dstsrsNextToken = lens _dstsrsNextToken (\ s a -> s{_dstsrsNextToken = a});
 
@@ -181,7 +193,7 @@
 dstsrsScalableTargets :: Lens' DescribeScalableTargetsResponse [ScalableTarget]
 dstsrsScalableTargets = lens _dstsrsScalableTargets (\ s a -> s{_dstsrsScalableTargets = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 dstsrsResponseStatus :: Lens' DescribeScalableTargetsResponse Int
 dstsrsResponseStatus = lens _dstsrsResponseStatus (\ s a -> s{_dstsrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingActivities.hs b/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingActivities.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingActivities.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingActivities.hs
@@ -18,11 +18,15 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Provides descriptive information for scaling activities with a specified service namespace for the previous six weeks.
+-- Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks.
 --
--- You can filter the results in a service namespace with the 'ResourceId' and 'ScalableDimension' parameters.
 --
--- Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the existing scaling policies for a service namespace, see < DescribeScalingPolicies>. To create a new scaling policy or update an existing one, see < PutScalingPolicy>.
+-- You can filter the results using the @ResourceId@ and @ScalableDimension@ parameters.
+--
+-- Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the scaling policies for a service namespace, see 'DescribeScalingPolicies' . To create a scaling policy or update an existing one, see 'PutScalingPolicy' .
+--
+--
+-- This operation returns paginated results.
 module Network.AWS.ApplicationAutoScaling.DescribeScalingActivities
     (
     -- * Creating a Request
@@ -47,6 +51,7 @@
 import           Network.AWS.ApplicationAutoScaling.Types
 import           Network.AWS.ApplicationAutoScaling.Types.Product
 import           Network.AWS.Lens
+import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -64,15 +69,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dsaScalableDimension'
+-- * 'dsaScalableDimension' - The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 --
--- * 'dsaResourceId'
+-- * 'dsaResourceId' - The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'dsaNextToken'
+-- * 'dsaNextToken' - The token for the next set of results.
 --
--- * 'dsaMaxResults'
+-- * 'dsaMaxResults' - The maximum number of scalable target results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to @MaxResults@ results at a time, along with a @NextToken@ value. To get the next set of results, include the @NextToken@ value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a @NextToken@ value, if applicable.
 --
--- * 'dsaServiceNamespace'
+-- * 'dsaServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 describeScalingActivities
     :: ServiceNamespace -- ^ 'dsaServiceNamespace'
     -> DescribeScalingActivities
@@ -85,26 +90,33 @@
     , _dsaServiceNamespace = pServiceNamespace_
     }
 
--- | The scalable dimension associated with the scaling activity. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, you must also specify a resource ID.
+-- | The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 dsaScalableDimension :: Lens' DescribeScalingActivities (Maybe ScalableDimension)
 dsaScalableDimension = lens _dsaScalableDimension (\ s a -> s{_dsaScalableDimension = a});
 
--- | The resource type and unique identifier string for the resource associated with the scaling activity. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'. If you specify a scalable dimension, you must also specify a resource ID.
+-- | The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 dsaResourceId :: Lens' DescribeScalingActivities (Maybe Text)
 dsaResourceId = lens _dsaResourceId (\ s a -> s{_dsaResourceId = a});
 
--- | The 'NextToken' value returned from a previous paginated 'DescribeScalingActivities' request. Pagination continues from the end of the previous results that returned the 'NextToken' value. This value is 'null' when there are no more results to return.
+-- | The token for the next set of results.
 dsaNextToken :: Lens' DescribeScalingActivities (Maybe Text)
 dsaNextToken = lens _dsaNextToken (\ s a -> s{_dsaNextToken = a});
 
--- | The maximum number of scaling activity results returned by 'DescribeScalingActivities' in paginated output. When this parameter is used, 'DescribeScalingActivities' returns up to 'MaxResults' results in a single page along with a 'NextToken' response element. The remaining results of the initial request can be seen by sending another 'DescribeScalingActivities' request with the returned 'NextToken' value. This value can be between 1 and 50. If this parameter is not used, then 'DescribeScalingActivities' returns up to 50 results and a 'NextToken' value, if applicable.
+-- | The maximum number of scalable target results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to @MaxResults@ results at a time, along with a @NextToken@ value. To get the next set of results, include the @NextToken@ value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a @NextToken@ value, if applicable.
 dsaMaxResults :: Lens' DescribeScalingActivities (Maybe Int)
 dsaMaxResults = lens _dsaMaxResults (\ s a -> s{_dsaMaxResults = a});
 
--- | The namespace for the AWS service that the scaling activity is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 dsaServiceNamespace :: Lens' DescribeScalingActivities ServiceNamespace
 dsaServiceNamespace = lens _dsaServiceNamespace (\ s a -> s{_dsaServiceNamespace = a});
 
+instance AWSPager DescribeScalingActivities where
+        page rq rs
+          | stop (rs ^. dsarsNextToken) = Nothing
+          | stop (rs ^. dsarsScalingActivities) = Nothing
+          | otherwise =
+            Just $ rq & dsaNextToken .~ rs ^. dsarsNextToken
+
 instance AWSRequest DescribeScalingActivities where
         type Rs DescribeScalingActivities =
              DescribeScalingActivitiesResponse
@@ -158,11 +170,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dsarsScalingActivities'
+-- * 'dsarsScalingActivities' - A list of scaling activity objects.
 --
--- * 'dsarsNextToken'
+-- * 'dsarsNextToken' - The token required to get the next set of results. This value is @null@ if there are no more results to return.
 --
--- * 'dsarsResponseStatus'
+-- * 'dsarsResponseStatus' - -- | The response status code.
 describeScalingActivitiesResponse
     :: Int -- ^ 'dsarsResponseStatus'
     -> DescribeScalingActivitiesResponse
@@ -177,11 +189,11 @@
 dsarsScalingActivities :: Lens' DescribeScalingActivitiesResponse [ScalingActivity]
 dsarsScalingActivities = lens _dsarsScalingActivities (\ s a -> s{_dsarsScalingActivities = a}) . _Default . _Coerce;
 
--- | The 'NextToken' value to include in a future 'DescribeScalingActivities' request. When the results of a 'DescribeScalingActivities' request exceed 'MaxResults', this value can be used to retrieve the next page of results. This value is 'null' when there are no more results to return.
+-- | The token required to get the next set of results. This value is @null@ if there are no more results to return.
 dsarsNextToken :: Lens' DescribeScalingActivitiesResponse (Maybe Text)
 dsarsNextToken = lens _dsarsNextToken (\ s a -> s{_dsarsNextToken = a});
 
--- | The response status code.
+-- | -- | The response status code.
 dsarsResponseStatus :: Lens' DescribeScalingActivitiesResponse Int
 dsarsResponseStatus = lens _dsarsResponseStatus (\ s a -> s{_dsarsResponseStatus = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingPolicies.hs b/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingPolicies.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingPolicies.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/DescribeScalingPolicies.hs
@@ -18,11 +18,15 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Provides descriptive information for scaling policies with a specified service namespace.
+-- Provides descriptive information about the scaling policies in the specified namespace.
 --
--- You can filter the results in a service namespace with the 'ResourceId', 'ScalableDimension', and 'PolicyNames' parameters.
 --
--- To create a new scaling policy or update an existing one, see < PutScalingPolicy>. If you are no longer using a scaling policy, you can delete it with < DeleteScalingPolicy>.
+-- You can filter the results using the @ResourceId@ , @ScalableDimension@ , and @PolicyNames@ parameters.
+--
+-- To create a scaling policy or update an existing one, see 'PutScalingPolicy' . If you are no longer using a scaling policy, you can delete it using 'DeleteScalingPolicy' .
+--
+--
+-- This operation returns paginated results.
 module Network.AWS.ApplicationAutoScaling.DescribeScalingPolicies
     (
     -- * Creating a Request
@@ -48,6 +52,7 @@
 import           Network.AWS.ApplicationAutoScaling.Types
 import           Network.AWS.ApplicationAutoScaling.Types.Product
 import           Network.AWS.Lens
+import           Network.AWS.Pager
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -66,17 +71,17 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dPolicyNames'
+-- * 'dPolicyNames' - The names of the scaling policies to describe.
 --
--- * 'dScalableDimension'
+-- * 'dScalableDimension' - The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 --
--- * 'dResourceId'
+-- * 'dResourceId' - The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'dNextToken'
+-- * 'dNextToken' - The token for the next set of results.
 --
--- * 'dMaxResults'
+-- * 'dMaxResults' - The maximum number of scalable target results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to @MaxResults@ results at a time, along with a @NextToken@ value. To get the next set of results, include the @NextToken@ value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a @NextToken@ value, if applicable.
 --
--- * 'dServiceNamespace'
+-- * 'dServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 describeScalingPolicies
     :: ServiceNamespace -- ^ 'dServiceNamespace'
     -> DescribeScalingPolicies
@@ -94,26 +99,33 @@
 dPolicyNames :: Lens' DescribeScalingPolicies [Text]
 dPolicyNames = lens _dPolicyNames (\ s a -> s{_dPolicyNames = a}) . _Default . _Coerce;
 
--- | The scalable dimension of the scalable target that the scaling policy is associated with. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, you must also specify a resource ID.
+-- | The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 dScalableDimension :: Lens' DescribeScalingPolicies (Maybe ScalableDimension)
 dScalableDimension = lens _dScalableDimension (\ s a -> s{_dScalableDimension = a});
 
--- | The unique resource identifier string of the scalable target that the scaling policy is associated with. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'. If you specify a scalable dimension, you must also specify a resource ID.
+-- | The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 dResourceId :: Lens' DescribeScalingPolicies (Maybe Text)
 dResourceId = lens _dResourceId (\ s a -> s{_dResourceId = a});
 
--- | The 'NextToken' value returned from a previous paginated 'DescribeScalingPolicies' request. Pagination continues from the end of the previous results that returned the 'NextToken' value. This value is 'null' when there are no more results to return.
+-- | The token for the next set of results.
 dNextToken :: Lens' DescribeScalingPolicies (Maybe Text)
 dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a});
 
--- | The maximum number of scaling policy results returned by 'DescribeScalingPolicies' in paginated output. When this parameter is used, 'DescribeScalingPolicies' returns up to 'MaxResults' results in a single page along with a 'NextToken' response element. The remaining results of the initial request can be seen by sending another 'DescribeScalingPolicies' request with the returned 'NextToken' value. This value can be between 1 and 50. If this parameter is not used, then 'DescribeScalingPolicies' returns up to 50 results and a 'NextToken' value, if applicable.
+-- | The maximum number of scalable target results. This value can be between 1 and 50. The default value is 50. If this parameter is used, the operation returns up to @MaxResults@ results at a time, along with a @NextToken@ value. To get the next set of results, include the @NextToken@ value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a @NextToken@ value, if applicable.
 dMaxResults :: Lens' DescribeScalingPolicies (Maybe Int)
 dMaxResults = lens _dMaxResults (\ s a -> s{_dMaxResults = a});
 
--- | The AWS service namespace of the scalable target that the scaling policy is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 dServiceNamespace :: Lens' DescribeScalingPolicies ServiceNamespace
 dServiceNamespace = lens _dServiceNamespace (\ s a -> s{_dServiceNamespace = a});
 
+instance AWSPager DescribeScalingPolicies where
+        page rq rs
+          | stop (rs ^. drsNextToken) = Nothing
+          | stop (rs ^. drsScalingPolicies) = Nothing
+          | otherwise =
+            Just $ rq & dNextToken .~ rs ^. drsNextToken
+
 instance AWSRequest DescribeScalingPolicies where
         type Rs DescribeScalingPolicies =
              DescribeScalingPoliciesResponse
@@ -168,11 +180,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'drsNextToken'
+-- * 'drsNextToken' - The token required to get the next set of results. This value is @null@ if there are no more results to return.
 --
--- * 'drsScalingPolicies'
+-- * 'drsScalingPolicies' - A list of scaling policy objects.
 --
--- * 'drsResponseStatus'
+-- * 'drsResponseStatus' - -- | The response status code.
 describeScalingPoliciesResponse
     :: Int -- ^ 'drsResponseStatus'
     -> DescribeScalingPoliciesResponse
@@ -183,7 +195,7 @@
     , _drsResponseStatus = pResponseStatus_
     }
 
--- | The 'NextToken' value to include in a future 'DescribeScalingPolicies' request. When the results of a 'DescribeScalingPolicies' request exceed 'MaxResults', this value can be used to retrieve the next page of results. This value is 'null' when there are no more results to return.
+-- | The token required to get the next set of results. This value is @null@ if there are no more results to return.
 drsNextToken :: Lens' DescribeScalingPoliciesResponse (Maybe Text)
 drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a});
 
@@ -191,7 +203,7 @@
 drsScalingPolicies :: Lens' DescribeScalingPoliciesResponse [ScalingPolicy]
 drsScalingPolicies = lens _drsScalingPolicies (\ s a -> s{_drsScalingPolicies = a}) . _Default . _Coerce;
 
--- | The response status code.
+-- | -- | The response status code.
 drsResponseStatus :: Lens' DescribeScalingPoliciesResponse Int
 drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/PutScalingPolicy.hs b/gen/Network/AWS/ApplicationAutoScaling/PutScalingPolicy.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/PutScalingPolicy.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/PutScalingPolicy.hs
@@ -18,11 +18,15 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates or updates a policy for an existing Application Auto Scaling scalable target. Each scalable target is identified by service namespace, a resource ID, and a scalable dimension, and a scaling policy applies to a scalable target that is identified by those three attributes. You cannot create a scaling policy without first registering a scalable target with < RegisterScalableTarget>.
+-- Creates or updates a policy for an Application Auto Scaling scalable target.
 --
--- To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.
 --
--- You can view the existing scaling policies for a service namespace with < DescribeScalingPolicies>. If you are no longer using a scaling policy, you can delete it with < DeleteScalingPolicy>.
+-- Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy without first registering a scalable target using 'RegisterScalableTarget' .
+--
+-- To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request.
+--
+-- You can view the scaling policies for a service namespace using 'DescribeScalingPolicies' . If you are no longer using a scaling policy, you can delete it using 'DeleteScalingPolicy' .
+--
 module Network.AWS.ApplicationAutoScaling.PutScalingPolicy
     (
     -- * Creating a Request
@@ -65,17 +69,17 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'pspPolicyType'
+-- * 'pspPolicyType' - The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required.
 --
--- * 'pspStepScalingPolicyConfiguration'
+-- * 'pspStepScalingPolicyConfiguration' - The configuration for the step scaling policy. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required. For more information, see 'StepScalingPolicyConfiguration' and 'StepAdjustment' .
 --
--- * 'pspPolicyName'
+-- * 'pspPolicyName' - The name of the scaling policy.
 --
--- * 'pspServiceNamespace'
+-- * 'pspServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 --
--- * 'pspResourceId'
+-- * 'pspResourceId' - The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'pspScalableDimension'
+-- * 'pspScalableDimension' - The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 putScalingPolicy
     :: Text -- ^ 'pspPolicyName'
     -> ServiceNamespace -- ^ 'pspServiceNamespace'
@@ -92,11 +96,11 @@
     , _pspScalableDimension = pScalableDimension_
     }
 
--- | The policy type. If you are creating a new policy, this parameter is required. If you are updating an existing policy, this parameter is not required.
+-- | The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required.
 pspPolicyType :: Lens' PutScalingPolicy (Maybe PolicyType)
 pspPolicyType = lens _pspPolicyType (\ s a -> s{_pspPolicyType = a});
 
--- | The configuration for the step scaling policy. If you are creating a new policy, this parameter is required. If you are updating an existing policy, this parameter is not required. For more information, see < StepScalingPolicyConfiguration> and < StepAdjustment>.
+-- | The configuration for the step scaling policy. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required. For more information, see 'StepScalingPolicyConfiguration' and 'StepAdjustment' .
 pspStepScalingPolicyConfiguration :: Lens' PutScalingPolicy (Maybe StepScalingPolicyConfiguration)
 pspStepScalingPolicyConfiguration = lens _pspStepScalingPolicyConfiguration (\ s a -> s{_pspStepScalingPolicyConfiguration = a});
 
@@ -104,15 +108,15 @@
 pspPolicyName :: Lens' PutScalingPolicy Text
 pspPolicyName = lens _pspPolicyName (\ s a -> s{_pspPolicyName = a});
 
--- | The AWS service namespace of the scalable target that this scaling policy applies to. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 pspServiceNamespace :: Lens' PutScalingPolicy ServiceNamespace
 pspServiceNamespace = lens _pspServiceNamespace (\ s a -> s{_pspServiceNamespace = a});
 
--- | The unique resource identifier string for the scalable target that this scaling policy applies to. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'.
+-- | The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 pspResourceId :: Lens' PutScalingPolicy Text
 pspResourceId = lens _pspResourceId (\ s a -> s{_pspResourceId = a});
 
--- | The scalable dimension of the scalable target that this scaling policy applies to. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request.
+-- | The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 pspScalableDimension :: Lens' PutScalingPolicy ScalableDimension
 pspScalableDimension = lens _pspScalableDimension (\ s a -> s{_pspScalableDimension = a});
 
@@ -167,9 +171,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'psprsResponseStatus'
+-- * 'psprsResponseStatus' - -- | The response status code.
 --
--- * 'psprsPolicyARN'
+-- * 'psprsPolicyARN' - The Amazon Resource Name (ARN) of the resulting scaling policy.
 putScalingPolicyResponse
     :: Int -- ^ 'psprsResponseStatus'
     -> Text -- ^ 'psprsPolicyARN'
@@ -180,7 +184,7 @@
     , _psprsPolicyARN = pPolicyARN_
     }
 
--- | The response status code.
+-- | -- | The response status code.
 psprsResponseStatus :: Lens' PutScalingPolicyResponse Int
 psprsResponseStatus = lens _psprsResponseStatus (\ s a -> s{_psprsResponseStatus = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/RegisterScalableTarget.hs b/gen/Network/AWS/ApplicationAutoScaling/RegisterScalableTarget.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/RegisterScalableTarget.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/RegisterScalableTarget.hs
@@ -18,9 +18,11 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Registers or updates a scalable target. A scalable target is a resource that can be scaled out or in with Application Auto Scaling. After you have registered a scalable target, you can use this operation to update the minimum and maximum values for your scalable dimension.
+-- Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out or scale in. After you have registered a scalable target, you can use this operation to update the minimum and maximum values for your scalable dimension.
 --
--- After you register a scalable target with Application Auto Scaling, you can create and apply scaling policies to it with < PutScalingPolicy>. You can view the existing scaling policies for a service namespace with < DescribeScalableTargets>. If you are no longer using a scalable target, you can deregister it with < DeregisterScalableTarget>.
+--
+-- After you register a scalable target, you can create and apply scaling policies using 'PutScalingPolicy' . You can view the scaling policies for a service namespace using 'DescribeScalableTargets' . If you are no longer using a scalable target, you can deregister it using 'DeregisterScalableTarget' .
+--
 module Network.AWS.ApplicationAutoScaling.RegisterScalableTarget
     (
     -- * Creating a Request
@@ -62,17 +64,17 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rstMaxCapacity'
+-- * 'rstMaxCapacity' - The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target and optional if you are updating one.
 --
--- * 'rstMinCapacity'
+-- * 'rstMinCapacity' - The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target and optional if you are updating one.
 --
--- * 'rstRoleARN'
+-- * 'rstRoleARN' - The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf. This parameter is required when you register a scalable target and optional when you update one.
 --
--- * 'rstServiceNamespace'
+-- * 'rstServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 --
--- * 'rstResourceId'
+-- * 'rstResourceId' - The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'rstScalableDimension'
+-- * 'rstScalableDimension' - The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 registerScalableTarget
     :: ServiceNamespace -- ^ 'rstServiceNamespace'
     -> Text -- ^ 'rstResourceId'
@@ -88,27 +90,27 @@
     , _rstScalableDimension = pScalableDimension_
     }
 
--- | The maximum value for this scalable target to scale out to in response to scaling activities. This parameter is required if you are registering a new scalable target, and it is optional if you are updating an existing one.
+-- | The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target and optional if you are updating one.
 rstMaxCapacity :: Lens' RegisterScalableTarget (Maybe Int)
 rstMaxCapacity = lens _rstMaxCapacity (\ s a -> s{_rstMaxCapacity = a});
 
--- | The minimum value for this scalable target to scale in to in response to scaling activities. This parameter is required if you are registering a new scalable target, and it is optional if you are updating an existing one.
+-- | The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target and optional if you are updating one.
 rstMinCapacity :: Lens' RegisterScalableTarget (Maybe Int)
 rstMinCapacity = lens _rstMinCapacity (\ s a -> s{_rstMinCapacity = a});
 
--- | The ARN of the IAM role that allows Application Auto Scaling to modify your scalable target on your behalf. This parameter is required if you are registering a new scalable target, and it is optional if you are updating an existing one.
+-- | The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf. This parameter is required when you register a scalable target and optional when you update one.
 rstRoleARN :: Lens' RegisterScalableTarget (Maybe Text)
 rstRoleARN = lens _rstRoleARN (\ s a -> s{_rstRoleARN = a});
 
--- | The namespace for the AWS service that the scalable target is associated with. For Amazon ECS services, the namespace value is 'ecs'. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 rstServiceNamespace :: Lens' RegisterScalableTarget ServiceNamespace
 rstServiceNamespace = lens _rstServiceNamespace (\ s a -> s{_rstServiceNamespace = a});
 
--- | The resource type and unique identifier string for the resource to associate with the scalable target. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'.
+-- | The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 rstResourceId :: Lens' RegisterScalableTarget Text
 rstResourceId = lens _rstResourceId (\ s a -> s{_rstResourceId = a});
 
--- | The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request.
+-- | The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 rstScalableDimension :: Lens' RegisterScalableTarget ScalableDimension
 rstScalableDimension = lens _rstScalableDimension (\ s a -> s{_rstScalableDimension = a});
 
@@ -162,7 +164,7 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'rstrsResponseStatus'
+-- * 'rstrsResponseStatus' - -- | The response status code.
 registerScalableTargetResponse
     :: Int -- ^ 'rstrsResponseStatus'
     -> RegisterScalableTargetResponse
@@ -171,7 +173,7 @@
     { _rstrsResponseStatus = pResponseStatus_
     }
 
--- | The response status code.
+-- | -- | The response status code.
 rstrsResponseStatus :: Lens' RegisterScalableTargetResponse Int
 rstrsResponseStatus = lens _rstrsResponseStatus (\ s a -> s{_rstrsResponseStatus = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/Types.hs b/gen/Network/AWS/ApplicationAutoScaling/Types.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/Types.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/Types.hs
@@ -110,7 +110,7 @@
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
--- | API version '2016-02-06' of the Amazon Application Auto Scaling SDK configuration.
+-- | API version @2016-02-06@ of the Amazon Application Auto Scaling SDK configuration.
 applicationAutoScaling :: Service
 applicationAutoScaling =
     Service
@@ -145,32 +145,46 @@
       | otherwise = Nothing
 
 -- | An exception was thrown for a validation issue. Review the available parameters for the API request.
+--
+--
 _ValidationException :: AsError a => Getting (First ServiceError) a ServiceError
 _ValidationException = _ServiceError . hasCode "ValidationException"
 
--- | Failed access to resources caused an exception. This exception currently only applies to < DescribeScalingPolicies>. It is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have the proper permissions to call the CloudWatch <http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html DescribeAlarms> API operation on behalf of your account.
+-- | Failed access to resources caused an exception. This exception currently only applies to 'DescribeScalingPolicies' . It is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have the proper permissions to call the CloudWatch <http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html DescribeAlarms> API operation on behalf of your account.
+--
+--
 _FailedResourceAccessException :: AsError a => Getting (First ServiceError) a ServiceError
 _FailedResourceAccessException =
     _ServiceError . hasCode "FailedResourceAccessException"
 
 -- | The next token supplied was invalid.
+--
+--
 _InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidNextTokenException =
     _ServiceError . hasCode "InvalidNextTokenException"
 
 -- | Concurrent updates caused an exception, for example, if you request an update to an Application Auto Scaling resource that already has a pending update.
+--
+--
 _ConcurrentUpdateException :: AsError a => Getting (First ServiceError) a ServiceError
 _ConcurrentUpdateException =
     _ServiceError . hasCode "ConcurrentUpdateException"
 
 -- | The service encountered an internal error.
+--
+--
 _InternalServiceException :: AsError a => Getting (First ServiceError) a ServiceError
 _InternalServiceException = _ServiceError . hasCode "InternalServiceException"
 
--- | The specified object could not be found. For any 'Put' or 'Register' API operation, which depends on the existence of a scalable target, this exception is thrown if the scalable target with the specified service namespace, resource ID, and scalable dimension does not exist. For any 'Delete' or 'Deregister' API operation, this exception is thrown if the resource that is to be deleted or deregistered cannot be found.
+-- | The specified object could not be found. For any @Put@ or @Register@ API operation, which depends on the existence of a scalable target, this exception is thrown if the scalable target with the specified service namespace, resource ID, and scalable dimension does not exist. For any @Delete@ or @Deregister@ API operation, this exception is thrown if the resource that is to be deleted or deregistered cannot be found.
+--
+--
 _ObjectNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
 _ObjectNotFoundException = _ServiceError . hasCode "ObjectNotFoundException"
 
--- | Your account exceeded a limit. This exception is thrown when a per-account resource limit is exceeded. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app Application Auto Scaling Limits>.
+-- | Your account exceeded a limit. This exception is thrown when a per-account resource limit is exceeded. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app Application Auto Scaling Limits> .
+--
+--
 _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _LimitExceededException = _ServiceError . hasCode "LimitExceededException"
diff --git a/gen/Network/AWS/ApplicationAutoScaling/Types/Product.hs b/gen/Network/AWS/ApplicationAutoScaling/Types/Product.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/Types/Product.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/Types/Product.hs
@@ -21,8 +21,10 @@
 import           Network.AWS.Lens
 import           Network.AWS.Prelude
 
--- | An object representing a CloudWatch alarm associated with a scaling policy.
+-- | Represents a CloudWatch alarm associated with a scaling policy.
 --
+--
+--
 -- /See:/ 'alarm' smart constructor.
 data Alarm = Alarm'
     { _aAlarmName :: !Text
@@ -33,9 +35,9 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'aAlarmName'
+-- * 'aAlarmName' - The name of the alarm.
 --
--- * 'aAlarmARN'
+-- * 'aAlarmARN' - The Amazon Resource Name (ARN) of the alarm.
 alarm
     :: Text -- ^ 'aAlarmName'
     -> Text -- ^ 'aAlarmARN'
@@ -64,8 +66,10 @@
 
 instance NFData Alarm
 
--- | An object representing a scalable target.
+-- | Represents a scalable target.
 --
+--
+--
 -- /See:/ 'scalableTarget' smart constructor.
 data ScalableTarget = ScalableTarget'
     { _stServiceNamespace  :: !ServiceNamespace
@@ -81,19 +85,19 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'stServiceNamespace'
+-- * 'stServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 --
--- * 'stResourceId'
+-- * 'stResourceId' - The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'stScalableDimension'
+-- * 'stScalableDimension' - The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 --
--- * 'stMinCapacity'
+-- * 'stMinCapacity' - The minimum value to scale to in response to a scale in event.
 --
--- * 'stMaxCapacity'
+-- * 'stMaxCapacity' - The maximum value to scale to in response to a scale out event.
 --
--- * 'stRoleARN'
+-- * 'stRoleARN' - The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.
 --
--- * 'stCreationTime'
+-- * 'stCreationTime' - The Unix timestamp for when the scalable target was created.
 scalableTarget
     :: ServiceNamespace -- ^ 'stServiceNamespace'
     -> Text -- ^ 'stResourceId'
@@ -114,27 +118,27 @@
     , _stCreationTime = _Time # pCreationTime_
     }
 
--- | The namespace for the AWS service that the scalable target is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 stServiceNamespace :: Lens' ScalableTarget ServiceNamespace
 stServiceNamespace = lens _stServiceNamespace (\ s a -> s{_stServiceNamespace = a});
 
--- | The resource type and unique identifier string for the resource associated with the scalable target. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'.
+-- | The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 stResourceId :: Lens' ScalableTarget Text
 stResourceId = lens _stResourceId (\ s a -> s{_stResourceId = a});
 
--- | The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request.
+-- | The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 stScalableDimension :: Lens' ScalableTarget ScalableDimension
 stScalableDimension = lens _stScalableDimension (\ s a -> s{_stScalableDimension = a});
 
--- | The minimum value for this scalable target to scale in to in response to scaling activities.
+-- | The minimum value to scale to in response to a scale in event.
 stMinCapacity :: Lens' ScalableTarget Int
 stMinCapacity = lens _stMinCapacity (\ s a -> s{_stMinCapacity = a});
 
--- | The maximum value for this scalable target to scale out to in response to scaling activities.
+-- | The maximum value to scale to in response to a scale out event.
 stMaxCapacity :: Lens' ScalableTarget Int
 stMaxCapacity = lens _stMaxCapacity (\ s a -> s{_stMaxCapacity = a});
 
--- | The ARN of the IAM role that allows Application Auto Scaling to modify your scalable target on your behalf.
+-- | The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.
 stRoleARN :: Lens' ScalableTarget Text
 stRoleARN = lens _stRoleARN (\ s a -> s{_stRoleARN = a});
 
@@ -158,8 +162,10 @@
 
 instance NFData ScalableTarget
 
--- | An object representing a scaling activity.
+-- | Represents a scaling activity.
 --
+--
+--
 -- /See:/ 'scalingActivity' smart constructor.
 data ScalingActivity = ScalingActivity'
     { _saStatusMessage     :: !(Maybe Text)
@@ -179,27 +185,27 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'saStatusMessage'
+-- * 'saStatusMessage' - A simple message about the current status of the scaling activity.
 --
--- * 'saEndTime'
+-- * 'saEndTime' - The Unix timestamp for when the scaling activity ended.
 --
--- * 'saDetails'
+-- * 'saDetails' - The details about the scaling activity.
 --
--- * 'saActivityId'
+-- * 'saActivityId' - The unique identifier of the scaling activity.
 --
--- * 'saServiceNamespace'
+-- * 'saServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 --
--- * 'saResourceId'
+-- * 'saResourceId' - The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'saScalableDimension'
+-- * 'saScalableDimension' - The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 --
--- * 'saDescription'
+-- * 'saDescription' - A simple description of what action the scaling activity intends to accomplish.
 --
--- * 'saCause'
+-- * 'saCause' - A simple description of what caused the scaling activity to happen.
 --
--- * 'saStartTime'
+-- * 'saStartTime' - The Unix timestamp for when the scaling activity began.
 --
--- * 'saStatusCode'
+-- * 'saStatusCode' - Indicates the status of the scaling activity.
 scalingActivity
     :: Text -- ^ 'saActivityId'
     -> ServiceNamespace -- ^ 'saServiceNamespace'
@@ -237,19 +243,19 @@
 saDetails :: Lens' ScalingActivity (Maybe Text)
 saDetails = lens _saDetails (\ s a -> s{_saDetails = a});
 
--- | The unique identifier string for the scaling activity.
+-- | The unique identifier of the scaling activity.
 saActivityId :: Lens' ScalingActivity Text
 saActivityId = lens _saActivityId (\ s a -> s{_saActivityId = a});
 
--- | The namespace for the AWS service that the scaling activity is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 saServiceNamespace :: Lens' ScalingActivity ServiceNamespace
 saServiceNamespace = lens _saServiceNamespace (\ s a -> s{_saServiceNamespace = a});
 
--- | The resource type and unique identifier string for the resource associated with the scaling activity. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'.
+-- | The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 saResourceId :: Lens' ScalingActivity Text
 saResourceId = lens _saResourceId (\ s a -> s{_saResourceId = a});
 
--- | The scalable dimension associated with the scaling activity. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request.
+-- | The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 saScalableDimension :: Lens' ScalingActivity ScalableDimension
 saScalableDimension = lens _saScalableDimension (\ s a -> s{_saScalableDimension = a});
 
@@ -289,8 +295,10 @@
 
 instance NFData ScalingActivity
 
--- | An object representing a scaling policy.
+-- | Represents a scaling policy.
 --
+--
+--
 -- /See:/ 'scalingPolicy' smart constructor.
 data ScalingPolicy = ScalingPolicy'
     { _spStepScalingPolicyConfiguration :: !(Maybe StepScalingPolicyConfiguration)
@@ -308,23 +316,23 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'spStepScalingPolicyConfiguration'
+-- * 'spStepScalingPolicyConfiguration' - The configuration for the step scaling policy.
 --
--- * 'spAlarms'
+-- * 'spAlarms' - The CloudWatch alarms associated with the scaling policy.
 --
--- * 'spPolicyARN'
+-- * 'spPolicyARN' - The Amazon Resource Name (ARN) of the scaling policy.
 --
--- * 'spPolicyName'
+-- * 'spPolicyName' - The name of the scaling policy.
 --
--- * 'spServiceNamespace'
+-- * 'spServiceNamespace' - The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 --
--- * 'spResourceId'
+-- * 'spResourceId' - The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 --
--- * 'spScalableDimension'
+-- * 'spScalableDimension' - The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 --
--- * 'spPolicyType'
+-- * 'spPolicyType' - The scaling policy type.
 --
--- * 'spCreationTime'
+-- * 'spCreationTime' - The Unix timestamp for when the scaling policy was created.
 scalingPolicy
     :: Text -- ^ 'spPolicyARN'
     -> Text -- ^ 'spPolicyName'
@@ -351,7 +359,7 @@
 spStepScalingPolicyConfiguration :: Lens' ScalingPolicy (Maybe StepScalingPolicyConfiguration)
 spStepScalingPolicyConfiguration = lens _spStepScalingPolicyConfiguration (\ s a -> s{_spStepScalingPolicyConfiguration = a});
 
--- | The CloudWatch alarms that are associated with the scaling policy.
+-- | The CloudWatch alarms associated with the scaling policy.
 spAlarms :: Lens' ScalingPolicy [Alarm]
 spAlarms = lens _spAlarms (\ s a -> s{_spAlarms = a}) . _Default . _Coerce;
 
@@ -363,15 +371,15 @@
 spPolicyName :: Lens' ScalingPolicy Text
 spPolicyName = lens _spPolicyName (\ s a -> s{_spPolicyName = a});
 
--- | The namespace for the AWS service that the scaling policy is associated with. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the Amazon Web Services General Reference.
+-- | The namespace of the AWS service. For more information, see <http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces AWS Service Namespaces> in the /Amazon Web Services General Reference/ .
 spServiceNamespace :: Lens' ScalingPolicy ServiceNamespace
 spServiceNamespace = lens _spServiceNamespace (\ s a -> s{_spServiceNamespace = a});
 
--- | The resource type and unique identifier string for the resource associated with the scaling policy. For Amazon ECS services, the resource type is 'services', and the identifier is the cluster name and service name; for example, 'service\/default\/sample-webapp'. For Amazon EC2 Spot fleet requests, the resource type is 'spot-fleet-request', and the identifier is the Spot fleet request ID; for example, 'spot-fleet-request\/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE'.
+-- | The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.     * ECS service - The resource type is @service@ and the unique identifier is the cluster name and service name. Example: @service/default/sample-webapp@ .     * Spot fleet request - The resource type is @spot-fleet-request@ and the unique identifier is the Spot fleet request ID. Example: @spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE@ .     * EMR cluster - The resource type is @instancegroup@ and the unique identifier is the cluster ID and instance group ID. Example: @instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0@ .
 spResourceId :: Lens' ScalingPolicy Text
 spResourceId = lens _spResourceId (\ s a -> s{_spResourceId = a});
 
--- | The scalable dimension associated with the scaling policy. The scalable dimension contains the service namespace, resource type, and scaling property, such as 'ecs:service:DesiredCount' for the desired task count of an Amazon ECS service, or 'ec2:spot-fleet-request:TargetCapacity' for the target capacity of an Amazon EC2 Spot fleet request.
+-- | The scalable dimension. This string consists of the service namespace, resource type, and scaling property.     * @ecs:service:DesiredCount@ - The desired task count of an ECS service.     * @ec2:spot-fleet-request:TargetCapacity@ - The target capacity of a Spot fleet request.     * @elasticmapreduce:instancegroup:InstanceCount@ - The instance count of an EMR Instance Group.
 spScalableDimension :: Lens' ScalingPolicy ScalableDimension
 spScalableDimension = lens _spScalableDimension (\ s a -> s{_spScalableDimension = a});
 
@@ -402,25 +410,30 @@
 
 instance NFData ScalingPolicy
 
--- | An object representing a step adjustment for a < StepScalingPolicyConfiguration>. Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you\'ve defined for the alarm.
+-- | Represents a step adjustment for a 'StepScalingPolicyConfiguration' . Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.
 --
+--
 -- For the following examples, suppose that you have an alarm with a breach threshold of 50:
 --
--- -   If you want the adjustment to be triggered when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.
+--     * To trigger the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.
 --
--- -   If you want the adjustment to be triggered when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.
+--     * To trigger the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.
 --
+--
+--
 -- There are a few rules for the step adjustments for your step policy:
 --
--- -   The ranges of your step adjustments can\'t overlap or have a gap.
+--     * The ranges of your step adjustments can't overlap or have a gap.
 --
--- -   At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.
+--     * At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.
 --
--- -   At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.
+--     * At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.
 --
--- -   The upper and lower bound can\'t be null in the same step adjustment.
+--     * The upper and lower bound can't be null in the same step adjustment.
 --
 --
+--
+--
 -- /See:/ 'stepAdjustment' smart constructor.
 data StepAdjustment = StepAdjustment'
     { _saMetricIntervalLowerBound :: !(Maybe Double)
@@ -432,11 +445,11 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'saMetricIntervalLowerBound'
+-- * 'saMetricIntervalLowerBound' - The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.
 --
--- * 'saMetricIntervalUpperBound'
+-- * 'saMetricIntervalUpperBound' - The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity. The upper bound must be greater than the lower bound.
 --
--- * 'saScalingAdjustment'
+-- * 'saScalingAdjustment' - The amount by which to scale, based on the specified adjustment type. A positive value adds to the current scalable dimension while a negative number removes from the current scalable dimension.
 stepAdjustment
     :: Int -- ^ 'saScalingAdjustment'
     -> StepAdjustment
@@ -451,9 +464,7 @@
 saMetricIntervalLowerBound :: Lens' StepAdjustment (Maybe Double)
 saMetricIntervalLowerBound = lens _saMetricIntervalLowerBound (\ s a -> s{_saMetricIntervalLowerBound = a});
 
--- | The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.
---
--- The upper bound must be greater than the lower bound.
+-- | The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity. The upper bound must be greater than the lower bound.
 saMetricIntervalUpperBound :: Lens' StepAdjustment (Maybe Double)
 saMetricIntervalUpperBound = lens _saMetricIntervalUpperBound (\ s a -> s{_saMetricIntervalUpperBound = a});
 
@@ -484,8 +495,10 @@
                     _saMetricIntervalUpperBound,
                   Just ("ScalingAdjustment" .= _saScalingAdjustment)])
 
--- | An object representing a step scaling policy configuration.
+-- | Represents a step scaling policy configuration.
 --
+--
+--
 -- /See:/ 'stepScalingPolicyConfiguration' smart constructor.
 data StepScalingPolicyConfiguration = StepScalingPolicyConfiguration'
     { _sspcStepAdjustments        :: !(Maybe [StepAdjustment])
@@ -499,15 +512,15 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'sspcStepAdjustments'
+-- * 'sspcStepAdjustments' - A set of adjustments that enable you to scale based on the size of the alarm breach.
 --
--- * 'sspcAdjustmentType'
+-- * 'sspcAdjustmentType' - The adjustment type, which specifies how the @ScalingAdjustment@ parameter in a 'StepAdjustment' is interpreted.
 --
--- * 'sspcCooldown'
+-- * 'sspcCooldown' - The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events. For scale out policies, while @Cooldown@ is in effect, the capacity that has been added by the previous scale out event that initiated the @Cooldown@ is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a @Cooldown@ period of 5 minutes starts. During the @Cooldown@ period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count. For scale in policies, the @Cooldown@ period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the @Cooldown@ period after a scale-in, Application Auto Scaling scales out your scalable target immediately.
 --
--- * 'sspcMetricAggregationType'
+-- * 'sspcMetricAggregationType' - The aggregation type for the CloudWatch metrics. Valid values are @Minimum@ , @Maximum@ , and @Average@ .
 --
--- * 'sspcMinAdjustmentMagnitude'
+-- * 'sspcMinAdjustmentMagnitude' - The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is @PercentChangeInCapacity@ , the scaling policy changes the scalable dimension of the scalable target by this amount.
 stepScalingPolicyConfiguration
     :: StepScalingPolicyConfiguration
 stepScalingPolicyConfiguration =
@@ -523,23 +536,19 @@
 sspcStepAdjustments :: Lens' StepScalingPolicyConfiguration [StepAdjustment]
 sspcStepAdjustments = lens _sspcStepAdjustments (\ s a -> s{_sspcStepAdjustments = a}) . _Default . _Coerce;
 
--- | The adjustment type, which specifies how the 'ScalingAdjustment' parameter in a < StepAdjustment> is interpreted.
+-- | The adjustment type, which specifies how the @ScalingAdjustment@ parameter in a 'StepAdjustment' is interpreted.
 sspcAdjustmentType :: Lens' StepScalingPolicyConfiguration (Maybe AdjustmentType)
 sspcAdjustmentType = lens _sspcAdjustmentType (\ s a -> s{_sspcAdjustmentType = a});
 
--- | The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.
---
--- For scale out policies, while 'Cooldown' is in effect, the capacity that has been added by the previous scale out event that initiated the 'Cooldown' is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a 'Cooldown' period of 5 minutes starts. During the 'Cooldown' period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count.
---
--- For scale in policies, the 'Cooldown' period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application\'s availability. However, if another alarm triggers a scale out policy during the 'Cooldown' period after a scale-in, Application Auto Scaling scales out your scalable target immediately.
+-- | The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events. For scale out policies, while @Cooldown@ is in effect, the capacity that has been added by the previous scale out event that initiated the @Cooldown@ is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a @Cooldown@ period of 5 minutes starts. During the @Cooldown@ period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count. For scale in policies, the @Cooldown@ period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the @Cooldown@ period after a scale-in, Application Auto Scaling scales out your scalable target immediately.
 sspcCooldown :: Lens' StepScalingPolicyConfiguration (Maybe Int)
 sspcCooldown = lens _sspcCooldown (\ s a -> s{_sspcCooldown = a});
 
--- | The aggregation type for the CloudWatch metrics. Valid values are 'Minimum', 'Maximum', and 'Average'.
+-- | The aggregation type for the CloudWatch metrics. Valid values are @Minimum@ , @Maximum@ , and @Average@ .
 sspcMetricAggregationType :: Lens' StepScalingPolicyConfiguration (Maybe MetricAggregationType)
 sspcMetricAggregationType = lens _sspcMetricAggregationType (\ s a -> s{_sspcMetricAggregationType = a});
 
--- | The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is 'PercentChangeInCapacity', the scaling policy changes the scalable dimension of the scalable target by this amount.
+-- | The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is @PercentChangeInCapacity@ , the scaling policy changes the scalable dimension of the scalable target by this amount.
 sspcMinAdjustmentMagnitude :: Lens' StepScalingPolicyConfiguration (Maybe Int)
 sspcMinAdjustmentMagnitude = lens _sspcMinAdjustmentMagnitude (\ s a -> s{_sspcMinAdjustmentMagnitude = a});
 
diff --git a/gen/Network/AWS/ApplicationAutoScaling/Types/Sum.hs b/gen/Network/AWS/ApplicationAutoScaling/Types/Sum.hs
--- a/gen/Network/AWS/ApplicationAutoScaling/Types/Sum.hs
+++ b/gen/Network/AWS/ApplicationAutoScaling/Types/Sum.hs
@@ -112,19 +112,22 @@
 data ScalableDimension
     = EC2SpotFleetRequestTargetCapacity
     | EcsServiceDesiredCount
+    | ElasticmapreduceInstancegroupInstanceCount
     deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ScalableDimension where
     parser = takeLowerText >>= \case
         "ec2:spot-fleet-request:targetcapacity" -> pure EC2SpotFleetRequestTargetCapacity
         "ecs:service:desiredcount" -> pure EcsServiceDesiredCount
+        "elasticmapreduce:instancegroup:instancecount" -> pure ElasticmapreduceInstancegroupInstanceCount
         e -> fromTextError $ "Failure parsing ScalableDimension from value: '" <> e
-           <> "'. Accepted values: ec2:spot-fleet-request:targetcapacity, ecs:service:desiredcount"
+           <> "'. Accepted values: ec2:spot-fleet-request:targetcapacity, ecs:service:desiredcount, elasticmapreduce:instancegroup:instancecount"
 
 instance ToText ScalableDimension where
     toText = \case
         EC2SpotFleetRequestTargetCapacity -> "ec2:spot-fleet-request:TargetCapacity"
         EcsServiceDesiredCount -> "ecs:service:DesiredCount"
+        ElasticmapreduceInstancegroupInstanceCount -> "elasticmapreduce:instancegroup:InstanceCount"
 
 instance Hashable     ScalableDimension
 instance NFData       ScalableDimension
@@ -179,19 +182,22 @@
 data ServiceNamespace
     = EC2
     | Ecs
+    | Elasticmapreduce
     deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ServiceNamespace where
     parser = takeLowerText >>= \case
         "ec2" -> pure EC2
         "ecs" -> pure Ecs
+        "elasticmapreduce" -> pure Elasticmapreduce
         e -> fromTextError $ "Failure parsing ServiceNamespace from value: '" <> e
-           <> "'. Accepted values: ec2, ecs"
+           <> "'. Accepted values: ec2, ecs, elasticmapreduce"
 
 instance ToText ServiceNamespace where
     toText = \case
         EC2 -> "ec2"
         Ecs -> "ecs"
+        Elasticmapreduce -> "elasticmapreduce"
 
 instance Hashable     ServiceNamespace
 instance NFData       ServiceNamespace
