diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.5`
+`1.5.0`
 
 
 ## Description
diff --git a/amazonka-stepfunctions.cabal b/amazonka-stepfunctions.cabal
--- a/amazonka-stepfunctions.cabal
+++ b/amazonka-stepfunctions.cabal
@@ -1,13 +1,13 @@
 name:                  amazonka-stepfunctions
-version:               1.4.5
+version:               1.5.0
 synopsis:              Amazon Step Functions SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
-license:               OtherLicense
+license:               MPL-2.0
 license-file:          LICENSE
 author:                Brendan Hay
-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2016 Brendan Hay
+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>
+copyright:             Copyright (c) 2013-2017 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -29,14 +29,19 @@
     to get started.
 
 source-repository head
-    type:     git
-    location: git://github.com/brendanhay/amazonka.git
+    type:              git
+    location:          git://github.com/brendanhay/amazonka.git
+    subdir:            amazonka-stepfunctions
 
 library
     default-language:  Haskell2010
     hs-source-dirs:    src gen
 
-    ghc-options:       -Wall
+    ghc-options:
+        -Wall
+        -fwarn-incomplete-uni-patterns
+        -fwarn-incomplete-record-updates
+        -funbox-strict-fields
 
     exposed-modules:
           Network.AWS.StepFunctions
@@ -65,7 +70,7 @@
         , Network.AWS.StepFunctions.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.5.*
+          amazonka-core == 1.5.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-stepfunctions-test
@@ -85,9 +90,9 @@
         , Test.AWS.StepFunctions.Internal
 
     build-depends:
-          amazonka-core == 1.4.5.*
-        , amazonka-test == 1.4.5.*
-        , amazonka-stepfunctions == 1.4.5.*
+          amazonka-core == 1.5.0.*
+        , amazonka-test == 1.5.0.*
+        , amazonka-stepfunctions
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/StepFunctions.hs b/gen/Network/AWS/StepFunctions.hs
--- a/gen/Network/AWS/StepFunctions.hs
+++ b/gen/Network/AWS/StepFunctions.hs
@@ -5,18 +5,20 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- __AWS Step Functions__
 --
--- AWS Step Functions is a web service that enables you to coordinate the components of distributed applications and microservices using visual workflows. You build applications from individual components that each perform a discrete function, or /task/ , allowing you to scale and change applications quickly. Step Functions provides a graphical console to visualize the components of your application as a series of steps. It automatically triggers and tracks each step, and retries when there are errors, so your application executes in order and as expected, every time. Step Functions logs the state of each step, so when things do go wrong, you can diagnose and debug problems quickly.
+-- AWS Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.
 --
--- Step Functions manages the operations and underlying infrastructure for you to ensure your application is available at any scale. You can run tasks on the AWS cloud, on your own servers, or an any system that has access to AWS. Step Functions can be accessed and used with the Step Functions console, the AWS SDKs (included with your Beta release invitation email), or an HTTP API (the subject of this document).
+-- You can use Step Functions to build applications from individual components, each of which performs a discrete function, or /task/ , allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes in order and as expected, every time. Step Functions logs the state of each step, so you can diagnose and debug problems quickly.
 --
+-- Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on AWS, your own servers, or any system that has access to AWS. You can access and use Step Functions using the console, the AWS SDKs, or an HTTP API. For more information about Step Functions, see the /<http:\/\/docs.aws.amazon.com\/step-functions\/latest\/dg\/welcome.html AWS Step Functions Developer Guide> / .
+--
 module Network.AWS.StepFunctions
     (
     -- * Service Configuration
@@ -97,10 +99,10 @@
     -- ** DescribeActivity
     , module Network.AWS.StepFunctions.DescribeActivity
 
-    -- ** ListStateMachines
+    -- ** ListStateMachines (Paginated)
     , module Network.AWS.StepFunctions.ListStateMachines
 
-    -- ** ListExecutions
+    -- ** ListExecutions (Paginated)
     , module Network.AWS.StepFunctions.ListExecutions
 
     -- ** DeleteStateMachine
@@ -112,7 +114,7 @@
     -- ** CreateActivity
     , module Network.AWS.StepFunctions.CreateActivity
 
-    -- ** ListActivities
+    -- ** ListActivities (Paginated)
     , module Network.AWS.StepFunctions.ListActivities
 
     -- ** SendTaskHeartbeat
@@ -130,7 +132,7 @@
     -- ** StartExecution
     , module Network.AWS.StepFunctions.StartExecution
 
-    -- ** GetExecutionHistory
+    -- ** GetExecutionHistory (Paginated)
     , module Network.AWS.StepFunctions.GetExecutionHistory
 
     -- ** CreateStateMachine
@@ -312,25 +314,25 @@
     , smliCreationDate
     ) where
 
-import           Network.AWS.StepFunctions.CreateActivity
-import           Network.AWS.StepFunctions.CreateStateMachine
-import           Network.AWS.StepFunctions.DeleteActivity
-import           Network.AWS.StepFunctions.DeleteStateMachine
-import           Network.AWS.StepFunctions.DescribeActivity
-import           Network.AWS.StepFunctions.DescribeExecution
-import           Network.AWS.StepFunctions.DescribeStateMachine
-import           Network.AWS.StepFunctions.GetActivityTask
-import           Network.AWS.StepFunctions.GetExecutionHistory
-import           Network.AWS.StepFunctions.ListActivities
-import           Network.AWS.StepFunctions.ListExecutions
-import           Network.AWS.StepFunctions.ListStateMachines
-import           Network.AWS.StepFunctions.SendTaskFailure
-import           Network.AWS.StepFunctions.SendTaskHeartbeat
-import           Network.AWS.StepFunctions.SendTaskSuccess
-import           Network.AWS.StepFunctions.StartExecution
-import           Network.AWS.StepFunctions.StopExecution
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Waiters
+import Network.AWS.StepFunctions.CreateActivity
+import Network.AWS.StepFunctions.CreateStateMachine
+import Network.AWS.StepFunctions.DeleteActivity
+import Network.AWS.StepFunctions.DeleteStateMachine
+import Network.AWS.StepFunctions.DescribeActivity
+import Network.AWS.StepFunctions.DescribeExecution
+import Network.AWS.StepFunctions.DescribeStateMachine
+import Network.AWS.StepFunctions.GetActivityTask
+import Network.AWS.StepFunctions.GetExecutionHistory
+import Network.AWS.StepFunctions.ListActivities
+import Network.AWS.StepFunctions.ListExecutions
+import Network.AWS.StepFunctions.ListStateMachines
+import Network.AWS.StepFunctions.SendTaskFailure
+import Network.AWS.StepFunctions.SendTaskHeartbeat
+import Network.AWS.StepFunctions.SendTaskSuccess
+import Network.AWS.StepFunctions.StartExecution
+import Network.AWS.StepFunctions.StopExecution
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Waiters
 
 {- $errors
 Error matchers are designed for use with the functions provided by
diff --git a/gen/Network/AWS/StepFunctions/CreateActivity.hs b/gen/Network/AWS/StepFunctions/CreateActivity.hs
--- a/gen/Network/AWS/StepFunctions/CreateActivity.hs
+++ b/gen/Network/AWS/StepFunctions/CreateActivity.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.CreateActivity
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates an activity.
+-- Creates an activity. An Activity is a task which you write, in any language and hosted on any machine which has access to AWS Step Functions. Activities must poll Step Functions using the @GetActivityTask@ and respond using @SendTask*@ API calls. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.
 --
 --
 module Network.AWS.StepFunctions.CreateActivity
@@ -38,32 +38,31 @@
     , carsCreationDate
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'createActivity' smart constructor.
 newtype CreateActivity = CreateActivity'
-    { _caName :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _caName :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateActivity' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'caName' - The name of the activity to create. This name must be unique for your AWS account and region.
+-- * 'caName' - The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see <http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions Limits Related to State Machine Executions> in the /AWS Step Functions Developer Guide/ . A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 createActivity
     :: Text -- ^ 'caName'
     -> CreateActivity
-createActivity pName_ =
-    CreateActivity'
-    { _caName = pName_
-    }
+createActivity pName_ = CreateActivity' {_caName = pName_}
 
--- | The name of the activity to create. This name must be unique for your AWS account and region.
+
+-- | The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see <http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions Limits Related to State Machine Executions> in the /AWS Step Functions Developer Guide/ . A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 caName :: Lens' CreateActivity Text
 caName = lens _caName (\ s a -> s{_caName = a});
 
@@ -77,9 +76,9 @@
                    (pure (fromEnum s)) <*> (x .:> "activityArn") <*>
                      (x .:> "creationDate"))
 
-instance Hashable CreateActivity
+instance Hashable CreateActivity where
 
-instance NFData CreateActivity
+instance NFData CreateActivity where
 
 instance ToHeaders CreateActivity where
         toHeaders
@@ -102,11 +101,12 @@
 
 -- | /See:/ 'createActivityResponse' smart constructor.
 data CreateActivityResponse = CreateActivityResponse'
-    { _carsResponseStatus :: !Int
-    , _carsActivityARN    :: !Text
-    , _carsCreationDate   :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _carsResponseStatus :: !Int
+  , _carsActivityARN    :: !Text
+  , _carsCreationDate   :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateActivityResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -122,12 +122,13 @@
     -> UTCTime -- ^ 'carsCreationDate'
     -> CreateActivityResponse
 createActivityResponse pResponseStatus_ pActivityARN_ pCreationDate_ =
-    CreateActivityResponse'
-    { _carsResponseStatus = pResponseStatus_
-    , _carsActivityARN = pActivityARN_
-    , _carsCreationDate = _Time # pCreationDate_
-    }
+  CreateActivityResponse'
+  { _carsResponseStatus = pResponseStatus_
+  , _carsActivityARN = pActivityARN_
+  , _carsCreationDate = _Time # pCreationDate_
+  }
 
+
 -- | -- | The response status code.
 carsResponseStatus :: Lens' CreateActivityResponse Int
 carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});
@@ -140,4 +141,4 @@
 carsCreationDate :: Lens' CreateActivityResponse UTCTime
 carsCreationDate = lens _carsCreationDate (\ s a -> s{_carsCreationDate = a}) . _Time;
 
-instance NFData CreateActivityResponse
+instance NFData CreateActivityResponse where
diff --git a/gen/Network/AWS/StepFunctions/CreateStateMachine.hs b/gen/Network/AWS/StepFunctions/CreateStateMachine.hs
--- a/gen/Network/AWS/StepFunctions/CreateStateMachine.hs
+++ b/gen/Network/AWS/StepFunctions/CreateStateMachine.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.CreateStateMachine
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a state machine.
+-- Creates a state machine. A state machine consists of a collection of states that can do work (@Task@ states), determine which states to transition to next (@Choice@ states), stop an execution with an error (@Fail@ states), and so on. State machines are specified using a JSON-based, structured language.
 --
 --
 module Network.AWS.StepFunctions.CreateStateMachine
@@ -40,25 +40,26 @@
     , csmrsCreationDate
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'createStateMachine' smart constructor.
 data CreateStateMachine = CreateStateMachine'
-    { _csmName       :: !Text
-    , _csmDefinition :: !Text
-    , _csmRoleARN    :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _csmName       :: !Text
+  , _csmDefinition :: !Text
+  , _csmRoleARN    :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateStateMachine' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'csmName' - The name of the state machine. This name must be unique for your AWS account and region.
+-- * 'csmName' - The name of the state machine. This name must be unique for your AWS account and region for 90 days. For more information, see <http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions Limits Related to State Machine Executions> in the /AWS Step Functions Developer Guide/ . A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'csmDefinition' - The Amazon States Language definition of the state machine.
 --
@@ -69,13 +70,11 @@
     -> Text -- ^ 'csmRoleARN'
     -> CreateStateMachine
 createStateMachine pName_ pDefinition_ pRoleARN_ =
-    CreateStateMachine'
-    { _csmName = pName_
-    , _csmDefinition = pDefinition_
-    , _csmRoleARN = pRoleARN_
-    }
+  CreateStateMachine'
+  {_csmName = pName_, _csmDefinition = pDefinition_, _csmRoleARN = pRoleARN_}
 
--- | The name of the state machine. This name must be unique for your AWS account and region.
+
+-- | The name of the state machine. This name must be unique for your AWS account and region for 90 days. For more information, see <http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions Limits Related to State Machine Executions> in the /AWS Step Functions Developer Guide/ . A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 csmName :: Lens' CreateStateMachine Text
 csmName = lens _csmName (\ s a -> s{_csmName = a});
 
@@ -98,9 +97,9 @@
                    (pure (fromEnum s)) <*> (x .:> "stateMachineArn") <*>
                      (x .:> "creationDate"))
 
-instance Hashable CreateStateMachine
+instance Hashable CreateStateMachine where
 
-instance NFData CreateStateMachine
+instance NFData CreateStateMachine where
 
 instance ToHeaders CreateStateMachine where
         toHeaders
@@ -128,11 +127,12 @@
 
 -- | /See:/ 'createStateMachineResponse' smart constructor.
 data CreateStateMachineResponse = CreateStateMachineResponse'
-    { _csmrsResponseStatus  :: !Int
-    , _csmrsStateMachineARN :: !Text
-    , _csmrsCreationDate    :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _csmrsResponseStatus  :: !Int
+  , _csmrsStateMachineARN :: !Text
+  , _csmrsCreationDate    :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateStateMachineResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -148,12 +148,13 @@
     -> UTCTime -- ^ 'csmrsCreationDate'
     -> CreateStateMachineResponse
 createStateMachineResponse pResponseStatus_ pStateMachineARN_ pCreationDate_ =
-    CreateStateMachineResponse'
-    { _csmrsResponseStatus = pResponseStatus_
-    , _csmrsStateMachineARN = pStateMachineARN_
-    , _csmrsCreationDate = _Time # pCreationDate_
-    }
+  CreateStateMachineResponse'
+  { _csmrsResponseStatus = pResponseStatus_
+  , _csmrsStateMachineARN = pStateMachineARN_
+  , _csmrsCreationDate = _Time # pCreationDate_
+  }
 
+
 -- | -- | The response status code.
 csmrsResponseStatus :: Lens' CreateStateMachineResponse Int
 csmrsResponseStatus = lens _csmrsResponseStatus (\ s a -> s{_csmrsResponseStatus = a});
@@ -166,4 +167,4 @@
 csmrsCreationDate :: Lens' CreateStateMachineResponse UTCTime
 csmrsCreationDate = lens _csmrsCreationDate (\ s a -> s{_csmrsCreationDate = a}) . _Time;
 
-instance NFData CreateStateMachineResponse
+instance NFData CreateStateMachineResponse where
diff --git a/gen/Network/AWS/StepFunctions/DeleteActivity.hs b/gen/Network/AWS/StepFunctions/DeleteActivity.hs
--- a/gen/Network/AWS/StepFunctions/DeleteActivity.hs
+++ b/gen/Network/AWS/StepFunctions/DeleteActivity.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.DeleteActivity
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -36,18 +36,19 @@
     , darsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'deleteActivity' smart constructor.
 newtype DeleteActivity = DeleteActivity'
-    { _daActivityARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _daActivityARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteActivity' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -56,11 +57,9 @@
 deleteActivity
     :: Text -- ^ 'daActivityARN'
     -> DeleteActivity
-deleteActivity pActivityARN_ =
-    DeleteActivity'
-    { _daActivityARN = pActivityARN_
-    }
+deleteActivity pActivityARN_ = DeleteActivity' {_daActivityARN = pActivityARN_}
 
+
 -- | The Amazon Resource Name (ARN) of the activity to delete.
 daActivityARN :: Lens' DeleteActivity Text
 daActivityARN = lens _daActivityARN (\ s a -> s{_daActivityARN = a});
@@ -73,9 +72,9 @@
               (\ s h x ->
                  DeleteActivityResponse' <$> (pure (fromEnum s)))
 
-instance Hashable DeleteActivity
+instance Hashable DeleteActivity where
 
-instance NFData DeleteActivity
+instance NFData DeleteActivity where
 
 instance ToHeaders DeleteActivity where
         toHeaders
@@ -99,9 +98,10 @@
 
 -- | /See:/ 'deleteActivityResponse' smart constructor.
 newtype DeleteActivityResponse = DeleteActivityResponse'
-    { _darsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _darsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteActivityResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -111,12 +111,11 @@
     :: Int -- ^ 'darsResponseStatus'
     -> DeleteActivityResponse
 deleteActivityResponse pResponseStatus_ =
-    DeleteActivityResponse'
-    { _darsResponseStatus = pResponseStatus_
-    }
+  DeleteActivityResponse' {_darsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 darsResponseStatus :: Lens' DeleteActivityResponse Int
 darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});
 
-instance NFData DeleteActivityResponse
+instance NFData DeleteActivityResponse where
diff --git a/gen/Network/AWS/StepFunctions/DeleteStateMachine.hs b/gen/Network/AWS/StepFunctions/DeleteStateMachine.hs
--- a/gen/Network/AWS/StepFunctions/DeleteStateMachine.hs
+++ b/gen/Network/AWS/StepFunctions/DeleteStateMachine.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.DeleteStateMachine
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Deletes a state machine. This is an asynchronous operation-- it sets the state machine's status to "DELETING" and begins the delete process.
+-- Deletes a state machine. This is an asynchronous operation-- it sets the state machine's status to "DELETING" and begins the delete process. Each state machine execution will be deleted the next time it makes a state transition. After all executions have completed or been deleted, the state machine itself will be deleted.
 --
 --
 module Network.AWS.StepFunctions.DeleteStateMachine
@@ -36,18 +36,19 @@
     , drsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'deleteStateMachine' smart constructor.
 newtype DeleteStateMachine = DeleteStateMachine'
-    { _dStateMachineARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dStateMachineARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteStateMachine' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -57,10 +58,9 @@
     :: Text -- ^ 'dStateMachineARN'
     -> DeleteStateMachine
 deleteStateMachine pStateMachineARN_ =
-    DeleteStateMachine'
-    { _dStateMachineARN = pStateMachineARN_
-    }
+  DeleteStateMachine' {_dStateMachineARN = pStateMachineARN_}
 
+
 -- | The Amazon Resource Name (ARN) of the state machine to delete.
 dStateMachineARN :: Lens' DeleteStateMachine Text
 dStateMachineARN = lens _dStateMachineARN (\ s a -> s{_dStateMachineARN = a});
@@ -74,9 +74,9 @@
               (\ s h x ->
                  DeleteStateMachineResponse' <$> (pure (fromEnum s)))
 
-instance Hashable DeleteStateMachine
+instance Hashable DeleteStateMachine where
 
-instance NFData DeleteStateMachine
+instance NFData DeleteStateMachine where
 
 instance ToHeaders DeleteStateMachine where
         toHeaders
@@ -102,9 +102,10 @@
 
 -- | /See:/ 'deleteStateMachineResponse' smart constructor.
 newtype DeleteStateMachineResponse = DeleteStateMachineResponse'
-    { _drsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _drsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteStateMachineResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -114,12 +115,11 @@
     :: Int -- ^ 'drsResponseStatus'
     -> DeleteStateMachineResponse
 deleteStateMachineResponse pResponseStatus_ =
-    DeleteStateMachineResponse'
-    { _drsResponseStatus = pResponseStatus_
-    }
+  DeleteStateMachineResponse' {_drsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 drsResponseStatus :: Lens' DeleteStateMachineResponse Int
 drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
 
-instance NFData DeleteStateMachineResponse
+instance NFData DeleteStateMachineResponse where
diff --git a/gen/Network/AWS/StepFunctions/DescribeActivity.hs b/gen/Network/AWS/StepFunctions/DescribeActivity.hs
--- a/gen/Network/AWS/StepFunctions/DescribeActivity.hs
+++ b/gen/Network/AWS/StepFunctions/DescribeActivity.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.DescribeActivity
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -39,18 +39,19 @@
     , desrsCreationDate
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'describeActivity' smart constructor.
 newtype DescribeActivity = DescribeActivity'
-    { _dActivityARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dActivityARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeActivity' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -60,10 +61,9 @@
     :: Text -- ^ 'dActivityARN'
     -> DescribeActivity
 describeActivity pActivityARN_ =
-    DescribeActivity'
-    { _dActivityARN = pActivityARN_
-    }
+  DescribeActivity' {_dActivityARN = pActivityARN_}
 
+
 -- | The Amazon Resource Name (ARN) of the activity to describe.
 dActivityARN :: Lens' DescribeActivity Text
 dActivityARN = lens _dActivityARN (\ s a -> s{_dActivityARN = a});
@@ -79,9 +79,9 @@
                      (x .:> "name")
                      <*> (x .:> "creationDate"))
 
-instance Hashable DescribeActivity
+instance Hashable DescribeActivity where
 
-instance NFData DescribeActivity
+instance NFData DescribeActivity where
 
 instance ToHeaders DescribeActivity where
         toHeaders
@@ -105,12 +105,13 @@
 
 -- | /See:/ 'describeActivityResponse' smart constructor.
 data DescribeActivityResponse = DescribeActivityResponse'
-    { _desrsResponseStatus :: !Int
-    , _desrsActivityARN    :: !Text
-    , _desrsName           :: !Text
-    , _desrsCreationDate   :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _desrsResponseStatus :: !Int
+  , _desrsActivityARN    :: !Text
+  , _desrsName           :: !Text
+  , _desrsCreationDate   :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeActivityResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -119,7 +120,7 @@
 --
 -- * 'desrsActivityARN' - The Amazon Resource Name (ARN) that identifies the activity.
 --
--- * 'desrsName' - The name of the activity.
+-- * 'desrsName' - The name of the activity. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'desrsCreationDate' - The date the activity was created.
 describeActivityResponse
@@ -129,13 +130,14 @@
     -> UTCTime -- ^ 'desrsCreationDate'
     -> DescribeActivityResponse
 describeActivityResponse pResponseStatus_ pActivityARN_ pName_ pCreationDate_ =
-    DescribeActivityResponse'
-    { _desrsResponseStatus = pResponseStatus_
-    , _desrsActivityARN = pActivityARN_
-    , _desrsName = pName_
-    , _desrsCreationDate = _Time # pCreationDate_
-    }
+  DescribeActivityResponse'
+  { _desrsResponseStatus = pResponseStatus_
+  , _desrsActivityARN = pActivityARN_
+  , _desrsName = pName_
+  , _desrsCreationDate = _Time # pCreationDate_
+  }
 
+
 -- | -- | The response status code.
 desrsResponseStatus :: Lens' DescribeActivityResponse Int
 desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a});
@@ -144,7 +146,7 @@
 desrsActivityARN :: Lens' DescribeActivityResponse Text
 desrsActivityARN = lens _desrsActivityARN (\ s a -> s{_desrsActivityARN = a});
 
--- | The name of the activity.
+-- | The name of the activity. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 desrsName :: Lens' DescribeActivityResponse Text
 desrsName = lens _desrsName (\ s a -> s{_desrsName = a});
 
@@ -152,4 +154,4 @@
 desrsCreationDate :: Lens' DescribeActivityResponse UTCTime
 desrsCreationDate = lens _desrsCreationDate (\ s a -> s{_desrsCreationDate = a}) . _Time;
 
-instance NFData DescribeActivityResponse
+instance NFData DescribeActivityResponse where
diff --git a/gen/Network/AWS/StepFunctions/DescribeExecution.hs b/gen/Network/AWS/StepFunctions/DescribeExecution.hs
--- a/gen/Network/AWS/StepFunctions/DescribeExecution.hs
+++ b/gen/Network/AWS/StepFunctions/DescribeExecution.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.DescribeExecution
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -44,18 +44,19 @@
     , dersInput
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'describeExecution' smart constructor.
 newtype DescribeExecution = DescribeExecution'
-    { _deExecutionARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _deExecutionARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeExecution' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -65,10 +66,9 @@
     :: Text -- ^ 'deExecutionARN'
     -> DescribeExecution
 describeExecution pExecutionARN_ =
-    DescribeExecution'
-    { _deExecutionARN = pExecutionARN_
-    }
+  DescribeExecution' {_deExecutionARN = pExecutionARN_}
 
+
 -- | The Amazon Resource Name (ARN) of the execution to describe.
 deExecutionARN :: Lens' DescribeExecution Text
 deExecutionARN = lens _deExecutionARN (\ s a -> s{_deExecutionARN = a});
@@ -89,9 +89,9 @@
                      <*> (x .:> "startDate")
                      <*> (x .:> "input"))
 
-instance Hashable DescribeExecution
+instance Hashable DescribeExecution where
 
-instance NFData DescribeExecution
+instance NFData DescribeExecution where
 
 instance ToHeaders DescribeExecution where
         toHeaders
@@ -116,24 +116,25 @@
 
 -- | /See:/ 'describeExecutionResponse' smart constructor.
 data DescribeExecutionResponse = DescribeExecutionResponse'
-    { _dersStopDate        :: !(Maybe POSIX)
-    , _dersName            :: !(Maybe Text)
-    , _dersOutput          :: !(Maybe Text)
-    , _dersResponseStatus  :: !Int
-    , _dersExecutionARN    :: !Text
-    , _dersStateMachineARN :: !Text
-    , _dersStatus          :: !ExecutionStatus
-    , _dersStartDate       :: !POSIX
-    , _dersInput           :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dersStopDate        :: !(Maybe POSIX)
+  , _dersName            :: !(Maybe Text)
+  , _dersOutput          :: !(Maybe Text)
+  , _dersResponseStatus  :: !Int
+  , _dersExecutionARN    :: !Text
+  , _dersStateMachineARN :: !Text
+  , _dersStatus          :: !ExecutionStatus
+  , _dersStartDate       :: !POSIX
+  , _dersInput           :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeExecutionResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'dersStopDate' - If the execution has already ended, the date the execution stopped.
 --
--- * 'dersName' - The name of the execution.
+-- * 'dersName' - The name of the execution. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'dersOutput' - The JSON output data of the execution.
 --
@@ -147,7 +148,7 @@
 --
 -- * 'dersStartDate' - The date the execution was started.
 --
--- * 'dersInput' - The JSON input data of the execution.
+-- * 'dersInput' - The string that contains the JSON input data of the execution.
 describeExecutionResponse
     :: Int -- ^ 'dersResponseStatus'
     -> Text -- ^ 'dersExecutionARN'
@@ -157,23 +158,24 @@
     -> Text -- ^ 'dersInput'
     -> DescribeExecutionResponse
 describeExecutionResponse pResponseStatus_ pExecutionARN_ pStateMachineARN_ pStatus_ pStartDate_ pInput_ =
-    DescribeExecutionResponse'
-    { _dersStopDate = Nothing
-    , _dersName = Nothing
-    , _dersOutput = Nothing
-    , _dersResponseStatus = pResponseStatus_
-    , _dersExecutionARN = pExecutionARN_
-    , _dersStateMachineARN = pStateMachineARN_
-    , _dersStatus = pStatus_
-    , _dersStartDate = _Time # pStartDate_
-    , _dersInput = pInput_
-    }
+  DescribeExecutionResponse'
+  { _dersStopDate = Nothing
+  , _dersName = Nothing
+  , _dersOutput = Nothing
+  , _dersResponseStatus = pResponseStatus_
+  , _dersExecutionARN = pExecutionARN_
+  , _dersStateMachineARN = pStateMachineARN_
+  , _dersStatus = pStatus_
+  , _dersStartDate = _Time # pStartDate_
+  , _dersInput = pInput_
+  }
 
+
 -- | If the execution has already ended, the date the execution stopped.
 dersStopDate :: Lens' DescribeExecutionResponse (Maybe UTCTime)
 dersStopDate = lens _dersStopDate (\ s a -> s{_dersStopDate = a}) . mapping _Time;
 
--- | The name of the execution.
+-- | The name of the execution. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 dersName :: Lens' DescribeExecutionResponse (Maybe Text)
 dersName = lens _dersName (\ s a -> s{_dersName = a});
 
@@ -201,8 +203,8 @@
 dersStartDate :: Lens' DescribeExecutionResponse UTCTime
 dersStartDate = lens _dersStartDate (\ s a -> s{_dersStartDate = a}) . _Time;
 
--- | The JSON input data of the execution.
+-- | The string that contains the JSON input data of the execution.
 dersInput :: Lens' DescribeExecutionResponse Text
 dersInput = lens _dersInput (\ s a -> s{_dersInput = a});
 
-instance NFData DescribeExecutionResponse
+instance NFData DescribeExecutionResponse where
diff --git a/gen/Network/AWS/StepFunctions/DescribeStateMachine.hs b/gen/Network/AWS/StepFunctions/DescribeStateMachine.hs
--- a/gen/Network/AWS/StepFunctions/DescribeStateMachine.hs
+++ b/gen/Network/AWS/StepFunctions/DescribeStateMachine.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.DescribeStateMachine
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -42,18 +42,19 @@
     , dsmrsCreationDate
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'describeStateMachine' smart constructor.
 newtype DescribeStateMachine = DescribeStateMachine'
-    { _dsmStateMachineARN :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dsmStateMachineARN :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeStateMachine' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,10 +64,9 @@
     :: Text -- ^ 'dsmStateMachineARN'
     -> DescribeStateMachine
 describeStateMachine pStateMachineARN_ =
-    DescribeStateMachine'
-    { _dsmStateMachineARN = pStateMachineARN_
-    }
+  DescribeStateMachine' {_dsmStateMachineARN = pStateMachineARN_}
 
+
 -- | The Amazon Resource Name (ARN) of the state machine to describe.
 dsmStateMachineARN :: Lens' DescribeStateMachine Text
 dsmStateMachineARN = lens _dsmStateMachineARN (\ s a -> s{_dsmStateMachineARN = a});
@@ -86,9 +86,9 @@
                      <*> (x .:> "roleArn")
                      <*> (x .:> "creationDate"))
 
-instance Hashable DescribeStateMachine
+instance Hashable DescribeStateMachine where
 
-instance NFData DescribeStateMachine
+instance NFData DescribeStateMachine where
 
 instance ToHeaders DescribeStateMachine where
         toHeaders
@@ -114,15 +114,16 @@
 
 -- | /See:/ 'describeStateMachineResponse' smart constructor.
 data DescribeStateMachineResponse = DescribeStateMachineResponse'
-    { _dsmrsStatus          :: !(Maybe StateMachineStatus)
-    , _dsmrsResponseStatus  :: !Int
-    , _dsmrsStateMachineARN :: !Text
-    , _dsmrsName            :: !Text
-    , _dsmrsDefinition      :: !Text
-    , _dsmrsRoleARN         :: !Text
-    , _dsmrsCreationDate    :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dsmrsStatus          :: !(Maybe StateMachineStatus)
+  , _dsmrsResponseStatus  :: !Int
+  , _dsmrsStateMachineARN :: !Text
+  , _dsmrsName            :: !Text
+  , _dsmrsDefinition      :: !Text
+  , _dsmrsRoleARN         :: !Text
+  , _dsmrsCreationDate    :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeStateMachineResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -133,11 +134,11 @@
 --
 -- * 'dsmrsStateMachineARN' - The Amazon Resource Name (ARN) that identifies the state machine.
 --
--- * 'dsmrsName' - The name of the state machine.
+-- * 'dsmrsName' - The name of the state machine. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'dsmrsDefinition' - The Amazon States Language definition of the state machine.
 --
--- * 'dsmrsRoleARN' - The Amazon Resource Name (ARN) of the IAM role used for executing this state machine.
+-- * 'dsmrsRoleARN' - The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role maintains security by granting Step Functions access to AWS resources.)
 --
 -- * 'dsmrsCreationDate' - The date the state machine was created.
 describeStateMachineResponse
@@ -149,16 +150,17 @@
     -> UTCTime -- ^ 'dsmrsCreationDate'
     -> DescribeStateMachineResponse
 describeStateMachineResponse pResponseStatus_ pStateMachineARN_ pName_ pDefinition_ pRoleARN_ pCreationDate_ =
-    DescribeStateMachineResponse'
-    { _dsmrsStatus = Nothing
-    , _dsmrsResponseStatus = pResponseStatus_
-    , _dsmrsStateMachineARN = pStateMachineARN_
-    , _dsmrsName = pName_
-    , _dsmrsDefinition = pDefinition_
-    , _dsmrsRoleARN = pRoleARN_
-    , _dsmrsCreationDate = _Time # pCreationDate_
-    }
+  DescribeStateMachineResponse'
+  { _dsmrsStatus = Nothing
+  , _dsmrsResponseStatus = pResponseStatus_
+  , _dsmrsStateMachineARN = pStateMachineARN_
+  , _dsmrsName = pName_
+  , _dsmrsDefinition = pDefinition_
+  , _dsmrsRoleARN = pRoleARN_
+  , _dsmrsCreationDate = _Time # pCreationDate_
+  }
 
+
 -- | The current status of the state machine.
 dsmrsStatus :: Lens' DescribeStateMachineResponse (Maybe StateMachineStatus)
 dsmrsStatus = lens _dsmrsStatus (\ s a -> s{_dsmrsStatus = a});
@@ -171,7 +173,7 @@
 dsmrsStateMachineARN :: Lens' DescribeStateMachineResponse Text
 dsmrsStateMachineARN = lens _dsmrsStateMachineARN (\ s a -> s{_dsmrsStateMachineARN = a});
 
--- | The name of the state machine.
+-- | The name of the state machine. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 dsmrsName :: Lens' DescribeStateMachineResponse Text
 dsmrsName = lens _dsmrsName (\ s a -> s{_dsmrsName = a});
 
@@ -179,7 +181,7 @@
 dsmrsDefinition :: Lens' DescribeStateMachineResponse Text
 dsmrsDefinition = lens _dsmrsDefinition (\ s a -> s{_dsmrsDefinition = a});
 
--- | The Amazon Resource Name (ARN) of the IAM role used for executing this state machine.
+-- | The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role maintains security by granting Step Functions access to AWS resources.)
 dsmrsRoleARN :: Lens' DescribeStateMachineResponse Text
 dsmrsRoleARN = lens _dsmrsRoleARN (\ s a -> s{_dsmrsRoleARN = a});
 
@@ -187,4 +189,4 @@
 dsmrsCreationDate :: Lens' DescribeStateMachineResponse UTCTime
 dsmrsCreationDate = lens _dsmrsCreationDate (\ s a -> s{_dsmrsCreationDate = a}) . _Time;
 
-instance NFData DescribeStateMachineResponse
+instance NFData DescribeStateMachineResponse where
diff --git a/gen/Network/AWS/StepFunctions/GetActivityTask.hs b/gen/Network/AWS/StepFunctions/GetActivityTask.hs
--- a/gen/Network/AWS/StepFunctions/GetActivityTask.hs
+++ b/gen/Network/AWS/StepFunctions/GetActivityTask.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.GetActivityTask
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by workers to retrieve a task (with the specified activity ARN) scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll will return an empty result, that is, the @taskToken@ returned is an empty string.
+-- Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll will return a @taskToken@ with a null string.
 --
 --
 -- /Important:/ Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request).
@@ -41,40 +41,39 @@
     , gatrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'getActivityTask' smart constructor.
 data GetActivityTask = GetActivityTask'
-    { _gatWorkerName  :: !(Maybe Text)
-    , _gatActivityARN :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gatWorkerName  :: !(Maybe Text)
+  , _gatActivityARN :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetActivityTask' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'gatWorkerName' - An arbitrary name may be provided in order to identify the worker that the task is assigned to. This name will be used when it is logged in the execution history.
+-- * 'gatWorkerName' - You can provide an arbitrary name in order to identify the worker that the task is assigned to. This name will be used when it is logged in the execution history.
 --
--- * 'gatActivityARN' - The Amazon Resource Name (ARN) of the activity to retrieve tasks from.
+-- * 'gatActivityARN' - The Amazon Resource Name (ARN) of the activity to retrieve tasks from (assigned when you create the task using 'CreateActivity' .)
 getActivityTask
     :: Text -- ^ 'gatActivityARN'
     -> GetActivityTask
 getActivityTask pActivityARN_ =
-    GetActivityTask'
-    { _gatWorkerName = Nothing
-    , _gatActivityARN = pActivityARN_
-    }
+  GetActivityTask' {_gatWorkerName = Nothing, _gatActivityARN = pActivityARN_}
 
--- | An arbitrary name may be provided in order to identify the worker that the task is assigned to. This name will be used when it is logged in the execution history.
+
+-- | You can provide an arbitrary name in order to identify the worker that the task is assigned to. This name will be used when it is logged in the execution history.
 gatWorkerName :: Lens' GetActivityTask (Maybe Text)
 gatWorkerName = lens _gatWorkerName (\ s a -> s{_gatWorkerName = a});
 
--- | The Amazon Resource Name (ARN) of the activity to retrieve tasks from.
+-- | The Amazon Resource Name (ARN) of the activity to retrieve tasks from (assigned when you create the task using 'CreateActivity' .)
 gatActivityARN :: Lens' GetActivityTask Text
 gatActivityARN = lens _gatActivityARN (\ s a -> s{_gatActivityARN = a});
 
@@ -88,9 +87,9 @@
                    (x .?> "input") <*> (x .?> "taskToken") <*>
                      (pure (fromEnum s)))
 
-instance Hashable GetActivityTask
+instance Hashable GetActivityTask where
 
-instance NFData GetActivityTask
+instance NFData GetActivityTask where
 
 instance ToHeaders GetActivityTask where
         toHeaders
@@ -116,16 +115,17 @@
 
 -- | /See:/ 'getActivityTaskResponse' smart constructor.
 data GetActivityTaskResponse = GetActivityTaskResponse'
-    { _gatrsInput          :: !(Maybe Text)
-    , _gatrsTaskToken      :: !(Maybe Text)
-    , _gatrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gatrsInput          :: !(Maybe Text)
+  , _gatrsTaskToken      :: !(Maybe Text)
+  , _gatrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetActivityTaskResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'gatrsInput' - The JSON input data for the task.
+-- * 'gatrsInput' - The string that contains the JSON input data for the task.
 --
 -- * 'gatrsTaskToken' - A token that identifies the scheduled task. This token must be copied and included in subsequent calls to 'SendTaskHeartbeat' , 'SendTaskSuccess' or 'SendTaskFailure' in order to report the progress or completion of the task.
 --
@@ -134,13 +134,14 @@
     :: Int -- ^ 'gatrsResponseStatus'
     -> GetActivityTaskResponse
 getActivityTaskResponse pResponseStatus_ =
-    GetActivityTaskResponse'
-    { _gatrsInput = Nothing
-    , _gatrsTaskToken = Nothing
-    , _gatrsResponseStatus = pResponseStatus_
-    }
+  GetActivityTaskResponse'
+  { _gatrsInput = Nothing
+  , _gatrsTaskToken = Nothing
+  , _gatrsResponseStatus = pResponseStatus_
+  }
 
--- | The JSON input data for the task.
+
+-- | The string that contains the JSON input data for the task.
 gatrsInput :: Lens' GetActivityTaskResponse (Maybe Text)
 gatrsInput = lens _gatrsInput (\ s a -> s{_gatrsInput = a});
 
@@ -152,4 +153,4 @@
 gatrsResponseStatus :: Lens' GetActivityTaskResponse Int
 gatrsResponseStatus = lens _gatrsResponseStatus (\ s a -> s{_gatrsResponseStatus = a});
 
-instance NFData GetActivityTaskResponse
+instance NFData GetActivityTaskResponse where
diff --git a/gen/Network/AWS/StepFunctions/GetExecutionHistory.hs b/gen/Network/AWS/StepFunctions/GetExecutionHistory.hs
--- a/gen/Network/AWS/StepFunctions/GetExecutionHistory.hs
+++ b/gen/Network/AWS/StepFunctions/GetExecutionHistory.hs
@@ -12,15 +12,17 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.GetExecutionHistory
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the @timeStamp@ of the events. Use the @reverseOrder@ parameter to get the latest events first. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the @nextToken@ returned by the previous call.
 --
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.StepFunctions.GetExecutionHistory
     (
     -- * Creating a Request
@@ -41,21 +43,23 @@
     , gehrsEvents
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'getExecutionHistory' smart constructor.
 data GetExecutionHistory = GetExecutionHistory'
-    { _gehReverseOrder :: !(Maybe Bool)
-    , _gehNextToken    :: !(Maybe Text)
-    , _gehMaxResults   :: !(Maybe Nat)
-    , _gehExecutionARN :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gehReverseOrder :: !(Maybe Bool)
+  , _gehNextToken    :: !(Maybe Text)
+  , _gehMaxResults   :: !(Maybe Nat)
+  , _gehExecutionARN :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetExecutionHistory' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,20 +68,21 @@
 --
 -- * 'gehNextToken' - If a @nextToken@ was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 --
--- * 'gehMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- * 'gehMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 --
 -- * 'gehExecutionARN' - The Amazon Resource Name (ARN) of the execution.
 getExecutionHistory
     :: Text -- ^ 'gehExecutionARN'
     -> GetExecutionHistory
 getExecutionHistory pExecutionARN_ =
-    GetExecutionHistory'
-    { _gehReverseOrder = Nothing
-    , _gehNextToken = Nothing
-    , _gehMaxResults = Nothing
-    , _gehExecutionARN = pExecutionARN_
-    }
+  GetExecutionHistory'
+  { _gehReverseOrder = Nothing
+  , _gehNextToken = Nothing
+  , _gehMaxResults = Nothing
+  , _gehExecutionARN = pExecutionARN_
+  }
 
+
 -- | Lists events in descending order of their @timeStamp@ .
 gehReverseOrder :: Lens' GetExecutionHistory (Maybe Bool)
 gehReverseOrder = lens _gehReverseOrder (\ s a -> s{_gehReverseOrder = a});
@@ -86,7 +91,7 @@
 gehNextToken :: Lens' GetExecutionHistory (Maybe Text)
 gehNextToken = lens _gehNextToken (\ s a -> s{_gehNextToken = a});
 
--- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 gehMaxResults :: Lens' GetExecutionHistory (Maybe Natural)
 gehMaxResults = lens _gehMaxResults (\ s a -> s{_gehMaxResults = a}) . mapping _Nat;
 
@@ -94,6 +99,13 @@
 gehExecutionARN :: Lens' GetExecutionHistory Text
 gehExecutionARN = lens _gehExecutionARN (\ s a -> s{_gehExecutionARN = a});
 
+instance AWSPager GetExecutionHistory where
+        page rq rs
+          | stop (rs ^. gehrsNextToken) = Nothing
+          | stop (rs ^. gehrsEvents) = Nothing
+          | otherwise =
+            Just $ rq & gehNextToken .~ rs ^. gehrsNextToken
+
 instance AWSRequest GetExecutionHistory where
         type Rs GetExecutionHistory =
              GetExecutionHistoryResponse
@@ -105,9 +117,9 @@
                    (x .?> "nextToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "events" .!@ mempty))
 
-instance Hashable GetExecutionHistory
+instance Hashable GetExecutionHistory where
 
-instance NFData GetExecutionHistory
+instance NFData GetExecutionHistory where
 
 instance ToHeaders GetExecutionHistory where
         toHeaders
@@ -136,11 +148,12 @@
 
 -- | /See:/ 'getExecutionHistoryResponse' smart constructor.
 data GetExecutionHistoryResponse = GetExecutionHistoryResponse'
-    { _gehrsNextToken      :: !(Maybe Text)
-    , _gehrsResponseStatus :: !Int
-    , _gehrsEvents         :: ![HistoryEvent]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gehrsNextToken      :: !(Maybe Text)
+  , _gehrsResponseStatus :: !Int
+  , _gehrsEvents         :: ![HistoryEvent]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetExecutionHistoryResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -154,12 +167,13 @@
     :: Int -- ^ 'gehrsResponseStatus'
     -> GetExecutionHistoryResponse
 getExecutionHistoryResponse pResponseStatus_ =
-    GetExecutionHistoryResponse'
-    { _gehrsNextToken = Nothing
-    , _gehrsResponseStatus = pResponseStatus_
-    , _gehrsEvents = mempty
-    }
+  GetExecutionHistoryResponse'
+  { _gehrsNextToken = Nothing
+  , _gehrsResponseStatus = pResponseStatus_
+  , _gehrsEvents = mempty
+  }
 
+
 -- | If a @nextToken@ is returned, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 gehrsNextToken :: Lens' GetExecutionHistoryResponse (Maybe Text)
 gehrsNextToken = lens _gehrsNextToken (\ s a -> s{_gehrsNextToken = a});
@@ -172,4 +186,4 @@
 gehrsEvents :: Lens' GetExecutionHistoryResponse [HistoryEvent]
 gehrsEvents = lens _gehrsEvents (\ s a -> s{_gehrsEvents = a}) . _Coerce;
 
-instance NFData GetExecutionHistoryResponse
+instance NFData GetExecutionHistoryResponse where
diff --git a/gen/Network/AWS/StepFunctions/ListActivities.hs b/gen/Network/AWS/StepFunctions/ListActivities.hs
--- a/gen/Network/AWS/StepFunctions/ListActivities.hs
+++ b/gen/Network/AWS/StepFunctions/ListActivities.hs
@@ -12,15 +12,17 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.ListActivities
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Lists the existing activities. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the @nextToken@ returned by the previous call.
 --
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.StepFunctions.ListActivities
     (
     -- * Creating a Request
@@ -39,42 +41,49 @@
     , larsActivities
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'listActivities' smart constructor.
 data ListActivities = ListActivities'
-    { _laNextToken  :: !(Maybe Text)
-    , _laMaxResults :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _laNextToken  :: !(Maybe Text)
+  , _laMaxResults :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListActivities' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'laNextToken' - If a @nextToken@ was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 --
--- * 'laMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- * 'laMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 listActivities
     :: ListActivities
 listActivities =
-    ListActivities'
-    { _laNextToken = Nothing
-    , _laMaxResults = Nothing
-    }
+  ListActivities' {_laNextToken = Nothing, _laMaxResults = Nothing}
 
+
 -- | If a @nextToken@ was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 laNextToken :: Lens' ListActivities (Maybe Text)
 laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});
 
--- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 laMaxResults :: Lens' ListActivities (Maybe Natural)
 laMaxResults = lens _laMaxResults (\ s a -> s{_laMaxResults = a}) . mapping _Nat;
 
+instance AWSPager ListActivities where
+        page rq rs
+          | stop (rs ^. larsNextToken) = Nothing
+          | stop (rs ^. larsActivities) = Nothing
+          | otherwise =
+            Just $ rq & laNextToken .~ rs ^. larsNextToken
+
 instance AWSRequest ListActivities where
         type Rs ListActivities = ListActivitiesResponse
         request = postJSON stepFunctions
@@ -85,9 +94,9 @@
                    (x .?> "nextToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "activities" .!@ mempty))
 
-instance Hashable ListActivities
+instance Hashable ListActivities where
 
-instance NFData ListActivities
+instance NFData ListActivities where
 
 instance ToHeaders ListActivities where
         toHeaders
@@ -113,11 +122,12 @@
 
 -- | /See:/ 'listActivitiesResponse' smart constructor.
 data ListActivitiesResponse = ListActivitiesResponse'
-    { _larsNextToken      :: !(Maybe Text)
-    , _larsResponseStatus :: !Int
-    , _larsActivities     :: ![ActivityListItem]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _larsNextToken      :: !(Maybe Text)
+  , _larsResponseStatus :: !Int
+  , _larsActivities     :: ![ActivityListItem]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListActivitiesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -131,12 +141,13 @@
     :: Int -- ^ 'larsResponseStatus'
     -> ListActivitiesResponse
 listActivitiesResponse pResponseStatus_ =
-    ListActivitiesResponse'
-    { _larsNextToken = Nothing
-    , _larsResponseStatus = pResponseStatus_
-    , _larsActivities = mempty
-    }
+  ListActivitiesResponse'
+  { _larsNextToken = Nothing
+  , _larsResponseStatus = pResponseStatus_
+  , _larsActivities = mempty
+  }
 
+
 -- | If a @nextToken@ is returned, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 larsNextToken :: Lens' ListActivitiesResponse (Maybe Text)
 larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});
@@ -149,4 +160,4 @@
 larsActivities :: Lens' ListActivitiesResponse [ActivityListItem]
 larsActivities = lens _larsActivities (\ s a -> s{_larsActivities = a}) . _Coerce;
 
-instance NFData ListActivitiesResponse
+instance NFData ListActivitiesResponse where
diff --git a/gen/Network/AWS/StepFunctions/ListExecutions.hs b/gen/Network/AWS/StepFunctions/ListExecutions.hs
--- a/gen/Network/AWS/StepFunctions/ListExecutions.hs
+++ b/gen/Network/AWS/StepFunctions/ListExecutions.hs
@@ -12,15 +12,17 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.ListExecutions
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Lists the executions of a state machine that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the @nextToken@ returned by the previous call.
 --
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.StepFunctions.ListExecutions
     (
     -- * Creating a Request
@@ -41,21 +43,23 @@
     , lersExecutions
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'listExecutions' smart constructor.
 data ListExecutions = ListExecutions'
-    { _leStatusFilter    :: !(Maybe ExecutionStatus)
-    , _leNextToken       :: !(Maybe Text)
-    , _leMaxResults      :: !(Maybe Nat)
-    , _leStateMachineARN :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _leStatusFilter    :: !(Maybe ExecutionStatus)
+  , _leNextToken       :: !(Maybe Text)
+  , _leMaxResults      :: !(Maybe Nat)
+  , _leStateMachineARN :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListExecutions' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,20 +68,21 @@
 --
 -- * 'leNextToken' - If a @nextToken@ was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 --
--- * 'leMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- * 'leMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 --
 -- * 'leStateMachineARN' - The Amazon Resource Name (ARN) of the state machine whose executions will be listed.
 listExecutions
     :: Text -- ^ 'leStateMachineARN'
     -> ListExecutions
 listExecutions pStateMachineARN_ =
-    ListExecutions'
-    { _leStatusFilter = Nothing
-    , _leNextToken = Nothing
-    , _leMaxResults = Nothing
-    , _leStateMachineARN = pStateMachineARN_
-    }
+  ListExecutions'
+  { _leStatusFilter = Nothing
+  , _leNextToken = Nothing
+  , _leMaxResults = Nothing
+  , _leStateMachineARN = pStateMachineARN_
+  }
 
+
 -- | If specified, only list the executions whose current execution status matches the given filter.
 leStatusFilter :: Lens' ListExecutions (Maybe ExecutionStatus)
 leStatusFilter = lens _leStatusFilter (\ s a -> s{_leStatusFilter = a});
@@ -86,7 +91,7 @@
 leNextToken :: Lens' ListExecutions (Maybe Text)
 leNextToken = lens _leNextToken (\ s a -> s{_leNextToken = a});
 
--- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 leMaxResults :: Lens' ListExecutions (Maybe Natural)
 leMaxResults = lens _leMaxResults (\ s a -> s{_leMaxResults = a}) . mapping _Nat;
 
@@ -94,6 +99,13 @@
 leStateMachineARN :: Lens' ListExecutions Text
 leStateMachineARN = lens _leStateMachineARN (\ s a -> s{_leStateMachineARN = a});
 
+instance AWSPager ListExecutions where
+        page rq rs
+          | stop (rs ^. lersNextToken) = Nothing
+          | stop (rs ^. lersExecutions) = Nothing
+          | otherwise =
+            Just $ rq & leNextToken .~ rs ^. lersNextToken
+
 instance AWSRequest ListExecutions where
         type Rs ListExecutions = ListExecutionsResponse
         request = postJSON stepFunctions
@@ -104,9 +116,9 @@
                    (x .?> "nextToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "executions" .!@ mempty))
 
-instance Hashable ListExecutions
+instance Hashable ListExecutions where
 
-instance NFData ListExecutions
+instance NFData ListExecutions where
 
 instance ToHeaders ListExecutions where
         toHeaders
@@ -134,11 +146,12 @@
 
 -- | /See:/ 'listExecutionsResponse' smart constructor.
 data ListExecutionsResponse = ListExecutionsResponse'
-    { _lersNextToken      :: !(Maybe Text)
-    , _lersResponseStatus :: !Int
-    , _lersExecutions     :: ![ExecutionListItem]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lersNextToken      :: !(Maybe Text)
+  , _lersResponseStatus :: !Int
+  , _lersExecutions     :: ![ExecutionListItem]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListExecutionsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -152,12 +165,13 @@
     :: Int -- ^ 'lersResponseStatus'
     -> ListExecutionsResponse
 listExecutionsResponse pResponseStatus_ =
-    ListExecutionsResponse'
-    { _lersNextToken = Nothing
-    , _lersResponseStatus = pResponseStatus_
-    , _lersExecutions = mempty
-    }
+  ListExecutionsResponse'
+  { _lersNextToken = Nothing
+  , _lersResponseStatus = pResponseStatus_
+  , _lersExecutions = mempty
+  }
 
+
 -- | If a @nextToken@ is returned, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 lersNextToken :: Lens' ListExecutionsResponse (Maybe Text)
 lersNextToken = lens _lersNextToken (\ s a -> s{_lersNextToken = a});
@@ -170,4 +184,4 @@
 lersExecutions :: Lens' ListExecutionsResponse [ExecutionListItem]
 lersExecutions = lens _lersExecutions (\ s a -> s{_lersExecutions = a}) . _Coerce;
 
-instance NFData ListExecutionsResponse
+instance NFData ListExecutionsResponse where
diff --git a/gen/Network/AWS/StepFunctions/ListStateMachines.hs b/gen/Network/AWS/StepFunctions/ListStateMachines.hs
--- a/gen/Network/AWS/StepFunctions/ListStateMachines.hs
+++ b/gen/Network/AWS/StepFunctions/ListStateMachines.hs
@@ -12,15 +12,17 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.ListStateMachines
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Lists the existing state machines. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the @nextToken@ returned by the previous call.
 --
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.StepFunctions.ListStateMachines
     (
     -- * Creating a Request
@@ -39,42 +41,49 @@
     , lsmrsStateMachines
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'listStateMachines' smart constructor.
 data ListStateMachines = ListStateMachines'
-    { _lsmNextToken  :: !(Maybe Text)
-    , _lsmMaxResults :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lsmNextToken  :: !(Maybe Text)
+  , _lsmMaxResults :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListStateMachines' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'lsmNextToken' - If a @nextToken@ was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 --
--- * 'lsmMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- * 'lsmMaxResults' - The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 listStateMachines
     :: ListStateMachines
 listStateMachines =
-    ListStateMachines'
-    { _lsmNextToken = Nothing
-    , _lsmMaxResults = Nothing
-    }
+  ListStateMachines' {_lsmNextToken = Nothing, _lsmMaxResults = Nothing}
 
+
 -- | If a @nextToken@ was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 lsmNextToken :: Lens' ListStateMachines (Maybe Text)
 lsmNextToken = lens _lsmNextToken (\ s a -> s{_lsmNextToken = a});
 
--- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
+-- | The maximum number of results that will be returned per call. @nextToken@ can be used to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 means to use the default. This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.
 lsmMaxResults :: Lens' ListStateMachines (Maybe Natural)
 lsmMaxResults = lens _lsmMaxResults (\ s a -> s{_lsmMaxResults = a}) . mapping _Nat;
 
+instance AWSPager ListStateMachines where
+        page rq rs
+          | stop (rs ^. lsmrsNextToken) = Nothing
+          | stop (rs ^. lsmrsStateMachines) = Nothing
+          | otherwise =
+            Just $ rq & lsmNextToken .~ rs ^. lsmrsNextToken
+
 instance AWSRequest ListStateMachines where
         type Rs ListStateMachines = ListStateMachinesResponse
         request = postJSON stepFunctions
@@ -85,9 +94,9 @@
                    (x .?> "nextToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "stateMachines" .!@ mempty))
 
-instance Hashable ListStateMachines
+instance Hashable ListStateMachines where
 
-instance NFData ListStateMachines
+instance NFData ListStateMachines where
 
 instance ToHeaders ListStateMachines where
         toHeaders
@@ -113,11 +122,12 @@
 
 -- | /See:/ 'listStateMachinesResponse' smart constructor.
 data ListStateMachinesResponse = ListStateMachinesResponse'
-    { _lsmrsNextToken      :: !(Maybe Text)
-    , _lsmrsResponseStatus :: !Int
-    , _lsmrsStateMachines  :: ![StateMachineListItem]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lsmrsNextToken      :: !(Maybe Text)
+  , _lsmrsResponseStatus :: !Int
+  , _lsmrsStateMachines  :: ![StateMachineListItem]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListStateMachinesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -131,12 +141,13 @@
     :: Int -- ^ 'lsmrsResponseStatus'
     -> ListStateMachinesResponse
 listStateMachinesResponse pResponseStatus_ =
-    ListStateMachinesResponse'
-    { _lsmrsNextToken = Nothing
-    , _lsmrsResponseStatus = pResponseStatus_
-    , _lsmrsStateMachines = mempty
-    }
+  ListStateMachinesResponse'
+  { _lsmrsNextToken = Nothing
+  , _lsmrsResponseStatus = pResponseStatus_
+  , _lsmrsStateMachines = mempty
+  }
 
+
 -- | If a @nextToken@ is returned, there are more results available. To retrieve the next page of results, make the call again using the returned token in @nextToken@ . Keep all other arguments unchanged. The configured @maxResults@ determines how many results can be returned in a single call.
 lsmrsNextToken :: Lens' ListStateMachinesResponse (Maybe Text)
 lsmrsNextToken = lens _lsmrsNextToken (\ s a -> s{_lsmrsNextToken = a});
@@ -149,4 +160,4 @@
 lsmrsStateMachines :: Lens' ListStateMachinesResponse [StateMachineListItem]
 lsmrsStateMachines = lens _lsmrsStateMachines (\ s a -> s{_lsmrsStateMachines = a}) . _Coerce;
 
-instance NFData ListStateMachinesResponse
+instance NFData ListStateMachinesResponse where
diff --git a/gen/Network/AWS/StepFunctions/SendTaskFailure.hs b/gen/Network/AWS/StepFunctions/SendTaskFailure.hs
--- a/gen/Network/AWS/StepFunctions/SendTaskFailure.hs
+++ b/gen/Network/AWS/StepFunctions/SendTaskFailure.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.SendTaskFailure
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -38,20 +38,21 @@
     , stfrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'sendTaskFailure' smart constructor.
 data SendTaskFailure = SendTaskFailure'
-    { _stfError     :: !(Maybe Text)
-    , _stfCause     :: !(Maybe Text)
-    , _stfTaskToken :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _stfError     :: !(Maybe Text)
+  , _stfCause     :: !(Maybe Text)
+  , _stfTaskToken :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SendTaskFailure' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -65,12 +66,10 @@
     :: Text -- ^ 'stfTaskToken'
     -> SendTaskFailure
 sendTaskFailure pTaskToken_ =
-    SendTaskFailure'
-    { _stfError = Nothing
-    , _stfCause = Nothing
-    , _stfTaskToken = pTaskToken_
-    }
+  SendTaskFailure'
+  {_stfError = Nothing, _stfCause = Nothing, _stfTaskToken = pTaskToken_}
 
+
 -- | An arbitrary error code that identifies the cause of the failure.
 stfError :: Lens' SendTaskFailure (Maybe Text)
 stfError = lens _stfError (\ s a -> s{_stfError = a});
@@ -91,9 +90,9 @@
               (\ s h x ->
                  SendTaskFailureResponse' <$> (pure (fromEnum s)))
 
-instance Hashable SendTaskFailure
+instance Hashable SendTaskFailure where
 
-instance NFData SendTaskFailure
+instance NFData SendTaskFailure where
 
 instance ToHeaders SendTaskFailure where
         toHeaders
@@ -120,9 +119,10 @@
 
 -- | /See:/ 'sendTaskFailureResponse' smart constructor.
 newtype SendTaskFailureResponse = SendTaskFailureResponse'
-    { _stfrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _stfrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SendTaskFailureResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -132,12 +132,11 @@
     :: Int -- ^ 'stfrsResponseStatus'
     -> SendTaskFailureResponse
 sendTaskFailureResponse pResponseStatus_ =
-    SendTaskFailureResponse'
-    { _stfrsResponseStatus = pResponseStatus_
-    }
+  SendTaskFailureResponse' {_stfrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 stfrsResponseStatus :: Lens' SendTaskFailureResponse Int
 stfrsResponseStatus = lens _stfrsResponseStatus (\ s a -> s{_stfrsResponseStatus = a});
 
-instance NFData SendTaskFailureResponse
+instance NFData SendTaskFailureResponse where
diff --git a/gen/Network/AWS/StepFunctions/SendTaskHeartbeat.hs b/gen/Network/AWS/StepFunctions/SendTaskHeartbeat.hs
--- a/gen/Network/AWS/StepFunctions/SendTaskHeartbeat.hs
+++ b/gen/Network/AWS/StepFunctions/SendTaskHeartbeat.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.SendTaskHeartbeat
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -36,18 +36,19 @@
     , sthrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'sendTaskHeartbeat' smart constructor.
 newtype SendTaskHeartbeat = SendTaskHeartbeat'
-    { _sthTaskToken :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sthTaskToken :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SendTaskHeartbeat' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -56,11 +57,9 @@
 sendTaskHeartbeat
     :: Text -- ^ 'sthTaskToken'
     -> SendTaskHeartbeat
-sendTaskHeartbeat pTaskToken_ =
-    SendTaskHeartbeat'
-    { _sthTaskToken = pTaskToken_
-    }
+sendTaskHeartbeat pTaskToken_ = SendTaskHeartbeat' {_sthTaskToken = pTaskToken_}
 
+
 -- | The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTask::taskToken).
 sthTaskToken :: Lens' SendTaskHeartbeat Text
 sthTaskToken = lens _sthTaskToken (\ s a -> s{_sthTaskToken = a});
@@ -73,9 +72,9 @@
               (\ s h x ->
                  SendTaskHeartbeatResponse' <$> (pure (fromEnum s)))
 
-instance Hashable SendTaskHeartbeat
+instance Hashable SendTaskHeartbeat where
 
-instance NFData SendTaskHeartbeat
+instance NFData SendTaskHeartbeat where
 
 instance ToHeaders SendTaskHeartbeat where
         toHeaders
@@ -99,9 +98,10 @@
 
 -- | /See:/ 'sendTaskHeartbeatResponse' smart constructor.
 newtype SendTaskHeartbeatResponse = SendTaskHeartbeatResponse'
-    { _sthrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sthrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SendTaskHeartbeatResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -111,12 +111,11 @@
     :: Int -- ^ 'sthrsResponseStatus'
     -> SendTaskHeartbeatResponse
 sendTaskHeartbeatResponse pResponseStatus_ =
-    SendTaskHeartbeatResponse'
-    { _sthrsResponseStatus = pResponseStatus_
-    }
+  SendTaskHeartbeatResponse' {_sthrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 sthrsResponseStatus :: Lens' SendTaskHeartbeatResponse Int
 sthrsResponseStatus = lens _sthrsResponseStatus (\ s a -> s{_sthrsResponseStatus = a});
 
-instance NFData SendTaskHeartbeatResponse
+instance NFData SendTaskHeartbeatResponse where
diff --git a/gen/Network/AWS/StepFunctions/SendTaskSuccess.hs b/gen/Network/AWS/StepFunctions/SendTaskSuccess.hs
--- a/gen/Network/AWS/StepFunctions/SendTaskSuccess.hs
+++ b/gen/Network/AWS/StepFunctions/SendTaskSuccess.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.SendTaskSuccess
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,19 +37,20 @@
     , stsrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'sendTaskSuccess' smart constructor.
 data SendTaskSuccess = SendTaskSuccess'
-    { _stsTaskToken :: !Text
-    , _stsOutput    :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _stsTaskToken :: !Text
+  , _stsOutput    :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SendTaskSuccess' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -62,11 +63,9 @@
     -> Text -- ^ 'stsOutput'
     -> SendTaskSuccess
 sendTaskSuccess pTaskToken_ pOutput_ =
-    SendTaskSuccess'
-    { _stsTaskToken = pTaskToken_
-    , _stsOutput = pOutput_
-    }
+  SendTaskSuccess' {_stsTaskToken = pTaskToken_, _stsOutput = pOutput_}
 
+
 -- | The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTask::taskToken).
 stsTaskToken :: Lens' SendTaskSuccess Text
 stsTaskToken = lens _stsTaskToken (\ s a -> s{_stsTaskToken = a});
@@ -83,9 +82,9 @@
               (\ s h x ->
                  SendTaskSuccessResponse' <$> (pure (fromEnum s)))
 
-instance Hashable SendTaskSuccess
+instance Hashable SendTaskSuccess where
 
-instance NFData SendTaskSuccess
+instance NFData SendTaskSuccess where
 
 instance ToHeaders SendTaskSuccess where
         toHeaders
@@ -111,9 +110,10 @@
 
 -- | /See:/ 'sendTaskSuccessResponse' smart constructor.
 newtype SendTaskSuccessResponse = SendTaskSuccessResponse'
-    { _stsrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _stsrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SendTaskSuccessResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -123,12 +123,11 @@
     :: Int -- ^ 'stsrsResponseStatus'
     -> SendTaskSuccessResponse
 sendTaskSuccessResponse pResponseStatus_ =
-    SendTaskSuccessResponse'
-    { _stsrsResponseStatus = pResponseStatus_
-    }
+  SendTaskSuccessResponse' {_stsrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 stsrsResponseStatus :: Lens' SendTaskSuccessResponse Int
 stsrsResponseStatus = lens _stsrsResponseStatus (\ s a -> s{_stsrsResponseStatus = a});
 
-instance NFData SendTaskSuccessResponse
+instance NFData SendTaskSuccessResponse where
diff --git a/gen/Network/AWS/StepFunctions/StartExecution.hs b/gen/Network/AWS/StepFunctions/StartExecution.hs
--- a/gen/Network/AWS/StepFunctions/StartExecution.hs
+++ b/gen/Network/AWS/StepFunctions/StartExecution.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.StartExecution
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -40,44 +40,46 @@
     , srsStartDate
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'startExecution' smart constructor.
 data StartExecution = StartExecution'
-    { _seInput           :: !(Maybe Text)
-    , _seName            :: !(Maybe Text)
-    , _seStateMachineARN :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _seInput           :: !(Maybe Text)
+  , _seName            :: !(Maybe Text)
+  , _seStateMachineARN :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StartExecution' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'seInput' - The JSON input data for the execution.
+-- * 'seInput' - The string that contains the JSON input data for the execution, for example: @"input": "{\"first_name\" : \"test\"}"@
 --
--- * 'seName' - The name of the execution. This name must be unique for your AWS account and region.
+-- * 'seName' - The name of the execution. This name must be unique for your AWS account and region for 90 days. For more information, see <http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions Limits Related to State Machine Executions> in the /AWS Step Functions Developer Guide/ . A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'seStateMachineARN' - The Amazon Resource Name (ARN) of the state machine to execute.
 startExecution
     :: Text -- ^ 'seStateMachineARN'
     -> StartExecution
 startExecution pStateMachineARN_ =
-    StartExecution'
-    { _seInput = Nothing
-    , _seName = Nothing
-    , _seStateMachineARN = pStateMachineARN_
-    }
+  StartExecution'
+  { _seInput = Nothing
+  , _seName = Nothing
+  , _seStateMachineARN = pStateMachineARN_
+  }
 
--- | The JSON input data for the execution.
+
+-- | The string that contains the JSON input data for the execution, for example: @"input": "{\"first_name\" : \"test\"}"@
 seInput :: Lens' StartExecution (Maybe Text)
 seInput = lens _seInput (\ s a -> s{_seInput = a});
 
--- | The name of the execution. This name must be unique for your AWS account and region.
+-- | The name of the execution. This name must be unique for your AWS account and region for 90 days. For more information, see <http://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions Limits Related to State Machine Executions> in the /AWS Step Functions Developer Guide/ . A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 seName :: Lens' StartExecution (Maybe Text)
 seName = lens _seName (\ s a -> s{_seName = a});
 
@@ -95,9 +97,9 @@
                    (pure (fromEnum s)) <*> (x .:> "executionArn") <*>
                      (x .:> "startDate"))
 
-instance Hashable StartExecution
+instance Hashable StartExecution where
 
-instance NFData StartExecution
+instance NFData StartExecution where
 
 instance ToHeaders StartExecution where
         toHeaders
@@ -123,11 +125,12 @@
 
 -- | /See:/ 'startExecutionResponse' smart constructor.
 data StartExecutionResponse = StartExecutionResponse'
-    { _srsResponseStatus :: !Int
-    , _srsExecutionARN   :: !Text
-    , _srsStartDate      :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _srsResponseStatus :: !Int
+  , _srsExecutionARN   :: !Text
+  , _srsStartDate      :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StartExecutionResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -143,12 +146,13 @@
     -> UTCTime -- ^ 'srsStartDate'
     -> StartExecutionResponse
 startExecutionResponse pResponseStatus_ pExecutionARN_ pStartDate_ =
-    StartExecutionResponse'
-    { _srsResponseStatus = pResponseStatus_
-    , _srsExecutionARN = pExecutionARN_
-    , _srsStartDate = _Time # pStartDate_
-    }
+  StartExecutionResponse'
+  { _srsResponseStatus = pResponseStatus_
+  , _srsExecutionARN = pExecutionARN_
+  , _srsStartDate = _Time # pStartDate_
+  }
 
+
 -- | -- | The response status code.
 srsResponseStatus :: Lens' StartExecutionResponse Int
 srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});
@@ -161,4 +165,4 @@
 srsStartDate :: Lens' StartExecutionResponse UTCTime
 srsStartDate = lens _srsStartDate (\ s a -> s{_srsStartDate = a}) . _Time;
 
-instance NFData StartExecutionResponse
+instance NFData StartExecutionResponse where
diff --git a/gen/Network/AWS/StepFunctions/StopExecution.hs b/gen/Network/AWS/StepFunctions/StopExecution.hs
--- a/gen/Network/AWS/StepFunctions/StopExecution.hs
+++ b/gen/Network/AWS/StepFunctions/StopExecution.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.StopExecution
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -39,20 +39,21 @@
     , sersStopDate
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.StepFunctions.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+import Network.AWS.StepFunctions.Types
+import Network.AWS.StepFunctions.Types.Product
 
 -- | /See:/ 'stopExecution' smart constructor.
 data StopExecution = StopExecution'
-    { _seError        :: !(Maybe Text)
-    , _seCause        :: !(Maybe Text)
-    , _seExecutionARN :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _seError        :: !(Maybe Text)
+  , _seCause        :: !(Maybe Text)
+  , _seExecutionARN :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StopExecution' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,12 +67,10 @@
     :: Text -- ^ 'seExecutionARN'
     -> StopExecution
 stopExecution pExecutionARN_ =
-    StopExecution'
-    { _seError = Nothing
-    , _seCause = Nothing
-    , _seExecutionARN = pExecutionARN_
-    }
+  StopExecution'
+  {_seError = Nothing, _seCause = Nothing, _seExecutionARN = pExecutionARN_}
 
+
 -- | An arbitrary error code that identifies the cause of the termination.
 seError :: Lens' StopExecution (Maybe Text)
 seError = lens _seError (\ s a -> s{_seError = a});
@@ -93,9 +92,9 @@
                  StopExecutionResponse' <$>
                    (pure (fromEnum s)) <*> (x .:> "stopDate"))
 
-instance Hashable StopExecution
+instance Hashable StopExecution where
 
-instance NFData StopExecution
+instance NFData StopExecution where
 
 instance ToHeaders StopExecution where
         toHeaders
@@ -122,10 +121,11 @@
 
 -- | /See:/ 'stopExecutionResponse' smart constructor.
 data StopExecutionResponse = StopExecutionResponse'
-    { _sersResponseStatus :: !Int
-    , _sersStopDate       :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sersResponseStatus :: !Int
+  , _sersStopDate       :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StopExecutionResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -138,11 +138,10 @@
     -> UTCTime -- ^ 'sersStopDate'
     -> StopExecutionResponse
 stopExecutionResponse pResponseStatus_ pStopDate_ =
-    StopExecutionResponse'
-    { _sersResponseStatus = pResponseStatus_
-    , _sersStopDate = _Time # pStopDate_
-    }
+  StopExecutionResponse'
+  {_sersResponseStatus = pResponseStatus_, _sersStopDate = _Time # pStopDate_}
 
+
 -- | -- | The response status code.
 sersResponseStatus :: Lens' StopExecutionResponse Int
 sersResponseStatus = lens _sersResponseStatus (\ s a -> s{_sersResponseStatus = a});
@@ -151,4 +150,4 @@
 sersStopDate :: Lens' StopExecutionResponse UTCTime
 sersStopDate = lens _sersStopDate (\ s a -> s{_sersStopDate = a}) . _Time;
 
-instance NFData StopExecutionResponse
+instance NFData StopExecutionResponse where
diff --git a/gen/Network/AWS/StepFunctions/Types.hs b/gen/Network/AWS/StepFunctions/Types.hs
--- a/gen/Network/AWS/StepFunctions/Types.hs
+++ b/gen/Network/AWS/StepFunctions/Types.hs
@@ -4,9 +4,9 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.Types
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -209,38 +209,40 @@
     , smliCreationDate
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Sign.V4
-import           Network.AWS.StepFunctions.Types.Product
-import           Network.AWS.StepFunctions.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Sign.V4
+import Network.AWS.StepFunctions.Types.Product
+import Network.AWS.StepFunctions.Types.Sum
 
 -- | API version @2016-11-23@ of the Amazon Step Functions SDK configuration.
 stepFunctions :: Service
 stepFunctions =
-    Service
-    { _svcAbbrev = "StepFunctions"
-    , _svcSigner = v4
-    , _svcPrefix = "states"
-    , _svcVersion = "2016-11-23"
-    , _svcEndpoint = defaultEndpoint stepFunctions
-    , _svcTimeout = Just 70
-    , _svcCheck = statusSuccess
-    , _svcError = parseJSONError "StepFunctions"
-    , _svcRetry = retry
-    }
+  Service
+  { _svcAbbrev = "StepFunctions"
+  , _svcSigner = v4
+  , _svcPrefix = "states"
+  , _svcVersion = "2016-11-23"
+  , _svcEndpoint = defaultEndpoint stepFunctions
+  , _svcTimeout = Just 70
+  , _svcCheck = statusSuccess
+  , _svcError = parseJSONError "StepFunctions"
+  , _svcRetry = retry
+  }
   where
     retry =
-        Exponential
-        { _retryBase = 5.0e-2
-        , _retryGrowth = 2
-        , _retryAttempts = 5
-        , _retryCheck = check
-        }
+      Exponential
+      { _retryBase = 5.0e-2
+      , _retryGrowth = 2
+      , _retryAttempts = 5
+      , _retryCheck = check
+      }
     check e
+      | has (hasCode "ThrottledException" . hasStatus 400) e =
+        Just "throttled_exception"
       | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
-          Just "throttling_exception"
+        Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
       | has (hasStatus 504) e = Just "gateway_timeout"
       | has (hasStatus 502) e = Just "bad_gateway"
@@ -249,109 +251,134 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
+
 -- | The maximum number of running executions has been reached. Running executions must end or be stopped before a new execution can be started.
 --
 --
 _ExecutionLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
-_ExecutionLimitExceeded = _ServiceError . hasCode "ExecutionLimitExceeded"
+_ExecutionLimitExceeded =
+  _MatchServiceError stepFunctions "ExecutionLimitExceeded"
 
+
 -- | The provided Amazon States Language definition is invalid.
 --
 --
 _InvalidDefinition :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidDefinition = _ServiceError . hasCode "InvalidDefinition"
+_InvalidDefinition = _MatchServiceError stepFunctions "InvalidDefinition"
 
+
 -- | The maximum number of state machines has been reached. Existing state machines must be deleted before a new state machine can be created.
 --
 --
 _StateMachineLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _StateMachineLimitExceeded =
-    _ServiceError . hasCode "StateMachineLimitExceeded"
+  _MatchServiceError stepFunctions "StateMachineLimitExceeded"
 
--- | An execution with the same name already exists.
+
+-- | The execution has the same @name@ as another execution (but a different @input@ ).
 --
 --
 _ExecutionAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
-_ExecutionAlreadyExists = _ServiceError . hasCode "ExecutionAlreadyExists"
+_ExecutionAlreadyExists =
+  _MatchServiceError stepFunctions "ExecutionAlreadyExists"
 
+
 -- | A state machine with the same name but a different definition or role ARN already exists.
 --
 --
 _StateMachineAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
 _StateMachineAlreadyExists =
-    _ServiceError . hasCode "StateMachineAlreadyExists"
+  _MatchServiceError stepFunctions "StateMachineAlreadyExists"
 
+
 -- | Prism for TaskTimedOut' errors.
 _TaskTimedOut :: AsError a => Getting (First ServiceError) a ServiceError
-_TaskTimedOut = _ServiceError . hasCode "TaskTimedOut"
+_TaskTimedOut = _MatchServiceError stepFunctions "TaskTimedOut"
 
+
 -- | The provided JSON input data is invalid.
 --
 --
 _InvalidExecutionInput :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidExecutionInput = _ServiceError . hasCode "InvalidExecutionInput"
+_InvalidExecutionInput =
+  _MatchServiceError stepFunctions "InvalidExecutionInput"
 
+
 -- | The provided JSON output data is invalid.
 --
 --
 _InvalidOutput :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidOutput = _ServiceError . hasCode "InvalidOutput"
+_InvalidOutput = _MatchServiceError stepFunctions "InvalidOutput"
 
+
 -- | The provided name is invalid.
 --
 --
 _InvalidName :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidName = _ServiceError . hasCode "InvalidName"
+_InvalidName = _MatchServiceError stepFunctions "InvalidName"
 
+
 -- | Prism for TaskDoesNotExist' errors.
 _TaskDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
-_TaskDoesNotExist = _ServiceError . hasCode "TaskDoesNotExist"
+_TaskDoesNotExist = _MatchServiceError stepFunctions "TaskDoesNotExist"
 
+
 -- | The specified activity does not exist.
 --
 --
 _ActivityDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
-_ActivityDoesNotExist = _ServiceError . hasCode "ActivityDoesNotExist"
+_ActivityDoesNotExist = _MatchServiceError stepFunctions "ActivityDoesNotExist"
 
+
 -- | The specified state machine is being deleted.
 --
 --
 _StateMachineDeleting :: AsError a => Getting (First ServiceError) a ServiceError
-_StateMachineDeleting = _ServiceError . hasCode "StateMachineDeleting"
+_StateMachineDeleting = _MatchServiceError stepFunctions "StateMachineDeleting"
 
+
 -- | The provided Amazon Resource Name (ARN) is invalid.
 --
 --
 _InvalidARN :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidARN = _ServiceError . hasCode "InvalidArn"
+_InvalidARN = _MatchServiceError stepFunctions "InvalidArn"
 
+
 -- | The provided token is invalid.
 --
 --
 _InvalidToken :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidToken = _ServiceError . hasCode "InvalidToken"
+_InvalidToken = _MatchServiceError stepFunctions "InvalidToken"
 
+
 -- | The maximum number of workers concurrently polling for activity tasks has been reached.
 --
 --
 _ActivityWorkerLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
 _ActivityWorkerLimitExceeded =
-    _ServiceError . hasCode "ActivityWorkerLimitExceeded"
+  _MatchServiceError stepFunctions "ActivityWorkerLimitExceeded"
 
+
 -- | The maximum number of activities has been reached. Existing activities must be deleted before a new activity can be created.
 --
 --
 _ActivityLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
-_ActivityLimitExceeded = _ServiceError . hasCode "ActivityLimitExceeded"
+_ActivityLimitExceeded =
+  _MatchServiceError stepFunctions "ActivityLimitExceeded"
 
+
 -- | The specified execution does not exist.
 --
 --
 _ExecutionDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
-_ExecutionDoesNotExist = _ServiceError . hasCode "ExecutionDoesNotExist"
+_ExecutionDoesNotExist =
+  _MatchServiceError stepFunctions "ExecutionDoesNotExist"
 
+
 -- | The specified state machine does not exist.
 --
 --
 _StateMachineDoesNotExist :: AsError a => Getting (First ServiceError) a ServiceError
-_StateMachineDoesNotExist = _ServiceError . hasCode "StateMachineDoesNotExist"
+_StateMachineDoesNotExist =
+  _MatchServiceError stepFunctions "StateMachineDoesNotExist"
+
diff --git a/gen/Network/AWS/StepFunctions/Types/Product.hs b/gen/Network/AWS/StepFunctions/Types/Product.hs
--- a/gen/Network/AWS/StepFunctions/Types/Product.hs
+++ b/gen/Network/AWS/StepFunctions/Types/Product.hs
@@ -9,24 +9,29 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.Types.Product
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.StepFunctions.Types.Product where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.StepFunctions.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.StepFunctions.Types.Sum
 
--- | /See:/ 'activityFailedEventDetails' smart constructor.
+-- | Contains details about an activity which failed during an execution.
+--
+--
+--
+-- /See:/ 'activityFailedEventDetails' smart constructor.
 data ActivityFailedEventDetails = ActivityFailedEventDetails'
-    { _afedError :: !(Maybe Text)
-    , _afedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _afedError :: !(Maybe Text)
+  , _afedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActivityFailedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -37,11 +42,9 @@
 activityFailedEventDetails
     :: ActivityFailedEventDetails
 activityFailedEventDetails =
-    ActivityFailedEventDetails'
-    { _afedError = Nothing
-    , _afedCause = Nothing
-    }
+  ActivityFailedEventDetails' {_afedError = Nothing, _afedCause = Nothing}
 
+
 -- | The error code of the failure.
 afedError :: Lens' ActivityFailedEventDetails (Maybe Text)
 afedError = lens _afedError (\ s a -> s{_afedError = a});
@@ -57,24 +60,29 @@
                  ActivityFailedEventDetails' <$>
                    (x .:? "error") <*> (x .:? "cause"))
 
-instance Hashable ActivityFailedEventDetails
+instance Hashable ActivityFailedEventDetails where
 
-instance NFData ActivityFailedEventDetails
+instance NFData ActivityFailedEventDetails where
 
--- | /See:/ 'activityListItem' smart constructor.
+-- | Contains details about an activity.
+--
+--
+--
+-- /See:/ 'activityListItem' smart constructor.
 data ActivityListItem = ActivityListItem'
-    { _aliActivityARN  :: !Text
-    , _aliName         :: !Text
-    , _aliCreationDate :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _aliActivityARN  :: !Text
+  , _aliName         :: !Text
+  , _aliCreationDate :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActivityListItem' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'aliActivityARN' - The Amazon Resource Name (ARN) that identifies the activity.
 --
--- * 'aliName' - The name of the activity.
+-- * 'aliName' - The name of the activity. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'aliCreationDate' - The date the activity was created.
 activityListItem
@@ -83,17 +91,18 @@
     -> UTCTime -- ^ 'aliCreationDate'
     -> ActivityListItem
 activityListItem pActivityARN_ pName_ pCreationDate_ =
-    ActivityListItem'
-    { _aliActivityARN = pActivityARN_
-    , _aliName = pName_
-    , _aliCreationDate = _Time # pCreationDate_
-    }
+  ActivityListItem'
+  { _aliActivityARN = pActivityARN_
+  , _aliName = pName_
+  , _aliCreationDate = _Time # pCreationDate_
+  }
 
+
 -- | The Amazon Resource Name (ARN) that identifies the activity.
 aliActivityARN :: Lens' ActivityListItem Text
 aliActivityARN = lens _aliActivityARN (\ s a -> s{_aliActivityARN = a});
 
--- | The name of the activity.
+-- | The name of the activity. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 aliName :: Lens' ActivityListItem Text
 aliName = lens _aliName (\ s a -> s{_aliName = a});
 
@@ -109,16 +118,21 @@
                    (x .: "activityArn") <*> (x .: "name") <*>
                      (x .: "creationDate"))
 
-instance Hashable ActivityListItem
+instance Hashable ActivityListItem where
 
-instance NFData ActivityListItem
+instance NFData ActivityListItem where
 
--- | /See:/ 'activityScheduleFailedEventDetails' smart constructor.
+-- | Contains details about an activity schedule failure which occurred during an execution.
+--
+--
+--
+-- /See:/ 'activityScheduleFailedEventDetails' smart constructor.
 data ActivityScheduleFailedEventDetails = ActivityScheduleFailedEventDetails'
-    { _asfedError :: !(Maybe Text)
-    , _asfedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _asfedError :: !(Maybe Text)
+  , _asfedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActivityScheduleFailedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -129,11 +143,10 @@
 activityScheduleFailedEventDetails
     :: ActivityScheduleFailedEventDetails
 activityScheduleFailedEventDetails =
-    ActivityScheduleFailedEventDetails'
-    { _asfedError = Nothing
-    , _asfedCause = Nothing
-    }
+  ActivityScheduleFailedEventDetails'
+  {_asfedError = Nothing, _asfedCause = Nothing}
 
+
 -- | The error code of the failure.
 asfedError :: Lens' ActivityScheduleFailedEventDetails (Maybe Text)
 asfedError = lens _asfedError (\ s a -> s{_asfedError = a});
@@ -151,17 +164,24 @@
                    (x .:? "error") <*> (x .:? "cause"))
 
 instance Hashable ActivityScheduleFailedEventDetails
+         where
 
 instance NFData ActivityScheduleFailedEventDetails
+         where
 
--- | /See:/ 'activityScheduledEventDetails' smart constructor.
+-- | Contains details about an activity scheduled during an execution.
+--
+--
+--
+-- /See:/ 'activityScheduledEventDetails' smart constructor.
 data ActivityScheduledEventDetails = ActivityScheduledEventDetails'
-    { _asedHeartbeatInSeconds :: !(Maybe Integer)
-    , _asedInput              :: !(Maybe Text)
-    , _asedTimeoutInSeconds   :: !(Maybe Integer)
-    , _asedResource           :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _asedHeartbeatInSeconds :: !(Maybe Integer)
+  , _asedInput              :: !(Maybe Text)
+  , _asedTimeoutInSeconds   :: !(Maybe Integer)
+  , _asedResource           :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActivityScheduledEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -177,13 +197,14 @@
     :: Text -- ^ 'asedResource'
     -> ActivityScheduledEventDetails
 activityScheduledEventDetails pResource_ =
-    ActivityScheduledEventDetails'
-    { _asedHeartbeatInSeconds = Nothing
-    , _asedInput = Nothing
-    , _asedTimeoutInSeconds = Nothing
-    , _asedResource = pResource_
-    }
+  ActivityScheduledEventDetails'
+  { _asedHeartbeatInSeconds = Nothing
+  , _asedInput = Nothing
+  , _asedTimeoutInSeconds = Nothing
+  , _asedResource = pResource_
+  }
 
+
 -- | The maximum allowed duration between two heartbeats for the activity task.
 asedHeartbeatInSeconds :: Lens' ActivityScheduledEventDetails (Maybe Integer)
 asedHeartbeatInSeconds = lens _asedHeartbeatInSeconds (\ s a -> s{_asedHeartbeatInSeconds = a});
@@ -209,15 +230,20 @@
                      (x .:? "timeoutInSeconds")
                      <*> (x .: "resource"))
 
-instance Hashable ActivityScheduledEventDetails
+instance Hashable ActivityScheduledEventDetails where
 
-instance NFData ActivityScheduledEventDetails
+instance NFData ActivityScheduledEventDetails where
 
--- | /See:/ 'activityStartedEventDetails' smart constructor.
+-- | Contains details about the start of an activity during an execution.
+--
+--
+--
+-- /See:/ 'activityStartedEventDetails' smart constructor.
 newtype ActivityStartedEventDetails = ActivityStartedEventDetails'
-    { _asedWorkerName :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _asedWorkerName :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActivityStartedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -226,10 +252,9 @@
 activityStartedEventDetails
     :: ActivityStartedEventDetails
 activityStartedEventDetails =
-    ActivityStartedEventDetails'
-    { _asedWorkerName = Nothing
-    }
+  ActivityStartedEventDetails' {_asedWorkerName = Nothing}
 
+
 -- | The name of the worker that the task was assigned to. These names are provided by the workers when calling 'GetActivityTask' .
 asedWorkerName :: Lens' ActivityStartedEventDetails (Maybe Text)
 asedWorkerName = lens _asedWorkerName (\ s a -> s{_asedWorkerName = a});
@@ -241,15 +266,20 @@
                  ActivityStartedEventDetails' <$>
                    (x .:? "workerName"))
 
-instance Hashable ActivityStartedEventDetails
+instance Hashable ActivityStartedEventDetails where
 
-instance NFData ActivityStartedEventDetails
+instance NFData ActivityStartedEventDetails where
 
--- | /See:/ 'activitySucceededEventDetails' smart constructor.
+-- | Contains details about an activity which successfully terminated during an execution.
+--
+--
+--
+-- /See:/ 'activitySucceededEventDetails' smart constructor.
 newtype ActivitySucceededEventDetails = ActivitySucceededEventDetails'
-    { _asedOutput :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _asedOutput :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActivitySucceededEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -258,10 +288,9 @@
 activitySucceededEventDetails
     :: ActivitySucceededEventDetails
 activitySucceededEventDetails =
-    ActivitySucceededEventDetails'
-    { _asedOutput = Nothing
-    }
+  ActivitySucceededEventDetails' {_asedOutput = Nothing}
 
+
 -- | The JSON data output by the activity task.
 asedOutput :: Lens' ActivitySucceededEventDetails (Maybe Text)
 asedOutput = lens _asedOutput (\ s a -> s{_asedOutput = a});
@@ -272,16 +301,21 @@
               (\ x ->
                  ActivitySucceededEventDetails' <$> (x .:? "output"))
 
-instance Hashable ActivitySucceededEventDetails
+instance Hashable ActivitySucceededEventDetails where
 
-instance NFData ActivitySucceededEventDetails
+instance NFData ActivitySucceededEventDetails where
 
--- | /See:/ 'activityTimedOutEventDetails' smart constructor.
+-- | Contains details about an activity timeout which occurred during an execution.
+--
+--
+--
+-- /See:/ 'activityTimedOutEventDetails' smart constructor.
 data ActivityTimedOutEventDetails = ActivityTimedOutEventDetails'
-    { _atoedError :: !(Maybe Text)
-    , _atoedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _atoedError :: !(Maybe Text)
+  , _atoedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActivityTimedOutEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -292,11 +326,9 @@
 activityTimedOutEventDetails
     :: ActivityTimedOutEventDetails
 activityTimedOutEventDetails =
-    ActivityTimedOutEventDetails'
-    { _atoedError = Nothing
-    , _atoedCause = Nothing
-    }
+  ActivityTimedOutEventDetails' {_atoedError = Nothing, _atoedCause = Nothing}
 
+
 -- | The error code of the failure.
 atoedError :: Lens' ActivityTimedOutEventDetails (Maybe Text)
 atoedError = lens _atoedError (\ s a -> s{_atoedError = a});
@@ -312,16 +344,21 @@
                  ActivityTimedOutEventDetails' <$>
                    (x .:? "error") <*> (x .:? "cause"))
 
-instance Hashable ActivityTimedOutEventDetails
+instance Hashable ActivityTimedOutEventDetails where
 
-instance NFData ActivityTimedOutEventDetails
+instance NFData ActivityTimedOutEventDetails where
 
--- | /See:/ 'executionAbortedEventDetails' smart constructor.
+-- | Contains details about an abort of an execution.
+--
+--
+--
+-- /See:/ 'executionAbortedEventDetails' smart constructor.
 data ExecutionAbortedEventDetails = ExecutionAbortedEventDetails'
-    { _eaedError :: !(Maybe Text)
-    , _eaedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _eaedError :: !(Maybe Text)
+  , _eaedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ExecutionAbortedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -332,11 +369,9 @@
 executionAbortedEventDetails
     :: ExecutionAbortedEventDetails
 executionAbortedEventDetails =
-    ExecutionAbortedEventDetails'
-    { _eaedError = Nothing
-    , _eaedCause = Nothing
-    }
+  ExecutionAbortedEventDetails' {_eaedError = Nothing, _eaedCause = Nothing}
 
+
 -- | The error code of the failure.
 eaedError :: Lens' ExecutionAbortedEventDetails (Maybe Text)
 eaedError = lens _eaedError (\ s a -> s{_eaedError = a});
@@ -352,16 +387,21 @@
                  ExecutionAbortedEventDetails' <$>
                    (x .:? "error") <*> (x .:? "cause"))
 
-instance Hashable ExecutionAbortedEventDetails
+instance Hashable ExecutionAbortedEventDetails where
 
-instance NFData ExecutionAbortedEventDetails
+instance NFData ExecutionAbortedEventDetails where
 
--- | /See:/ 'executionFailedEventDetails' smart constructor.
+-- | Contains details about an execution failure event.
+--
+--
+--
+-- /See:/ 'executionFailedEventDetails' smart constructor.
 data ExecutionFailedEventDetails = ExecutionFailedEventDetails'
-    { _efedError :: !(Maybe Text)
-    , _efedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _efedError :: !(Maybe Text)
+  , _efedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ExecutionFailedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -372,11 +412,9 @@
 executionFailedEventDetails
     :: ExecutionFailedEventDetails
 executionFailedEventDetails =
-    ExecutionFailedEventDetails'
-    { _efedError = Nothing
-    , _efedCause = Nothing
-    }
+  ExecutionFailedEventDetails' {_efedError = Nothing, _efedCause = Nothing}
 
+
 -- | The error code of the failure.
 efedError :: Lens' ExecutionFailedEventDetails (Maybe Text)
 efedError = lens _efedError (\ s a -> s{_efedError = a});
@@ -392,20 +430,25 @@
                  ExecutionFailedEventDetails' <$>
                    (x .:? "error") <*> (x .:? "cause"))
 
-instance Hashable ExecutionFailedEventDetails
+instance Hashable ExecutionFailedEventDetails where
 
-instance NFData ExecutionFailedEventDetails
+instance NFData ExecutionFailedEventDetails where
 
--- | /See:/ 'executionListItem' smart constructor.
+-- | Contains details about an execution.
+--
+--
+--
+-- /See:/ 'executionListItem' smart constructor.
 data ExecutionListItem = ExecutionListItem'
-    { _eliStopDate        :: !(Maybe POSIX)
-    , _eliExecutionARN    :: !Text
-    , _eliStateMachineARN :: !Text
-    , _eliName            :: !Text
-    , _eliStatus          :: !ExecutionStatus
-    , _eliStartDate       :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _eliStopDate        :: !(Maybe POSIX)
+  , _eliExecutionARN    :: !Text
+  , _eliStateMachineARN :: !Text
+  , _eliName            :: !Text
+  , _eliStatus          :: !ExecutionStatus
+  , _eliStartDate       :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ExecutionListItem' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -416,7 +459,7 @@
 --
 -- * 'eliStateMachineARN' - The Amazon Resource Name (ARN) of the executed state machine.
 --
--- * 'eliName' - The name of the execution.
+-- * 'eliName' - The name of the execution. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'eliStatus' - The current status of the execution.
 --
@@ -429,15 +472,16 @@
     -> UTCTime -- ^ 'eliStartDate'
     -> ExecutionListItem
 executionListItem pExecutionARN_ pStateMachineARN_ pName_ pStatus_ pStartDate_ =
-    ExecutionListItem'
-    { _eliStopDate = Nothing
-    , _eliExecutionARN = pExecutionARN_
-    , _eliStateMachineARN = pStateMachineARN_
-    , _eliName = pName_
-    , _eliStatus = pStatus_
-    , _eliStartDate = _Time # pStartDate_
-    }
+  ExecutionListItem'
+  { _eliStopDate = Nothing
+  , _eliExecutionARN = pExecutionARN_
+  , _eliStateMachineARN = pStateMachineARN_
+  , _eliName = pName_
+  , _eliStatus = pStatus_
+  , _eliStartDate = _Time # pStartDate_
+  }
 
+
 -- | If the execution already ended, the date the execution stopped.
 eliStopDate :: Lens' ExecutionListItem (Maybe UTCTime)
 eliStopDate = lens _eliStopDate (\ s a -> s{_eliStopDate = a}) . mapping _Time;
@@ -450,7 +494,7 @@
 eliStateMachineARN :: Lens' ExecutionListItem Text
 eliStateMachineARN = lens _eliStateMachineARN (\ s a -> s{_eliStateMachineARN = a});
 
--- | The name of the execution.
+-- | The name of the execution. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 eliName :: Lens' ExecutionListItem Text
 eliName = lens _eliName (\ s a -> s{_eliName = a});
 
@@ -473,16 +517,21 @@
                      <*> (x .: "status")
                      <*> (x .: "startDate"))
 
-instance Hashable ExecutionListItem
+instance Hashable ExecutionListItem where
 
-instance NFData ExecutionListItem
+instance NFData ExecutionListItem where
 
--- | /See:/ 'executionStartedEventDetails' smart constructor.
+-- | Contains details about the start of the execution.
+--
+--
+--
+-- /See:/ 'executionStartedEventDetails' smart constructor.
 data ExecutionStartedEventDetails = ExecutionStartedEventDetails'
-    { _esedInput   :: !(Maybe Text)
-    , _esedRoleARN :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _esedInput   :: !(Maybe Text)
+  , _esedRoleARN :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ExecutionStartedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -493,11 +542,9 @@
 executionStartedEventDetails
     :: ExecutionStartedEventDetails
 executionStartedEventDetails =
-    ExecutionStartedEventDetails'
-    { _esedInput = Nothing
-    , _esedRoleARN = Nothing
-    }
+  ExecutionStartedEventDetails' {_esedInput = Nothing, _esedRoleARN = Nothing}
 
+
 -- | The JSON data input to the execution.
 esedInput :: Lens' ExecutionStartedEventDetails (Maybe Text)
 esedInput = lens _esedInput (\ s a -> s{_esedInput = a});
@@ -513,15 +560,20 @@
                  ExecutionStartedEventDetails' <$>
                    (x .:? "input") <*> (x .:? "roleArn"))
 
-instance Hashable ExecutionStartedEventDetails
+instance Hashable ExecutionStartedEventDetails where
 
-instance NFData ExecutionStartedEventDetails
+instance NFData ExecutionStartedEventDetails where
 
--- | /See:/ 'executionSucceededEventDetails' smart constructor.
+-- | Contains details about the successful termination of the execution.
+--
+--
+--
+-- /See:/ 'executionSucceededEventDetails' smart constructor.
 newtype ExecutionSucceededEventDetails = ExecutionSucceededEventDetails'
-    { _esedOutput :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _esedOutput :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ExecutionSucceededEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -530,10 +582,9 @@
 executionSucceededEventDetails
     :: ExecutionSucceededEventDetails
 executionSucceededEventDetails =
-    ExecutionSucceededEventDetails'
-    { _esedOutput = Nothing
-    }
+  ExecutionSucceededEventDetails' {_esedOutput = Nothing}
 
+
 -- | The JSON data output by the execution.
 esedOutput :: Lens' ExecutionSucceededEventDetails (Maybe Text)
 esedOutput = lens _esedOutput (\ s a -> s{_esedOutput = a});
@@ -546,15 +597,21 @@
                  ExecutionSucceededEventDetails' <$> (x .:? "output"))
 
 instance Hashable ExecutionSucceededEventDetails
+         where
 
-instance NFData ExecutionSucceededEventDetails
+instance NFData ExecutionSucceededEventDetails where
 
--- | /See:/ 'executionTimedOutEventDetails' smart constructor.
+-- | Contains details about the execution timeout which occurred during the execution.
+--
+--
+--
+-- /See:/ 'executionTimedOutEventDetails' smart constructor.
 data ExecutionTimedOutEventDetails = ExecutionTimedOutEventDetails'
-    { _etoedError :: !(Maybe Text)
-    , _etoedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _etoedError :: !(Maybe Text)
+  , _etoedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ExecutionTimedOutEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -565,11 +622,9 @@
 executionTimedOutEventDetails
     :: ExecutionTimedOutEventDetails
 executionTimedOutEventDetails =
-    ExecutionTimedOutEventDetails'
-    { _etoedError = Nothing
-    , _etoedCause = Nothing
-    }
+  ExecutionTimedOutEventDetails' {_etoedError = Nothing, _etoedCause = Nothing}
 
+
 -- | The error code of the failure.
 etoedError :: Lens' ExecutionTimedOutEventDetails (Maybe Text)
 etoedError = lens _etoedError (\ s a -> s{_etoedError = a});
@@ -585,48 +640,53 @@
                  ExecutionTimedOutEventDetails' <$>
                    (x .:? "error") <*> (x .:? "cause"))
 
-instance Hashable ExecutionTimedOutEventDetails
+instance Hashable ExecutionTimedOutEventDetails where
 
-instance NFData ExecutionTimedOutEventDetails
+instance NFData ExecutionTimedOutEventDetails where
 
--- | /See:/ 'historyEvent' smart constructor.
+-- | Contains details about the events of an execution.
+--
+--
+--
+-- /See:/ 'historyEvent' smart constructor.
 data HistoryEvent = HistoryEvent'
-    { _heActivityStartedEventDetails              :: !(Maybe ActivityStartedEventDetails)
-    , _heLambdaFunctionStartFailedEventDetails    :: !(Maybe LambdaFunctionStartFailedEventDetails)
-    , _heStateExitedEventDetails                  :: !(Maybe StateExitedEventDetails)
-    , _heLambdaFunctionSucceededEventDetails      :: !(Maybe LambdaFunctionSucceededEventDetails)
-    , _heActivitySucceededEventDetails            :: !(Maybe ActivitySucceededEventDetails)
-    , _heLambdaFunctionTimedOutEventDetails       :: !(Maybe LambdaFunctionTimedOutEventDetails)
-    , _heActivityTimedOutEventDetails             :: !(Maybe ActivityTimedOutEventDetails)
-    , _heExecutionFailedEventDetails              :: !(Maybe ExecutionFailedEventDetails)
-    , _heExecutionAbortedEventDetails             :: !(Maybe ExecutionAbortedEventDetails)
-    , _heExecutionSucceededEventDetails           :: !(Maybe ExecutionSucceededEventDetails)
-    , _heLambdaFunctionScheduledEventDetails      :: !(Maybe LambdaFunctionScheduledEventDetails)
-    , _heActivityScheduledEventDetails            :: !(Maybe ActivityScheduledEventDetails)
-    , _heExecutionStartedEventDetails             :: !(Maybe ExecutionStartedEventDetails)
-    , _heActivityScheduleFailedEventDetails       :: !(Maybe ActivityScheduleFailedEventDetails)
-    , _heLambdaFunctionScheduleFailedEventDetails :: !(Maybe LambdaFunctionScheduleFailedEventDetails)
-    , _heStateEnteredEventDetails                 :: !(Maybe StateEnteredEventDetails)
-    , _hePreviousEventId                          :: !(Maybe Integer)
-    , _heActivityFailedEventDetails               :: !(Maybe ActivityFailedEventDetails)
-    , _heLambdaFunctionFailedEventDetails         :: !(Maybe LambdaFunctionFailedEventDetails)
-    , _heExecutionTimedOutEventDetails            :: !(Maybe ExecutionTimedOutEventDetails)
-    , _heTimestamp                                :: !POSIX
-    , _heType                                     :: !HistoryEventType
-    , _heId                                       :: !Integer
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _heActivityStartedEventDetails :: !(Maybe ActivityStartedEventDetails)
+  , _heLambdaFunctionStartFailedEventDetails :: !(Maybe LambdaFunctionStartFailedEventDetails)
+  , _heStateExitedEventDetails :: !(Maybe StateExitedEventDetails)
+  , _heLambdaFunctionSucceededEventDetails :: !(Maybe LambdaFunctionSucceededEventDetails)
+  , _heActivitySucceededEventDetails :: !(Maybe ActivitySucceededEventDetails)
+  , _heLambdaFunctionTimedOutEventDetails :: !(Maybe LambdaFunctionTimedOutEventDetails)
+  , _heActivityTimedOutEventDetails :: !(Maybe ActivityTimedOutEventDetails)
+  , _heExecutionFailedEventDetails :: !(Maybe ExecutionFailedEventDetails)
+  , _heExecutionAbortedEventDetails :: !(Maybe ExecutionAbortedEventDetails)
+  , _heExecutionSucceededEventDetails :: !(Maybe ExecutionSucceededEventDetails)
+  , _heLambdaFunctionScheduledEventDetails :: !(Maybe LambdaFunctionScheduledEventDetails)
+  , _heActivityScheduledEventDetails :: !(Maybe ActivityScheduledEventDetails)
+  , _heExecutionStartedEventDetails :: !(Maybe ExecutionStartedEventDetails)
+  , _heActivityScheduleFailedEventDetails :: !(Maybe ActivityScheduleFailedEventDetails)
+  , _heLambdaFunctionScheduleFailedEventDetails :: !(Maybe LambdaFunctionScheduleFailedEventDetails)
+  , _heStateEnteredEventDetails :: !(Maybe StateEnteredEventDetails)
+  , _hePreviousEventId :: !(Maybe Integer)
+  , _heActivityFailedEventDetails :: !(Maybe ActivityFailedEventDetails)
+  , _heLambdaFunctionFailedEventDetails :: !(Maybe LambdaFunctionFailedEventDetails)
+  , _heExecutionTimedOutEventDetails :: !(Maybe ExecutionTimedOutEventDetails)
+  , _heTimestamp :: !POSIX
+  , _heType :: !HistoryEventType
+  , _heId :: !Integer
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'HistoryEvent' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'heActivityStartedEventDetails' - Undocumented member.
 --
--- * 'heLambdaFunctionStartFailedEventDetails' - Undocumented member.
+-- * 'heLambdaFunctionStartFailedEventDetails' - Contains details about a lambda function which failed to start during an execution.
 --
 -- * 'heStateExitedEventDetails' - Undocumented member.
 --
--- * 'heLambdaFunctionSucceededEventDetails' - Undocumented member.
+-- * 'heLambdaFunctionSucceededEventDetails' - Contains details about a lambda function which terminated successfully during an execution.
 --
 -- * 'heActivitySucceededEventDetails' - Undocumented member.
 --
@@ -646,7 +706,7 @@
 --
 -- * 'heExecutionStartedEventDetails' - Undocumented member.
 --
--- * 'heActivityScheduleFailedEventDetails' - Undocumented member.
+-- * 'heActivityScheduleFailedEventDetails' - Contains details about an activity schedule event which failed during an execution.
 --
 -- * 'heLambdaFunctionScheduleFailedEventDetails' - Undocumented member.
 --
@@ -660,7 +720,7 @@
 --
 -- * 'heExecutionTimedOutEventDetails' - Undocumented member.
 --
--- * 'heTimestamp' - The date the event occured.
+-- * 'heTimestamp' - The date the event occurred.
 --
 -- * 'heType' - The type of the event.
 --
@@ -671,37 +731,38 @@
     -> Integer -- ^ 'heId'
     -> HistoryEvent
 historyEvent pTimestamp_ pType_ pId_ =
-    HistoryEvent'
-    { _heActivityStartedEventDetails = Nothing
-    , _heLambdaFunctionStartFailedEventDetails = Nothing
-    , _heStateExitedEventDetails = Nothing
-    , _heLambdaFunctionSucceededEventDetails = Nothing
-    , _heActivitySucceededEventDetails = Nothing
-    , _heLambdaFunctionTimedOutEventDetails = Nothing
-    , _heActivityTimedOutEventDetails = Nothing
-    , _heExecutionFailedEventDetails = Nothing
-    , _heExecutionAbortedEventDetails = Nothing
-    , _heExecutionSucceededEventDetails = Nothing
-    , _heLambdaFunctionScheduledEventDetails = Nothing
-    , _heActivityScheduledEventDetails = Nothing
-    , _heExecutionStartedEventDetails = Nothing
-    , _heActivityScheduleFailedEventDetails = Nothing
-    , _heLambdaFunctionScheduleFailedEventDetails = Nothing
-    , _heStateEnteredEventDetails = Nothing
-    , _hePreviousEventId = Nothing
-    , _heActivityFailedEventDetails = Nothing
-    , _heLambdaFunctionFailedEventDetails = Nothing
-    , _heExecutionTimedOutEventDetails = Nothing
-    , _heTimestamp = _Time # pTimestamp_
-    , _heType = pType_
-    , _heId = pId_
-    }
+  HistoryEvent'
+  { _heActivityStartedEventDetails = Nothing
+  , _heLambdaFunctionStartFailedEventDetails = Nothing
+  , _heStateExitedEventDetails = Nothing
+  , _heLambdaFunctionSucceededEventDetails = Nothing
+  , _heActivitySucceededEventDetails = Nothing
+  , _heLambdaFunctionTimedOutEventDetails = Nothing
+  , _heActivityTimedOutEventDetails = Nothing
+  , _heExecutionFailedEventDetails = Nothing
+  , _heExecutionAbortedEventDetails = Nothing
+  , _heExecutionSucceededEventDetails = Nothing
+  , _heLambdaFunctionScheduledEventDetails = Nothing
+  , _heActivityScheduledEventDetails = Nothing
+  , _heExecutionStartedEventDetails = Nothing
+  , _heActivityScheduleFailedEventDetails = Nothing
+  , _heLambdaFunctionScheduleFailedEventDetails = Nothing
+  , _heStateEnteredEventDetails = Nothing
+  , _hePreviousEventId = Nothing
+  , _heActivityFailedEventDetails = Nothing
+  , _heLambdaFunctionFailedEventDetails = Nothing
+  , _heExecutionTimedOutEventDetails = Nothing
+  , _heTimestamp = _Time # pTimestamp_
+  , _heType = pType_
+  , _heId = pId_
+  }
 
+
 -- | Undocumented member.
 heActivityStartedEventDetails :: Lens' HistoryEvent (Maybe ActivityStartedEventDetails)
 heActivityStartedEventDetails = lens _heActivityStartedEventDetails (\ s a -> s{_heActivityStartedEventDetails = a});
 
--- | Undocumented member.
+-- | Contains details about a lambda function which failed to start during an execution.
 heLambdaFunctionStartFailedEventDetails :: Lens' HistoryEvent (Maybe LambdaFunctionStartFailedEventDetails)
 heLambdaFunctionStartFailedEventDetails = lens _heLambdaFunctionStartFailedEventDetails (\ s a -> s{_heLambdaFunctionStartFailedEventDetails = a});
 
@@ -709,7 +770,7 @@
 heStateExitedEventDetails :: Lens' HistoryEvent (Maybe StateExitedEventDetails)
 heStateExitedEventDetails = lens _heStateExitedEventDetails (\ s a -> s{_heStateExitedEventDetails = a});
 
--- | Undocumented member.
+-- | Contains details about a lambda function which terminated successfully during an execution.
 heLambdaFunctionSucceededEventDetails :: Lens' HistoryEvent (Maybe LambdaFunctionSucceededEventDetails)
 heLambdaFunctionSucceededEventDetails = lens _heLambdaFunctionSucceededEventDetails (\ s a -> s{_heLambdaFunctionSucceededEventDetails = a});
 
@@ -749,7 +810,7 @@
 heExecutionStartedEventDetails :: Lens' HistoryEvent (Maybe ExecutionStartedEventDetails)
 heExecutionStartedEventDetails = lens _heExecutionStartedEventDetails (\ s a -> s{_heExecutionStartedEventDetails = a});
 
--- | Undocumented member.
+-- | Contains details about an activity schedule event which failed during an execution.
 heActivityScheduleFailedEventDetails :: Lens' HistoryEvent (Maybe ActivityScheduleFailedEventDetails)
 heActivityScheduleFailedEventDetails = lens _heActivityScheduleFailedEventDetails (\ s a -> s{_heActivityScheduleFailedEventDetails = a});
 
@@ -777,7 +838,7 @@
 heExecutionTimedOutEventDetails :: Lens' HistoryEvent (Maybe ExecutionTimedOutEventDetails)
 heExecutionTimedOutEventDetails = lens _heExecutionTimedOutEventDetails (\ s a -> s{_heExecutionTimedOutEventDetails = a});
 
--- | The date the event occured.
+-- | The date the event occurred.
 heTimestamp :: Lens' HistoryEvent UTCTime
 heTimestamp = lens _heTimestamp (\ s a -> s{_heTimestamp = a}) . _Time;
 
@@ -819,16 +880,21 @@
                      <*> (x .: "type")
                      <*> (x .: "id"))
 
-instance Hashable HistoryEvent
+instance Hashable HistoryEvent where
 
-instance NFData HistoryEvent
+instance NFData HistoryEvent where
 
--- | /See:/ 'lambdaFunctionFailedEventDetails' smart constructor.
+-- | Contains details about a lambda function which failed during an execution.
+--
+--
+--
+-- /See:/ 'lambdaFunctionFailedEventDetails' smart constructor.
 data LambdaFunctionFailedEventDetails = LambdaFunctionFailedEventDetails'
-    { _lffedError :: !(Maybe Text)
-    , _lffedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lffedError :: !(Maybe Text)
+  , _lffedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'LambdaFunctionFailedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -839,11 +905,10 @@
 lambdaFunctionFailedEventDetails
     :: LambdaFunctionFailedEventDetails
 lambdaFunctionFailedEventDetails =
-    LambdaFunctionFailedEventDetails'
-    { _lffedError = Nothing
-    , _lffedCause = Nothing
-    }
+  LambdaFunctionFailedEventDetails'
+  {_lffedError = Nothing, _lffedCause = Nothing}
 
+
 -- | The error code of the failure.
 lffedError :: Lens' LambdaFunctionFailedEventDetails (Maybe Text)
 lffedError = lens _lffedError (\ s a -> s{_lffedError = a});
@@ -861,15 +926,22 @@
                    (x .:? "error") <*> (x .:? "cause"))
 
 instance Hashable LambdaFunctionFailedEventDetails
+         where
 
 instance NFData LambdaFunctionFailedEventDetails
+         where
 
--- | /See:/ 'lambdaFunctionScheduleFailedEventDetails' smart constructor.
+-- | Contains details about a failed lambda function schedule event which occurred during an execution.
+--
+--
+--
+-- /See:/ 'lambdaFunctionScheduleFailedEventDetails' smart constructor.
 data LambdaFunctionScheduleFailedEventDetails = LambdaFunctionScheduleFailedEventDetails'
-    { _lError :: !(Maybe Text)
-    , _lCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lError :: !(Maybe Text)
+  , _lCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'LambdaFunctionScheduleFailedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -880,11 +952,10 @@
 lambdaFunctionScheduleFailedEventDetails
     :: LambdaFunctionScheduleFailedEventDetails
 lambdaFunctionScheduleFailedEventDetails =
-    LambdaFunctionScheduleFailedEventDetails'
-    { _lError = Nothing
-    , _lCause = Nothing
-    }
+  LambdaFunctionScheduleFailedEventDetails'
+  {_lError = Nothing, _lCause = Nothing}
 
+
 -- | The error code of the failure.
 lError :: Lens' LambdaFunctionScheduleFailedEventDetails (Maybe Text)
 lError = lens _lError (\ s a -> s{_lError = a});
@@ -894,7 +965,8 @@
 lCause = lens _lCause (\ s a -> s{_lCause = a});
 
 instance FromJSON
-         LambdaFunctionScheduleFailedEventDetails where
+           LambdaFunctionScheduleFailedEventDetails
+         where
         parseJSON
           = withObject
               "LambdaFunctionScheduleFailedEventDetails"
@@ -903,18 +975,25 @@
                    (x .:? "error") <*> (x .:? "cause"))
 
 instance Hashable
-         LambdaFunctionScheduleFailedEventDetails
+           LambdaFunctionScheduleFailedEventDetails
+         where
 
 instance NFData
-         LambdaFunctionScheduleFailedEventDetails
+           LambdaFunctionScheduleFailedEventDetails
+         where
 
--- | /See:/ 'lambdaFunctionScheduledEventDetails' smart constructor.
+-- | Contains details about a lambda function scheduled during an execution.
+--
+--
+--
+-- /See:/ 'lambdaFunctionScheduledEventDetails' smart constructor.
 data LambdaFunctionScheduledEventDetails = LambdaFunctionScheduledEventDetails'
-    { _lfsedInput            :: !(Maybe Text)
-    , _lfsedTimeoutInSeconds :: !(Maybe Integer)
-    , _lfsedResource         :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lfsedInput            :: !(Maybe Text)
+  , _lfsedTimeoutInSeconds :: !(Maybe Integer)
+  , _lfsedResource         :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'LambdaFunctionScheduledEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -928,12 +1007,13 @@
     :: Text -- ^ 'lfsedResource'
     -> LambdaFunctionScheduledEventDetails
 lambdaFunctionScheduledEventDetails pResource_ =
-    LambdaFunctionScheduledEventDetails'
-    { _lfsedInput = Nothing
-    , _lfsedTimeoutInSeconds = Nothing
-    , _lfsedResource = pResource_
-    }
+  LambdaFunctionScheduledEventDetails'
+  { _lfsedInput = Nothing
+  , _lfsedTimeoutInSeconds = Nothing
+  , _lfsedResource = pResource_
+  }
 
+
 -- | The JSON data input to the lambda function.
 lfsedInput :: Lens' LambdaFunctionScheduledEventDetails (Maybe Text)
 lfsedInput = lens _lfsedInput (\ s a -> s{_lfsedInput = a});
@@ -956,15 +1036,22 @@
                      (x .: "resource"))
 
 instance Hashable LambdaFunctionScheduledEventDetails
+         where
 
 instance NFData LambdaFunctionScheduledEventDetails
+         where
 
--- | /See:/ 'lambdaFunctionStartFailedEventDetails' smart constructor.
+-- | Contains details about a lambda function which failed to start during an execution.
+--
+--
+--
+-- /See:/ 'lambdaFunctionStartFailedEventDetails' smart constructor.
 data LambdaFunctionStartFailedEventDetails = LambdaFunctionStartFailedEventDetails'
-    { _lfsfedError :: !(Maybe Text)
-    , _lfsfedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lfsfedError :: !(Maybe Text)
+  , _lfsfedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'LambdaFunctionStartFailedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -975,11 +1062,10 @@
 lambdaFunctionStartFailedEventDetails
     :: LambdaFunctionStartFailedEventDetails
 lambdaFunctionStartFailedEventDetails =
-    LambdaFunctionStartFailedEventDetails'
-    { _lfsfedError = Nothing
-    , _lfsfedCause = Nothing
-    }
+  LambdaFunctionStartFailedEventDetails'
+  {_lfsfedError = Nothing, _lfsfedCause = Nothing}
 
+
 -- | The error code of the failure.
 lfsfedError :: Lens' LambdaFunctionStartFailedEventDetails (Maybe Text)
 lfsfedError = lens _lfsfedError (\ s a -> s{_lfsfedError = a});
@@ -989,7 +1075,8 @@
 lfsfedCause = lens _lfsfedCause (\ s a -> s{_lfsfedCause = a});
 
 instance FromJSON
-         LambdaFunctionStartFailedEventDetails where
+           LambdaFunctionStartFailedEventDetails
+         where
         parseJSON
           = withObject "LambdaFunctionStartFailedEventDetails"
               (\ x ->
@@ -997,15 +1084,22 @@
                    (x .:? "error") <*> (x .:? "cause"))
 
 instance Hashable
-         LambdaFunctionStartFailedEventDetails
+           LambdaFunctionStartFailedEventDetails
+         where
 
 instance NFData LambdaFunctionStartFailedEventDetails
+         where
 
--- | /See:/ 'lambdaFunctionSucceededEventDetails' smart constructor.
+-- | Contains details about a lambda function which successfully terminated during an execution.
+--
+--
+--
+-- /See:/ 'lambdaFunctionSucceededEventDetails' smart constructor.
 newtype LambdaFunctionSucceededEventDetails = LambdaFunctionSucceededEventDetails'
-    { _lfsedOutput :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lfsedOutput :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'LambdaFunctionSucceededEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1014,10 +1108,9 @@
 lambdaFunctionSucceededEventDetails
     :: LambdaFunctionSucceededEventDetails
 lambdaFunctionSucceededEventDetails =
-    LambdaFunctionSucceededEventDetails'
-    { _lfsedOutput = Nothing
-    }
+  LambdaFunctionSucceededEventDetails' {_lfsedOutput = Nothing}
 
+
 -- | The JSON data output by the lambda function.
 lfsedOutput :: Lens' LambdaFunctionSucceededEventDetails (Maybe Text)
 lfsedOutput = lens _lfsedOutput (\ s a -> s{_lfsedOutput = a});
@@ -1031,15 +1124,22 @@
                    (x .:? "output"))
 
 instance Hashable LambdaFunctionSucceededEventDetails
+         where
 
 instance NFData LambdaFunctionSucceededEventDetails
+         where
 
--- | /See:/ 'lambdaFunctionTimedOutEventDetails' smart constructor.
+-- | Contains details about a lambda function timeout which occurred during an execution.
+--
+--
+--
+-- /See:/ 'lambdaFunctionTimedOutEventDetails' smart constructor.
 data LambdaFunctionTimedOutEventDetails = LambdaFunctionTimedOutEventDetails'
-    { _lftoedError :: !(Maybe Text)
-    , _lftoedCause :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lftoedError :: !(Maybe Text)
+  , _lftoedCause :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'LambdaFunctionTimedOutEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1050,11 +1150,10 @@
 lambdaFunctionTimedOutEventDetails
     :: LambdaFunctionTimedOutEventDetails
 lambdaFunctionTimedOutEventDetails =
-    LambdaFunctionTimedOutEventDetails'
-    { _lftoedError = Nothing
-    , _lftoedCause = Nothing
-    }
+  LambdaFunctionTimedOutEventDetails'
+  {_lftoedError = Nothing, _lftoedCause = Nothing}
 
+
 -- | The error code of the failure.
 lftoedError :: Lens' LambdaFunctionTimedOutEventDetails (Maybe Text)
 lftoedError = lens _lftoedError (\ s a -> s{_lftoedError = a});
@@ -1072,32 +1171,37 @@
                    (x .:? "error") <*> (x .:? "cause"))
 
 instance Hashable LambdaFunctionTimedOutEventDetails
+         where
 
 instance NFData LambdaFunctionTimedOutEventDetails
+         where
 
--- | /See:/ 'stateEnteredEventDetails' smart constructor.
+-- | Contains details about a state entered during an execution.
+--
+--
+--
+-- /See:/ 'stateEnteredEventDetails' smart constructor.
 data StateEnteredEventDetails = StateEnteredEventDetails'
-    { _sInput :: !(Maybe Text)
-    , _sName  :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sInput :: !(Maybe Text)
+  , _sName  :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StateEnteredEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'sInput' - The JSON input data to the state.
+-- * 'sInput' - The string that contains the JSON input data for the state.
 --
 -- * 'sName' - The name of the state.
 stateEnteredEventDetails
     :: Text -- ^ 'sName'
     -> StateEnteredEventDetails
 stateEnteredEventDetails pName_ =
-    StateEnteredEventDetails'
-    { _sInput = Nothing
-    , _sName = pName_
-    }
+  StateEnteredEventDetails' {_sInput = Nothing, _sName = pName_}
 
--- | The JSON input data to the state.
+
+-- | The string that contains the JSON input data for the state.
 sInput :: Lens' StateEnteredEventDetails (Maybe Text)
 sInput = lens _sInput (\ s a -> s{_sInput = a});
 
@@ -1112,37 +1216,40 @@
                  StateEnteredEventDetails' <$>
                    (x .:? "input") <*> (x .: "name"))
 
-instance Hashable StateEnteredEventDetails
+instance Hashable StateEnteredEventDetails where
 
-instance NFData StateEnteredEventDetails
+instance NFData StateEnteredEventDetails where
 
--- | /See:/ 'stateExitedEventDetails' smart constructor.
+-- | Contains details about an exit from a state during an execution.
+--
+--
+--
+-- /See:/ 'stateExitedEventDetails' smart constructor.
 data StateExitedEventDetails = StateExitedEventDetails'
-    { _seedOutput :: !(Maybe Text)
-    , _seedName   :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _seedOutput :: !(Maybe Text)
+  , _seedName   :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StateExitedEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'seedOutput' - The JSON output data of the state.
 --
--- * 'seedName' - The name of the state.
+-- * 'seedName' - The name of the state. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 stateExitedEventDetails
     :: Text -- ^ 'seedName'
     -> StateExitedEventDetails
 stateExitedEventDetails pName_ =
-    StateExitedEventDetails'
-    { _seedOutput = Nothing
-    , _seedName = pName_
-    }
+  StateExitedEventDetails' {_seedOutput = Nothing, _seedName = pName_}
 
+
 -- | The JSON output data of the state.
 seedOutput :: Lens' StateExitedEventDetails (Maybe Text)
 seedOutput = lens _seedOutput (\ s a -> s{_seedOutput = a});
 
--- | The name of the state.
+-- | The name of the state. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 seedName :: Lens' StateExitedEventDetails Text
 seedName = lens _seedName (\ s a -> s{_seedName = a});
 
@@ -1153,24 +1260,29 @@
                  StateExitedEventDetails' <$>
                    (x .:? "output") <*> (x .: "name"))
 
-instance Hashable StateExitedEventDetails
+instance Hashable StateExitedEventDetails where
 
-instance NFData StateExitedEventDetails
+instance NFData StateExitedEventDetails where
 
--- | /See:/ 'stateMachineListItem' smart constructor.
+-- | Contains details about the state machine.
+--
+--
+--
+-- /See:/ 'stateMachineListItem' smart constructor.
 data StateMachineListItem = StateMachineListItem'
-    { _smliStateMachineARN :: !Text
-    , _smliName            :: !Text
-    , _smliCreationDate    :: !POSIX
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _smliStateMachineARN :: !Text
+  , _smliName            :: !Text
+  , _smliCreationDate    :: !POSIX
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StateMachineListItem' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'smliStateMachineARN' - The Amazon Resource Name (ARN) that identifies the state machine.
 --
--- * 'smliName' - The name of the state machine.
+-- * 'smliName' - The name of the state machine. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 --
 -- * 'smliCreationDate' - The date the state machine was created.
 stateMachineListItem
@@ -1179,17 +1291,18 @@
     -> UTCTime -- ^ 'smliCreationDate'
     -> StateMachineListItem
 stateMachineListItem pStateMachineARN_ pName_ pCreationDate_ =
-    StateMachineListItem'
-    { _smliStateMachineARN = pStateMachineARN_
-    , _smliName = pName_
-    , _smliCreationDate = _Time # pCreationDate_
-    }
+  StateMachineListItem'
+  { _smliStateMachineARN = pStateMachineARN_
+  , _smliName = pName_
+  , _smliCreationDate = _Time # pCreationDate_
+  }
 
+
 -- | The Amazon Resource Name (ARN) that identifies the state machine.
 smliStateMachineARN :: Lens' StateMachineListItem Text
 smliStateMachineARN = lens _smliStateMachineARN (\ s a -> s{_smliStateMachineARN = a});
 
--- | The name of the state machine.
+-- | The name of the state machine. A name must /not/ contain:     * whitespace     * brackets @< > { } [ ]@      * wildcard characters @? *@      * special characters @" # % \ ^ | ~ ` $ & , ; : /@      * control characters (@U+0000-001F@ , @U+007F-009F@ )
 smliName :: Lens' StateMachineListItem Text
 smliName = lens _smliName (\ s a -> s{_smliName = a});
 
