diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
@@ -38,7 +38,7 @@
 service.
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-datapipeline)
-and the [AWS API Reference](http://docs.aws.amazon.com/datapipeline/latest/APIReference/Welcome.html).
+and the [AWS API Reference](https://aws.amazon.com/documentation/).
 
 The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),
 which provides mechanisms for specifying AuthN/AuthZ information and sending requests.
diff --git a/amazonka-datapipeline.cabal b/amazonka-datapipeline.cabal
--- a/amazonka-datapipeline.cabal
+++ b/amazonka-datapipeline.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-datapipeline
-version:               1.3.7
+version:               1.4.0
 synopsis:              Amazon Data Pipeline SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -7,7 +7,7 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2015 Brendan Hay
+copyright:             Copyright (c) 2013-2016 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -48,7 +48,7 @@
     such as <http://hackage.haskell.org/package/lens lens> or
     <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
     .
-    See "Network.AWS.DataPipeline" and the <http://docs.aws.amazon.com/datapipeline/latest/APIReference/Welcome.html AWS API Reference>
+    See "Network.AWS.DataPipeline" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -90,7 +90,7 @@
         , Network.AWS.DataPipeline.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-datapipeline-test
@@ -110,9 +110,9 @@
         , Test.AWS.DataPipeline.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-datapipeline == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-datapipeline == 1.4.0.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/DataPipeline.hs b/gen/Network/AWS/DataPipeline.hs
--- a/gen/Network/AWS/DataPipeline.hs
+++ b/gen/Network/AWS/DataPipeline.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -34,8 +34,6 @@
 -- progress to the web service as it does so. When the task is done, the
 -- task runner reports the final success or failure of the task to the web
 -- service.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.DataPipeline
     (
     -- * Service Configuration
diff --git a/gen/Network/AWS/DataPipeline/ActivatePipeline.hs b/gen/Network/AWS/DataPipeline/ActivatePipeline.hs
--- a/gen/Network/AWS/DataPipeline/ActivatePipeline.hs
+++ b/gen/Network/AWS/DataPipeline/ActivatePipeline.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.ActivatePipeline
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,12 +22,10 @@
 -- If the pipeline does not pass validation, activation fails.
 --
 -- If you need to pause the pipeline to investigate an issue with a
--- component, such as a data source or script, call DeactivatePipeline.
+-- component, such as a data source or script, call < DeactivatePipeline>.
 --
 -- To activate a finished pipeline, modify the end date for the pipeline
 -- and then activate it.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_ActivatePipeline.html AWS API Reference> for ActivatePipeline.
 module Network.AWS.DataPipeline.ActivatePipeline
     (
     -- * Creating a Request
@@ -100,6 +98,8 @@
           = receiveEmpty
               (\ s h x ->
                  ActivatePipelineResponse' <$> (pure (fromEnum s)))
+
+instance Hashable ActivatePipeline
 
 instance ToHeaders ActivatePipeline where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/AddTags.hs b/gen/Network/AWS/DataPipeline/AddTags.hs
--- a/gen/Network/AWS/DataPipeline/AddTags.hs
+++ b/gen/Network/AWS/DataPipeline/AddTags.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.AddTags
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Adds or modifies tags for the specified pipeline.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_AddTags.html AWS API Reference> for AddTags.
 module Network.AWS.DataPipeline.AddTags
     (
     -- * Creating a Request
@@ -82,6 +80,8 @@
         response
           = receiveEmpty
               (\ s h x -> AddTagsResponse' <$> (pure (fromEnum s)))
+
+instance Hashable AddTags
 
 instance ToHeaders AddTags where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/CreatePipeline.hs b/gen/Network/AWS/DataPipeline/CreatePipeline.hs
--- a/gen/Network/AWS/DataPipeline/CreatePipeline.hs
+++ b/gen/Network/AWS/DataPipeline/CreatePipeline.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.CreatePipeline
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Creates a new, empty pipeline. Use PutPipelineDefinition to populate the
--- pipeline.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_CreatePipeline.html AWS API Reference> for CreatePipeline.
+-- Creates a new, empty pipeline. Use < PutPipelineDefinition> to populate
+-- the pipeline.
 module Network.AWS.DataPipeline.CreatePipeline
     (
     -- * Creating a Request
@@ -121,6 +119,8 @@
               (\ s h x ->
                  CreatePipelineResponse' <$>
                    (pure (fromEnum s)) <*> (x .:> "pipelineId"))
+
+instance Hashable CreatePipeline
 
 instance ToHeaders CreatePipeline where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/DeactivatePipeline.hs b/gen/Network/AWS/DataPipeline/DeactivatePipeline.hs
--- a/gen/Network/AWS/DataPipeline/DeactivatePipeline.hs
+++ b/gen/Network/AWS/DataPipeline/DeactivatePipeline.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.DeactivatePipeline
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,11 +21,9 @@
 -- Deactivates the specified running pipeline. The pipeline is set to the
 -- 'DEACTIVATING' state until the deactivation process completes.
 --
--- To resume a deactivated pipeline, use ActivatePipeline. By default, the
--- pipeline resumes from the last completed execution. Optionally, you can
--- specify the date and time to resume the pipeline.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_DeactivatePipeline.html AWS API Reference> for DeactivatePipeline.
+-- To resume a deactivated pipeline, use < ActivatePipeline>. By default,
+-- the pipeline resumes from the last completed execution. Optionally, you
+-- can specify the date and time to resume the pipeline.
 module Network.AWS.DataPipeline.DeactivatePipeline
     (
     -- * Creating a Request
@@ -91,6 +89,8 @@
           = receiveEmpty
               (\ s h x ->
                  DeactivatePipelineResponse' <$> (pure (fromEnum s)))
+
+instance Hashable DeactivatePipeline
 
 instance ToHeaders DeactivatePipeline where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/DeletePipeline.hs b/gen/Network/AWS/DataPipeline/DeletePipeline.hs
--- a/gen/Network/AWS/DataPipeline/DeletePipeline.hs
+++ b/gen/Network/AWS/DataPipeline/DeletePipeline.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.DeletePipeline
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -24,10 +24,8 @@
 --
 -- Deleting a pipeline cannot be undone. You cannot query or restore a
 -- deleted pipeline. To temporarily pause a pipeline instead of deleting
--- it, call SetStatus with the status set to 'PAUSE' on individual
--- components. Components that are paused by SetStatus can be resumed.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_DeletePipeline.html AWS API Reference> for DeletePipeline.
+-- it, call < SetStatus> with the status set to 'PAUSE' on individual
+-- components. Components that are paused by < SetStatus> can be resumed.
 module Network.AWS.DataPipeline.DeletePipeline
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
         type Rs DeletePipeline = DeletePipelineResponse
         request = postJSON dataPipeline
         response = receiveNull DeletePipelineResponse'
+
+instance Hashable DeletePipeline
 
 instance ToHeaders DeletePipeline where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/DescribeObjects.hs b/gen/Network/AWS/DataPipeline/DescribeObjects.hs
--- a/gen/Network/AWS/DataPipeline/DescribeObjects.hs
+++ b/gen/Network/AWS/DataPipeline/DescribeObjects.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.DescribeObjects
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,8 +22,6 @@
 -- pipeline. Object definitions are composed of a set of fields that define
 -- the properties of the object.
 --
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_DescribeObjects.html AWS API Reference> for DescribeObjects.
---
 -- This operation returns paginated results.
 module Network.AWS.DataPipeline.DescribeObjects
     (
@@ -125,6 +123,8 @@
                    (x .?> "hasMoreResults") <*> (x .?> "marker") <*>
                      (pure (fromEnum s))
                      <*> (x .?> "pipelineObjects" .!@ mempty))
+
+instance Hashable DescribeObjects
 
 instance ToHeaders DescribeObjects where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/DescribePipelines.hs b/gen/Network/AWS/DataPipeline/DescribePipelines.hs
--- a/gen/Network/AWS/DataPipeline/DescribePipelines.hs
+++ b/gen/Network/AWS/DataPipeline/DescribePipelines.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.DescribePipelines
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -27,9 +27,7 @@
 -- read permissions.
 --
 -- To retrieve the full pipeline definition instead of metadata about the
--- pipeline, call GetPipelineDefinition.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_DescribePipelines.html AWS API Reference> for DescribePipelines.
+-- pipeline, call < GetPipelineDefinition>.
 module Network.AWS.DataPipeline.DescribePipelines
     (
     -- * Creating a Request
@@ -74,7 +72,7 @@
 
 -- | The IDs of the pipelines to describe. You can pass as many as 25
 -- identifiers in a single call. To obtain pipeline IDs, call
--- ListPipelines.
+-- < ListPipelines>.
 dpPipelineIds :: Lens' DescribePipelines [Text]
 dpPipelineIds = lens _dpPipelineIds (\ s a -> s{_dpPipelineIds = a}) . _Coerce;
 
@@ -87,6 +85,8 @@
                  DescribePipelinesResponse' <$>
                    (pure (fromEnum s)) <*>
                      (x .?> "pipelineDescriptionList" .!@ mempty))
+
+instance Hashable DescribePipelines
 
 instance ToHeaders DescribePipelines where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/EvaluateExpression.hs b/gen/Network/AWS/DataPipeline/EvaluateExpression.hs
--- a/gen/Network/AWS/DataPipeline/EvaluateExpression.hs
+++ b/gen/Network/AWS/DataPipeline/EvaluateExpression.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.EvaluateExpression
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +21,6 @@
 -- Task runners call 'EvaluateExpression' to evaluate a string in the
 -- context of the specified object. For example, a task runner can evaluate
 -- SQL queries stored in Amazon S3.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_EvaluateExpression.html AWS API Reference> for EvaluateExpression.
 module Network.AWS.DataPipeline.EvaluateExpression
     (
     -- * Creating a Request
@@ -100,6 +98,8 @@
                  EvaluateExpressionResponse' <$>
                    (pure (fromEnum s)) <*>
                      (x .:> "evaluatedExpression"))
+
+instance Hashable EvaluateExpression
 
 instance ToHeaders EvaluateExpression where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/GetPipelineDefinition.hs b/gen/Network/AWS/DataPipeline/GetPipelineDefinition.hs
--- a/gen/Network/AWS/DataPipeline/GetPipelineDefinition.hs
+++ b/gen/Network/AWS/DataPipeline/GetPipelineDefinition.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.GetPipelineDefinition
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,9 +20,7 @@
 --
 -- Gets the definition of the specified pipeline. You can call
 -- 'GetPipelineDefinition' to retrieve the pipeline definition that you
--- provided using PutPipelineDefinition.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_GetPipelineDefinition.html AWS API Reference> for GetPipelineDefinition.
+-- provided using < PutPipelineDefinition>.
 module Network.AWS.DataPipeline.GetPipelineDefinition
     (
     -- * Creating a Request
@@ -95,6 +93,8 @@
                      (x .?> "parameterObjects" .!@ mempty)
                      <*> (x .?> "parameterValues" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable GetPipelineDefinition
 
 instance ToHeaders GetPipelineDefinition where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/ListPipelines.hs b/gen/Network/AWS/DataPipeline/ListPipelines.hs
--- a/gen/Network/AWS/DataPipeline/ListPipelines.hs
+++ b/gen/Network/AWS/DataPipeline/ListPipelines.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.ListPipelines
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +21,6 @@
 -- Lists the pipeline identifiers for all active pipelines that you have
 -- permission to access.
 --
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_ListPipelines.html AWS API Reference> for ListPipelines.
---
 -- This operation returns paginated results.
 module Network.AWS.DataPipeline.ListPipelines
     (
@@ -94,6 +92,8 @@
                      (pure (fromEnum s))
                      <*> (x .?> "pipelineIdList" .!@ mempty))
 
+instance Hashable ListPipelines
+
 instance ToHeaders ListPipelines where
         toHeaders
           = const
@@ -161,7 +161,7 @@
 lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a});
 
 -- | The pipeline identifiers. If you require additional information about
--- the pipelines, you can use these identifiers to call DescribePipelines
--- and GetPipelineDefinition.
+-- the pipelines, you can use these identifiers to call
+-- < DescribePipelines> and < GetPipelineDefinition>.
 lprsPipelineIdList :: Lens' ListPipelinesResponse [PipelineIdName]
 lprsPipelineIdList = lens _lprsPipelineIdList (\ s a -> s{_lprsPipelineIdList = a}) . _Coerce;
diff --git a/gen/Network/AWS/DataPipeline/PollForTask.hs b/gen/Network/AWS/DataPipeline/PollForTask.hs
--- a/gen/Network/AWS/DataPipeline/PollForTask.hs
+++ b/gen/Network/AWS/DataPipeline/PollForTask.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.PollForTask
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -33,8 +33,6 @@
 -- to 90 seconds. The task runner should not call 'PollForTask' again on
 -- the same 'workerGroup' until it receives a response, and this can take
 -- up to 90 seconds.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_PollForTask.html AWS API Reference> for PollForTask.
 module Network.AWS.DataPipeline.PollForTask
     (
     -- * Creating a Request
@@ -121,6 +119,8 @@
                  PollForTaskResponse' <$>
                    (x .?> "taskObject") <*> (pure (fromEnum s)))
 
+instance Hashable PollForTask
+
 instance ToHeaders PollForTask where
         toHeaders
           = const
@@ -171,8 +171,8 @@
 -- | The information needed to complete the task that is being assigned to
 -- the task runner. One of the fields returned in this object is 'taskId',
 -- which contains an identifier for the task being assigned. The calling
--- task runner uses 'taskId' in subsequent calls to ReportTaskProgress and
--- SetTaskStatus.
+-- task runner uses 'taskId' in subsequent calls to < ReportTaskProgress>
+-- and < SetTaskStatus>.
 pftrsTaskObject :: Lens' PollForTaskResponse (Maybe TaskObject)
 pftrsTaskObject = lens _pftrsTaskObject (\ s a -> s{_pftrsTaskObject = a});
 
diff --git a/gen/Network/AWS/DataPipeline/PutPipelineDefinition.hs b/gen/Network/AWS/DataPipeline/PutPipelineDefinition.hs
--- a/gen/Network/AWS/DataPipeline/PutPipelineDefinition.hs
+++ b/gen/Network/AWS/DataPipeline/PutPipelineDefinition.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.PutPipelineDefinition
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -32,9 +32,7 @@
 -- 4.  The pipeline is in a FINISHED state.
 --
 -- Pipeline object definitions are passed to the 'PutPipelineDefinition'
--- action and returned by the GetPipelineDefinition action.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_PutPipelineDefinition.html AWS API Reference> for PutPipelineDefinition.
+-- action and returned by the < GetPipelineDefinition> action.
 module Network.AWS.DataPipeline.PutPipelineDefinition
     (
     -- * Creating a Request
@@ -124,6 +122,8 @@
                      (x .?> "validationWarnings" .!@ mempty)
                      <*> (pure (fromEnum s))
                      <*> (x .:> "errored"))
+
+instance Hashable PutPipelineDefinition
 
 instance ToHeaders PutPipelineDefinition where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/QueryObjects.hs b/gen/Network/AWS/DataPipeline/QueryObjects.hs
--- a/gen/Network/AWS/DataPipeline/QueryObjects.hs
+++ b/gen/Network/AWS/DataPipeline/QueryObjects.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.QueryObjects
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +21,6 @@
 -- Queries the specified pipeline for the names of objects that match the
 -- specified set of conditions.
 --
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_QueryObjects.html AWS API Reference> for QueryObjects.
---
 -- This operation returns paginated results.
 module Network.AWS.DataPipeline.QueryObjects
     (
@@ -136,6 +134,8 @@
                    (x .?> "hasMoreResults") <*> (x .?> "ids" .!@ mempty)
                      <*> (x .?> "marker")
                      <*> (pure (fromEnum s)))
+
+instance Hashable QueryObjects
 
 instance ToHeaders QueryObjects where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/RemoveTags.hs b/gen/Network/AWS/DataPipeline/RemoveTags.hs
--- a/gen/Network/AWS/DataPipeline/RemoveTags.hs
+++ b/gen/Network/AWS/DataPipeline/RemoveTags.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.RemoveTags
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Removes existing tags from the specified pipeline.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_RemoveTags.html AWS API Reference> for RemoveTags.
 module Network.AWS.DataPipeline.RemoveTags
     (
     -- * Creating a Request
@@ -83,6 +81,8 @@
           = receiveEmpty
               (\ s h x ->
                  RemoveTagsResponse' <$> (pure (fromEnum s)))
+
+instance Hashable RemoveTags
 
 instance ToHeaders RemoveTags where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/ReportTaskProgress.hs b/gen/Network/AWS/DataPipeline/ReportTaskProgress.hs
--- a/gen/Network/AWS/DataPipeline/ReportTaskProgress.hs
+++ b/gen/Network/AWS/DataPipeline/ReportTaskProgress.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.ReportTaskProgress
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,17 +21,15 @@
 -- Task runners call 'ReportTaskProgress' when assigned a task to
 -- acknowledge that it has the task. If the web service does not receive
 -- this acknowledgement within 2 minutes, it assigns the task in a
--- subsequent PollForTask call. After this initial acknowledgement, the
+-- subsequent < PollForTask> call. After this initial acknowledgement, the
 -- task runner only needs to report progress every 15 minutes to maintain
 -- its ownership of the task. You can change this reporting time from 15
 -- minutes by specifying a 'reportProgressTimeout' field in your pipeline.
 --
 -- If a task runner does not report its status after 5 minutes, AWS Data
 -- Pipeline assumes that the task runner is unable to process the task and
--- reassigns the task in a subsequent response to PollForTask. Task runners
--- should call 'ReportTaskProgress' every 60 seconds.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_ReportTaskProgress.html AWS API Reference> for ReportTaskProgress.
+-- reassigns the task in a subsequent response to < PollForTask>. Task
+-- runners should call 'ReportTaskProgress' every 60 seconds.
 module Network.AWS.DataPipeline.ReportTaskProgress
     (
     -- * Creating a Request
@@ -86,7 +84,7 @@
 rtpFields = lens _rtpFields (\ s a -> s{_rtpFields = a}) . _Default . _Coerce;
 
 -- | The ID of the task assigned to the task runner. This value is provided
--- in the response for PollForTask.
+-- in the response for < PollForTask>.
 rtpTaskId :: Lens' ReportTaskProgress Text
 rtpTaskId = lens _rtpTaskId (\ s a -> s{_rtpTaskId = a});
 
@@ -100,6 +98,8 @@
                  ReportTaskProgressResponse' <$>
                    (pure (fromEnum s)) <*> (x .:> "canceled"))
 
+instance Hashable ReportTaskProgress
+
 instance ToHeaders ReportTaskProgress where
         toHeaders
           = const
@@ -152,6 +152,7 @@
 rtprsResponseStatus = lens _rtprsResponseStatus (\ s a -> s{_rtprsResponseStatus = a});
 
 -- | If true, the calling task runner should cancel processing of the task.
--- The task runner does not need to call SetTaskStatus for canceled tasks.
+-- The task runner does not need to call < SetTaskStatus> for canceled
+-- tasks.
 rtprsCanceled :: Lens' ReportTaskProgressResponse Bool
 rtprsCanceled = lens _rtprsCanceled (\ s a -> s{_rtprsCanceled = a});
diff --git a/gen/Network/AWS/DataPipeline/ReportTaskRunnerHeartbeat.hs b/gen/Network/AWS/DataPipeline/ReportTaskRunnerHeartbeat.hs
--- a/gen/Network/AWS/DataPipeline/ReportTaskRunnerHeartbeat.hs
+++ b/gen/Network/AWS/DataPipeline/ReportTaskRunnerHeartbeat.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.ReportTaskRunnerHeartbeat
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -23,8 +23,6 @@
 -- is launched on a resource managed by AWS Data Pipeline, the web service
 -- can use this call to detect when the task runner application has failed
 -- and restart a new instance.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_ReportTaskRunnerHeartbeat.html AWS API Reference> for ReportTaskRunnerHeartbeat.
 module Network.AWS.DataPipeline.ReportTaskRunnerHeartbeat
     (
     -- * Creating a Request
@@ -108,6 +106,8 @@
               (\ s h x ->
                  ReportTaskRunnerHeartbeatResponse' <$>
                    (pure (fromEnum s)) <*> (x .:> "terminate"))
+
+instance Hashable ReportTaskRunnerHeartbeat
 
 instance ToHeaders ReportTaskRunnerHeartbeat where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/SetStatus.hs b/gen/Network/AWS/DataPipeline/SetStatus.hs
--- a/gen/Network/AWS/DataPipeline/SetStatus.hs
+++ b/gen/Network/AWS/DataPipeline/SetStatus.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.SetStatus
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -24,8 +24,6 @@
 -- set depends on the type of object (for example, DataNode or Activity).
 -- You cannot perform this operation on 'FINISHED' pipelines and attempting
 -- to do so returns 'InvalidRequestException'.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_SetStatus.html AWS API Reference> for SetStatus.
 module Network.AWS.DataPipeline.SetStatus
     (
     -- * Creating a Request
@@ -96,6 +94,8 @@
         type Rs SetStatus = SetStatusResponse
         request = postJSON dataPipeline
         response = receiveNull SetStatusResponse'
+
+instance Hashable SetStatus
 
 instance ToHeaders SetStatus where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/SetTaskStatus.hs b/gen/Network/AWS/DataPipeline/SetTaskStatus.hs
--- a/gen/Network/AWS/DataPipeline/SetTaskStatus.hs
+++ b/gen/Network/AWS/DataPipeline/SetTaskStatus.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.SetTaskStatus
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,9 +22,7 @@
 -- task is completed and provide information about the final status. A task
 -- runner makes this call regardless of whether the task was sucessful. A
 -- task runner does not need to call 'SetTaskStatus' for tasks that are
--- canceled by the web service during a call to ReportTaskProgress.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_SetTaskStatus.html AWS API Reference> for SetTaskStatus.
+-- canceled by the web service during a call to < ReportTaskProgress>.
 module Network.AWS.DataPipeline.SetTaskStatus
     (
     -- * Creating a Request
@@ -110,7 +108,7 @@
 stsErrorMessage = lens _stsErrorMessage (\ s a -> s{_stsErrorMessage = a});
 
 -- | The ID of the task assigned to the task runner. This value is provided
--- in the response for PollForTask.
+-- in the response for < PollForTask>.
 stsTaskId :: Lens' SetTaskStatus Text
 stsTaskId = lens _stsTaskId (\ s a -> s{_stsTaskId = a});
 
@@ -126,6 +124,8 @@
           = receiveEmpty
               (\ s h x ->
                  SetTaskStatusResponse' <$> (pure (fromEnum s)))
+
+instance Hashable SetTaskStatus
 
 instance ToHeaders SetTaskStatus where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/Types.hs b/gen/Network/AWS/DataPipeline/Types.hs
--- a/gen/Network/AWS/DataPipeline/Types.hs
+++ b/gen/Network/AWS/DataPipeline/Types.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.Types
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -154,6 +154,7 @@
         , _retryCheck = check
         }
     check e
+      | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
diff --git a/gen/Network/AWS/DataPipeline/Types/Product.hs b/gen/Network/AWS/DataPipeline/Types/Product.hs
--- a/gen/Network/AWS/DataPipeline/Types/Product.hs
+++ b/gen/Network/AWS/DataPipeline/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.Types.Product
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -71,6 +71,8 @@
                    (x .:? "refValue") <*> (x .:? "stringValue") <*>
                      (x .: "key"))
 
+instance Hashable Field
+
 instance ToJSON Field where
         toJSON Field'{..}
           = object
@@ -120,6 +122,8 @@
 iiDocument :: Lens' InstanceIdentity (Maybe Text)
 iiDocument = lens _iiDocument (\ s a -> s{_iiDocument = a});
 
+instance Hashable InstanceIdentity
+
 instance ToJSON InstanceIdentity where
         toJSON InstanceIdentity'{..}
           = object
@@ -191,6 +195,8 @@
 oType :: Lens' Operator (Maybe OperatorType)
 oType = lens _oType (\ s a -> s{_oType = a});
 
+instance Hashable Operator
+
 instance ToJSON Operator where
         toJSON Operator'{..}
           = object
@@ -237,6 +243,8 @@
                  ParameterAttribute' <$>
                    (x .: "key") <*> (x .: "stringValue"))
 
+instance Hashable ParameterAttribute
+
 instance ToJSON ParameterAttribute where
         toJSON ParameterAttribute'{..}
           = object
@@ -283,6 +291,8 @@
                  ParameterObject' <$>
                    (x .: "id") <*> (x .:? "attributes" .!= mempty))
 
+instance Hashable ParameterObject
+
 instance ToJSON ParameterObject where
         toJSON ParameterObject'{..}
           = object
@@ -330,6 +340,8 @@
                  ParameterValue' <$>
                    (x .: "id") <*> (x .: "stringValue"))
 
+instance Hashable ParameterValue
+
 instance ToJSON ParameterValue where
         toJSON ParameterValue'{..}
           = object
@@ -409,6 +421,8 @@
                      <*> (x .: "name")
                      <*> (x .:? "fields" .!= mempty))
 
+instance Hashable PipelineDescription
+
 -- | Contains the name and identifier of a pipeline.
 --
 -- /See:/ 'pipelineIdName' smart constructor.
@@ -447,6 +461,8 @@
               (\ x ->
                  PipelineIdName' <$> (x .:? "name") <*> (x .:? "id"))
 
+instance Hashable PipelineIdName
+
 -- | Contains information about a pipeline object. This can be a logical,
 -- physical, or physical attempt pipeline object. The complete set of
 -- components of a pipeline defines the pipeline.
@@ -498,6 +514,8 @@
                    (x .: "id") <*> (x .: "name") <*>
                      (x .:? "fields" .!= mempty))
 
+instance Hashable PipelineObject
+
 instance ToJSON PipelineObject where
         toJSON PipelineObject'{..}
           = object
@@ -529,6 +547,8 @@
 qSelectors :: Lens' Query [Selector]
 qSelectors = lens _qSelectors (\ s a -> s{_qSelectors = a}) . _Default . _Coerce;
 
+instance Hashable Query
+
 instance ToJSON Query where
         toJSON Query'{..}
           = object
@@ -569,6 +589,8 @@
 sFieldName :: Lens' Selector (Maybe Text)
 sFieldName = lens _sFieldName (\ s a -> s{_sFieldName = a});
 
+instance Hashable Selector
+
 instance ToJSON Selector where
         toJSON Selector'{..}
           = object
@@ -623,6 +645,8 @@
           = withObject "Tag"
               (\ x -> Tag' <$> (x .: "key") <*> (x .: "value"))
 
+instance Hashable Tag
+
 instance ToJSON Tag where
         toJSON Tag'{..}
           = object
@@ -672,7 +696,7 @@
 toAttemptId = lens _toAttemptId (\ s a -> s{_toAttemptId = a});
 
 -- | An internal identifier for the task. This ID is passed to the
--- SetTaskStatus and ReportTaskProgress actions.
+-- < SetTaskStatus> and < ReportTaskProgress> actions.
 toTaskId :: Lens' TaskObject (Maybe Text)
 toTaskId = lens _toTaskId (\ s a -> s{_toTaskId = a});
 
@@ -690,6 +714,8 @@
                      (x .:? "taskId")
                      <*> (x .:? "objects" .!= mempty))
 
+instance Hashable TaskObject
+
 -- | Defines a validation error. Validation errors prevent pipeline
 -- activation. The set of validation errors that can be returned are
 -- defined by AWS Data Pipeline.
@@ -730,6 +756,8 @@
                  ValidationError' <$>
                    (x .:? "id") <*> (x .:? "errors" .!= mempty))
 
+instance Hashable ValidationError
+
 -- | Defines a validation warning. Validation warnings do not prevent
 -- pipeline activation. The set of validation warnings that can be returned
 -- are defined by AWS Data Pipeline.
@@ -769,3 +797,5 @@
               (\ x ->
                  ValidationWarning' <$>
                    (x .:? "warnings" .!= mempty) <*> (x .:? "id"))
+
+instance Hashable ValidationWarning
diff --git a/gen/Network/AWS/DataPipeline/Types/Sum.hs b/gen/Network/AWS/DataPipeline/Types/Sum.hs
--- a/gen/Network/AWS/DataPipeline/Types/Sum.hs
+++ b/gen/Network/AWS/DataPipeline/Types/Sum.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.Types.Sum
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/gen/Network/AWS/DataPipeline/ValidatePipelineDefinition.hs b/gen/Network/AWS/DataPipeline/ValidatePipelineDefinition.hs
--- a/gen/Network/AWS/DataPipeline/ValidatePipelineDefinition.hs
+++ b/gen/Network/AWS/DataPipeline/ValidatePipelineDefinition.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.ValidatePipelineDefinition
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Validates the specified pipeline definition to ensure that it is well
 -- formed and can be run without error.
---
--- /See:/ <http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_ValidatePipelineDefinition.html AWS API Reference> for ValidatePipelineDefinition.
 module Network.AWS.DataPipeline.ValidatePipelineDefinition
     (
     -- * Creating a Request
@@ -111,6 +109,8 @@
                      (x .?> "validationWarnings" .!@ mempty)
                      <*> (pure (fromEnum s))
                      <*> (x .:> "errored"))
+
+instance Hashable ValidatePipelineDefinition
 
 instance ToHeaders ValidatePipelineDefinition where
         toHeaders
diff --git a/gen/Network/AWS/DataPipeline/Waiters.hs b/gen/Network/AWS/DataPipeline/Waiters.hs
--- a/gen/Network/AWS/DataPipeline/Waiters.hs
+++ b/gen/Network/AWS/DataPipeline/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.DataPipeline.Waiters
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Test/AWS/DataPipeline.hs b/test/Test/AWS/DataPipeline.hs
--- a/test/Test/AWS/DataPipeline.hs
+++ b/test/Test/AWS/DataPipeline.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- Module      : Test.AWS.DataPipeline
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/DataPipeline/Internal.hs b/test/Test/AWS/DataPipeline/Internal.hs
--- a/test/Test/AWS/DataPipeline/Internal.hs
+++ b/test/Test/AWS/DataPipeline/Internal.hs
@@ -2,7 +2,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.DataPipeline.Internal
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/Gen/DataPipeline.hs b/test/Test/AWS/Gen/DataPipeline.hs
--- a/test/Test/AWS/Gen/DataPipeline.hs
+++ b/test/Test/AWS/Gen/DataPipeline.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.DataPipeline
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
