diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,22 +8,76 @@
 
 ## Version
 
-`1.4.3`
+`1.4.4`
 
 
 ## 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.
 
-At this time, Application Auto Scaling only supports scaling Amazon ECS services.
+Application Auto Scaling supports scaling the following AWS resources:
 
-For example, you can use Application Auto Scaling to accomplish the following tasks:
+-   Amazon ECS services
 
--   Define scaling policies for automatically adjusting your application’s resources
+-   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/).
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.3
+version:               1.4.4
 synopsis:              Amazon Application Auto Scaling SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -11,19 +11,73 @@
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
-extra-source-files:    README.md fixture/*.yaml fixture/*.proto
+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.
 
-    At this time, Application Auto Scaling only supports scaling Amazon ECS services.
+    Application Auto Scaling supports scaling the following AWS resources:
 
-    For example, you can use Application Auto Scaling to accomplish the following tasks:
+    -   Amazon ECS services
 
-    -   Define scaling policies for automatically adjusting your application’s resources
+    -   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
@@ -66,7 +120,7 @@
         , Network.AWS.ApplicationAutoScaling.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.3.*
+          amazonka-core == 1.4.4.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-application-autoscaling-test
@@ -86,9 +140,9 @@
         , Test.AWS.ApplicationAutoScaling.Internal
 
     build-depends:
-          amazonka-core == 1.4.3.*
-        , amazonka-test == 1.4.3.*
-        , amazonka-application-autoscaling == 1.4.3.*
+          amazonka-core == 1.4.4.*
+        , amazonka-test == 1.4.4.*
+        , amazonka-application-autoscaling == 1.4.4.*
         , 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
@@ -13,15 +13,37 @@
 --
 -- 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.
 --
--- At this time, Application Auto Scaling only supports scaling Amazon ECS services.
+-- Application Auto Scaling supports scaling the following AWS resources:
 --
--- For example, you can use Application Auto Scaling to accomplish the following tasks:
+-- -   Amazon ECS services
 --
--- -   Define scaling policies for automatically adjusting your application’s resources
+-- -   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'
 --
 module Network.AWS.ApplicationAutoScaling
     (
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
@@ -20,7 +20,7 @@
 --
 -- 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.
 --
--- Deleting a policy deletes the underlying alarm action, but does not delete the CloudWatch alarm, even if it no longer has an associated action.
+-- 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>.
 module Network.AWS.ApplicationAutoScaling.DeleteScalingPolicy
@@ -89,11 +89,11 @@
 dspServiceNamespace :: Lens' DeleteScalingPolicy ServiceNamespace
 dspServiceNamespace = lens _dspServiceNamespace (\ s a -> s{_dspServiceNamespace = a});
 
--- | The unique identifier string for the resource associated with the scaling policy. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'.
+-- | 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'.
 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.
+-- | 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.
 dspScalableDimension :: Lens' DeleteScalingPolicy ScalableDimension
 dspScalableDimension = lens _dspScalableDimension (\ s a -> s{_dspScalableDimension = 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
@@ -77,11 +77,11 @@
 derServiceNamespace :: Lens' DeregisterScalableTarget ServiceNamespace
 derServiceNamespace = lens _derServiceNamespace (\ s a -> s{_derServiceNamespace = a});
 
--- | The unique identifier string for the resource associated with the scalable target. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'.
+-- | 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'.
 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.
+-- | 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.
 derScalableDimension :: Lens' DeregisterScalableTarget ScalableDimension
 derScalableDimension = lens _derScalableDimension (\ s a -> s{_derScalableDimension = 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
@@ -85,11 +85,11 @@
     , _dstServiceNamespace = pServiceNamespace_
     }
 
--- | The unique identifier string for the resource associated with the scalable target. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'. If you specify a scalable dimension, you must also specify a resource ID.
+-- | 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.
 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. If you specify a scalable dimension, you must also specify a resource ID.
+-- | 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.
 dstScalableDimension :: Lens' DescribeScalableTargets (Maybe ScalableDimension)
 dstScalableDimension = lens _dstScalableDimension (\ s a -> s{_dstScalableDimension = 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,7 +18,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Provides descriptive information for scaling activities with a specified service namespace.
+-- Provides descriptive information for scaling activities with a specified service namespace for the previous six weeks.
 --
 -- You can filter the results in a service namespace with the 'ResourceId' and 'ScalableDimension' parameters.
 --
@@ -85,11 +85,11 @@
     , _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. If you specify a scalable dimension, you must also specify a resource ID.
+-- | 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.
 dsaScalableDimension :: Lens' DescribeScalingActivities (Maybe ScalableDimension)
 dsaScalableDimension = lens _dsaScalableDimension (\ s a -> s{_dsaScalableDimension = a});
 
--- | The unique identifier string for the resource associated with the scaling activity. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'. If you specify a scalable dimension, you must also specify a resource ID.
+-- | 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.
 dsaResourceId :: Lens' DescribeScalingActivities (Maybe Text)
 dsaResourceId = lens _dsaResourceId (\ s a -> s{_dsaResourceId = 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
@@ -94,11 +94,11 @@
 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. If you specify a scalable dimension, you must also specify a resource ID.
+-- | 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.
 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, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'. If you specify a scalable dimension, you must also specify a resource ID.
+-- | 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.
 dResourceId :: Lens' DescribeScalingPolicies (Maybe Text)
 dResourceId = lens _dResourceId (\ s a -> s{_dResourceId = 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
@@ -92,11 +92,11 @@
     , _pspScalableDimension = pScalableDimension_
     }
 
--- | The policy type. This parameter is required if you are creating a new policy.
+-- | 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.
 pspPolicyType :: Lens' PutScalingPolicy (Maybe PolicyType)
 pspPolicyType = lens _pspPolicyType (\ s a -> s{_pspPolicyType = a});
 
--- | The configuration for the step scaling policy. This parameter is required if you are creating a new policy. For more information, see <http://docs.aws.amazon.com/http:/docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_StepScalingPolicyConfiguration.html StepScalingPolicyConfiguration> and <http://docs.aws.amazon.com/http:/docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_StepAdjustment.html StepAdjustment> in the /Application Auto Scaling API Reference/.
+-- | 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>.
 pspStepScalingPolicyConfiguration :: Lens' PutScalingPolicy (Maybe StepScalingPolicyConfiguration)
 pspStepScalingPolicyConfiguration = lens _pspStepScalingPolicyConfiguration (\ s a -> s{_pspStepScalingPolicyConfiguration = a});
 
@@ -108,11 +108,11 @@
 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, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'.
+-- | 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'.
 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.
+-- | 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.
 pspScalableDimension :: Lens' PutScalingPolicy ScalableDimension
 pspScalableDimension = lens _pspScalableDimension (\ s a -> s{_pspScalableDimension = 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,7 @@
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Registers or updates a scalable target. A scalable target is a resource that can be scaled up or down with Application Auto Scaling. After you have registered a scalable target, you can use this command to update the minimum and maximum values for your scalable dimension.
---
--- At this time, Application Auto Scaling only supports scaling Amazon ECS services.
+-- 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.
 --
 -- 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>.
 module Network.AWS.ApplicationAutoScaling.RegisterScalableTarget
@@ -106,11 +104,11 @@
 rstServiceNamespace :: Lens' RegisterScalableTarget ServiceNamespace
 rstServiceNamespace = lens _rstServiceNamespace (\ s a -> s{_rstServiceNamespace = a});
 
--- | The unique identifier string for the resource to associate with the scalable target. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'.
+-- | 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'.
 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.
+-- | 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.
 rstScalableDimension :: Lens' RegisterScalableTarget ScalableDimension
 rstScalableDimension = lens _rstScalableDimension (\ s a -> s{_rstScalableDimension = 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
@@ -171,6 +171,6 @@
 _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. Application Auto Scaling has a limit of 40 scalable targets per account for Amazon ECS services, 50 scaling policies per scalable target, and 20 step adjustments per step scaling policy.
+-- | 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
@@ -118,11 +118,11 @@
 stServiceNamespace :: Lens' ScalableTarget ServiceNamespace
 stServiceNamespace = lens _stServiceNamespace (\ s a -> s{_stServiceNamespace = a});
 
--- | The unique identifier string for the resource associated with the scalable target. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'.
+-- | 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'.
 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.
+-- | 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.
 stScalableDimension :: Lens' ScalableTarget ScalableDimension
 stScalableDimension = lens _stScalableDimension (\ s a -> s{_stScalableDimension = a});
 
@@ -245,11 +245,11 @@
 saServiceNamespace :: Lens' ScalingActivity ServiceNamespace
 saServiceNamespace = lens _saServiceNamespace (\ s a -> s{_saServiceNamespace = a});
 
--- | The unique identifier string for the resource associated with the scaling activity. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'.
+-- | 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'.
 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.
+-- | 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.
 saScalableDimension :: Lens' ScalingActivity ScalableDimension
 saScalableDimension = lens _saScalableDimension (\ s a -> s{_saScalableDimension = a});
 
@@ -367,11 +367,11 @@
 spServiceNamespace :: Lens' ScalingPolicy ServiceNamespace
 spServiceNamespace = lens _spServiceNamespace (\ s a -> s{_spServiceNamespace = a});
 
--- | The unique identifier string for the resource associated with the scaling policy. For Amazon ECS services, this value is the resource type, followed by the cluster name and service name, such as 'service\/default\/sample-webapp'.
+-- | 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'.
 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.
+-- | 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.
 spScalableDimension :: Lens' ScalingPolicy ScalableDimension
 spScalableDimension = lens _spScalableDimension (\ s a -> s{_spScalableDimension = 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
@@ -31,7 +31,7 @@
         "exactcapacity" -> pure ExactCapacity
         "percentchangeincapacity" -> pure PercentChangeInCapacity
         e -> fromTextError $ "Failure parsing AdjustmentType from value: '" <> e
-           <> "'. Accepted values: ChangeInCapacity, ExactCapacity, PercentChangeInCapacity"
+           <> "'. Accepted values: changeincapacity, exactcapacity, percentchangeincapacity"
 
 instance ToText AdjustmentType where
     toText = \case
@@ -63,7 +63,7 @@
         "maximum" -> pure Maximum
         "minimum" -> pure Minimum
         e -> fromTextError $ "Failure parsing MetricAggregationType from value: '" <> e
-           <> "'. Accepted values: Average, Maximum, Minimum"
+           <> "'. Accepted values: average, maximum, minimum"
 
 instance ToText MetricAggregationType where
     toText = \case
@@ -91,7 +91,7 @@
     parser = takeLowerText >>= \case
         "stepscaling" -> pure StepScaling
         e -> fromTextError $ "Failure parsing PolicyType from value: '" <> e
-           <> "'. Accepted values: StepScaling"
+           <> "'. Accepted values: stepscaling"
 
 instance ToText PolicyType where
     toText = \case
@@ -109,18 +109,21 @@
 instance FromJSON PolicyType where
     parseJSON = parseJSONText "PolicyType"
 
-data ScalableDimension =
-    EcsServiceDesiredCount
+data ScalableDimension
+    = EC2SpotFleetRequestTargetCapacity
+    | EcsServiceDesiredCount
     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
         e -> fromTextError $ "Failure parsing ScalableDimension from value: '" <> e
-           <> "'. Accepted values: ecs:service:DesiredCount"
+           <> "'. Accepted values: ec2:spot-fleet-request:targetcapacity, ecs:service:desiredcount"
 
 instance ToText ScalableDimension where
     toText = \case
+        EC2SpotFleetRequestTargetCapacity -> "ec2:spot-fleet-request:TargetCapacity"
         EcsServiceDesiredCount -> "ecs:service:DesiredCount"
 
 instance Hashable     ScalableDimension
@@ -153,7 +156,7 @@
         "successful" -> pure Successful
         "unfulfilled" -> pure Unfulfilled
         e -> fromTextError $ "Failure parsing ScalingActivityStatusCode from value: '" <> e
-           <> "'. Accepted values: Failed, InProgress, Overridden, Pending, Successful, Unfulfilled"
+           <> "'. Accepted values: failed, inprogress, overridden, pending, successful, unfulfilled"
 
 instance ToText ScalingActivityStatusCode where
     toText = \case
@@ -173,18 +176,21 @@
 instance FromJSON ScalingActivityStatusCode where
     parseJSON = parseJSONText "ScalingActivityStatusCode"
 
-data ServiceNamespace =
-    Ecs
+data ServiceNamespace
+    = EC2
+    | Ecs
     deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ServiceNamespace where
     parser = takeLowerText >>= \case
+        "ec2" -> pure EC2
         "ecs" -> pure Ecs
         e -> fromTextError $ "Failure parsing ServiceNamespace from value: '" <> e
-           <> "'. Accepted values: ecs"
+           <> "'. Accepted values: ec2, ecs"
 
 instance ToText ServiceNamespace where
     toText = \case
+        EC2 -> "ec2"
         Ecs -> "ecs"
 
 instance Hashable     ServiceNamespace
diff --git a/src/.gitkeep b/src/.gitkeep
new file mode 100644
--- /dev/null
+++ b/src/.gitkeep