@@ -1205,6 +1318,6 @@
                    (x .: "stateMachineArn") <*> (x .: "name") <*>
                      (x .: "creationDate"))
 
-instance Hashable StateMachineListItem
+instance Hashable StateMachineListItem where
 
-instance NFData StateMachineListItem
+instance NFData StateMachineListItem where
diff --git a/gen/Network/AWS/StepFunctions/Types/Sum.hs b/gen/Network/AWS/StepFunctions/Types/Sum.hs
--- a/gen/Network/AWS/StepFunctions/Types/Sum.hs
+++ b/gen/Network/AWS/StepFunctions/Types/Sum.hs
@@ -9,24 +9,25 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.Types.Sum
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.StepFunctions.Types.Sum where
 
-import           Network.AWS.Prelude
+import Network.AWS.Prelude
 
 data ExecutionStatus
-    = Aborted
-    | Failed
-    | Running
-    | Succeeded
-    | TimedOut
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = Aborted
+  | Failed
+  | Running
+  | Succeeded
+  | TimedOut
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText ExecutionStatus where
     parser = takeLowerText >>= \case
         "aborted" -> pure Aborted
@@ -58,39 +59,46 @@
     parseJSON = parseJSONText "ExecutionStatus"
 
 data HistoryEventType
-    = ActivityFailed
-    | ActivityScheduleFailed
-    | ActivityScheduled
-    | ActivityStarted
-    | ActivitySucceeded
-    | ActivityTimedOut
-    | ChoiceStateEntered
-    | ChoiceStateExited
-    | ExecutionAborted
-    | ExecutionFailed
-    | ExecutionStarted
-    | ExecutionSucceeded
-    | ExecutionTimedOut
-    | FailStateEntered
-    | LambdaFunctionFailed
-    | LambdaFunctionScheduleFailed
-    | LambdaFunctionScheduled
-    | LambdaFunctionStartFailed
-    | LambdaFunctionStarted
-    | LambdaFunctionSucceeded
-    | LambdaFunctionTimedOut
-    | ParallelStateEntered
-    | ParallelStateExited
-    | PassStateEntered
-    | PassStateExited
-    | SucceedStateEntered
-    | SucceedStateExited
-    | TaskStateEntered
-    | TaskStateExited
-    | WaitStateEntered
-    | WaitStateExited
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = ActivityFailed
+  | ActivityScheduleFailed
+  | ActivityScheduled
+  | ActivityStarted
+  | ActivitySucceeded
+  | ActivityTimedOut
+  | ChoiceStateEntered
+  | ChoiceStateExited
+  | ExecutionAborted
+  | ExecutionFailed
+  | ExecutionStarted
+  | ExecutionSucceeded
+  | ExecutionTimedOut
+  | FailStateEntered
+  | LambdaFunctionFailed
+  | LambdaFunctionScheduleFailed
+  | LambdaFunctionScheduled
+  | LambdaFunctionStartFailed
+  | LambdaFunctionStarted
+  | LambdaFunctionSucceeded
+  | LambdaFunctionTimedOut
+  | ParallelStateAborted
+  | ParallelStateEntered
+  | ParallelStateExited
+  | ParallelStateFailed
+  | ParallelStateStarted
+  | ParallelStateSucceeded
+  | PassStateEntered
+  | PassStateExited
+  | SucceedStateEntered
+  | SucceedStateExited
+  | TaskStateAborted
+  | TaskStateEntered
+  | TaskStateExited
+  | WaitStateAborted
+  | WaitStateEntered
+  | WaitStateExited
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText HistoryEventType where
     parser = takeLowerText >>= \case
         "activityfailed" -> pure ActivityFailed
