diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.0`
+`1.4.1`
 
 
 ## Description
@@ -19,7 +19,7 @@
 descriptions of the actions and data types for AWS CodePipeline. Some
 functionality for your pipeline is only configurable through the API.
 For additional information, see the
-<http://docs.aws.amazon.com/pipelines/latest/userguide/welcome.html AWS CodePipeline User Guide>.
+<http://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html AWS CodePipeline User Guide>.
 
 You can use the AWS CodePipeline API to work with pipelines, stages,
 actions, gates, and transitions, as described below.
@@ -52,8 +52,8 @@
 displays the status of a pipeline, including the status of stages in the
 pipeline, or < GetPipeline>, which returns the entire structure of the
 pipeline, including the stages of that pipeline. For more information
-about the structure of stages and actions, also refer to the AWS
-CodePipeline Pipeline Structure Reference.
+about the structure of stages and actions, also refer to the
+<http://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html AWS CodePipeline Pipeline Structure Reference>.
 
 Pipeline stages include /actions/, which are categorized into categories
 such as source or build actions performed within a stage of a pipeline.
diff --git a/amazonka-codepipeline.cabal b/amazonka-codepipeline.cabal
--- a/amazonka-codepipeline.cabal
+++ b/amazonka-codepipeline.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-codepipeline
-version:               1.4.0
+version:               1.4.1
 synopsis:              Amazon CodePipeline SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -19,7 +19,7 @@
     descriptions of the actions and data types for AWS CodePipeline. Some
     functionality for your pipeline is only configurable through the API.
     For additional information, see the
-    <http://docs.aws.amazon.com/pipelines/latest/userguide/welcome.html AWS CodePipeline User Guide>.
+    <http://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html AWS CodePipeline User Guide>.
 
     You can use the AWS CodePipeline API to work with pipelines, stages,
     actions, gates, and transitions, as described below.
@@ -52,8 +52,8 @@
     displays the status of a pipeline, including the status of stages in the
     pipeline, or < GetPipeline>, which returns the entire structure of the
     pipeline, including the stages of that pipeline. For more information
-    about the structure of stages and actions, also refer to the AWS
-    CodePipeline Pipeline Structure Reference.
+    about the structure of stages and actions, also refer to the
+    <http://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html AWS CodePipeline Pipeline Structure Reference>.
 
     Pipeline stages include /actions/, which are categorized into categories
     such as source or build actions performed within a stage of a pipeline.
@@ -168,7 +168,7 @@
         , Network.AWS.CodePipeline.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.0.*
+          amazonka-core == 1.4.1.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-codepipeline-test
@@ -188,9 +188,9 @@
         , Test.AWS.CodePipeline.Internal
 
     build-depends:
-          amazonka-core == 1.4.0.*
-        , amazonka-test == 1.4.0.*
-        , amazonka-codepipeline == 1.4.0.*
+          amazonka-core == 1.4.1.*
+        , amazonka-test == 1.4.1.*
+        , amazonka-codepipeline == 1.4.1.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/CodePipeline.hs b/gen/Network/AWS/CodePipeline.hs
--- a/gen/Network/AWS/CodePipeline.hs
+++ b/gen/Network/AWS/CodePipeline.hs
@@ -17,7 +17,7 @@
 -- descriptions of the actions and data types for AWS CodePipeline. Some
 -- functionality for your pipeline is only configurable through the API.
 -- For additional information, see the
--- <http://docs.aws.amazon.com/pipelines/latest/userguide/welcome.html AWS CodePipeline User Guide>.
+-- <http://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html AWS CodePipeline User Guide>.
 --
 -- You can use the AWS CodePipeline API to work with pipelines, stages,
 -- actions, gates, and transitions, as described below.
@@ -50,8 +50,8 @@
 -- displays the status of a pipeline, including the status of stages in the
 -- pipeline, or < GetPipeline>, which returns the entire structure of the
 -- pipeline, including the stages of that pipeline. For more information
--- about the structure of stages and actions, also refer to the AWS
--- CodePipeline Pipeline Structure Reference.
+-- about the structure of stages and actions, also refer to the
+-- <http://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html AWS CodePipeline Pipeline Structure Reference>.
 --
 -- Pipeline stages include /actions/, which are categorized into categories
 -- such as source or build actions performed within a stage of a pipeline.
@@ -333,8 +333,8 @@
     -- ** ActionRevision
     , ActionRevision
     , actionRevision
-    , arRevisionChangeId
     , arRevisionId
+    , arRevisionChangeId
     , arCreated
 
     -- ** ActionState
diff --git a/gen/Network/AWS/CodePipeline/AcknowledgeJob.hs b/gen/Network/AWS/CodePipeline/AcknowledgeJob.hs
--- a/gen/Network/AWS/CodePipeline/AcknowledgeJob.hs
+++ b/gen/Network/AWS/CodePipeline/AcknowledgeJob.hs
@@ -91,6 +91,8 @@
 
 instance Hashable AcknowledgeJob
 
+instance NFData AcknowledgeJob
+
 instance ToHeaders AcknowledgeJob where
         toHeaders
           = const
@@ -145,3 +147,5 @@
 -- | The response status code.
 ajrsResponseStatus :: Lens' AcknowledgeJobResponse Int
 ajrsResponseStatus = lens _ajrsResponseStatus (\ s a -> s{_ajrsResponseStatus = a});
+
+instance NFData AcknowledgeJobResponse
diff --git a/gen/Network/AWS/CodePipeline/AcknowledgeThirdPartyJob.hs b/gen/Network/AWS/CodePipeline/AcknowledgeThirdPartyJob.hs
--- a/gen/Network/AWS/CodePipeline/AcknowledgeThirdPartyJob.hs
+++ b/gen/Network/AWS/CodePipeline/AcknowledgeThirdPartyJob.hs
@@ -103,6 +103,8 @@
 
 instance Hashable AcknowledgeThirdPartyJob
 
+instance NFData AcknowledgeThirdPartyJob
+
 instance ToHeaders AcknowledgeThirdPartyJob where
         toHeaders
           = const
@@ -158,3 +160,5 @@
 -- | The response status code.
 atpjrsResponseStatus :: Lens' AcknowledgeThirdPartyJobResponse Int
 atpjrsResponseStatus = lens _atpjrsResponseStatus (\ s a -> s{_atpjrsResponseStatus = a});
+
+instance NFData AcknowledgeThirdPartyJobResponse
diff --git a/gen/Network/AWS/CodePipeline/CreateCustomActionType.hs b/gen/Network/AWS/CodePipeline/CreateCustomActionType.hs
--- a/gen/Network/AWS/CodePipeline/CreateCustomActionType.hs
+++ b/gen/Network/AWS/CodePipeline/CreateCustomActionType.hs
@@ -102,11 +102,20 @@
 ccatSettings = lens _ccatSettings (\ s a -> s{_ccatSettings = a});
 
 -- | The configuration properties for the custom action.
+--
+-- You can refer to a name in the configuration properties of the custom
+-- action within the URL templates by following the format of
+-- {Config:/name/}, as long as the configuration property is both required
+-- and not secret. For more information, see
+-- <http://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html Create a Custom Action for a Pipeline>.
 ccatConfigurationProperties :: Lens' CreateCustomActionType [ActionConfigurationProperty]
 ccatConfigurationProperties = lens _ccatConfigurationProperties (\ s a -> s{_ccatConfigurationProperties = a}) . _Default . _Coerce;
 
 -- | The category of the custom action, such as a source action or a build
 -- action.
+--
+-- Although Source is listed as a valid value, it is not currently
+-- functional. This value is reserved for future use.
 ccatCategory :: Lens' CreateCustomActionType ActionCategory
 ccatCategory = lens _ccatCategory (\ s a -> s{_ccatCategory = a});
 
@@ -116,9 +125,6 @@
 ccatProvider = lens _ccatProvider (\ s a -> s{_ccatProvider = a});
 
 -- | The version number of the custom action.
---
--- A newly-created custom action is always assigned a version number of
--- '1'. This is required.
 ccatVersion :: Lens' CreateCustomActionType Text
 ccatVersion = lens _ccatVersion (\ s a -> s{_ccatVersion = a});
 
@@ -142,6 +148,8 @@
 
 instance Hashable CreateCustomActionType
 
+instance NFData CreateCustomActionType
+
 instance ToHeaders CreateCustomActionType where
         toHeaders
           = const
@@ -207,3 +215,5 @@
 -- | Undocumented member.
 ccatrsActionType :: Lens' CreateCustomActionTypeResponse ActionType
 ccatrsActionType = lens _ccatrsActionType (\ s a -> s{_ccatrsActionType = a});
+
+instance NFData CreateCustomActionTypeResponse
diff --git a/gen/Network/AWS/CodePipeline/CreatePipeline.hs b/gen/Network/AWS/CodePipeline/CreatePipeline.hs
--- a/gen/Network/AWS/CodePipeline/CreatePipeline.hs
+++ b/gen/Network/AWS/CodePipeline/CreatePipeline.hs
@@ -77,6 +77,8 @@
 
 instance Hashable CreatePipeline
 
+instance NFData CreatePipeline
+
 instance ToHeaders CreatePipeline where
         toHeaders
           = const
@@ -129,3 +131,5 @@
 -- | The response status code.
 cprsResponseStatus :: Lens' CreatePipelineResponse Int
 cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a});
+
+instance NFData CreatePipelineResponse
diff --git a/gen/Network/AWS/CodePipeline/DeleteCustomActionType.hs b/gen/Network/AWS/CodePipeline/DeleteCustomActionType.hs
--- a/gen/Network/AWS/CodePipeline/DeleteCustomActionType.hs
+++ b/gen/Network/AWS/CodePipeline/DeleteCustomActionType.hs
@@ -100,6 +100,8 @@
 
 instance Hashable DeleteCustomActionType
 
+instance NFData DeleteCustomActionType
+
 instance ToHeaders DeleteCustomActionType where
         toHeaders
           = const
@@ -134,3 +136,5 @@
 deleteCustomActionTypeResponse
     :: DeleteCustomActionTypeResponse
 deleteCustomActionTypeResponse = DeleteCustomActionTypeResponse'
+
+instance NFData DeleteCustomActionTypeResponse
diff --git a/gen/Network/AWS/CodePipeline/DeletePipeline.hs b/gen/Network/AWS/CodePipeline/DeletePipeline.hs
--- a/gen/Network/AWS/CodePipeline/DeletePipeline.hs
+++ b/gen/Network/AWS/CodePipeline/DeletePipeline.hs
@@ -70,6 +70,8 @@
 
 instance Hashable DeletePipeline
 
+instance NFData DeletePipeline
+
 instance ToHeaders DeletePipeline where
         toHeaders
           = const
@@ -100,3 +102,5 @@
 deletePipelineResponse
     :: DeletePipelineResponse
 deletePipelineResponse = DeletePipelineResponse'
+
+instance NFData DeletePipelineResponse
diff --git a/gen/Network/AWS/CodePipeline/DisableStageTransition.hs b/gen/Network/AWS/CodePipeline/DisableStageTransition.hs
--- a/gen/Network/AWS/CodePipeline/DisableStageTransition.hs
+++ b/gen/Network/AWS/CodePipeline/DisableStageTransition.hs
@@ -110,6 +110,8 @@
 
 instance Hashable DisableStageTransition
 
+instance NFData DisableStageTransition
+
 instance ToHeaders DisableStageTransition where
         toHeaders
           = const
@@ -145,3 +147,5 @@
 disableStageTransitionResponse
     :: DisableStageTransitionResponse
 disableStageTransitionResponse = DisableStageTransitionResponse'
+
+instance NFData DisableStageTransitionResponse
diff --git a/gen/Network/AWS/CodePipeline/EnableStageTransition.hs b/gen/Network/AWS/CodePipeline/EnableStageTransition.hs
--- a/gen/Network/AWS/CodePipeline/EnableStageTransition.hs
+++ b/gen/Network/AWS/CodePipeline/EnableStageTransition.hs
@@ -97,6 +97,8 @@
 
 instance Hashable EnableStageTransition
 
+instance NFData EnableStageTransition
+
 instance ToHeaders EnableStageTransition where
         toHeaders
           = const
@@ -131,3 +133,5 @@
 enableStageTransitionResponse
     :: EnableStageTransitionResponse
 enableStageTransitionResponse = EnableStageTransitionResponse'
+
+instance NFData EnableStageTransitionResponse
diff --git a/gen/Network/AWS/CodePipeline/GetJobDetails.hs b/gen/Network/AWS/CodePipeline/GetJobDetails.hs
--- a/gen/Network/AWS/CodePipeline/GetJobDetails.hs
+++ b/gen/Network/AWS/CodePipeline/GetJobDetails.hs
@@ -83,6 +83,8 @@
 
 instance Hashable GetJobDetails
 
+instance NFData GetJobDetails
+
 instance ToHeaders GetJobDetails where
         toHeaders
           = const
@@ -137,3 +139,5 @@
 -- | The response status code.
 gjdrsResponseStatus :: Lens' GetJobDetailsResponse Int
 gjdrsResponseStatus = lens _gjdrsResponseStatus (\ s a -> s{_gjdrsResponseStatus = a});
+
+instance NFData GetJobDetailsResponse
diff --git a/gen/Network/AWS/CodePipeline/GetPipeline.hs b/gen/Network/AWS/CodePipeline/GetPipeline.hs
--- a/gen/Network/AWS/CodePipeline/GetPipeline.hs
+++ b/gen/Network/AWS/CodePipeline/GetPipeline.hs
@@ -91,6 +91,8 @@
 
 instance Hashable GetPipeline
 
+instance NFData GetPipeline
+
 instance ToHeaders GetPipeline where
         toHeaders
           = const
@@ -144,3 +146,5 @@
 -- | The response status code.
 gprsResponseStatus :: Lens' GetPipelineResponse Int
 gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a});
+
+instance NFData GetPipelineResponse
diff --git a/gen/Network/AWS/CodePipeline/GetPipelineState.hs b/gen/Network/AWS/CodePipeline/GetPipelineState.hs
--- a/gen/Network/AWS/CodePipeline/GetPipelineState.hs
+++ b/gen/Network/AWS/CodePipeline/GetPipelineState.hs
@@ -86,6 +86,8 @@
 
 instance Hashable GetPipelineState
 
+instance NFData GetPipelineState
+
 instance ToHeaders GetPipelineState where
         toHeaders
           = const
@@ -173,3 +175,5 @@
 -- | The response status code.
 gpsrsResponseStatus :: Lens' GetPipelineStateResponse Int
 gpsrsResponseStatus = lens _gpsrsResponseStatus (\ s a -> s{_gpsrsResponseStatus = a});
+
+instance NFData GetPipelineStateResponse
diff --git a/gen/Network/AWS/CodePipeline/GetThirdPartyJobDetails.hs b/gen/Network/AWS/CodePipeline/GetThirdPartyJobDetails.hs
--- a/gen/Network/AWS/CodePipeline/GetThirdPartyJobDetails.hs
+++ b/gen/Network/AWS/CodePipeline/GetThirdPartyJobDetails.hs
@@ -97,6 +97,8 @@
 
 instance Hashable GetThirdPartyJobDetails
 
+instance NFData GetThirdPartyJobDetails
+
 instance ToHeaders GetThirdPartyJobDetails where
         toHeaders
           = const
@@ -152,3 +154,5 @@
 -- | The response status code.
 gtpjdrsResponseStatus :: Lens' GetThirdPartyJobDetailsResponse Int
 gtpjdrsResponseStatus = lens _gtpjdrsResponseStatus (\ s a -> s{_gtpjdrsResponseStatus = a});
+
+instance NFData GetThirdPartyJobDetailsResponse
diff --git a/gen/Network/AWS/CodePipeline/ListActionTypes.hs b/gen/Network/AWS/CodePipeline/ListActionTypes.hs
--- a/gen/Network/AWS/CodePipeline/ListActionTypes.hs
+++ b/gen/Network/AWS/CodePipeline/ListActionTypes.hs
@@ -90,6 +90,8 @@
 
 instance Hashable ListActionTypes
 
+instance NFData ListActionTypes
+
 instance ToHeaders ListActionTypes where
         toHeaders
           = const
@@ -154,3 +156,5 @@
 -- | Provides details of the action types.
 latrsActionTypes :: Lens' ListActionTypesResponse [ActionType]
 latrsActionTypes = lens _latrsActionTypes (\ s a -> s{_latrsActionTypes = a}) . _Coerce;
+
+instance NFData ListActionTypesResponse
diff --git a/gen/Network/AWS/CodePipeline/ListPipelines.hs b/gen/Network/AWS/CodePipeline/ListPipelines.hs
--- a/gen/Network/AWS/CodePipeline/ListPipelines.hs
+++ b/gen/Network/AWS/CodePipeline/ListPipelines.hs
@@ -80,6 +80,8 @@
 
 instance Hashable ListPipelines
 
+instance NFData ListPipelines
+
 instance ToHeaders ListPipelines where
         toHeaders
           = const
@@ -142,3 +144,5 @@
 -- | The response status code.
 lprsResponseStatus :: Lens' ListPipelinesResponse Int
 lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a});
+
+instance NFData ListPipelinesResponse
diff --git a/gen/Network/AWS/CodePipeline/PollForJobs.hs b/gen/Network/AWS/CodePipeline/PollForJobs.hs
--- a/gen/Network/AWS/CodePipeline/PollForJobs.hs
+++ b/gen/Network/AWS/CodePipeline/PollForJobs.hs
@@ -105,6 +105,8 @@
 
 instance Hashable PollForJobs
 
+instance NFData PollForJobs
+
 instance ToHeaders PollForJobs where
         toHeaders
           = const
@@ -159,3 +161,5 @@
 -- | The response status code.
 pfjrsResponseStatus :: Lens' PollForJobsResponse Int
 pfjrsResponseStatus = lens _pfjrsResponseStatus (\ s a -> s{_pfjrsResponseStatus = a});
+
+instance NFData PollForJobsResponse
diff --git a/gen/Network/AWS/CodePipeline/PollForThirdPartyJobs.hs b/gen/Network/AWS/CodePipeline/PollForThirdPartyJobs.hs
--- a/gen/Network/AWS/CodePipeline/PollForThirdPartyJobs.hs
+++ b/gen/Network/AWS/CodePipeline/PollForThirdPartyJobs.hs
@@ -93,6 +93,8 @@
 
 instance Hashable PollForThirdPartyJobs
 
+instance NFData PollForThirdPartyJobs
+
 instance ToHeaders PollForThirdPartyJobs where
         toHeaders
           = const
@@ -147,3 +149,5 @@
 -- | The response status code.
 pftpjrsResponseStatus :: Lens' PollForThirdPartyJobsResponse Int
 pftpjrsResponseStatus = lens _pftpjrsResponseStatus (\ s a -> s{_pftpjrsResponseStatus = a});
+
+instance NFData PollForThirdPartyJobsResponse
diff --git a/gen/Network/AWS/CodePipeline/PutActionRevision.hs b/gen/Network/AWS/CodePipeline/PutActionRevision.hs
--- a/gen/Network/AWS/CodePipeline/PutActionRevision.hs
+++ b/gen/Network/AWS/CodePipeline/PutActionRevision.hs
@@ -113,6 +113,8 @@
 
 instance Hashable PutActionRevision
 
+instance NFData PutActionRevision
+
 instance ToHeaders PutActionRevision where
         toHeaders
           = const
@@ -178,3 +180,5 @@
 -- | The response status code.
 parrsResponseStatus :: Lens' PutActionRevisionResponse Int
 parrsResponseStatus = lens _parrsResponseStatus (\ s a -> s{_parrsResponseStatus = a});
+
+instance NFData PutActionRevisionResponse
diff --git a/gen/Network/AWS/CodePipeline/PutJobFailureResult.hs b/gen/Network/AWS/CodePipeline/PutJobFailureResult.hs
--- a/gen/Network/AWS/CodePipeline/PutJobFailureResult.hs
+++ b/gen/Network/AWS/CodePipeline/PutJobFailureResult.hs
@@ -83,6 +83,8 @@
 
 instance Hashable PutJobFailureResult
 
+instance NFData PutJobFailureResult
+
 instance ToHeaders PutJobFailureResult where
         toHeaders
           = const
@@ -116,3 +118,5 @@
 putJobFailureResultResponse
     :: PutJobFailureResultResponse
 putJobFailureResultResponse = PutJobFailureResultResponse'
+
+instance NFData PutJobFailureResultResponse
diff --git a/gen/Network/AWS/CodePipeline/PutJobSuccessResult.hs b/gen/Network/AWS/CodePipeline/PutJobSuccessResult.hs
--- a/gen/Network/AWS/CodePipeline/PutJobSuccessResult.hs
+++ b/gen/Network/AWS/CodePipeline/PutJobSuccessResult.hs
@@ -75,8 +75,12 @@
     , _pjsrJobId = pJobId_
     }
 
--- | A system-generated token, such as a AWS CodeDeploy deployment ID, that
--- the successful job used to complete a job asynchronously.
+-- | A token generated by a job worker, such as an AWS CodeDeploy deployment
+-- ID, that a successful job provides to identify a custom action in
+-- progress. Future jobs will use this token in order to identify the
+-- running instance of the action. It can be reused to return additional
+-- information about the progress of the custom action. When the action is
+-- complete, no continuation token should be supplied.
 pjsrContinuationToken :: Lens' PutJobSuccessResult (Maybe Text)
 pjsrContinuationToken = lens _pjsrContinuationToken (\ s a -> s{_pjsrContinuationToken = a});
 
@@ -103,6 +107,8 @@
 
 instance Hashable PutJobSuccessResult
 
+instance NFData PutJobSuccessResult
+
 instance ToHeaders PutJobSuccessResult where
         toHeaders
           = const
@@ -138,3 +144,5 @@
 putJobSuccessResultResponse
     :: PutJobSuccessResultResponse
 putJobSuccessResultResponse = PutJobSuccessResultResponse'
+
+instance NFData PutJobSuccessResultResponse
diff --git a/gen/Network/AWS/CodePipeline/PutThirdPartyJobFailureResult.hs b/gen/Network/AWS/CodePipeline/PutThirdPartyJobFailureResult.hs
--- a/gen/Network/AWS/CodePipeline/PutThirdPartyJobFailureResult.hs
+++ b/gen/Network/AWS/CodePipeline/PutThirdPartyJobFailureResult.hs
@@ -97,6 +97,8 @@
 
 instance Hashable PutThirdPartyJobFailureResult
 
+instance NFData PutThirdPartyJobFailureResult
+
 instance ToHeaders PutThirdPartyJobFailureResult
          where
         toHeaders
@@ -132,3 +134,5 @@
 putThirdPartyJobFailureResultResponse
     :: PutThirdPartyJobFailureResultResponse
 putThirdPartyJobFailureResultResponse = PutThirdPartyJobFailureResultResponse'
+
+instance NFData PutThirdPartyJobFailureResultResponse
diff --git a/gen/Network/AWS/CodePipeline/PutThirdPartyJobSuccessResult.hs b/gen/Network/AWS/CodePipeline/PutThirdPartyJobSuccessResult.hs
--- a/gen/Network/AWS/CodePipeline/PutThirdPartyJobSuccessResult.hs
+++ b/gen/Network/AWS/CodePipeline/PutThirdPartyJobSuccessResult.hs
@@ -81,8 +81,12 @@
     , _ptpjsrClientToken = pClientToken_
     }
 
--- | A system-generated token, such as a AWS CodeDeploy deployment ID, that a
--- job uses in order to continue the job asynchronously.
+-- | A token generated by a job worker, such as an AWS CodeDeploy deployment
+-- ID, that a successful job provides to identify a partner action in
+-- progress. Future jobs will use this token in order to identify the
+-- running instance of the action. It can be reused to return additional
+-- information about the progress of the partner action. When the action is
+-- complete, no continuation token should be supplied.
 ptpjsrContinuationToken :: Lens' PutThirdPartyJobSuccessResult (Maybe Text)
 ptpjsrContinuationToken = lens _ptpjsrContinuationToken (\ s a -> s{_ptpjsrContinuationToken = a});
 
@@ -115,6 +119,8 @@
 
 instance Hashable PutThirdPartyJobSuccessResult
 
+instance NFData PutThirdPartyJobSuccessResult
+
 instance ToHeaders PutThirdPartyJobSuccessResult
          where
         toHeaders
@@ -153,3 +159,5 @@
 putThirdPartyJobSuccessResultResponse
     :: PutThirdPartyJobSuccessResultResponse
 putThirdPartyJobSuccessResultResponse = PutThirdPartyJobSuccessResultResponse'
+
+instance NFData PutThirdPartyJobSuccessResultResponse
diff --git a/gen/Network/AWS/CodePipeline/StartPipelineExecution.hs b/gen/Network/AWS/CodePipeline/StartPipelineExecution.hs
--- a/gen/Network/AWS/CodePipeline/StartPipelineExecution.hs
+++ b/gen/Network/AWS/CodePipeline/StartPipelineExecution.hs
@@ -80,6 +80,8 @@
 
 instance Hashable StartPipelineExecution
 
+instance NFData StartPipelineExecution
+
 instance ToHeaders StartPipelineExecution where
         toHeaders
           = const
@@ -131,3 +133,5 @@
 -- | The response status code.
 spersResponseStatus :: Lens' StartPipelineExecutionResponse Int
 spersResponseStatus = lens _spersResponseStatus (\ s a -> s{_spersResponseStatus = a});
+
+instance NFData StartPipelineExecutionResponse
diff --git a/gen/Network/AWS/CodePipeline/Types.hs b/gen/Network/AWS/CodePipeline/Types.hs
--- a/gen/Network/AWS/CodePipeline/Types.hs
+++ b/gen/Network/AWS/CodePipeline/Types.hs
@@ -121,8 +121,8 @@
     -- * ActionRevision
     , ActionRevision
     , actionRevision
-    , arRevisionChangeId
     , arRevisionId
+    , arRevisionChangeId
     , arCreated
 
     -- * ActionState
@@ -376,6 +376,8 @@
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           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"
       | has (hasStatus 503) e = Just "service_unavailable"
       | has (hasStatus 500) e = Just "general_server_error"
       | has (hasStatus 509) e = Just "limit_exceeded"
@@ -398,7 +400,7 @@
 _ActionNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
 _ActionNotFoundException = _ServiceError . hasCode "ActionNotFoundException"
 
--- | The specified gate declaration was specified in an invalid format.
+-- | Reserved for future use.
 _InvalidBlockerDeclarationException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidBlockerDeclarationException =
     _ServiceError . hasCode "InvalidBlockerDeclarationException"
diff --git a/gen/Network/AWS/CodePipeline/Types/Product.hs b/gen/Network/AWS/CodePipeline/Types/Product.hs
--- a/gen/Network/AWS/CodePipeline/Types/Product.hs
+++ b/gen/Network/AWS/CodePipeline/Types/Product.hs
@@ -76,6 +76,8 @@
 
 instance Hashable AWSSessionCredentials
 
+instance NFData AWSSessionCredentials
+
 -- | Represents information about an action configuration.
 --
 -- /See:/ 'actionConfiguration' smart constructor.
@@ -108,6 +110,8 @@
 
 instance Hashable ActionConfiguration
 
+instance NFData ActionConfiguration
+
 -- | Represents information about an action configuration property.
 --
 -- /See:/ 'actionConfigurationProperty' smart constructor.
@@ -212,6 +216,8 @@
 
 instance Hashable ActionConfigurationProperty
 
+instance NFData ActionConfigurationProperty
+
 instance ToJSON ActionConfigurationProperty where
         toJSON ActionConfigurationProperty'{..}
           = object
@@ -255,6 +261,8 @@
 
 instance Hashable ActionContext
 
+instance NFData ActionContext
+
 -- | Represents information about an action declaration.
 --
 -- /See:/ 'actionDeclaration' smart constructor.
@@ -346,6 +354,8 @@
 
 instance Hashable ActionDeclaration
 
+instance NFData ActionDeclaration
+
 instance ToJSON ActionDeclaration where
         toJSON ActionDeclaration'{..}
           = object
@@ -445,12 +455,14 @@
 
 instance Hashable ActionExecution
 
+instance NFData ActionExecution
+
 -- | Represents information about the version (or revision) of an action.
 --
 -- /See:/ 'actionRevision' smart constructor.
 data ActionRevision = ActionRevision'
-    { _arRevisionChangeId :: !(Maybe Text)
-    , _arRevisionId       :: !Text
+    { _arRevisionId       :: !Text
+    , _arRevisionChangeId :: !Text
     , _arCreated          :: !POSIX
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
@@ -458,32 +470,33 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'arRevisionChangeId'
---
 -- * 'arRevisionId'
 --
+-- * 'arRevisionChangeId'
+--
 -- * 'arCreated'
 actionRevision
     :: Text -- ^ 'arRevisionId'
+    -> Text -- ^ 'arRevisionChangeId'
     -> UTCTime -- ^ 'arCreated'
     -> ActionRevision
-actionRevision pRevisionId_ pCreated_ =
+actionRevision pRevisionId_ pRevisionChangeId_ pCreated_ =
     ActionRevision'
-    { _arRevisionChangeId = Nothing
-    , _arRevisionId = pRevisionId_
+    { _arRevisionId = pRevisionId_
+    , _arRevisionChangeId = pRevisionChangeId_
     , _arCreated = _Time # pCreated_
     }
 
--- | The unique identifier of the change that set the state to this revision,
--- for example a deployment ID or timestamp.
-arRevisionChangeId :: Lens' ActionRevision (Maybe Text)
-arRevisionChangeId = lens _arRevisionChangeId (\ s a -> s{_arRevisionChangeId = a});
-
 -- | The system-generated unique ID that identifies the revision number of
 -- the action.
 arRevisionId :: Lens' ActionRevision Text
 arRevisionId = lens _arRevisionId (\ s a -> s{_arRevisionId = a});
 
+-- | The unique identifier of the change that set the state to this revision,
+-- for example a deployment ID or timestamp.
+arRevisionChangeId :: Lens' ActionRevision Text
+arRevisionChangeId = lens _arRevisionChangeId (\ s a -> s{_arRevisionChangeId = a});
+
 -- | The date and time when the most recent version of the action was
 -- created, in timestamp format.
 arCreated :: Lens' ActionRevision UTCTime
@@ -494,17 +507,19 @@
           = withObject "ActionRevision"
               (\ x ->
                  ActionRevision' <$>
-                   (x .:? "revisionChangeId") <*> (x .: "revisionId")
-                     <*> (x .: "created"))
+                   (x .: "revisionId") <*> (x .: "revisionChangeId") <*>
+                     (x .: "created"))
 
 instance Hashable ActionRevision
 
+instance NFData ActionRevision
+
 instance ToJSON ActionRevision where
         toJSON ActionRevision'{..}
           = object
               (catMaybes
-                 [("revisionChangeId" .=) <$> _arRevisionChangeId,
-                  Just ("revisionId" .= _arRevisionId),
+                 [Just ("revisionId" .= _arRevisionId),
+                  Just ("revisionChangeId" .= _arRevisionChangeId),
                   Just ("created" .= _arCreated)])
 
 -- | Represents information about the state of an action.
@@ -576,6 +591,8 @@
 
 instance Hashable ActionState
 
+instance NFData ActionState
+
 -- | Returns information about the details of an action type.
 --
 -- /See:/ 'actionType' smart constructor.
@@ -647,6 +664,8 @@
 
 instance Hashable ActionType
 
+instance NFData ActionType
+
 -- | Represents information about an action type.
 --
 -- /See:/ 'actionTypeId' smart constructor.
@@ -714,6 +733,8 @@
 
 instance Hashable ActionTypeId
 
+instance NFData ActionTypeId
+
 instance ToJSON ActionTypeId where
         toJSON ActionTypeId'{..}
           = object
@@ -793,6 +814,8 @@
 
 instance Hashable ActionTypeSettings
 
+instance NFData ActionTypeSettings
+
 instance ToJSON ActionTypeSettings where
         toJSON ActionTypeSettings'{..}
           = object
@@ -856,6 +879,8 @@
 
 instance Hashable Artifact
 
+instance NFData Artifact
+
 -- | Returns information about the details of an artifact.
 --
 -- /See:/ 'artifactDetails' smart constructor.
@@ -898,6 +923,8 @@
 
 instance Hashable ArtifactDetails
 
+instance NFData ArtifactDetails
+
 instance ToJSON ArtifactDetails where
         toJSON ArtifactDetails'{..}
           = object
@@ -945,9 +972,12 @@
 
 instance Hashable ArtifactLocation
 
+instance NFData ArtifactLocation
+
 -- | The Amazon S3 location where artifacts are stored for the pipeline. If
 -- this Amazon S3 bucket is created manually, it must meet the requirements
--- for AWS CodePipeline. For more information, see the Concepts.
+-- for AWS CodePipeline. For more information, see the
+-- <http://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#CPS3Bucket Concepts>.
 --
 -- /See:/ 'artifactStore' smart constructor.
 data ArtifactStore = ArtifactStore'
@@ -976,9 +1006,9 @@
     , _asLocation = pLocation_
     }
 
--- | The AWS Key Management Service (AWS KMS) key used to encrypt the data in
--- the artifact store. If this is undefined, the default key for Amazon S3
--- is used.
+-- | The encryption key used to encrypt the data in the artifact store, such
+-- as an AWS Key Management Service (AWS KMS) key. If this is undefined,
+-- the default key for Amazon S3 is used.
 asEncryptionKey :: Lens' ArtifactStore (Maybe EncryptionKey)
 asEncryptionKey = lens _asEncryptionKey (\ s a -> s{_asEncryptionKey = a});
 
@@ -1001,6 +1031,8 @@
 
 instance Hashable ArtifactStore
 
+instance NFData ArtifactStore
+
 instance ToJSON ArtifactStore where
         toJSON ArtifactStore'{..}
           = object
@@ -1009,7 +1041,7 @@
                   Just ("type" .= _asType),
                   Just ("location" .= _asLocation)])
 
--- | Represents information about a gate declaration.
+-- | Reserved for future use.
 --
 -- /See:/ 'blockerDeclaration' smart constructor.
 data BlockerDeclaration = BlockerDeclaration'
@@ -1034,11 +1066,11 @@
     , _bdType = pType_
     }
 
--- | The name of the gate declaration.
+-- | Reserved for future use.
 bdName :: Lens' BlockerDeclaration Text
 bdName = lens _bdName (\ s a -> s{_bdName = a});
 
--- | The type of the gate declaration.
+-- | Reserved for future use.
 bdType :: Lens' BlockerDeclaration BlockerType
 bdType = lens _bdType (\ s a -> s{_bdType = a});
 
@@ -1051,6 +1083,8 @@
 
 instance Hashable BlockerDeclaration
 
+instance NFData BlockerDeclaration
+
 instance ToJSON BlockerDeclaration where
         toJSON BlockerDeclaration'{..}
           = object
@@ -1092,6 +1126,8 @@
 
 instance Hashable CurrentRevision
 
+instance NFData CurrentRevision
+
 instance ToJSON CurrentRevision where
         toJSON CurrentRevision'{..}
           = object
@@ -1099,8 +1135,8 @@
                  [Just ("revision" .= _crRevision),
                   Just ("changeIdentifier" .= _crChangeIdentifier)])
 
--- | Represents information about the AWS Key Management Service (AWS KMS)
--- key used to encrypt data in the artifact store.
+-- | Represents information about the key used to encrypt data in the
+-- artifact store, such as an AWS Key Management Service (AWS KMS) key.
 --
 -- /See:/ 'encryptionKey' smart constructor.
 data EncryptionKey = EncryptionKey'
@@ -1125,11 +1161,14 @@
     , _ekType = pType_
     }
 
--- | The ID of the AWS KMS key.
+-- | The ID used to identify the key. For an AWS KMS key, this is the key ID
+-- or key ARN.
 ekId :: Lens' EncryptionKey Text
 ekId = lens _ekId (\ s a -> s{_ekId = a});
 
--- | The type of AWS KMS key, such as a customer master key.
+-- | The type of encryption key, such as an AWS Key Management Service (AWS
+-- KMS) key. When creating or updating a pipeline, the value must be set to
+-- \'KMS\'.
 ekType :: Lens' EncryptionKey EncryptionKeyType
 ekType = lens _ekType (\ s a -> s{_ekType = a});
 
@@ -1141,6 +1180,8 @@
 
 instance Hashable EncryptionKey
 
+instance NFData EncryptionKey
+
 instance ToJSON EncryptionKey where
         toJSON EncryptionKey'{..}
           = object
@@ -1187,6 +1228,8 @@
 
 instance Hashable ErrorDetails
 
+instance NFData ErrorDetails
+
 -- | The details of the actions taken and results produced on an artifact as
 -- it passes through stages in the pipeline.
 --
@@ -1231,6 +1274,8 @@
 
 instance Hashable ExecutionDetails
 
+instance NFData ExecutionDetails
+
 instance ToJSON ExecutionDetails where
         toJSON ExecutionDetails'{..}
           = object
@@ -1283,6 +1328,8 @@
 
 instance Hashable FailureDetails
 
+instance NFData FailureDetails
+
 instance ToJSON FailureDetails where
         toJSON FailureDetails'{..}
           = object
@@ -1330,6 +1377,8 @@
 
 instance Hashable InputArtifact
 
+instance NFData InputArtifact
+
 instance ToJSON InputArtifact where
         toJSON InputArtifact'{..}
           = object (catMaybes [Just ("name" .= _iaName)])
@@ -1394,6 +1443,8 @@
 
 instance Hashable Job
 
+instance NFData Job
+
 -- | Represents additional information about a job required for a job worker
 -- to complete the job.
 --
@@ -1491,6 +1542,8 @@
 
 instance Hashable JobData
 
+instance NFData JobData
+
 -- | Represents information about the details of a job.
 --
 -- /See:/ 'jobDetails' smart constructor.
@@ -1540,6 +1593,8 @@
 
 instance Hashable JobDetails
 
+instance NFData JobDetails
+
 -- | Represents information about the output of an action.
 --
 -- /See:/ 'outputArtifact' smart constructor.
@@ -1579,6 +1634,8 @@
 
 instance Hashable OutputArtifact
 
+instance NFData OutputArtifact
+
 instance ToJSON OutputArtifact where
         toJSON OutputArtifact'{..}
           = object (catMaybes [Just ("name" .= _oaName)])
@@ -1634,6 +1691,8 @@
 
 instance Hashable PipelineContext
 
+instance NFData PipelineContext
+
 -- | Represents the structure of actions and stages to be performed in the
 -- pipeline.
 --
@@ -1709,6 +1768,8 @@
 
 instance Hashable PipelineDeclaration
 
+instance NFData PipelineDeclaration
+
 instance ToJSON PipelineDeclaration where
         toJSON PipelineDeclaration'{..}
           = object
@@ -1778,6 +1839,8 @@
 
 instance Hashable PipelineSummary
 
+instance NFData PipelineSummary
+
 -- | The location of the Amazon S3 bucket that contains a revision.
 --
 -- /See:/ 's3ArtifactLocation' smart constructor.
@@ -1821,6 +1884,8 @@
 
 instance Hashable S3ArtifactLocation
 
+instance NFData S3ArtifactLocation
+
 -- | Represents information about a stage to a job worker.
 --
 -- /See:/ 'stageContext' smart constructor.
@@ -1851,6 +1916,8 @@
 
 instance Hashable StageContext
 
+instance NFData StageContext
+
 -- | Represents information about a stage and its definition.
 --
 -- /See:/ 'stageDeclaration' smart constructor.
@@ -1879,7 +1946,7 @@
     , _sdActions = mempty
     }
 
--- | The gates included in a stage.
+-- | Reserved for future use.
 sdBlockers :: Lens' StageDeclaration [BlockerDeclaration]
 sdBlockers = lens _sdBlockers (\ s a -> s{_sdBlockers = a}) . _Default . _Coerce;
 
@@ -1901,6 +1968,8 @@
 
 instance Hashable StageDeclaration
 
+instance NFData StageDeclaration
+
 instance ToJSON StageDeclaration where
         toJSON StageDeclaration'{..}
           = object
@@ -1960,6 +2029,8 @@
 
 instance Hashable StageState
 
+instance NFData StageState
+
 -- | A response to a PollForThirdPartyJobs request returned by AWS
 -- CodePipeline when there is a job to be worked upon by a partner action.
 --
@@ -2003,6 +2074,8 @@
 
 instance Hashable ThirdPartyJob
 
+instance NFData ThirdPartyJob
+
 -- | Represents information about the job data for a partner action.
 --
 -- /See:/ 'thirdPartyJobData' smart constructor.
@@ -2069,8 +2142,9 @@
 tpjdPipelineContext :: Lens' ThirdPartyJobData (Maybe PipelineContext)
 tpjdPipelineContext = lens _tpjdPipelineContext (\ s a -> s{_tpjdPipelineContext = a});
 
--- | The AWS Key Management Service (AWS KMS) key used to encrypt and decrypt
--- data in the artifact store for the pipeline.
+-- | The encryption key used to encrypt and decrypt data in the artifact
+-- store for the pipeline, such as an AWS Key Management Service (AWS KMS)
+-- key. This is optional and might not be present.
 tpjdEncryptionKey :: Lens' ThirdPartyJobData (Maybe EncryptionKey)
 tpjdEncryptionKey = lens _tpjdEncryptionKey (\ s a -> s{_tpjdEncryptionKey = a});
 
@@ -2106,6 +2180,8 @@
 
 instance Hashable ThirdPartyJobData
 
+instance NFData ThirdPartyJobData
+
 -- | The details of a job sent in response to a GetThirdPartyJobDetails
 -- request.
 --
@@ -2157,6 +2233,8 @@
 
 instance Hashable ThirdPartyJobDetails
 
+instance NFData ThirdPartyJobDetails
+
 -- | Represents information about the state of transitions between one stage
 -- and another stage.
 --
@@ -2217,3 +2295,5 @@
                      <*> (x .:? "lastChangedBy"))
 
 instance Hashable TransitionState
+
+instance NFData TransitionState
diff --git a/gen/Network/AWS/CodePipeline/Types/Sum.hs b/gen/Network/AWS/CodePipeline/Types/Sum.hs
--- a/gen/Network/AWS/CodePipeline/Types/Sum.hs
+++ b/gen/Network/AWS/CodePipeline/Types/Sum.hs
@@ -46,6 +46,7 @@
         Test -> "Test"
 
 instance Hashable     ActionCategory
+instance NFData       ActionCategory
 instance ToByteString ActionCategory
 instance ToQuery      ActionCategory
 instance ToHeader     ActionCategory
@@ -77,6 +78,7 @@
         String -> "String"
 
 instance Hashable     ActionConfigurationPropertyType
+instance NFData       ActionConfigurationPropertyType
 instance ToByteString ActionConfigurationPropertyType
 instance ToQuery      ActionConfigurationPropertyType
 instance ToHeader     ActionConfigurationPropertyType
@@ -108,6 +110,7 @@
         Succeeded -> "Succeeded"
 
 instance Hashable     ActionExecutionStatus
+instance NFData       ActionExecutionStatus
 instance ToByteString ActionExecutionStatus
 instance ToQuery      ActionExecutionStatus
 instance ToHeader     ActionExecutionStatus
@@ -136,6 +139,7 @@
         ThirdParty -> "ThirdParty"
 
 instance Hashable     ActionOwner
+instance NFData       ActionOwner
 instance ToByteString ActionOwner
 instance ToQuery      ActionOwner
 instance ToHeader     ActionOwner
@@ -161,6 +165,7 @@
         ALTS3 -> "S3"
 
 instance Hashable     ArtifactLocationType
+instance NFData       ArtifactLocationType
 instance ToByteString ArtifactLocationType
 instance ToQuery      ArtifactLocationType
 instance ToHeader     ArtifactLocationType
@@ -183,6 +188,7 @@
         S3 -> "S3"
 
 instance Hashable     ArtifactStoreType
+instance NFData       ArtifactStoreType
 instance ToByteString ArtifactStoreType
 instance ToQuery      ArtifactStoreType
 instance ToHeader     ArtifactStoreType
@@ -208,6 +214,7 @@
         Schedule -> "Schedule"
 
 instance Hashable     BlockerType
+instance NFData       BlockerType
 instance ToByteString BlockerType
 instance ToQuery      BlockerType
 instance ToHeader     BlockerType
@@ -233,6 +240,7 @@
         KMS -> "KMS"
 
 instance Hashable     EncryptionKeyType
+instance NFData       EncryptionKeyType
 instance ToByteString EncryptionKeyType
 instance ToQuery      EncryptionKeyType
 instance ToHeader     EncryptionKeyType
@@ -273,6 +281,7 @@
         SystemUnavailable -> "SystemUnavailable"
 
 instance Hashable     FailureType
+instance NFData       FailureType
 instance ToByteString FailureType
 instance ToQuery      FailureType
 instance ToHeader     FailureType
@@ -313,6 +322,7 @@
         JSTimedOut -> "TimedOut"
 
 instance Hashable     JobStatus
+instance NFData       JobStatus
 instance ToByteString JobStatus
 instance ToQuery      JobStatus
 instance ToHeader     JobStatus
@@ -338,6 +348,7 @@
         Outbound -> "Outbound"
 
 instance Hashable     StageTransitionType
+instance NFData       StageTransitionType
 instance ToByteString StageTransitionType
 instance ToQuery      StageTransitionType
 instance ToHeader     StageTransitionType
diff --git a/gen/Network/AWS/CodePipeline/UpdatePipeline.hs b/gen/Network/AWS/CodePipeline/UpdatePipeline.hs
--- a/gen/Network/AWS/CodePipeline/UpdatePipeline.hs
+++ b/gen/Network/AWS/CodePipeline/UpdatePipeline.hs
@@ -80,6 +80,8 @@
 
 instance Hashable UpdatePipeline
 
+instance NFData UpdatePipeline
+
 instance ToHeaders UpdatePipeline where
         toHeaders
           = const
@@ -132,3 +134,5 @@
 -- | The response status code.
 uprsResponseStatus :: Lens' UpdatePipelineResponse Int
 uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a});
+
+instance NFData UpdatePipelineResponse