@@ -114,18 +122,24 @@
         "lambdafunctionstarted" -> pure LambdaFunctionStarted
         "lambdafunctionsucceeded" -> pure LambdaFunctionSucceeded
         "lambdafunctiontimedout" -> pure LambdaFunctionTimedOut
+        "parallelstateaborted" -> pure ParallelStateAborted
         "parallelstateentered" -> pure ParallelStateEntered
         "parallelstateexited" -> pure ParallelStateExited
+        "parallelstatefailed" -> pure ParallelStateFailed
+        "parallelstatestarted" -> pure ParallelStateStarted
+        "parallelstatesucceeded" -> pure ParallelStateSucceeded
         "passstateentered" -> pure PassStateEntered
         "passstateexited" -> pure PassStateExited
         "succeedstateentered" -> pure SucceedStateEntered
         "succeedstateexited" -> pure SucceedStateExited
+        "taskstateaborted" -> pure TaskStateAborted
         "taskstateentered" -> pure TaskStateEntered
         "taskstateexited" -> pure TaskStateExited
+        "waitstateaborted" -> pure WaitStateAborted
         "waitstateentered" -> pure WaitStateEntered
         "waitstateexited" -> pure WaitStateExited
         e -> fromTextError $ "Failure parsing HistoryEventType from value: '" <> e
-           <> "'. Accepted values: activityfailed, activityschedulefailed, activityscheduled, activitystarted, activitysucceeded, activitytimedout, choicestateentered, choicestateexited, executionaborted, executionfailed, executionstarted, executionsucceeded, executiontimedout, failstateentered, lambdafunctionfailed, lambdafunctionschedulefailed, lambdafunctionscheduled, lambdafunctionstartfailed, lambdafunctionstarted, lambdafunctionsucceeded, lambdafunctiontimedout, parallelstateentered, parallelstateexited, passstateentered, passstateexited, succeedstateentered, succeedstateexited, taskstateentered, taskstateexited, waitstateentered, waitstateexited"
+           <> "'. Accepted values: activityfailed, activityschedulefailed, activityscheduled, activitystarted, activitysucceeded, activitytimedout, choicestateentered, choicestateexited, executionaborted, executionfailed, executionstarted, executionsucceeded, executiontimedout, failstateentered, lambdafunctionfailed, lambdafunctionschedulefailed, lambdafunctionscheduled, lambdafunctionstartfailed, lambdafunctionstarted, lambdafunctionsucceeded, lambdafunctiontimedout, parallelstateaborted, parallelstateentered, parallelstateexited, parallelstatefailed, parallelstatestarted, parallelstatesucceeded, passstateentered, passstateexited, succeedstateentered, succeedstateexited, taskstateaborted, taskstateentered, taskstateexited, waitstateaborted, waitstateentered, waitstateexited"
 
 instance ToText HistoryEventType where
     toText = \case
@@ -150,14 +164,20 @@
         LambdaFunctionStarted -> "LambdaFunctionStarted"
         LambdaFunctionSucceeded -> "LambdaFunctionSucceeded"
         LambdaFunctionTimedOut -> "LambdaFunctionTimedOut"
+        ParallelStateAborted -> "ParallelStateAborted"
         ParallelStateEntered -> "ParallelStateEntered"
         ParallelStateExited -> "ParallelStateExited"
+        ParallelStateFailed -> "ParallelStateFailed"
+        ParallelStateStarted -> "ParallelStateStarted"
+        ParallelStateSucceeded -> "ParallelStateSucceeded"
         PassStateEntered -> "PassStateEntered"
         PassStateExited -> "PassStateExited"
         SucceedStateEntered -> "SucceedStateEntered"
         SucceedStateExited -> "SucceedStateExited"
+        TaskStateAborted -> "TaskStateAborted"
         TaskStateEntered -> "TaskStateEntered"
         TaskStateExited -> "TaskStateExited"
+        WaitStateAborted -> "WaitStateAborted"
         WaitStateEntered -> "WaitStateEntered"
         WaitStateExited -> "WaitStateExited"
 
@@ -171,9 +191,10 @@
     parseJSON = parseJSONText "HistoryEventType"
 
 data StateMachineStatus
-    = Active
-    | Deleting
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = Active
+  | Deleting
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
+
 
 instance FromText StateMachineStatus where
     parser = takeLowerText >>= \case
diff --git a/gen/Network/AWS/StepFunctions/Waiters.hs b/gen/Network/AWS/StepFunctions/Waiters.hs
--- a/gen/Network/AWS/StepFunctions/Waiters.hs
+++ b/gen/Network/AWS/StepFunctions/Waiters.hs
@@ -7,15 +7,15 @@
 
 -- |
 -- Module      : Network.AWS.StepFunctions.Waiters
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.StepFunctions.Waiters where
 
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.StepFunctions.Types
-import           Network.AWS.Waiter
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.StepFunctions.Types
+import Network.AWS.Waiter
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,9 +2,9 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
diff --git a/test/Test/AWS/Gen/StepFunctions.hs b/test/Test/AWS/Gen/StepFunctions.hs
--- a/test/Test/AWS/Gen/StepFunctions.hs
+++ b/test/Test/AWS/Gen/StepFunctions.hs
@@ -5,20 +5,20 @@
 
 -- |
 -- Module      : Test.AWS.Gen.StepFunctions
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Test.AWS.Gen.StepFunctions where
 
 import Data.Proxy
+import Network.AWS.StepFunctions
 import Test.AWS.Fixture
 import Test.AWS.Prelude
-import Test.Tasty
-import Network.AWS.StepFunctions
 import Test.AWS.StepFunctions.Internal
+import Test.Tasty
 
 -- Auto-generated: the actual test selection needs to be manually placed into
 -- the top-level so that real test data can be incrementally added.
