diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,33 +8,30 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
 
 AWS CodeDeploy __Overview__
 
-This is the AWS CodeDeploy API Reference. This guide provides
-descriptions of the AWS CodeDeploy APIs. For additional information, see
-the
-<http://docs.aws.amazon.com/codedeploy/latest/userguide AWS CodeDeploy User Guide>.
+This reference guide provides descriptions of the AWS CodeDeploy APIs.
+For more information about AWS CodeDeploy, see the
+<docs.aws.amazon.com/codedeploy/latest/userguide AWS CodeDeploy User Guide>.
 
 __Using the APIs__
 
-You can use the AWS CodeDeploy APIs to work with the following items:
+You can use the AWS CodeDeploy APIs to work with the following:
 
--   Applications are unique identifiers that AWS CodeDeploy uses to
-    ensure that the correct combinations of revisions, deployment
-    configurations, and deployment groups are being referenced during
-    deployments.
+-   Applications are unique identifiers used by AWS CodeDeploy to ensure
+    the correct combinations of revisions, deployment configurations,
+    and deployment groups are being referenced during deployments.
 
     You can use the AWS CodeDeploy APIs to create, delete, get, list,
     and update applications.
 
--   Deployment configurations are sets of deployment rules and
-    deployment success and failure conditions that AWS CodeDeploy uses
-    during deployments.
+-   Deployment configurations are sets of deployment rules and success
+    and failure conditions used by AWS CodeDeploy during deployments.
 
     You can use the AWS CodeDeploy APIs to create, delete, get, and list
     deployment configurations.
@@ -50,7 +47,7 @@
     tags or Auto Scaling group names. Instances belong to deployment
     groups.
 
-    You can use the AWS CodeDeploy APIs to get and list instances.
+    You can use the AWS CodeDeploy APIs to get and list instance.
 
 -   Deployments represent the process of deploying revisions to
     instances.
@@ -58,24 +55,24 @@
     You can use the AWS CodeDeploy APIs to create, get, list, and stop
     deployments.
 
--   Application revisions are archive files that are stored in Amazon S3
-    buckets or GitHub repositories. These revisions contain source
-    content (such as source code, web pages, executable files, any
-    deployment scripts, and similar) along with an Application
-    Specification file (AppSpec file). (The AppSpec file is unique to
-    AWS CodeDeploy; it defines a series of deployment actions that you
-    want AWS CodeDeploy to execute.) An application revision is uniquely
+-   Application revisions are archive files stored in Amazon S3 buckets
+    or GitHub repositories. These revisions contain source content (such
+    as source code, web pages, executable files, and deployment scripts)
+    along with an application specification (AppSpec) file. (The AppSpec
+    file is unique to AWS CodeDeploy; it defines the deployment actions
+    you want AWS CodeDeploy to execute.) Ffor application revisions
+    stored in Amazon S3 buckets, an application revision is uniquely
     identified by its Amazon S3 object key and its ETag, version, or
-    both (for application revisions that are stored in Amazon S3
-    buckets) or by its repository name and commit ID (for applications
-    revisions that are stored in GitHub repositories). Application
-    revisions are deployed through deployment groups.
+    both. For application revisions stored in GitHub repositories, an
+    application revision is uniquely identified by its repository name
+    and commit ID. Application revisions are deployed through deployment
+    groups.
 
     You can use the AWS CodeDeploy APIs to get, list, and register
     application revisions.
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-codedeploy)
-and the [AWS API Reference](http://docs.aws.amazon.com/codedeploy/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-codedeploy.cabal b/amazonka-codedeploy.cabal
--- a/amazonka-codedeploy.cabal
+++ b/amazonka-codedeploy.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-codedeploy
-version:               1.3.7
+version:               1.4.0
 synopsis:              Amazon CodeDeploy 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
@@ -15,26 +15,23 @@
 description:
     AWS CodeDeploy __Overview__
 
-    This is the AWS CodeDeploy API Reference. This guide provides
-    descriptions of the AWS CodeDeploy APIs. For additional information, see
-    the
-    <http://docs.aws.amazon.com/codedeploy/latest/userguide AWS CodeDeploy User Guide>.
+    This reference guide provides descriptions of the AWS CodeDeploy APIs.
+    For more information about AWS CodeDeploy, see the
+    <docs.aws.amazon.com/codedeploy/latest/userguide AWS CodeDeploy User Guide>.
 
     __Using the APIs__
 
-    You can use the AWS CodeDeploy APIs to work with the following items:
+    You can use the AWS CodeDeploy APIs to work with the following:
 
-    -   Applications are unique identifiers that AWS CodeDeploy uses to
-        ensure that the correct combinations of revisions, deployment
-        configurations, and deployment groups are being referenced during
-        deployments.
+    -   Applications are unique identifiers used by AWS CodeDeploy to ensure
+        the correct combinations of revisions, deployment configurations,
+        and deployment groups are being referenced during deployments.
 
         You can use the AWS CodeDeploy APIs to create, delete, get, list,
         and update applications.
 
-    -   Deployment configurations are sets of deployment rules and
-        deployment success and failure conditions that AWS CodeDeploy uses
-        during deployments.
+    -   Deployment configurations are sets of deployment rules and success
+        and failure conditions used by AWS CodeDeploy during deployments.
 
         You can use the AWS CodeDeploy APIs to create, delete, get, and list
         deployment configurations.
@@ -50,7 +47,7 @@
         tags or Auto Scaling group names. Instances belong to deployment
         groups.
 
-        You can use the AWS CodeDeploy APIs to get and list instances.
+        You can use the AWS CodeDeploy APIs to get and list instance.
 
     -   Deployments represent the process of deploying revisions to
         instances.
@@ -58,18 +55,18 @@
         You can use the AWS CodeDeploy APIs to create, get, list, and stop
         deployments.
 
-    -   Application revisions are archive files that are stored in Amazon S3
-        buckets or GitHub repositories. These revisions contain source
-        content (such as source code, web pages, executable files, any
-        deployment scripts, and similar) along with an Application
-        Specification file (AppSpec file). (The AppSpec file is unique to
-        AWS CodeDeploy; it defines a series of deployment actions that you
-        want AWS CodeDeploy to execute.) An application revision is uniquely
+    -   Application revisions are archive files stored in Amazon S3 buckets
+        or GitHub repositories. These revisions contain source content (such
+        as source code, web pages, executable files, and deployment scripts)
+        along with an application specification (AppSpec) file. (The AppSpec
+        file is unique to AWS CodeDeploy; it defines the deployment actions
+        you want AWS CodeDeploy to execute.) Ffor application revisions
+        stored in Amazon S3 buckets, an application revision is uniquely
         identified by its Amazon S3 object key and its ETag, version, or
-        both (for application revisions that are stored in Amazon S3
-        buckets) or by its repository name and commit ID (for applications
-        revisions that are stored in GitHub repositories). Application
-        revisions are deployed through deployment groups.
+        both. For application revisions stored in GitHub repositories, an
+        application revision is uniquely identified by its repository name
+        and commit ID. Application revisions are deployed through deployment
+        groups.
 
         You can use the AWS CodeDeploy APIs to get, list, and register
         application revisions.
@@ -85,7 +82,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.CodeDeploy" and the <http://docs.aws.amazon.com/codedeploy/latest/APIReference/Welcome.html AWS API Reference>
+    See "Network.AWS.CodeDeploy" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -101,7 +98,10 @@
     exposed-modules:
           Network.AWS.CodeDeploy
         , Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances
+        , Network.AWS.CodeDeploy.BatchGetApplicationRevisions
         , Network.AWS.CodeDeploy.BatchGetApplications
+        , Network.AWS.CodeDeploy.BatchGetDeploymentGroups
+        , Network.AWS.CodeDeploy.BatchGetDeploymentInstances
         , Network.AWS.CodeDeploy.BatchGetDeployments
         , Network.AWS.CodeDeploy.BatchGetOnPremisesInstances
         , Network.AWS.CodeDeploy.CreateApplication
@@ -140,7 +140,7 @@
         , Network.AWS.CodeDeploy.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-codedeploy-test
@@ -160,9 +160,9 @@
         , Test.AWS.CodeDeploy.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-codedeploy == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-codedeploy == 1.4.0.*
         , base
         , bytestring
         , tasty
diff --git a/fixture/BatchGetApplicationRevisions.yaml b/fixture/BatchGetApplicationRevisions.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/BatchGetApplicationRevisions.yaml
diff --git a/fixture/BatchGetApplicationRevisionsResponse.proto b/fixture/BatchGetApplicationRevisionsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/BatchGetApplicationRevisionsResponse.proto
diff --git a/fixture/BatchGetDeploymentGroups.yaml b/fixture/BatchGetDeploymentGroups.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/BatchGetDeploymentGroups.yaml
diff --git a/fixture/BatchGetDeploymentGroupsResponse.proto b/fixture/BatchGetDeploymentGroupsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/BatchGetDeploymentGroupsResponse.proto
diff --git a/fixture/BatchGetDeploymentInstances.yaml b/fixture/BatchGetDeploymentInstances.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/BatchGetDeploymentInstances.yaml
diff --git a/fixture/BatchGetDeploymentInstancesResponse.proto b/fixture/BatchGetDeploymentInstancesResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/BatchGetDeploymentInstancesResponse.proto
diff --git a/gen/Network/AWS/CodeDeploy.hs b/gen/Network/AWS/CodeDeploy.hs
--- a/gen/Network/AWS/CodeDeploy.hs
+++ b/gen/Network/AWS/CodeDeploy.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy
--- 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
@@ -13,26 +13,23 @@
 --
 -- AWS CodeDeploy __Overview__
 --
--- This is the AWS CodeDeploy API Reference. This guide provides
--- descriptions of the AWS CodeDeploy APIs. For additional information, see
--- the
--- <http://docs.aws.amazon.com/codedeploy/latest/userguide AWS CodeDeploy User Guide>.
+-- This reference guide provides descriptions of the AWS CodeDeploy APIs.
+-- For more information about AWS CodeDeploy, see the
+-- <docs.aws.amazon.com/codedeploy/latest/userguide AWS CodeDeploy User Guide>.
 --
 -- __Using the APIs__
 --
--- You can use the AWS CodeDeploy APIs to work with the following items:
+-- You can use the AWS CodeDeploy APIs to work with the following:
 --
--- -   Applications are unique identifiers that AWS CodeDeploy uses to
---     ensure that the correct combinations of revisions, deployment
---     configurations, and deployment groups are being referenced during
---     deployments.
+-- -   Applications are unique identifiers used by AWS CodeDeploy to ensure
+--     the correct combinations of revisions, deployment configurations,
+--     and deployment groups are being referenced during deployments.
 --
 --     You can use the AWS CodeDeploy APIs to create, delete, get, list,
 --     and update applications.
 --
--- -   Deployment configurations are sets of deployment rules and
---     deployment success and failure conditions that AWS CodeDeploy uses
---     during deployments.
+-- -   Deployment configurations are sets of deployment rules and success
+--     and failure conditions used by AWS CodeDeploy during deployments.
 --
 --     You can use the AWS CodeDeploy APIs to create, delete, get, and list
 --     deployment configurations.
@@ -48,7 +45,7 @@
 --     tags or Auto Scaling group names. Instances belong to deployment
 --     groups.
 --
---     You can use the AWS CodeDeploy APIs to get and list instances.
+--     You can use the AWS CodeDeploy APIs to get and list instance.
 --
 -- -   Deployments represent the process of deploying revisions to
 --     instances.
@@ -56,24 +53,22 @@
 --     You can use the AWS CodeDeploy APIs to create, get, list, and stop
 --     deployments.
 --
--- -   Application revisions are archive files that are stored in Amazon S3
---     buckets or GitHub repositories. These revisions contain source
---     content (such as source code, web pages, executable files, any
---     deployment scripts, and similar) along with an Application
---     Specification file (AppSpec file). (The AppSpec file is unique to
---     AWS CodeDeploy; it defines a series of deployment actions that you
---     want AWS CodeDeploy to execute.) An application revision is uniquely
+-- -   Application revisions are archive files stored in Amazon S3 buckets
+--     or GitHub repositories. These revisions contain source content (such
+--     as source code, web pages, executable files, and deployment scripts)
+--     along with an application specification (AppSpec) file. (The AppSpec
+--     file is unique to AWS CodeDeploy; it defines the deployment actions
+--     you want AWS CodeDeploy to execute.) Ffor application revisions
+--     stored in Amazon S3 buckets, an application revision is uniquely
 --     identified by its Amazon S3 object key and its ETag, version, or
---     both (for application revisions that are stored in Amazon S3
---     buckets) or by its repository name and commit ID (for applications
---     revisions that are stored in GitHub repositories). Application
---     revisions are deployed through deployment groups.
+--     both. For application revisions stored in GitHub repositories, an
+--     application revision is uniquely identified by its repository name
+--     and commit ID. Application revisions are deployed through deployment
+--     groups.
 --
 --     You can use the AWS CodeDeploy APIs to get, list, and register
 --     application revisions.
 --
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.CodeDeploy
     (
     -- * Service Configuration
@@ -82,6 +77,9 @@
     -- * Errors
     -- $errors
 
+    -- ** LifecycleHookLimitExceededException
+    , _LifecycleHookLimitExceededException
+
     -- ** InvalidTimeRangeException
     , _InvalidTimeRangeException
 
@@ -145,6 +143,9 @@
     -- ** InvalidTagFilterException
     , _InvalidTagFilterException
 
+    -- ** InvalidTriggerConfigException
+    , _InvalidTriggerConfigException
+
     -- ** TagRequiredException
     , _TagRequiredException
 
@@ -202,6 +203,9 @@
     -- ** DeploymentDoesNotExistException
     , _DeploymentDoesNotExistException
 
+    -- ** BatchLimitExceededException
+    , _BatchLimitExceededException
+
     -- ** InvalidRevisionException
     , _InvalidRevisionException
 
@@ -223,6 +227,9 @@
     -- ** InstanceNameRequiredException
     , _InstanceNameRequiredException
 
+    -- ** TriggerTargetsLimitExceededException
+    , _TriggerTargetsLimitExceededException
+
     -- ** InvalidDeploymentStatusException
     , _InvalidDeploymentStatusException
 
@@ -262,6 +269,9 @@
     -- ** RemoveTagsFromOnPremisesInstances
     , module Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances
 
+    -- ** BatchGetDeploymentGroups
+    , module Network.AWS.CodeDeploy.BatchGetDeploymentGroups
+
     -- ** DeleteDeploymentGroup
     , module Network.AWS.CodeDeploy.DeleteDeploymentGroup
 
@@ -289,6 +299,9 @@
     -- ** CreateDeployment
     , module Network.AWS.CodeDeploy.CreateDeployment
 
+    -- ** BatchGetApplicationRevisions
+    , module Network.AWS.CodeDeploy.BatchGetApplicationRevisions
+
     -- ** BatchGetDeployments
     , module Network.AWS.CodeDeploy.BatchGetDeployments
 
@@ -319,6 +332,9 @@
     -- ** StopDeployment
     , module Network.AWS.CodeDeploy.StopDeployment
 
+    -- ** BatchGetDeploymentInstances
+    , module Network.AWS.CodeDeploy.BatchGetDeploymentInstances
+
     -- ** GetApplication
     , module Network.AWS.CodeDeploy.GetApplication
 
@@ -405,6 +421,9 @@
     -- ** TagFilterType
     , TagFilterType (..)
 
+    -- ** TriggerEventType
+    , TriggerEventType (..)
+
     -- ** ApplicationInfo
     , ApplicationInfo
     , applicationInfo
@@ -436,6 +455,7 @@
     , dgiEc2TagFilters
     , dgiOnPremisesInstanceTagFilters
     , dgiApplicationName
+    , dgiTriggerConfigurations
     , dgiDeploymentGroupId
     , dgiAutoScalingGroups
     , dgiDeploymentGroupName
@@ -537,6 +557,12 @@
     , mhhValue
     , mhhType
 
+    -- ** RevisionInfo
+    , RevisionInfo
+    , revisionInfo
+    , riGenericRevisionInfo
+    , riRevisionLocation
+
     -- ** RevisionLocation
     , RevisionLocation
     , revisionLocation
@@ -571,10 +597,20 @@
     , timeRange
     , trStart
     , trEnd
+
+    -- ** TriggerConfig
+    , TriggerConfig
+    , triggerConfig
+    , tcTriggerName
+    , tcTriggerEvents
+    , tcTriggerTargetARN
     ) where
 
 import           Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances
+import           Network.AWS.CodeDeploy.BatchGetApplicationRevisions
 import           Network.AWS.CodeDeploy.BatchGetApplications
+import           Network.AWS.CodeDeploy.BatchGetDeploymentGroups
+import           Network.AWS.CodeDeploy.BatchGetDeploymentInstances
 import           Network.AWS.CodeDeploy.BatchGetDeployments
 import           Network.AWS.CodeDeploy.BatchGetOnPremisesInstances
 import           Network.AWS.CodeDeploy.CreateApplication
diff --git a/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances
--- 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 tags to on-premises instances.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_AddTagsToOnPremisesInstances.html AWS API Reference> for AddTagsToOnPremisesInstances.
 module Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances
     (
     -- * Creating a Request
@@ -42,7 +40,8 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Represents the input of an adds tags to on-premises instance operation.
+-- | Represents the input of, and adds tags to, an on-premises instance
+-- operation.
 --
 -- /See:/ 'addTagsToOnPremisesInstances' smart constructor.
 data AddTagsToOnPremisesInstances = AddTagsToOnPremisesInstances'
@@ -67,12 +66,12 @@
 
 -- | The tag key-value pairs to add to the on-premises instances.
 --
--- Keys and values are both required. Keys cannot be nulls or empty
--- strings. Value-only tags are not allowed.
+-- Keys and values are both required. Keys cannot be null or empty strings.
+-- Value-only tags are not allowed.
 attopiTags :: Lens' AddTagsToOnPremisesInstances [Tag]
 attopiTags = lens _attopiTags (\ s a -> s{_attopiTags = a}) . _Coerce;
 
--- | The names of the on-premises instances to add tags to.
+-- | The names of the on-premises instances to which to add tags.
 attopiInstanceNames :: Lens' AddTagsToOnPremisesInstances [Text]
 attopiInstanceNames = lens _attopiInstanceNames (\ s a -> s{_attopiInstanceNames = a}) . _Coerce;
 
@@ -83,6 +82,8 @@
         request = postJSON codeDeploy
         response
           = receiveNull AddTagsToOnPremisesInstancesResponse'
+
+instance Hashable AddTagsToOnPremisesInstances
 
 instance ToHeaders AddTagsToOnPremisesInstances where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetApplicationRevisions.hs b/gen/Network/AWS/CodeDeploy/BatchGetApplicationRevisions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/CodeDeploy/BatchGetApplicationRevisions.hs
@@ -0,0 +1,168 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.CodeDeploy.BatchGetApplicationRevisions
+-- 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)
+--
+-- Gets information about one or more application revisions.
+module Network.AWS.CodeDeploy.BatchGetApplicationRevisions
+    (
+    -- * Creating a Request
+      batchGetApplicationRevisions
+    , BatchGetApplicationRevisions
+    -- * Request Lenses
+    , bgarApplicationName
+    , bgarRevisions
+
+    -- * Destructuring the Response
+    , batchGetApplicationRevisionsResponse
+    , BatchGetApplicationRevisionsResponse
+    -- * Response Lenses
+    , bgarrsApplicationName
+    , bgarrsRevisions
+    , bgarrsErrorMessage
+    , bgarrsResponseStatus
+    ) where
+
+import           Network.AWS.CodeDeploy.Types
+import           Network.AWS.CodeDeploy.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Represents the input of a batch get application revisions operation.
+--
+-- /See:/ 'batchGetApplicationRevisions' smart constructor.
+data BatchGetApplicationRevisions = BatchGetApplicationRevisions'
+    { _bgarApplicationName :: !Text
+    , _bgarRevisions       :: ![RevisionLocation]
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BatchGetApplicationRevisions' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bgarApplicationName'
+--
+-- * 'bgarRevisions'
+batchGetApplicationRevisions
+    :: Text -- ^ 'bgarApplicationName'
+    -> BatchGetApplicationRevisions
+batchGetApplicationRevisions pApplicationName_ =
+    BatchGetApplicationRevisions'
+    { _bgarApplicationName = pApplicationName_
+    , _bgarRevisions = mempty
+    }
+
+-- | The name of an AWS CodeDeploy application about which to get revision
+-- information.
+bgarApplicationName :: Lens' BatchGetApplicationRevisions Text
+bgarApplicationName = lens _bgarApplicationName (\ s a -> s{_bgarApplicationName = a});
+
+-- | Information to get about the application revisions, including type and
+-- location.
+bgarRevisions :: Lens' BatchGetApplicationRevisions [RevisionLocation]
+bgarRevisions = lens _bgarRevisions (\ s a -> s{_bgarRevisions = a}) . _Coerce;
+
+instance AWSRequest BatchGetApplicationRevisions
+         where
+        type Rs BatchGetApplicationRevisions =
+             BatchGetApplicationRevisionsResponse
+        request = postJSON codeDeploy
+        response
+          = receiveJSON
+              (\ s h x ->
+                 BatchGetApplicationRevisionsResponse' <$>
+                   (x .?> "applicationName") <*>
+                     (x .?> "revisions" .!@ mempty)
+                     <*> (x .?> "errorMessage")
+                     <*> (pure (fromEnum s)))
+
+instance Hashable BatchGetApplicationRevisions
+
+instance ToHeaders BatchGetApplicationRevisions where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("CodeDeploy_20141006.BatchGetApplicationRevisions"
+                       :: ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON BatchGetApplicationRevisions where
+        toJSON BatchGetApplicationRevisions'{..}
+          = object
+              (catMaybes
+                 [Just ("applicationName" .= _bgarApplicationName),
+                  Just ("revisions" .= _bgarRevisions)])
+
+instance ToPath BatchGetApplicationRevisions where
+        toPath = const "/"
+
+instance ToQuery BatchGetApplicationRevisions where
+        toQuery = const mempty
+
+-- | Represents the output of a batch get application revisions operation.
+--
+-- /See:/ 'batchGetApplicationRevisionsResponse' smart constructor.
+data BatchGetApplicationRevisionsResponse = BatchGetApplicationRevisionsResponse'
+    { _bgarrsApplicationName :: !(Maybe Text)
+    , _bgarrsRevisions       :: !(Maybe [RevisionInfo])
+    , _bgarrsErrorMessage    :: !(Maybe Text)
+    , _bgarrsResponseStatus  :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BatchGetApplicationRevisionsResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bgarrsApplicationName'
+--
+-- * 'bgarrsRevisions'
+--
+-- * 'bgarrsErrorMessage'
+--
+-- * 'bgarrsResponseStatus'
+batchGetApplicationRevisionsResponse
+    :: Int -- ^ 'bgarrsResponseStatus'
+    -> BatchGetApplicationRevisionsResponse
+batchGetApplicationRevisionsResponse pResponseStatus_ =
+    BatchGetApplicationRevisionsResponse'
+    { _bgarrsApplicationName = Nothing
+    , _bgarrsRevisions = Nothing
+    , _bgarrsErrorMessage = Nothing
+    , _bgarrsResponseStatus = pResponseStatus_
+    }
+
+-- | The name of the application that corresponds to the revisions.
+bgarrsApplicationName :: Lens' BatchGetApplicationRevisionsResponse (Maybe Text)
+bgarrsApplicationName = lens _bgarrsApplicationName (\ s a -> s{_bgarrsApplicationName = a});
+
+-- | Additional information about the revisions, including the type and
+-- location.
+bgarrsRevisions :: Lens' BatchGetApplicationRevisionsResponse [RevisionInfo]
+bgarrsRevisions = lens _bgarrsRevisions (\ s a -> s{_bgarrsRevisions = a}) . _Default . _Coerce;
+
+-- | Information about errors that may have occurred during the API call.
+bgarrsErrorMessage :: Lens' BatchGetApplicationRevisionsResponse (Maybe Text)
+bgarrsErrorMessage = lens _bgarrsErrorMessage (\ s a -> s{_bgarrsErrorMessage = a});
+
+-- | The response status code.
+bgarrsResponseStatus :: Lens' BatchGetApplicationRevisionsResponse Int
+bgarrsResponseStatus = lens _bgarrsResponseStatus (\ s a -> s{_bgarrsResponseStatus = a});
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs b/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs
--- a/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs
+++ b/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.BatchGetApplications
--- 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)
 --
 -- Gets information about one or more applications.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetApplications.html AWS API Reference> for BatchGetApplications.
 module Network.AWS.CodeDeploy.BatchGetApplications
     (
     -- * Creating a Request
@@ -63,8 +61,7 @@
     { _bgaApplicationNames = Nothing
     }
 
--- | A list of application names, with multiple application names separated
--- by spaces.
+-- | A list of application names separated by spaces.
 bgaApplicationNames :: Lens' BatchGetApplications [Text]
 bgaApplicationNames = lens _bgaApplicationNames (\ s a -> s{_bgaApplicationNames = a}) . _Default . _Coerce;
 
@@ -78,6 +75,8 @@
                  BatchGetApplicationsResponse' <$>
                    (x .?> "applicationsInfo" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable BatchGetApplications
 
 instance ToHeaders BatchGetApplications where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetDeploymentGroups.hs b/gen/Network/AWS/CodeDeploy/BatchGetDeploymentGroups.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/CodeDeploy/BatchGetDeploymentGroups.hs
@@ -0,0 +1,157 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.CodeDeploy.BatchGetDeploymentGroups
+-- 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)
+--
+-- Get information about one or more deployment groups.
+module Network.AWS.CodeDeploy.BatchGetDeploymentGroups
+    (
+    -- * Creating a Request
+      batchGetDeploymentGroups
+    , BatchGetDeploymentGroups
+    -- * Request Lenses
+    , bgdgApplicationName
+    , bgdgDeploymentGroupNames
+
+    -- * Destructuring the Response
+    , batchGetDeploymentGroupsResponse
+    , BatchGetDeploymentGroupsResponse
+    -- * Response Lenses
+    , bgdgrsDeploymentGroupsInfo
+    , bgdgrsErrorMessage
+    , bgdgrsResponseStatus
+    ) where
+
+import           Network.AWS.CodeDeploy.Types
+import           Network.AWS.CodeDeploy.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Represents the input of a batch get deployment groups operation.
+--
+-- /See:/ 'batchGetDeploymentGroups' smart constructor.
+data BatchGetDeploymentGroups = BatchGetDeploymentGroups'
+    { _bgdgApplicationName      :: !Text
+    , _bgdgDeploymentGroupNames :: ![Text]
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BatchGetDeploymentGroups' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bgdgApplicationName'
+--
+-- * 'bgdgDeploymentGroupNames'
+batchGetDeploymentGroups
+    :: Text -- ^ 'bgdgApplicationName'
+    -> BatchGetDeploymentGroups
+batchGetDeploymentGroups pApplicationName_ =
+    BatchGetDeploymentGroups'
+    { _bgdgApplicationName = pApplicationName_
+    , _bgdgDeploymentGroupNames = mempty
+    }
+
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
+bgdgApplicationName :: Lens' BatchGetDeploymentGroups Text
+bgdgApplicationName = lens _bgdgApplicationName (\ s a -> s{_bgdgApplicationName = a});
+
+-- | The deployment groups\' names.
+bgdgDeploymentGroupNames :: Lens' BatchGetDeploymentGroups [Text]
+bgdgDeploymentGroupNames = lens _bgdgDeploymentGroupNames (\ s a -> s{_bgdgDeploymentGroupNames = a}) . _Coerce;
+
+instance AWSRequest BatchGetDeploymentGroups where
+        type Rs BatchGetDeploymentGroups =
+             BatchGetDeploymentGroupsResponse
+        request = postJSON codeDeploy
+        response
+          = receiveJSON
+              (\ s h x ->
+                 BatchGetDeploymentGroupsResponse' <$>
+                   (x .?> "deploymentGroupsInfo" .!@ mempty) <*>
+                     (x .?> "errorMessage")
+                     <*> (pure (fromEnum s)))
+
+instance Hashable BatchGetDeploymentGroups
+
+instance ToHeaders BatchGetDeploymentGroups where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("CodeDeploy_20141006.BatchGetDeploymentGroups" ::
+                       ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON BatchGetDeploymentGroups where
+        toJSON BatchGetDeploymentGroups'{..}
+          = object
+              (catMaybes
+                 [Just ("applicationName" .= _bgdgApplicationName),
+                  Just
+                    ("deploymentGroupNames" .=
+                       _bgdgDeploymentGroupNames)])
+
+instance ToPath BatchGetDeploymentGroups where
+        toPath = const "/"
+
+instance ToQuery BatchGetDeploymentGroups where
+        toQuery = const mempty
+
+-- | Represents the output of a batch get deployment groups operation.
+--
+-- /See:/ 'batchGetDeploymentGroupsResponse' smart constructor.
+data BatchGetDeploymentGroupsResponse = BatchGetDeploymentGroupsResponse'
+    { _bgdgrsDeploymentGroupsInfo :: !(Maybe [DeploymentGroupInfo])
+    , _bgdgrsErrorMessage         :: !(Maybe Text)
+    , _bgdgrsResponseStatus       :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BatchGetDeploymentGroupsResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bgdgrsDeploymentGroupsInfo'
+--
+-- * 'bgdgrsErrorMessage'
+--
+-- * 'bgdgrsResponseStatus'
+batchGetDeploymentGroupsResponse
+    :: Int -- ^ 'bgdgrsResponseStatus'
+    -> BatchGetDeploymentGroupsResponse
+batchGetDeploymentGroupsResponse pResponseStatus_ =
+    BatchGetDeploymentGroupsResponse'
+    { _bgdgrsDeploymentGroupsInfo = Nothing
+    , _bgdgrsErrorMessage = Nothing
+    , _bgdgrsResponseStatus = pResponseStatus_
+    }
+
+-- | Information about the deployment groups.
+bgdgrsDeploymentGroupsInfo :: Lens' BatchGetDeploymentGroupsResponse [DeploymentGroupInfo]
+bgdgrsDeploymentGroupsInfo = lens _bgdgrsDeploymentGroupsInfo (\ s a -> s{_bgdgrsDeploymentGroupsInfo = a}) . _Default . _Coerce;
+
+-- | Information about errors that may have occurred during the API call.
+bgdgrsErrorMessage :: Lens' BatchGetDeploymentGroupsResponse (Maybe Text)
+bgdgrsErrorMessage = lens _bgdgrsErrorMessage (\ s a -> s{_bgdgrsErrorMessage = a});
+
+-- | The response status code.
+bgdgrsResponseStatus :: Lens' BatchGetDeploymentGroupsResponse Int
+bgdgrsResponseStatus = lens _bgdgrsResponseStatus (\ s a -> s{_bgdgrsResponseStatus = a});
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetDeploymentInstances.hs b/gen/Network/AWS/CodeDeploy/BatchGetDeploymentInstances.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/CodeDeploy/BatchGetDeploymentInstances.hs
@@ -0,0 +1,155 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.CodeDeploy.BatchGetDeploymentInstances
+-- 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)
+--
+-- Gets information about one or more instance that are part of a
+-- deployment group.
+module Network.AWS.CodeDeploy.BatchGetDeploymentInstances
+    (
+    -- * Creating a Request
+      batchGetDeploymentInstances
+    , BatchGetDeploymentInstances
+    -- * Request Lenses
+    , bgdiDeploymentId
+    , bgdiInstanceIds
+
+    -- * Destructuring the Response
+    , batchGetDeploymentInstancesResponse
+    , BatchGetDeploymentInstancesResponse
+    -- * Response Lenses
+    , bgdirsInstancesSummary
+    , bgdirsErrorMessage
+    , bgdirsResponseStatus
+    ) where
+
+import           Network.AWS.CodeDeploy.Types
+import           Network.AWS.CodeDeploy.Types.Product
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+
+-- | Represents the input of a batch get deployment instances operation.
+--
+-- /See:/ 'batchGetDeploymentInstances' smart constructor.
+data BatchGetDeploymentInstances = BatchGetDeploymentInstances'
+    { _bgdiDeploymentId :: !Text
+    , _bgdiInstanceIds  :: ![Text]
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BatchGetDeploymentInstances' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bgdiDeploymentId'
+--
+-- * 'bgdiInstanceIds'
+batchGetDeploymentInstances
+    :: Text -- ^ 'bgdiDeploymentId'
+    -> BatchGetDeploymentInstances
+batchGetDeploymentInstances pDeploymentId_ =
+    BatchGetDeploymentInstances'
+    { _bgdiDeploymentId = pDeploymentId_
+    , _bgdiInstanceIds = mempty
+    }
+
+-- | The unique ID of a deployment.
+bgdiDeploymentId :: Lens' BatchGetDeploymentInstances Text
+bgdiDeploymentId = lens _bgdiDeploymentId (\ s a -> s{_bgdiDeploymentId = a});
+
+-- | The unique IDs of instances in the deployment group.
+bgdiInstanceIds :: Lens' BatchGetDeploymentInstances [Text]
+bgdiInstanceIds = lens _bgdiInstanceIds (\ s a -> s{_bgdiInstanceIds = a}) . _Coerce;
+
+instance AWSRequest BatchGetDeploymentInstances where
+        type Rs BatchGetDeploymentInstances =
+             BatchGetDeploymentInstancesResponse
+        request = postJSON codeDeploy
+        response
+          = receiveJSON
+              (\ s h x ->
+                 BatchGetDeploymentInstancesResponse' <$>
+                   (x .?> "instancesSummary" .!@ mempty) <*>
+                     (x .?> "errorMessage")
+                     <*> (pure (fromEnum s)))
+
+instance Hashable BatchGetDeploymentInstances
+
+instance ToHeaders BatchGetDeploymentInstances where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("CodeDeploy_20141006.BatchGetDeploymentInstances" ::
+                       ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON BatchGetDeploymentInstances where
+        toJSON BatchGetDeploymentInstances'{..}
+          = object
+              (catMaybes
+                 [Just ("deploymentId" .= _bgdiDeploymentId),
+                  Just ("instanceIds" .= _bgdiInstanceIds)])
+
+instance ToPath BatchGetDeploymentInstances where
+        toPath = const "/"
+
+instance ToQuery BatchGetDeploymentInstances where
+        toQuery = const mempty
+
+-- | Represents the output of a batch get deployment instance operation.
+--
+-- /See:/ 'batchGetDeploymentInstancesResponse' smart constructor.
+data BatchGetDeploymentInstancesResponse = BatchGetDeploymentInstancesResponse'
+    { _bgdirsInstancesSummary :: !(Maybe [InstanceSummary])
+    , _bgdirsErrorMessage     :: !(Maybe Text)
+    , _bgdirsResponseStatus   :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'BatchGetDeploymentInstancesResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'bgdirsInstancesSummary'
+--
+-- * 'bgdirsErrorMessage'
+--
+-- * 'bgdirsResponseStatus'
+batchGetDeploymentInstancesResponse
+    :: Int -- ^ 'bgdirsResponseStatus'
+    -> BatchGetDeploymentInstancesResponse
+batchGetDeploymentInstancesResponse pResponseStatus_ =
+    BatchGetDeploymentInstancesResponse'
+    { _bgdirsInstancesSummary = Nothing
+    , _bgdirsErrorMessage = Nothing
+    , _bgdirsResponseStatus = pResponseStatus_
+    }
+
+-- | Information about the instance.
+bgdirsInstancesSummary :: Lens' BatchGetDeploymentInstancesResponse [InstanceSummary]
+bgdirsInstancesSummary = lens _bgdirsInstancesSummary (\ s a -> s{_bgdirsInstancesSummary = a}) . _Default . _Coerce;
+
+-- | Information about errors that may have occurred during the API call.
+bgdirsErrorMessage :: Lens' BatchGetDeploymentInstancesResponse (Maybe Text)
+bgdirsErrorMessage = lens _bgdirsErrorMessage (\ s a -> s{_bgdirsErrorMessage = a});
+
+-- | The response status code.
+bgdirsResponseStatus :: Lens' BatchGetDeploymentInstancesResponse Int
+bgdirsResponseStatus = lens _bgdirsResponseStatus (\ s a -> s{_bgdirsResponseStatus = a});
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs b/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs
--- a/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs
+++ b/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.BatchGetDeployments
--- 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)
 --
 -- Gets information about one or more deployments.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeployments.html AWS API Reference> for BatchGetDeployments.
 module Network.AWS.CodeDeploy.BatchGetDeployments
     (
     -- * Creating a Request
@@ -63,8 +61,7 @@
     { _bgdDeploymentIds = Nothing
     }
 
--- | A list of deployment IDs, with multiple deployment IDs separated by
--- spaces.
+-- | A list of deployment IDs, separated by spaces.
 bgdDeploymentIds :: Lens' BatchGetDeployments [Text]
 bgdDeploymentIds = lens _bgdDeploymentIds (\ s a -> s{_bgdDeploymentIds = a}) . _Default . _Coerce;
 
@@ -78,6 +75,8 @@
                  BatchGetDeploymentsResponse' <$>
                    (x .?> "deploymentsInfo" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable BatchGetDeployments
 
 instance ToHeaders BatchGetDeployments where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.BatchGetOnPremisesInstances
--- 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)
 --
 -- Gets information about one or more on-premises instances.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetOnPremisesInstances.html AWS API Reference> for BatchGetOnPremisesInstances.
 module Network.AWS.CodeDeploy.BatchGetOnPremisesInstances
     (
     -- * Creating a Request
@@ -63,7 +61,7 @@
     { _bgopiInstanceNames = Nothing
     }
 
--- | The names of the on-premises instances to get information about.
+-- | The names of the on-premises instances about which to get information.
 bgopiInstanceNames :: Lens' BatchGetOnPremisesInstances [Text]
 bgopiInstanceNames = lens _bgopiInstanceNames (\ s a -> s{_bgopiInstanceNames = a}) . _Default . _Coerce;
 
@@ -77,6 +75,8 @@
                  BatchGetOnPremisesInstancesResponse' <$>
                    (x .?> "instanceInfos" .!@ mempty) <*>
                      (pure (fromEnum s)))
+
+instance Hashable BatchGetOnPremisesInstances
 
 instance ToHeaders BatchGetOnPremisesInstances where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/CreateApplication.hs b/gen/Network/AWS/CodeDeploy/CreateApplication.hs
--- a/gen/Network/AWS/CodeDeploy/CreateApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateApplication.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.CreateApplication
--- 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 application.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateApplication.html AWS API Reference> for CreateApplication.
+-- Creates an application.
 module Network.AWS.CodeDeploy.CreateApplication
     (
     -- * Creating a Request
@@ -77,6 +75,8 @@
               (\ s h x ->
                  CreateApplicationResponse' <$>
                    (x .?> "applicationId") <*> (pure (fromEnum s)))
+
+instance Hashable CreateApplication
 
 instance ToHeaders CreateApplication where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/CreateDeployment.hs b/gen/Network/AWS/CodeDeploy/CreateDeployment.hs
--- a/gen/Network/AWS/CodeDeploy/CreateDeployment.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateDeployment.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.CreateDeployment
--- 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)
 --
 -- Deploys an application revision through the specified deployment group.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html AWS API Reference> for CreateDeployment.
 module Network.AWS.CodeDeploy.CreateDeployment
     (
     -- * Creating a Request
@@ -89,8 +87,8 @@
     , _cdApplicationName = pApplicationName_
     }
 
--- | The name of an existing deployment configuration associated with the
--- applicable IAM user or AWS account.
+-- | The name of a deployment configuration associated with the applicable
+-- IAM user or AWS account.
 --
 -- If not specified, the value configured in the deployment group will be
 -- used as the default. If the deployment group does not have a deployment
@@ -99,8 +97,7 @@
 cdDeploymentConfigName :: Lens' CreateDeployment (Maybe Text)
 cdDeploymentConfigName = lens _cdDeploymentConfigName (\ s a -> s{_cdDeploymentConfigName = a});
 
--- | The type of revision to deploy, along with information about the
--- revision\'s location.
+-- | The type and location of the revision to deploy.
 cdRevision :: Lens' CreateDeployment (Maybe RevisionLocation)
 cdRevision = lens _cdRevision (\ s a -> s{_cdRevision = a});
 
@@ -108,25 +105,24 @@
 cdDescription :: Lens' CreateDeployment (Maybe Text)
 cdDescription = lens _cdDescription (\ s a -> s{_cdDescription = a});
 
--- | The deployment group\'s name.
+-- | The name of the deployment group.
 cdDeploymentGroupName :: Lens' CreateDeployment (Maybe Text)
 cdDeploymentGroupName = lens _cdDeploymentGroupName (\ s a -> s{_cdDeploymentGroupName = a});
 
 -- | If set to true, then if the deployment causes the ApplicationStop
--- deployment lifecycle event to fail to a specific instance, the
--- deployment will not be considered to have failed to that instance at
--- that point and will continue on to the BeforeInstall deployment
--- lifecycle event.
+-- deployment lifecycle event to an instance to fail, the deployment to
+-- that instance will not be considered to have failed at that point and
+-- will continue on to the BeforeInstall deployment lifecycle event.
 --
 -- If set to false or not specified, then if the deployment causes the
--- ApplicationStop deployment lifecycle event to fail to a specific
--- instance, the deployment will stop to that instance, and the deployment
--- to that instance will be considered to have failed.
+-- ApplicationStop deployment lifecycle event to fail to an instance, the
+-- deployment to that instance will stop, and the deployment to that
+-- instance will be considered to have failed.
 cdIgnoreApplicationStopFailures :: Lens' CreateDeployment (Maybe Bool)
 cdIgnoreApplicationStopFailures = lens _cdIgnoreApplicationStopFailures (\ s a -> s{_cdIgnoreApplicationStopFailures = a});
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 cdApplicationName :: Lens' CreateDeployment Text
 cdApplicationName = lens _cdApplicationName (\ s a -> s{_cdApplicationName = a});
 
@@ -138,6 +134,8 @@
               (\ s h x ->
                  CreateDeploymentResponse' <$>
                    (x .?> "deploymentId") <*> (pure (fromEnum s)))
+
+instance Hashable CreateDeployment
 
 instance ToHeaders CreateDeployment where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs b/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs
--- a/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.CreateDeploymentConfig
--- 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 deployment configuration.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentConfig.html AWS API Reference> for CreateDeploymentConfig.
+-- Creates a deployment configuration.
 module Network.AWS.CodeDeploy.CreateDeploymentConfig
     (
     -- * Creating a Request
@@ -76,17 +74,17 @@
 -- The type parameter takes either of the following values:
 --
 -- -   HOST_COUNT: The value parameter represents the minimum number of
---     healthy instances, as an absolute value.
+--     healthy instances as an absolute value.
 -- -   FLEET_PERCENT: The value parameter represents the minimum number of
---     healthy instances, as a percentage of the total number of instances
---     in the deployment. If you specify FLEET_PERCENT, then at the start
---     of the deployment AWS CodeDeploy converts the percentage to the
---     equivalent number of instances and rounds fractional instances up.
+--     healthy instances as a percentage of the total number of instances
+--     in the deployment. If you specify FLEET_PERCENT, at the start of the
+--     deployment, AWS CodeDeploy converts the percentage to the equivalent
+--     number of instance and rounds up fractional instances.
 --
 -- The value parameter takes an integer.
 --
--- For example, to set a minimum of 95% healthy instances, specify a type
--- of FLEET_PERCENT and a value of 95.
+-- For example, to set a minimum of 95% healthy instance, specify a type of
+-- FLEET_PERCENT and a value of 95.
 cdcMinimumHealthyHosts :: Lens' CreateDeploymentConfig (Maybe MinimumHealthyHosts)
 cdcMinimumHealthyHosts = lens _cdcMinimumHealthyHosts (\ s a -> s{_cdcMinimumHealthyHosts = a});
 
@@ -103,6 +101,8 @@
               (\ s h x ->
                  CreateDeploymentConfigResponse' <$>
                    (x .?> "deploymentConfigId") <*> (pure (fromEnum s)))
+
+instance Hashable CreateDeploymentConfig
 
 instance ToHeaders CreateDeploymentConfig where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.CreateDeploymentGroup
--- 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 deployment group for application revisions to be deployed
--- to.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentGroup.html AWS API Reference> for CreateDeploymentGroup.
+-- Creates a deployment group to which application revisions will be
+-- deployed.
 module Network.AWS.CodeDeploy.CreateDeploymentGroup
     (
     -- * Creating a Request
@@ -31,6 +29,7 @@
     , cdgDeploymentConfigName
     , cdgEc2TagFilters
     , cdgOnPremisesInstanceTagFilters
+    , cdgTriggerConfigurations
     , cdgAutoScalingGroups
     , cdgApplicationName
     , cdgDeploymentGroupName
@@ -58,6 +57,7 @@
     { _cdgDeploymentConfigName         :: !(Maybe Text)
     , _cdgEc2TagFilters                :: !(Maybe [EC2TagFilter])
     , _cdgOnPremisesInstanceTagFilters :: !(Maybe [TagFilter])
+    , _cdgTriggerConfigurations        :: !(Maybe [TriggerConfig])
     , _cdgAutoScalingGroups            :: !(Maybe [Text])
     , _cdgApplicationName              :: !Text
     , _cdgDeploymentGroupName          :: !Text
@@ -74,6 +74,8 @@
 --
 -- * 'cdgOnPremisesInstanceTagFilters'
 --
+-- * 'cdgTriggerConfigurations'
+--
 -- * 'cdgAutoScalingGroups'
 --
 -- * 'cdgApplicationName'
@@ -91,68 +93,99 @@
     { _cdgDeploymentConfigName = Nothing
     , _cdgEc2TagFilters = Nothing
     , _cdgOnPremisesInstanceTagFilters = Nothing
+    , _cdgTriggerConfigurations = Nothing
     , _cdgAutoScalingGroups = Nothing
     , _cdgApplicationName = pApplicationName_
     , _cdgDeploymentGroupName = pDeploymentGroupName_
     , _cdgServiceRoleARN = pServiceRoleARN_
     }
 
--- | If specified, the deployment configuration name must be one of the
--- predefined values, or it can be a custom deployment configuration:
+-- | If specified, the deployment configuration name can be either one of the
+-- predefined configurations provided with AWS CodeDeploy or a custom
+-- deployment configuration that you create by calling the create
+-- deployment configuration operation.
 --
--- -   CodeDeployDefault.AllAtOnce deploys an application revision to up to
---     all of the instances at once. The overall deployment succeeds if the
---     application revision deploys to at least one of the instances. The
---     overall deployment fails after the application revision fails to
---     deploy to all of the instances. For example, for 9 instances, deploy
---     to up to all 9 instances at once. The overall deployment succeeds if
---     any of the 9 instances is successfully deployed to, and it fails if
---     all 9 instances fail to be deployed to.
--- -   CodeDeployDefault.HalfAtATime deploys to up to half of the instances
---     at a time (with fractions rounded down). The overall deployment
---     succeeds if the application revision deploys to at least half of the
---     instances (with fractions rounded up); otherwise, the deployment
---     fails. For example, for 9 instances, deploy to up to 4 instances at
---     a time. The overall deployment succeeds if 5 or more instances are
---     successfully deployed to; otherwise, the deployment fails. Note that
---     the deployment may successfully deploy to some instances, even if
---     the overall deployment fails.
--- -   CodeDeployDefault.OneAtATime deploys the application revision to
---     only one of the instances at a time. The overall deployment succeeds
---     if the application revision deploys to all of the instances. The
---     overall deployment fails after the application revision first fails
---     to deploy to any one instances. For example, for 9 instances, deploy
---     to one instance at a time. The overall deployment succeeds if all 9
---     instances are successfully deployed to, and it fails if any of one
---     of the 9 instances fail to be deployed to. Note that the deployment
---     may successfully deploy to some instances, even if the overall
---     deployment fails. This is the default deployment configuration if a
---     configuration isn\'t specified for either the deployment or the
---     deployment group.
+-- CodeDeployDefault.OneAtATime is the default deployment configuration. It
+-- is used if a configuration isn\'t specified for the deployment or the
+-- deployment group.
 --
--- To create a custom deployment configuration, call the create deployment
--- configuration operation.
+-- The predefined deployment configurations include the following:
+--
+-- -   __CodeDeployDefault.AllAtOnce__ attempts to deploy an application
+--     revision to as many instance as possible at once. The status of the
+--     overall deployment will be displayed as __Succeeded__ if the
+--     application revision is deployed to one or more of the instances.
+--     The status of the overall deployment will be displayed as __Failed__
+--     if the application revision is not deployed to any of the instances.
+--     Using an example of nine instance, CodeDeployDefault.AllAtOnce will
+--     attempt to deploy to all nine instance at once. The overall
+--     deployment will succeed if deployment to even a single instance is
+--     successful; it will fail only if deployments to all nine instance
+--     fail.
+--
+-- -   __CodeDeployDefault.HalfAtATime__ deploys to up to half of the
+--     instances at a time (with fractions rounded down). The overall
+--     deployment succeeds if the application revision is deployed to at
+--     least half of the instances (with fractions rounded up); otherwise,
+--     the deployment fails. In the example of nine instances, it will
+--     deploy to up to four instance at a time. The overall deployment
+--     succeeds if deployment to five or more instances succeed; otherwise,
+--     the deployment fails. The deployment may be successfully deployed to
+--     some instances even if the overall deployment fails.
+--
+-- -   __CodeDeployDefault.OneAtATime__ deploys the application revision to
+--     only one instance at a time.
+--
+--     For deployment groups that contain more than one instance:
+--
+--     -   The overall deployment succeeds if the application revision is
+--         deployed to all of the instances. The exception to this rule is
+--         if deployment to the last instance fails, the overall deployment
+--         still succeeds. This is because AWS CodeDeploy allows only one
+--         instance at a time to be taken offline with the
+--         CodeDeployDefault.OneAtATime configuration.
+--
+--     -   The overall deployment fails as soon as the application revision
+--         fails to be deployed to any but the last instance. The
+--         deployment may be successfully deployed to some instances even
+--         if the overall deployment fails.
+--
+--     -   In an example using nine instance, it will deploy to one
+--         instance at a time. The overall deployment succeeds if
+--         deployment to the first eight instance is successful; the
+--         overall deployment fails if deployment to any of the first eight
+--         instance fails.
+--
+--     For deployment groups that contain only one instance, the overall
+--     deployment is successful only if deployment to the single instance
+--     is successful
+--
 cdgDeploymentConfigName :: Lens' CreateDeploymentGroup (Maybe Text)
 cdgDeploymentConfigName = lens _cdgDeploymentConfigName (\ s a -> s{_cdgDeploymentConfigName = a});
 
--- | The Amazon EC2 tags to filter on.
+-- | The Amazon EC2 tags on which to filter.
 cdgEc2TagFilters :: Lens' CreateDeploymentGroup [EC2TagFilter]
 cdgEc2TagFilters = lens _cdgEc2TagFilters (\ s a -> s{_cdgEc2TagFilters = a}) . _Default . _Coerce;
 
--- | The on-premises instance tags to filter on.
+-- | The on-premises instance tags on which to filter.
 cdgOnPremisesInstanceTagFilters :: Lens' CreateDeploymentGroup [TagFilter]
 cdgOnPremisesInstanceTagFilters = lens _cdgOnPremisesInstanceTagFilters (\ s a -> s{_cdgOnPremisesInstanceTagFilters = a}) . _Default . _Coerce;
 
+-- | Information about triggers to create when the deployment group is
+-- created.
+cdgTriggerConfigurations :: Lens' CreateDeploymentGroup [TriggerConfig]
+cdgTriggerConfigurations = lens _cdgTriggerConfigurations (\ s a -> s{_cdgTriggerConfigurations = a}) . _Default . _Coerce;
+
 -- | A list of associated Auto Scaling groups.
 cdgAutoScalingGroups :: Lens' CreateDeploymentGroup [Text]
 cdgAutoScalingGroups = lens _cdgAutoScalingGroups (\ s a -> s{_cdgAutoScalingGroups = a}) . _Default . _Coerce;
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 cdgApplicationName :: Lens' CreateDeploymentGroup Text
 cdgApplicationName = lens _cdgApplicationName (\ s a -> s{_cdgApplicationName = a});
 
--- | The name of an existing deployment group for the specified application.
+-- | The name of a new deployment group for the specified application.
 cdgDeploymentGroupName :: Lens' CreateDeploymentGroup Text
 cdgDeploymentGroupName = lens _cdgDeploymentGroupName (\ s a -> s{_cdgDeploymentGroupName = a});
 
@@ -171,6 +204,8 @@
                  CreateDeploymentGroupResponse' <$>
                    (x .?> "deploymentGroupId") <*> (pure (fromEnum s)))
 
+instance Hashable CreateDeploymentGroup
+
 instance ToHeaders CreateDeploymentGroup where
         toHeaders
           = const
@@ -190,6 +225,8 @@
                   ("ec2TagFilters" .=) <$> _cdgEc2TagFilters,
                   ("onPremisesInstanceTagFilters" .=) <$>
                     _cdgOnPremisesInstanceTagFilters,
+                  ("triggerConfigurations" .=) <$>
+                    _cdgTriggerConfigurations,
                   ("autoScalingGroups" .=) <$> _cdgAutoScalingGroups,
                   Just ("applicationName" .= _cdgApplicationName),
                   Just
diff --git a/gen/Network/AWS/CodeDeploy/DeleteApplication.hs b/gen/Network/AWS/CodeDeploy/DeleteApplication.hs
--- a/gen/Network/AWS/CodeDeploy/DeleteApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/DeleteApplication.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.DeleteApplication
--- 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)
 --
 -- Deletes an application.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteApplication.html AWS API Reference> for DeleteApplication.
 module Network.AWS.CodeDeploy.DeleteApplication
     (
     -- * Creating a Request
@@ -61,8 +59,8 @@
     { _daApplicationName = pApplicationName_
     }
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 daApplicationName :: Lens' DeleteApplication Text
 daApplicationName = lens _daApplicationName (\ s a -> s{_daApplicationName = a});
 
@@ -70,6 +68,8 @@
         type Rs DeleteApplication = DeleteApplicationResponse
         request = postJSON codeDeploy
         response = receiveNull DeleteApplicationResponse'
+
+instance Hashable DeleteApplication
 
 instance ToHeaders DeleteApplication where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs b/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs
--- a/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs
+++ b/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.DeleteDeploymentConfig
--- 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,9 +21,7 @@
 -- Deletes a deployment configuration.
 --
 -- A deployment configuration cannot be deleted if it is currently in use.
--- Also, predefined configurations cannot be deleted.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentConfig.html AWS API Reference> for DeleteDeploymentConfig.
+-- Predefined configurations cannot be deleted.
 module Network.AWS.CodeDeploy.DeleteDeploymentConfig
     (
     -- * Creating a Request
@@ -64,8 +62,8 @@
     { _ddcDeploymentConfigName = pDeploymentConfigName_
     }
 
--- | The name of an existing deployment configuration associated with the
--- applicable IAM user or AWS account.
+-- | The name of a deployment configuration associated with the applicable
+-- IAM user or AWS account.
 ddcDeploymentConfigName :: Lens' DeleteDeploymentConfig Text
 ddcDeploymentConfigName = lens _ddcDeploymentConfigName (\ s a -> s{_ddcDeploymentConfigName = a});
 
@@ -75,6 +73,8 @@
         request = postJSON codeDeploy
         response
           = receiveNull DeleteDeploymentConfigResponse'
+
+instance Hashable DeleteDeploymentConfig
 
 instance ToHeaders DeleteDeploymentConfig where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.DeleteDeploymentGroup
--- 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)
 --
 -- Deletes a deployment group.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentGroup.html AWS API Reference> for DeleteDeploymentGroup.
 module Network.AWS.CodeDeploy.DeleteDeploymentGroup
     (
     -- * Creating a Request
@@ -70,8 +68,8 @@
     , _ddgDeploymentGroupName = pDeploymentGroupName_
     }
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 ddgApplicationName :: Lens' DeleteDeploymentGroup Text
 ddgApplicationName = lens _ddgApplicationName (\ s a -> s{_ddgApplicationName = a});
 
@@ -90,6 +88,8 @@
                    (x .?> "hooksNotCleanedUp" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
+instance Hashable DeleteDeploymentGroup
+
 instance ToHeaders DeleteDeploymentGroup where
         toHeaders
           = const
@@ -141,7 +141,7 @@
 -- | If the output contains no data, and the corresponding deployment group
 -- contained at least one Auto Scaling group, AWS CodeDeploy successfully
 -- removed all corresponding Auto Scaling lifecycle event hooks from the
--- Amazon EC2 instances in the Auto Scaling. If the output does contain
+-- Amazon EC2 instances in the Auto Scaling group. If the output contains
 -- data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event
 -- hooks from the Amazon EC2 instances in the Auto Scaling group.
 ddgrsHooksNotCleanedUp :: Lens' DeleteDeploymentGroupResponse [AutoScalingGroup]
diff --git a/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs b/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs
--- a/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.DeregisterOnPremisesInstance
--- 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)
 --
 -- Deregisters an on-premises instance.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeregisterOnPremisesInstance.html AWS API Reference> for DeregisterOnPremisesInstance.
 module Network.AWS.CodeDeploy.DeregisterOnPremisesInstance
     (
     -- * Creating a Request
@@ -72,6 +70,8 @@
         request = postJSON codeDeploy
         response
           = receiveNull DeregisterOnPremisesInstanceResponse'
+
+instance Hashable DeregisterOnPremisesInstance
 
 instance ToHeaders DeregisterOnPremisesInstance where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/GetApplication.hs b/gen/Network/AWS/CodeDeploy/GetApplication.hs
--- a/gen/Network/AWS/CodeDeploy/GetApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/GetApplication.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.GetApplication
--- 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)
 --
 -- Gets information about an application.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplication.html AWS API Reference> for GetApplication.
 module Network.AWS.CodeDeploy.GetApplication
     (
     -- * Creating a Request
@@ -64,8 +62,8 @@
     { _gaApplicationName = pApplicationName_
     }
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 gaApplicationName :: Lens' GetApplication Text
 gaApplicationName = lens _gaApplicationName (\ s a -> s{_gaApplicationName = a});
 
@@ -77,6 +75,8 @@
               (\ s h x ->
                  GetApplicationResponse' <$>
                    (x .?> "application") <*> (pure (fromEnum s)))
+
+instance Hashable GetApplication
 
 instance ToHeaders GetApplication where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs b/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs
--- a/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs
+++ b/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.GetApplicationRevision
--- 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)
 --
 -- Gets information about an application revision.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplicationRevision.html AWS API Reference> for GetApplicationRevision.
 module Network.AWS.CodeDeploy.GetApplicationRevision
     (
     -- * Creating a Request
@@ -76,8 +74,8 @@
 garApplicationName :: Lens' GetApplicationRevision Text
 garApplicationName = lens _garApplicationName (\ s a -> s{_garApplicationName = a});
 
--- | Information about the application revision to get, including the
--- revision\'s type and its location.
+-- | Information about the application revision to get, including type and
+-- location.
 garRevision :: Lens' GetApplicationRevision RevisionLocation
 garRevision = lens _garRevision (\ s a -> s{_garRevision = a});
 
@@ -93,6 +91,8 @@
                      <*> (x .?> "revision")
                      <*> (pure (fromEnum s)))
 
+instance Hashable GetApplicationRevision
+
 instance ToHeaders GetApplicationRevision where
         toHeaders
           = const
@@ -156,8 +156,7 @@
 garrsRevisionInfo :: Lens' GetApplicationRevisionResponse (Maybe GenericRevisionInfo)
 garrsRevisionInfo = lens _garrsRevisionInfo (\ s a -> s{_garrsRevisionInfo = a});
 
--- | Additional information about the revision, including the revision\'s
--- type and its location.
+-- | Additional information about the revision, including type and location.
 garrsRevision :: Lens' GetApplicationRevisionResponse (Maybe RevisionLocation)
 garrsRevision = lens _garrsRevision (\ s a -> s{_garrsRevision = a});
 
diff --git a/gen/Network/AWS/CodeDeploy/GetDeployment.hs b/gen/Network/AWS/CodeDeploy/GetDeployment.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeployment.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeployment.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.GetDeployment
--- 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)
 --
 -- Gets information about a deployment.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeployment.html AWS API Reference> for GetDeployment.
 module Network.AWS.CodeDeploy.GetDeployment
     (
     -- * Creating a Request
@@ -64,8 +62,7 @@
     { _gdDeploymentId = pDeploymentId_
     }
 
--- | An existing deployment ID associated with the applicable IAM user or AWS
--- account.
+-- | A deployment ID associated with the applicable IAM user or AWS account.
 gdDeploymentId :: Lens' GetDeployment Text
 gdDeploymentId = lens _gdDeploymentId (\ s a -> s{_gdDeploymentId = a});
 
@@ -77,6 +74,8 @@
               (\ s h x ->
                  GetDeploymentResponse' <$>
                    (x .?> "deploymentInfo") <*> (pure (fromEnum s)))
+
+instance Hashable GetDeployment
 
 instance ToHeaders GetDeployment where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs b/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.GetDeploymentConfig
--- 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)
 --
 -- Gets information about a deployment configuration.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentConfig.html AWS API Reference> for GetDeploymentConfig.
 module Network.AWS.CodeDeploy.GetDeploymentConfig
     (
     -- * Creating a Request
@@ -64,8 +62,8 @@
     { _gdcDeploymentConfigName = pDeploymentConfigName_
     }
 
--- | The name of an existing deployment configuration associated with the
--- applicable IAM user or AWS account.
+-- | The name of a deployment configuration associated with the applicable
+-- IAM user or AWS account.
 gdcDeploymentConfigName :: Lens' GetDeploymentConfig Text
 gdcDeploymentConfigName = lens _gdcDeploymentConfigName (\ s a -> s{_gdcDeploymentConfigName = a});
 
@@ -79,6 +77,8 @@
                  GetDeploymentConfigResponse' <$>
                    (x .?> "deploymentConfigInfo") <*>
                      (pure (fromEnum s)))
+
+instance Hashable GetDeploymentConfig
 
 instance ToHeaders GetDeploymentConfig where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.GetDeploymentGroup
--- 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)
 --
 -- Gets information about a deployment group.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentGroup.html AWS API Reference> for GetDeploymentGroup.
 module Network.AWS.CodeDeploy.GetDeploymentGroup
     (
     -- * Creating a Request
@@ -70,8 +68,8 @@
     , _gdgDeploymentGroupName = pDeploymentGroupName_
     }
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 gdgApplicationName :: Lens' GetDeploymentGroup Text
 gdgApplicationName = lens _gdgApplicationName (\ s a -> s{_gdgApplicationName = a});
 
@@ -89,6 +87,8 @@
                  GetDeploymentGroupResponse' <$>
                    (x .?> "deploymentGroupInfo") <*>
                      (pure (fromEnum s)))
+
+instance Hashable GetDeploymentGroup
 
 instance ToHeaders GetDeploymentGroup where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs b/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.GetDeploymentInstance
--- 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)
 --
 -- Gets information about an instance as part of a deployment.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentInstance.html AWS API Reference> for GetDeploymentInstance.
 module Network.AWS.CodeDeploy.GetDeploymentInstance
     (
     -- * Creating a Request
@@ -74,7 +72,7 @@
 gdiDeploymentId :: Lens' GetDeploymentInstance Text
 gdiDeploymentId = lens _gdiDeploymentId (\ s a -> s{_gdiDeploymentId = a});
 
--- | The unique ID of an instance in the deployment\'s deployment group.
+-- | The unique ID of an instance in the deployment group.
 gdiInstanceId :: Lens' GetDeploymentInstance Text
 gdiInstanceId = lens _gdiInstanceId (\ s a -> s{_gdiInstanceId = a});
 
@@ -87,6 +85,8 @@
               (\ s h x ->
                  GetDeploymentInstanceResponse' <$>
                    (x .?> "instanceSummary") <*> (pure (fromEnum s)))
+
+instance Hashable GetDeploymentInstance
 
 instance ToHeaders GetDeploymentInstance where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs b/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs
--- a/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.GetOnPremisesInstance
--- 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)
 --
 -- Gets information about an on-premises instance.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetOnPremisesInstance.html AWS API Reference> for GetOnPremisesInstance.
 module Network.AWS.CodeDeploy.GetOnPremisesInstance
     (
     -- * Creating a Request
@@ -64,7 +62,7 @@
     { _gopiInstanceName = pInstanceName_
     }
 
--- | The name of the on-premises instance to get information about
+-- | The name of the on-premises instance about which to get information.
 gopiInstanceName :: Lens' GetOnPremisesInstance Text
 gopiInstanceName = lens _gopiInstanceName (\ s a -> s{_gopiInstanceName = a});
 
@@ -77,6 +75,8 @@
               (\ s h x ->
                  GetOnPremisesInstanceResponse' <$>
                    (x .?> "instanceInfo") <*> (pure (fromEnum s)))
+
+instance Hashable GetOnPremisesInstance
 
 instance ToHeaders GetOnPremisesInstance where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs b/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs
--- a/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs
+++ b/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.ListApplicationRevisions
--- 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)
 --
 -- Lists information about revisions for an application.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplicationRevisions.html AWS API Reference> for ListApplicationRevisions.
 module Network.AWS.CodeDeploy.ListApplicationRevisions
     (
     -- * Creating a Request
@@ -95,8 +93,8 @@
     , _larApplicationName = pApplicationName_
     }
 
--- | A specific key prefix for the set of Amazon S3 objects to limit the
--- search for revisions.
+-- | A key prefix for the set of Amazon S3 objects to limit the search for
+-- revisions.
 larS3KeyPrefix :: Lens' ListApplicationRevisions (Maybe Text)
 larS3KeyPrefix = lens _larS3KeyPrefix (\ s a -> s{_larS3KeyPrefix = a});
 
@@ -107,15 +105,14 @@
 --     group.
 -- -   exclude: Do not list revisions that are target revisions of a
 --     deployment group.
--- -   ignore: List all revisions, regardless of whether they are target
---     revisions of a deployment group.
+-- -   ignore: List all revisions.
 larDeployed :: Lens' ListApplicationRevisions (Maybe ListStateFilterAction)
 larDeployed = lens _larDeployed (\ s a -> s{_larDeployed = a});
 
--- | The order to sort the list results by:
+-- | The order in which to sort the list results:
 --
--- -   ascending: Sort the list of results in ascending order.
--- -   descending: Sort the list of results in descending order.
+-- -   ascending: ascending order.
+-- -   descending: descending order.
 --
 -- If not specified, the results will be sorted in ascending order.
 --
@@ -123,34 +120,33 @@
 larSortOrder :: Lens' ListApplicationRevisions (Maybe SortOrder)
 larSortOrder = lens _larSortOrder (\ s a -> s{_larSortOrder = a});
 
--- | An identifier that was returned from the previous list application
--- revisions call, which can be used to return the next set of applications
--- in the list.
+-- | An identifier returned from the previous list application revisions
+-- call. It can be used to return the next set of applications in the list.
 larNextToken :: Lens' ListApplicationRevisions (Maybe Text)
 larNextToken = lens _larNextToken (\ s a -> s{_larNextToken = a});
 
--- | A specific Amazon S3 bucket name to limit the search for revisions.
+-- | An Amazon S3 bucket name to limit the search for revisions.
 --
--- If set to null, then all of the user\'s buckets will be searched.
+-- If set to null, all of the user\'s buckets will be searched.
 larS3Bucket :: Lens' ListApplicationRevisions (Maybe Text)
 larS3Bucket = lens _larS3Bucket (\ s a -> s{_larS3Bucket = a});
 
--- | The column name to sort the list results by:
+-- | The column name to use to sort the list results:
 --
--- -   registerTime: Sort the list results by when the revisions were
---     registered with AWS CodeDeploy.
--- -   firstUsedTime: Sort the list results by when the revisions were
---     first used by in a deployment.
--- -   lastUsedTime: Sort the list results by when the revisions were last
---     used in a deployment.
+-- -   registerTime: Sort by the time the revisions were registered with
+--     AWS CodeDeploy.
+-- -   firstUsedTime: Sort by the time the revisions were first used in a
+--     deployment.
+-- -   lastUsedTime: Sort by the time the revisions were last used in a
+--     deployment.
 --
 -- If not specified or set to null, the results will be returned in an
 -- arbitrary order.
 larSortBy :: Lens' ListApplicationRevisions (Maybe ApplicationRevisionSortBy)
 larSortBy = lens _larSortBy (\ s a -> s{_larSortBy = a});
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 larApplicationName :: Lens' ListApplicationRevisions Text
 larApplicationName = lens _larApplicationName (\ s a -> s{_larApplicationName = a});
 
@@ -166,6 +162,8 @@
                      (x .?> "revisions" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable ListApplicationRevisions
+
 instance ToHeaders ListApplicationRevisions where
         toHeaders
           = const
@@ -222,14 +220,13 @@
     , _larrsResponseStatus = pResponseStatus_
     }
 
--- | If the amount of information that is returned is significantly large, an
--- identifier will also be returned, which can be used in a subsequent list
--- application revisions call to return the next set of application
--- revisions in the list.
+-- | If a large amount of information is returned, an identifier will also be
+-- returned. It can be used in a subsequent list application revisions call
+-- to return the next set of application revisions in the list.
 larrsNextToken :: Lens' ListApplicationRevisionsResponse (Maybe Text)
 larrsNextToken = lens _larrsNextToken (\ s a -> s{_larrsNextToken = a});
 
--- | A list of revision locations that contain the matching revisions.
+-- | A list of locations that contain the matching revisions.
 larrsRevisions :: Lens' ListApplicationRevisionsResponse [RevisionLocation]
 larrsRevisions = lens _larrsRevisions (\ s a -> s{_larrsRevisions = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/CodeDeploy/ListApplications.hs b/gen/Network/AWS/CodeDeploy/ListApplications.hs
--- a/gen/Network/AWS/CodeDeploy/ListApplications.hs
+++ b/gen/Network/AWS/CodeDeploy/ListApplications.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.ListApplications
--- 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 @@
 --
 -- Lists the applications registered with the applicable IAM user or AWS
 -- account.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplications.html AWS API Reference> for ListApplications.
 module Network.AWS.CodeDeploy.ListApplications
     (
     -- * Creating a Request
@@ -65,9 +63,8 @@
     { _laNextToken = Nothing
     }
 
--- | An identifier that was returned from the previous list applications
--- call, which can be used to return the next set of applications in the
--- list.
+-- | An identifier returned from the previous list applications call. It can
+-- be used to return the next set of applications in the list.
 laNextToken :: Lens' ListApplications (Maybe Text)
 laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});
 
@@ -82,6 +79,8 @@
                      (x .?> "applications" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable ListApplications
+
 instance ToHeaders ListApplications where
         toHeaders
           = const
@@ -131,9 +130,9 @@
     , _larsResponseStatus = pResponseStatus_
     }
 
--- | If the amount of information that is returned is significantly large, an
--- identifier will also be returned, which can be used in a subsequent list
--- applications call to return the next set of applications in the list.
+-- | If a large amount of information is returned, an identifier is also
+-- returned. It can be used in a subsequent list applications call to
+-- return the next set of applications, will also be returned. in the list.
 larsNextToken :: Lens' ListApplicationsResponse (Maybe Text)
 larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});
 
diff --git a/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs b/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.ListDeploymentConfigs
--- 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 @@
 --
 -- Lists the deployment configurations with the applicable IAM user or AWS
 -- account.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentConfigs.html AWS API Reference> for ListDeploymentConfigs.
 module Network.AWS.CodeDeploy.ListDeploymentConfigs
     (
     -- * Creating a Request
@@ -65,9 +63,9 @@
     { _ldcNextToken = Nothing
     }
 
--- | An identifier that was returned from the previous list deployment
--- configurations call, which can be used to return the next set of
--- deployment configurations in the list.
+-- | An identifier returned from the previous list deployment configurations
+-- call. It can be used to return the next set of deployment configurations
+-- in the list.
 ldcNextToken :: Lens' ListDeploymentConfigs (Maybe Text)
 ldcNextToken = lens _ldcNextToken (\ s a -> s{_ldcNextToken = a});
 
@@ -83,6 +81,8 @@
                      (x .?> "deploymentConfigsList" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable ListDeploymentConfigs
+
 instance ToHeaders ListDeploymentConfigs where
         toHeaders
           = const
@@ -132,15 +132,14 @@
     , _ldcrsResponseStatus = pResponseStatus_
     }
 
--- | If the amount of information that is returned is significantly large, an
--- identifier will also be returned, which can be used in a subsequent list
--- deployment configurations call to return the next set of deployment
--- configurations in the list.
+-- | If a large amount of information is returned, an identifier is also
+-- returned. It can be used in a subsequent list deployment configurations
+-- call to return the next set of deployment configurations in the list.
 ldcrsNextToken :: Lens' ListDeploymentConfigsResponse (Maybe Text)
 ldcrsNextToken = lens _ldcrsNextToken (\ s a -> s{_ldcrsNextToken = a});
 
--- | A list of deployment configurations, including the built-in
--- configurations such as CodeDeployDefault.OneAtATime.
+-- | A list of deployment configurations, including built-in configurations
+-- such as CodeDeployDefault.OneAtATime.
 ldcrsDeploymentConfigsList :: Lens' ListDeploymentConfigsResponse [Text]
 ldcrsDeploymentConfigsList = lens _ldcrsDeploymentConfigsList (\ s a -> s{_ldcrsDeploymentConfigsList = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs b/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.ListDeploymentGroups
--- 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 @@
 --
 -- Lists the deployment groups for an application registered with the
 -- applicable IAM user or AWS account.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentGroups.html AWS API Reference> for ListDeploymentGroups.
 module Network.AWS.CodeDeploy.ListDeploymentGroups
     (
     -- * Creating a Request
@@ -72,14 +70,13 @@
     , _ldgApplicationName = pApplicationName_
     }
 
--- | An identifier that was returned from the previous list deployment groups
--- call, which can be used to return the next set of deployment groups in
--- the list.
+-- | An identifier returned from the previous list deployment groups call. It
+-- can be used to return the next set of deployment groups in the list.
 ldgNextToken :: Lens' ListDeploymentGroups (Maybe Text)
 ldgNextToken = lens _ldgNextToken (\ s a -> s{_ldgNextToken = a});
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 ldgApplicationName :: Lens' ListDeploymentGroups Text
 ldgApplicationName = lens _ldgApplicationName (\ s a -> s{_ldgApplicationName = a});
 
@@ -95,6 +92,8 @@
                      (x .?> "deploymentGroups" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable ListDeploymentGroups
+
 instance ToHeaders ListDeploymentGroups where
         toHeaders
           = const
@@ -150,10 +149,9 @@
     , _ldgrsResponseStatus = pResponseStatus_
     }
 
--- | If the amount of information that is returned is significantly large, an
--- identifier will also be returned, which can be used in a subsequent list
--- deployment groups call to return the next set of deployment groups in
--- the list.
+-- | If a large amount of information is returned, an identifier is also
+-- returned. It can be used in a subsequent list deployment groups call to
+-- return the next set of deployment groups in the list.
 ldgrsNextToken :: Lens' ListDeploymentGroupsResponse (Maybe Text)
 ldgrsNextToken = lens _ldgrsNextToken (\ s a -> s{_ldgrsNextToken = a});
 
diff --git a/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs b/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.ListDeploymentInstances
--- 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)
 --
--- Lists the instances for a deployment associated with the applicable IAM
+-- Lists the instance for a deployment associated with the applicable IAM
 -- user or AWS account.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentInstances.html AWS API Reference> for ListDeploymentInstances.
 module Network.AWS.CodeDeploy.ListDeploymentInstances
     (
     -- * Creating a Request
@@ -76,26 +74,22 @@
     , _ldiDeploymentId = pDeploymentId_
     }
 
--- | A subset of instances to list, by status:
+-- | A subset of instances to list by status:
 --
--- -   Pending: Include in the resulting list those instances with pending
---     deployments.
--- -   InProgress: Include in the resulting list those instances with
---     in-progress deployments.
--- -   Succeeded: Include in the resulting list those instances with
---     succeeded deployments.
--- -   Failed: Include in the resulting list those instances with failed
---     deployments.
--- -   Skipped: Include in the resulting list those instances with skipped
---     deployments.
--- -   Unknown: Include in the resulting list those instances with
---     deployments in an unknown state.
+-- -   Pending: Include those instance with pending deployments.
+-- -   InProgress: Include those instance where deployments are still in
+--     progress.
+-- -   Succeeded: Include those instances with successful deployments.
+-- -   Failed: Include those instance with failed deployments.
+-- -   Skipped: Include those instance with skipped deployments.
+-- -   Unknown: Include those instance with deployments in an unknown
+--     state.
 ldiInstanceStatusFilter :: Lens' ListDeploymentInstances [InstanceStatus]
 ldiInstanceStatusFilter = lens _ldiInstanceStatusFilter (\ s a -> s{_ldiInstanceStatusFilter = a}) . _Default . _Coerce;
 
--- | An identifier that was returned from the previous list deployment
--- instances call, which can be used to return the next set of deployment
--- instances in the list.
+-- | An identifier returned from the previous list deployment instances call.
+-- It can be used to return the next set of deployment instances in the
+-- list.
 ldiNextToken :: Lens' ListDeploymentInstances (Maybe Text)
 ldiNextToken = lens _ldiNextToken (\ s a -> s{_ldiNextToken = a});
 
@@ -115,6 +109,8 @@
                      (x .?> "instancesList" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable ListDeploymentInstances
+
 instance ToHeaders ListDeploymentInstances where
         toHeaders
           = const
@@ -168,14 +164,13 @@
     , _ldirsResponseStatus = pResponseStatus_
     }
 
--- | If the amount of information that is returned is significantly large, an
--- identifier will also be returned, which can be used in a subsequent list
--- deployment instances call to return the next set of deployment instances
--- in the list.
+-- | If a large amount of information is returned, an identifier is also
+-- returned. It can be used in a subsequent list deployment instances call
+-- to return the next set of deployment instances in the list.
 ldirsNextToken :: Lens' ListDeploymentInstancesResponse (Maybe Text)
 ldirsNextToken = lens _ldirsNextToken (\ s a -> s{_ldirsNextToken = a});
 
--- | A list of instances IDs.
+-- | A list of instance IDs.
 ldirsInstancesList :: Lens' ListDeploymentInstancesResponse [Text]
 ldirsInstancesList = lens _ldirsInstancesList (\ s a -> s{_ldirsInstancesList = a}) . _Default . _Coerce;
 
diff --git a/gen/Network/AWS/CodeDeploy/ListDeployments.hs b/gen/Network/AWS/CodeDeploy/ListDeployments.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeployments.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeployments.hs
@@ -12,16 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.ListDeployments
--- 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)
 --
--- Lists the deployments within a deployment group for an application
+-- Lists the deployments in a deployment group for an application
 -- registered with the applicable IAM user or AWS account.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeployments.html AWS API Reference> for ListDeployments.
 module Network.AWS.CodeDeploy.ListDeployments
     (
     -- * Creating a Request
@@ -85,29 +83,29 @@
     , _ldDeploymentGroupName = Nothing
     }
 
--- | A deployment creation start- and end-time range for returning a subset
--- of the list of deployments.
+-- | A time range (start and end) for returning a subset of the list of
+-- deployments.
 ldCreateTimeRange :: Lens' ListDeployments (Maybe TimeRange)
 ldCreateTimeRange = lens _ldCreateTimeRange (\ s a -> s{_ldCreateTimeRange = a});
 
--- | An identifier that was returned from the previous list deployments call,
--- which can be used to return the next set of deployments in the list.
+-- | An identifier returned from the previous list deployments call. It can
+-- be used to return the next set of deployments in the list.
 ldNextToken :: Lens' ListDeployments (Maybe Text)
 ldNextToken = lens _ldNextToken (\ s a -> s{_ldNextToken = a});
 
--- | A subset of deployments to list, by status:
+-- | A subset of deployments to list by status:
 --
--- -   Created: Include in the resulting list created deployments.
--- -   Queued: Include in the resulting list queued deployments.
--- -   In Progress: Include in the resulting list in-progress deployments.
--- -   Succeeded: Include in the resulting list succeeded deployments.
--- -   Failed: Include in the resulting list failed deployments.
--- -   Aborted: Include in the resulting list aborted deployments.
+-- -   Created: Include created deployments in the resulting list.
+-- -   Queued: Include queued deployments in the resulting list.
+-- -   In Progress: Include in-progress deployments in the resulting list.
+-- -   Succeeded: Include successful deployments in the resulting list.
+-- -   Failed: Include failed deployments in the resulting list.
+-- -   Aborted: Include aborted deployments in the resulting list.
 ldIncludeOnlyStatuses :: Lens' ListDeployments [DeploymentStatus]
 ldIncludeOnlyStatuses = lens _ldIncludeOnlyStatuses (\ s a -> s{_ldIncludeOnlyStatuses = a}) . _Default . _Coerce;
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 ldApplicationName :: Lens' ListDeployments (Maybe Text)
 ldApplicationName = lens _ldApplicationName (\ s a -> s{_ldApplicationName = a});
 
@@ -126,6 +124,8 @@
                      (x .?> "deployments" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable ListDeployments
+
 instance ToHeaders ListDeployments where
         toHeaders
           = const
@@ -182,9 +182,9 @@
     , _ldrsResponseStatus = pResponseStatus_
     }
 
--- | If the amount of information that is returned is significantly large, an
--- identifier will also be returned, which can be used in a subsequent list
--- deployments call to return the next set of deployments in the list.
+-- | If a large amount of information is returned, an identifier is also
+-- returned. It can be used in a subsequent list deployments call to return
+-- the next set of deployments in the list.
 ldrsNextToken :: Lens' ListDeploymentsResponse (Maybe Text)
 ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a});
 
diff --git a/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs
@@ -12,19 +12,17 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.ListOnPremisesInstances
--- 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)
 --
--- Gets a list of one or more on-premises instance names.
+-- Gets a list of names for one or more on-premises instances.
 --
 -- Unless otherwise specified, both registered and deregistered on-premises
 -- instance names will be listed. To list only registered or deregistered
 -- on-premises instance names, use the registration status parameter.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListOnPremisesInstances.html AWS API Reference> for ListOnPremisesInstances.
 module Network.AWS.CodeDeploy.ListOnPremisesInstances
     (
     -- * Creating a Request
@@ -81,22 +79,22 @@
     }
 
 -- | The on-premises instance tags that will be used to restrict the
--- corresponding on-premises instance names that are returned.
+-- corresponding on-premises instance names returned.
 lopiTagFilters :: Lens' ListOnPremisesInstances [TagFilter]
 lopiTagFilters = lens _lopiTagFilters (\ s a -> s{_lopiTagFilters = a}) . _Default . _Coerce;
 
--- | An identifier that was returned from the previous list on-premises
--- instances call, which can be used to return the next set of on-premises
--- instances in the list.
+-- | An identifier returned from the previous list on-premises instances
+-- call. It can be used to return the next set of on-premises instances in
+-- the list.
 lopiNextToken :: Lens' ListOnPremisesInstances (Maybe Text)
 lopiNextToken = lens _lopiNextToken (\ s a -> s{_lopiNextToken = a});
 
--- | The on-premises instances registration status:
+-- | The registration status of the on-premises instances:
 --
--- -   Deregistered: Include in the resulting list deregistered on-premises
---     instances.
--- -   Registered: Include in the resulting list registered on-premises
---     instances.
+-- -   Deregistered: Include deregistered on-premises instances in the
+--     resulting list.
+-- -   Registered: Include registered on-premises instances in the
+--     resulting list.
 lopiRegistrationStatus :: Lens' ListOnPremisesInstances (Maybe RegistrationStatus)
 lopiRegistrationStatus = lens _lopiRegistrationStatus (\ s a -> s{_lopiRegistrationStatus = a});
 
@@ -112,6 +110,8 @@
                      (x .?> "instanceNames" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
+instance Hashable ListOnPremisesInstances
+
 instance ToHeaders ListOnPremisesInstances where
         toHeaders
           = const
@@ -165,10 +165,9 @@
     , _lopirsResponseStatus = pResponseStatus_
     }
 
--- | If the amount of information that is returned is significantly large, an
--- identifier will also be returned, which can be used in a subsequent list
--- on-premises instances call to return the next set of on-premises
--- instances in the list.
+-- | If a large amount of information is returned, an identifier is also
+-- returned. It can be used in a subsequent list on-premises instances call
+-- to return the next set of on-premises instances in the list.
 lopirsNextToken :: Lens' ListOnPremisesInstancesResponse (Maybe Text)
 lopirsNextToken = lens _lopirsNextToken (\ s a -> s{_lopirsNextToken = a});
 
diff --git a/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs b/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs
--- a/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs
+++ b/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.RegisterApplicationRevision
--- 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)
 --
 -- Registers with AWS CodeDeploy a revision for the specified application.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterApplicationRevision.html AWS API Reference> for RegisterApplicationRevision.
 module Network.AWS.CodeDeploy.RegisterApplicationRevision
     (
     -- * Creating a Request
@@ -76,13 +74,13 @@
 rarDescription :: Lens' RegisterApplicationRevision (Maybe Text)
 rarDescription = lens _rarDescription (\ s a -> s{_rarDescription = a});
 
--- | The name of an existing AWS CodeDeploy application associated with the
--- applicable IAM user or AWS account.
+-- | The name of an AWS CodeDeploy application associated with the applicable
+-- IAM user or AWS account.
 rarApplicationName :: Lens' RegisterApplicationRevision Text
 rarApplicationName = lens _rarApplicationName (\ s a -> s{_rarApplicationName = a});
 
--- | Information about the application revision to register, including the
--- revision\'s type and its location.
+-- | Information about the application revision to register, including type
+-- and location.
 rarRevision :: Lens' RegisterApplicationRevision RevisionLocation
 rarRevision = lens _rarRevision (\ s a -> s{_rarRevision = a});
 
@@ -92,6 +90,8 @@
         request = postJSON codeDeploy
         response
           = receiveNull RegisterApplicationRevisionResponse'
+
+instance Hashable RegisterApplicationRevision
 
 instance ToHeaders RegisterApplicationRevision where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs b/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs
--- a/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.RegisterOnPremisesInstance
--- 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)
 --
 -- Registers an on-premises instance.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterOnPremisesInstance.html AWS API Reference> for RegisterOnPremisesInstance.
 module Network.AWS.CodeDeploy.RegisterOnPremisesInstance
     (
     -- * Creating a Request
@@ -42,7 +40,7 @@
 import           Network.AWS.Request
 import           Network.AWS.Response
 
--- | Represents the input of register on-premises instance operation.
+-- | Represents the input of the register on-premises instance operation.
 --
 -- /See:/ 'registerOnPremisesInstance' smart constructor.
 data RegisterOnPremisesInstance = RegisterOnPremisesInstance'
@@ -81,6 +79,8 @@
         request = postJSON codeDeploy
         response
           = receiveNull RegisterOnPremisesInstanceResponse'
+
+instance Hashable RegisterOnPremisesInstance
 
 instance ToHeaders RegisterOnPremisesInstance where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances
--- 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 one or more tags from one or more on-premises instances.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RemoveTagsFromOnPremisesInstances.html AWS API Reference> for RemoveTagsFromOnPremisesInstances.
 module Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances
     (
     -- * Creating a Request
@@ -70,7 +68,7 @@
 rtfopiTags :: Lens' RemoveTagsFromOnPremisesInstances [Tag]
 rtfopiTags = lens _rtfopiTags (\ s a -> s{_rtfopiTags = a}) . _Coerce;
 
--- | The names of the on-premises instances to remove tags from.
+-- | The names of the on-premises instances from which to remove tags.
 rtfopiInstanceNames :: Lens' RemoveTagsFromOnPremisesInstances [Text]
 rtfopiInstanceNames = lens _rtfopiInstanceNames (\ s a -> s{_rtfopiInstanceNames = a}) . _Coerce;
 
@@ -82,6 +80,8 @@
         response
           = receiveNull
               RemoveTagsFromOnPremisesInstancesResponse'
+
+instance Hashable RemoveTagsFromOnPremisesInstances
 
 instance ToHeaders RemoveTagsFromOnPremisesInstances
          where
diff --git a/gen/Network/AWS/CodeDeploy/StopDeployment.hs b/gen/Network/AWS/CodeDeploy/StopDeployment.hs
--- a/gen/Network/AWS/CodeDeploy/StopDeployment.hs
+++ b/gen/Network/AWS/CodeDeploy/StopDeployment.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.StopDeployment
--- 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)
 --
 -- Attempts to stop an ongoing deployment.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_StopDeployment.html AWS API Reference> for StopDeployment.
 module Network.AWS.CodeDeploy.StopDeployment
     (
     -- * Creating a Request
@@ -79,6 +77,8 @@
                    (x .?> "status") <*> (x .?> "statusMessage") <*>
                      (pure (fromEnum s)))
 
+instance Hashable StopDeployment
+
 instance ToHeaders StopDeployment where
         toHeaders
           = const
@@ -131,7 +131,7 @@
 -- | The status of the stop deployment operation:
 --
 -- -   Pending: The stop operation is pending.
--- -   Succeeded: The stop operation succeeded.
+-- -   Succeeded: The stop operation was successful.
 sdrsStatus :: Lens' StopDeploymentResponse (Maybe StopStatus)
 sdrsStatus = lens _sdrsStatus (\ s a -> s{_sdrsStatus = a});
 
diff --git a/gen/Network/AWS/CodeDeploy/Types.hs b/gen/Network/AWS/CodeDeploy/Types.hs
--- a/gen/Network/AWS/CodeDeploy/Types.hs
+++ b/gen/Network/AWS/CodeDeploy/Types.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.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
@@ -16,6 +16,7 @@
       codeDeploy
 
     -- * Errors
+    , _LifecycleHookLimitExceededException
     , _InvalidTimeRangeException
     , _InvalidTagException
     , _InstanceNameAlreadyRegisteredException
@@ -37,6 +38,7 @@
     , _ApplicationDoesNotExistException
     , _InvalidMinimumHealthyHostValueException
     , _InvalidTagFilterException
+    , _InvalidTriggerConfigException
     , _TagRequiredException
     , _DeploymentGroupNameRequiredException
     , _BucketNameFilterRequiredException
@@ -56,6 +58,7 @@
     , _InvalidSortOrderException
     , _DeploymentAlreadyCompletedException
     , _DeploymentDoesNotExistException
+    , _BatchLimitExceededException
     , _InvalidRevisionException
     , _RevisionRequiredException
     , _InstanceDoesNotExistException
@@ -63,6 +66,7 @@
     , _InvalidEC2TagException
     , _InvalidInstanceNameException
     , _InstanceNameRequiredException
+    , _TriggerTargetsLimitExceededException
     , _InvalidDeploymentStatusException
     , _InvalidRegistrationStatusException
     , _ApplicationNameRequiredException
@@ -122,6 +126,9 @@
     -- * TagFilterType
     , TagFilterType (..)
 
+    -- * TriggerEventType
+    , TriggerEventType (..)
+
     -- * ApplicationInfo
     , ApplicationInfo
     , applicationInfo
@@ -153,6 +160,7 @@
     , dgiEc2TagFilters
     , dgiOnPremisesInstanceTagFilters
     , dgiApplicationName
+    , dgiTriggerConfigurations
     , dgiDeploymentGroupId
     , dgiAutoScalingGroups
     , dgiDeploymentGroupName
@@ -254,6 +262,12 @@
     , mhhValue
     , mhhType
 
+    -- * RevisionInfo
+    , RevisionInfo
+    , revisionInfo
+    , riGenericRevisionInfo
+    , riRevisionLocation
+
     -- * RevisionLocation
     , RevisionLocation
     , revisionLocation
@@ -288,6 +302,13 @@
     , timeRange
     , trStart
     , trEnd
+
+    -- * TriggerConfig
+    , TriggerConfig
+    , triggerConfig
+    , tcTriggerName
+    , tcTriggerEvents
+    , tcTriggerTargetARN
     ) where
 
 import           Network.AWS.CodeDeploy.Types.Product
@@ -319,6 +340,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"
@@ -327,6 +349,11 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
+-- | The limit for lifecycle hooks was exceeded.
+_LifecycleHookLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+_LifecycleHookLimitExceededException =
+    _ServiceError . hasCode "LifecycleHookLimitExceededException"
+
 -- | The specified time range was specified in an invalid format.
 _InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidTimeRangeException =
@@ -351,7 +378,7 @@
 _InvalidDeploymentGroupNameException =
     _ServiceError . hasCode "InvalidDeploymentGroupNameException"
 
--- | The description that was provided is too long.
+-- | The description is too long.
 _DescriptionTooLongException :: AsError a => Getting (First ServiceError) a ServiceError
 _DescriptionTooLongException =
     _ServiceError . hasCode "DescriptionTooLongException"
@@ -426,7 +453,7 @@
 _ApplicationDoesNotExistException =
     _ServiceError . hasCode "ApplicationDoesNotExistException"
 
--- | The minimum healthy instances value was specified in an invalid format.
+-- | The minimum healthy instance value was specified in an invalid format.
 _InvalidMinimumHealthyHostValueException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidMinimumHealthyHostValueException =
     _ServiceError . hasCode "InvalidMinimumHealthyHostValueException"
@@ -436,6 +463,11 @@
 _InvalidTagFilterException =
     _ServiceError . hasCode "InvalidTagFilterException"
 
+-- | The trigger was specified in an invalid format.
+_InvalidTriggerConfigException :: AsError a => Getting (First ServiceError) a ServiceError
+_InvalidTriggerConfigException =
+    _ServiceError . hasCode "InvalidTriggerConfigException"
+
 -- | A tag was not specified.
 _TagRequiredException :: AsError a => Getting (First ServiceError) a ServiceError
 _TagRequiredException = _ServiceError . hasCode "TagRequiredException"
@@ -445,7 +477,7 @@
 _DeploymentGroupNameRequiredException =
     _ServiceError . hasCode "DeploymentGroupNameRequiredException"
 
--- | A bucket name is required but was not provided.
+-- | A bucket name is required, but was not provided.
 _BucketNameFilterRequiredException :: AsError a => Getting (First ServiceError) a ServiceError
 _BucketNameFilterRequiredException =
     _ServiceError . hasCode "BucketNameFilterRequiredException"
@@ -525,7 +557,7 @@
 _InvalidSortOrderException =
     _ServiceError . hasCode "InvalidSortOrderException"
 
--- | The deployment is already completed.
+-- | The deployment is already complete.
 _DeploymentAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError
 _DeploymentAlreadyCompletedException =
     _ServiceError . hasCode "DeploymentAlreadyCompletedException"
@@ -536,6 +568,12 @@
 _DeploymentDoesNotExistException =
     _ServiceError . hasCode "DeploymentDoesNotExistException"
 
+-- | The maximum number of names or IDs allowed for this request (100) was
+-- exceeded.
+_BatchLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+_BatchLimitExceededException =
+    _ServiceError . hasCode "BatchLimitExceededException"
+
 -- | The revision was specified in an invalid format.
 _InvalidRevisionException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidRevisionException = _ServiceError . hasCode "InvalidRevisionException"
@@ -570,6 +608,11 @@
 _InstanceNameRequiredException =
     _ServiceError . hasCode "InstanceNameRequiredException"
 
+-- | The maximum allowed number of triggers was exceeded.
+_TriggerTargetsLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+_TriggerTargetsLimitExceededException =
+    _ServiceError . hasCode "TriggerTargetsLimitExceededException"
+
 -- | The specified deployment status doesn\'t exist or cannot be determined.
 _InvalidDeploymentStatusException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidDeploymentStatusException =
@@ -606,7 +649,7 @@
 _TagLimitExceededException =
     _ServiceError . hasCode "TagLimitExceededException"
 
--- | More applications were attempted to be created than were allowed.
+-- | More applications were attempted to be created than are allowed.
 _ApplicationLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _ApplicationLimitExceededException =
     _ServiceError . hasCode "ApplicationLimitExceededException"
diff --git a/gen/Network/AWS/CodeDeploy/Types/Product.hs b/gen/Network/AWS/CodeDeploy/Types/Product.hs
--- a/gen/Network/AWS/CodeDeploy/Types/Product.hs
+++ b/gen/Network/AWS/CodeDeploy/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.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
@@ -65,7 +65,7 @@
 aiApplicationName :: Lens' ApplicationInfo (Maybe Text)
 aiApplicationName = lens _aiApplicationName (\ s a -> s{_aiApplicationName = a});
 
--- | The time that the application was created.
+-- | The time at which the application was created.
 aiCreateTime :: Lens' ApplicationInfo (Maybe UTCTime)
 aiCreateTime = lens _aiCreateTime (\ s a -> s{_aiCreateTime = a}) . mapping _Time;
 
@@ -78,6 +78,8 @@
                      <*> (x .:? "applicationName")
                      <*> (x .:? "createTime"))
 
+instance Hashable ApplicationInfo
+
 -- | Information about an Auto Scaling group.
 --
 -- /See:/ 'autoScalingGroup' smart constructor.
@@ -116,6 +118,8 @@
                  AutoScalingGroup' <$>
                    (x .:? "hook") <*> (x .:? "name"))
 
+instance Hashable AutoScalingGroup
+
 -- | Information about a deployment configuration.
 --
 -- /See:/ 'deploymentConfigInfo' smart constructor.
@@ -151,7 +155,7 @@
 dciDeploymentConfigName :: Lens' DeploymentConfigInfo (Maybe Text)
 dciDeploymentConfigName = lens _dciDeploymentConfigName (\ s a -> s{_dciDeploymentConfigName = a});
 
--- | Information about the number or percentage of minimum healthy instances.
+-- | Information about the number or percentage of minimum healthy instance.
 dciMinimumHealthyHosts :: Lens' DeploymentConfigInfo (Maybe MinimumHealthyHosts)
 dciMinimumHealthyHosts = lens _dciMinimumHealthyHosts (\ s a -> s{_dciMinimumHealthyHosts = a});
 
@@ -159,7 +163,7 @@
 dciDeploymentConfigId :: Lens' DeploymentConfigInfo (Maybe Text)
 dciDeploymentConfigId = lens _dciDeploymentConfigId (\ s a -> s{_dciDeploymentConfigId = a});
 
--- | The time that the deployment configuration was created.
+-- | The time at which the deployment configuration was created.
 dciCreateTime :: Lens' DeploymentConfigInfo (Maybe UTCTime)
 dciCreateTime = lens _dciCreateTime (\ s a -> s{_dciCreateTime = a}) . mapping _Time;
 
@@ -173,6 +177,8 @@
                      <*> (x .:? "deploymentConfigId")
                      <*> (x .:? "createTime"))
 
+instance Hashable DeploymentConfigInfo
+
 -- | Information about a deployment group.
 --
 -- /See:/ 'deploymentGroupInfo' smart constructor.
@@ -183,6 +189,7 @@
     , _dgiEc2TagFilters                :: !(Maybe [EC2TagFilter])
     , _dgiOnPremisesInstanceTagFilters :: !(Maybe [TagFilter])
     , _dgiApplicationName              :: !(Maybe Text)
+    , _dgiTriggerConfigurations        :: !(Maybe [TriggerConfig])
     , _dgiDeploymentGroupId            :: !(Maybe Text)
     , _dgiAutoScalingGroups            :: !(Maybe [AutoScalingGroup])
     , _dgiDeploymentGroupName          :: !(Maybe Text)
@@ -204,6 +211,8 @@
 --
 -- * 'dgiApplicationName'
 --
+-- * 'dgiTriggerConfigurations'
+--
 -- * 'dgiDeploymentGroupId'
 --
 -- * 'dgiAutoScalingGroups'
@@ -219,6 +228,7 @@
     , _dgiEc2TagFilters = Nothing
     , _dgiOnPremisesInstanceTagFilters = Nothing
     , _dgiApplicationName = Nothing
+    , _dgiTriggerConfigurations = Nothing
     , _dgiDeploymentGroupId = Nothing
     , _dgiAutoScalingGroups = Nothing
     , _dgiDeploymentGroupName = Nothing
@@ -232,16 +242,16 @@
 dgiDeploymentConfigName :: Lens' DeploymentGroupInfo (Maybe Text)
 dgiDeploymentConfigName = lens _dgiDeploymentConfigName (\ s a -> s{_dgiDeploymentConfigName = a});
 
--- | Information about the deployment group\'s target revision, including the
--- revision\'s type and its location.
+-- | Information about the deployment group\'s target revision, including
+-- type and location.
 dgiTargetRevision :: Lens' DeploymentGroupInfo (Maybe RevisionLocation)
 dgiTargetRevision = lens _dgiTargetRevision (\ s a -> s{_dgiTargetRevision = a});
 
--- | The Amazon EC2 tags to filter on.
+-- | The Amazon EC2 tags on which to filter.
 dgiEc2TagFilters :: Lens' DeploymentGroupInfo [EC2TagFilter]
 dgiEc2TagFilters = lens _dgiEc2TagFilters (\ s a -> s{_dgiEc2TagFilters = a}) . _Default . _Coerce;
 
--- | The on-premises instance tags to filter on.
+-- | The on-premises instance tags on which to filter.
 dgiOnPremisesInstanceTagFilters :: Lens' DeploymentGroupInfo [TagFilter]
 dgiOnPremisesInstanceTagFilters = lens _dgiOnPremisesInstanceTagFilters (\ s a -> s{_dgiOnPremisesInstanceTagFilters = a}) . _Default . _Coerce;
 
@@ -249,6 +259,10 @@
 dgiApplicationName :: Lens' DeploymentGroupInfo (Maybe Text)
 dgiApplicationName = lens _dgiApplicationName (\ s a -> s{_dgiApplicationName = a});
 
+-- | A list of associated triggers.
+dgiTriggerConfigurations :: Lens' DeploymentGroupInfo [TriggerConfig]
+dgiTriggerConfigurations = lens _dgiTriggerConfigurations (\ s a -> s{_dgiTriggerConfigurations = a}) . _Default . _Coerce;
+
 -- | The deployment group ID.
 dgiDeploymentGroupId :: Lens' DeploymentGroupInfo (Maybe Text)
 dgiDeploymentGroupId = lens _dgiDeploymentGroupId (\ s a -> s{_dgiDeploymentGroupId = a});
@@ -272,10 +286,13 @@
                      <*> (x .:? "ec2TagFilters" .!= mempty)
                      <*> (x .:? "onPremisesInstanceTagFilters" .!= mempty)
                      <*> (x .:? "applicationName")
+                     <*> (x .:? "triggerConfigurations" .!= mempty)
                      <*> (x .:? "deploymentGroupId")
                      <*> (x .:? "autoScalingGroups" .!= mempty)
                      <*> (x .:? "deploymentGroupName"))
 
+instance Hashable DeploymentGroupInfo
+
 -- | Information about a deployment.
 --
 -- /See:/ 'deploymentInfo' smart constructor.
@@ -347,7 +364,7 @@
     , _diIgnoreApplicationStopFailures = Nothing
     }
 
--- | How the deployment was created:
+-- | The means by which the deployment was created:
 --
 -- -   user: A user created the deployment.
 -- -   autoscaling: Auto Scaling created the deployment.
@@ -366,17 +383,16 @@
 diDeploymentConfigName :: Lens' DeploymentInfo (Maybe Text)
 diDeploymentConfigName = lens _diDeploymentConfigName (\ s a -> s{_diDeploymentConfigName = a});
 
--- | A timestamp indicating when the deployment began deploying to the
+-- | A timestamp indicating when the deployment was deployed to the
 -- deployment group.
 --
--- Note that in some cases, the reported value of the start time may be
--- later than the complete time. This is due to differences in the clock
--- settings of various back-end servers that participate in the overall
--- deployment process.
+-- In some cases, the reported value of the start time may be later than
+-- the complete time. This is due to differences in the clock settings of
+-- back-end servers that participate in the deployment process.
 diStartTime :: Lens' DeploymentInfo (Maybe UTCTime)
 diStartTime = lens _diStartTime (\ s a -> s{_diStartTime = a}) . mapping _Time;
 
--- | A timestamp indicating when the deployment was completed.
+-- | A timestamp indicating when the deployment was complete.
 diCompleteTime :: Lens' DeploymentInfo (Maybe UTCTime)
 diCompleteTime = lens _diCompleteTime (\ s a -> s{_diCompleteTime = a}) . mapping _Time;
 
@@ -392,8 +408,8 @@
 diApplicationName :: Lens' DeploymentInfo (Maybe Text)
 diApplicationName = lens _diApplicationName (\ s a -> s{_diApplicationName = a});
 
--- | Information about the location of application artifacts that are stored
--- and the service to retrieve them from.
+-- | Information about the location of stored application artifacts and the
+-- service from which to retrieve them.
 diRevision :: Lens' DeploymentInfo (Maybe RevisionLocation)
 diRevision = lens _diRevision (\ s a -> s{_diRevision = a});
 
@@ -410,14 +426,14 @@
 diDeploymentGroupName = lens _diDeploymentGroupName (\ s a -> s{_diDeploymentGroupName = a});
 
 -- | If true, then if the deployment causes the ApplicationStop deployment
--- lifecycle event to fail to a specific instance, the deployment will not
--- be considered to have failed to that instance at that point and will
--- continue on to the BeforeInstall deployment lifecycle event.
+-- lifecycle event to an instance to fail, the deployment to that instance
+-- will not be considered to have failed at that point and will continue on
+-- to the BeforeInstall deployment lifecycle event.
 --
 -- If false or not specified, then if the deployment causes the
--- ApplicationStop deployment lifecycle event to fail to a specific
--- instance, the deployment will stop to that instance, and the deployment
--- to that instance will be considered to have failed.
+-- ApplicationStop deployment lifecycle event to an instance to fail, the
+-- deployment to that instance will stop, and the deployment to that
+-- instance will be considered to have failed.
 diIgnoreApplicationStopFailures :: Lens' DeploymentInfo (Maybe Bool)
 diIgnoreApplicationStopFailures = lens _diIgnoreApplicationStopFailures (\ s a -> s{_diIgnoreApplicationStopFailures = a});
 
@@ -440,6 +456,8 @@
                      <*> (x .:? "deploymentGroupName")
                      <*> (x .:? "ignoreApplicationStopFailures"))
 
+instance Hashable DeploymentInfo
+
 -- | Information about the deployment status of the instances in the
 -- deployment.
 --
@@ -476,23 +494,24 @@
     , _doFailed = Nothing
     }
 
--- | The number of instances that are pending in the deployment.
+-- | The number of instances in the deployment in a pending state.
 doPending :: Lens' DeploymentOverview (Maybe Integer)
 doPending = lens _doPending (\ s a -> s{_doPending = a});
 
--- | The number of instances that have been skipped in the deployment.
+-- | The number of instances in the deployment in a skipped state.
 doSkipped :: Lens' DeploymentOverview (Maybe Integer)
 doSkipped = lens _doSkipped (\ s a -> s{_doSkipped = a});
 
--- | The number of instances that are in progress in the deployment.
+-- | The number of instances in which the deployment is in progress.
 doInProgress :: Lens' DeploymentOverview (Maybe Integer)
 doInProgress = lens _doInProgress (\ s a -> s{_doInProgress = a});
 
--- | The number of instances that have succeeded in the deployment.
+-- | The number of instances in the deployment to which revisions have been
+-- successfully deployed.
 doSucceeded :: Lens' DeploymentOverview (Maybe Integer)
 doSucceeded = lens _doSucceeded (\ s a -> s{_doSucceeded = a});
 
--- | The number of instances that have failed in the deployment.
+-- | The number of instances in the deployment in a failed state.
 doFailed :: Lens' DeploymentOverview (Maybe Integer)
 doFailed = lens _doFailed (\ s a -> s{_doFailed = a});
 
@@ -506,6 +525,8 @@
                      <*> (x .:? "Succeeded")
                      <*> (x .:? "Failed"))
 
+instance Hashable DeploymentOverview
+
 -- | Diagnostic information about executable scripts that are part of a
 -- deployment.
 --
@@ -538,7 +559,10 @@
     , _dMessage = Nothing
     }
 
--- | The last portion of the associated diagnostic log.
+-- | The last portion of the diagnostic log.
+--
+-- If available, AWS CodeDeploy returns up to the last 4 KB of the
+-- diagnostic log.
 dLogTail :: Lens' Diagnostics (Maybe Text)
 dLogTail = lens _dLogTail (\ s a -> s{_dLogTail = a});
 
@@ -574,6 +598,8 @@
                      (x .:? "scriptName")
                      <*> (x .:? "message"))
 
+instance Hashable Diagnostics
+
 -- | Information about a tag filter.
 --
 -- /See:/ 'ec2TagFilter' smart constructor.
@@ -624,6 +650,8 @@
                  EC2TagFilter' <$>
                    (x .:? "Value") <*> (x .:? "Key") <*> (x .:? "Type"))
 
+instance Hashable EC2TagFilter
+
 instance ToJSON EC2TagFilter where
         toJSON EC2TagFilter'{..}
           = object
@@ -656,33 +684,32 @@
 
 -- | The error code:
 --
--- -   APPLICATION_MISSING: The application was missing. Note that this
---     error code will most likely be raised if the application is deleted
---     after the deployment is created but before it starts.
--- -   DEPLOYMENT_GROUP_MISSING: The deployment group was missing. Note
---     that this error code will most likely be raised if the deployment
---     group is deleted after the deployment is created but before it
---     starts.
+-- -   APPLICATION_MISSING: The application was missing. This error code
+--     will most likely be raised if the application is deleted after the
+--     deployment is created but before it is started.
+-- -   DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This
+--     error code will most likely be raised if the deployment group is
+--     deleted after the deployment is created but before it is started.
 -- -   HEALTH_CONSTRAINTS: The deployment failed on too many instances to
---     be able to successfully deploy within the specified instance health
---     constraints.
--- -   HEALTH_CONSTRAINTS_INVALID: The revision can never successfully
---     deploy within the instance health constraints as specified.
+--     be successfully deployed within the instance health constraints
+--     specified.
+-- -   HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully
+--     deployed within the instance health constraints specified.
 -- -   IAM_ROLE_MISSING: The service role cannot be accessed.
 -- -   IAM_ROLE_PERMISSIONS: The service role does not have the correct
 --     permissions.
 -- -   INTERNAL_ERROR: There was an internal error.
 -- -   NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the
 --     Amazon EC2 service.
--- -   NO_INSTANCES: No instances were specified, or no instances can be
+-- -   NO_INSTANCES: No instance were specified, or no instance can be
 --     found.
--- -   OVER_MAX_INSTANCES: The maximum number of instances was exceeded.
+-- -   OVER_MAX_INSTANCES: The maximum number of instance was exceeded.
 -- -   THROTTLED: The operation was throttled because the calling account
 --     exceeded the throttling limits of one or more AWS services.
 -- -   TIMEOUT: The deployment has timed out.
--- -   REVISION_MISSING: The revision ID was missing. Note that this error
---     code will most likely be raised if the revision is deleted after the
---     deployment is created but before it starts.
+-- -   REVISION_MISSING: The revision ID was missing. This error code will
+--     most likely be raised if the revision is deleted after the
+--     deployment is created but before it is started.
 eiCode :: Lens' ErrorInformation (Maybe DeployErrorCode)
 eiCode = lens _eiCode (\ s a -> s{_eiCode = a});
 
@@ -697,6 +724,8 @@
                  ErrorInformation' <$>
                    (x .:? "code") <*> (x .:? "message"))
 
+instance Hashable ErrorInformation
+
 -- | Information about an application revision.
 --
 -- /See:/ 'genericRevisionInfo' smart constructor.
@@ -740,7 +769,7 @@
 griFirstUsedTime :: Lens' GenericRevisionInfo (Maybe UTCTime)
 griFirstUsedTime = lens _griFirstUsedTime (\ s a -> s{_griFirstUsedTime = a}) . mapping _Time;
 
--- | A list of deployment groups that use this revision.
+-- | The deployment groups for which this is the current target revision.
 griDeploymentGroups :: Lens' GenericRevisionInfo [Text]
 griDeploymentGroups = lens _griDeploymentGroups (\ s a -> s{_griDeploymentGroups = a}) . _Default . _Coerce;
 
@@ -762,8 +791,10 @@
                      <*> (x .:? "lastUsedTime")
                      <*> (x .:? "description"))
 
--- | Information about the location of application artifacts that are stored
--- in GitHub.
+instance Hashable GenericRevisionInfo
+
+-- | Information about the location of application artifacts stored in
+-- GitHub.
 --
 -- /See:/ 'gitHubLocation' smart constructor.
 data GitHubLocation = GitHubLocation'
@@ -786,8 +817,8 @@
     , _ghlRepository = Nothing
     }
 
--- | The SHA1 commit ID of the GitHub commit that references the that
--- represents the bundled artifacts for the application revision.
+-- | The SHA1 commit ID of the GitHub commit that represents the bundled
+-- artifacts for the application revision.
 ghlCommitId :: Lens' GitHubLocation (Maybe Text)
 ghlCommitId = lens _ghlCommitId (\ s a -> s{_ghlCommitId = a});
 
@@ -806,6 +837,8 @@
                  GitHubLocation' <$>
                    (x .:? "commitId") <*> (x .:? "repository"))
 
+instance Hashable GitHubLocation
+
 instance ToJSON GitHubLocation where
         toJSON GitHubLocation'{..}
           = object
@@ -852,7 +885,7 @@
     , _iiTags = Nothing
     }
 
--- | The time that the on-premises instance was registered.
+-- | The time at which the on-premises instance was registered.
 iiRegisterTime :: Lens' InstanceInfo (Maybe UTCTime)
 iiRegisterTime = lens _iiRegisterTime (\ s a -> s{_iiRegisterTime = a}) . mapping _Time;
 
@@ -860,7 +893,7 @@
 iiInstanceARN :: Lens' InstanceInfo (Maybe Text)
 iiInstanceARN = lens _iiInstanceARN (\ s a -> s{_iiInstanceARN = a});
 
--- | If the on-premises instance was deregistered, the time that the
+-- | If the on-premises instance was deregistered, the time at which the
 -- on-premises instance was deregistered.
 iiDeregisterTime :: Lens' InstanceInfo (Maybe UTCTime)
 iiDeregisterTime = lens _iiDeregisterTime (\ s a -> s{_iiDeregisterTime = a}) . mapping _Time;
@@ -873,7 +906,7 @@
 iiInstanceName :: Lens' InstanceInfo (Maybe Text)
 iiInstanceName = lens _iiInstanceName (\ s a -> s{_iiInstanceName = a});
 
--- | The tags that are currently associated with the on-premises instance.
+-- | The tags currently associated with the on-premises instance.
 iiTags :: Lens' InstanceInfo [Tag]
 iiTags = lens _iiTags (\ s a -> s{_iiTags = a}) . _Default . _Coerce;
 
@@ -888,6 +921,8 @@
                      <*> (x .:? "instanceName")
                      <*> (x .:? "tags" .!= mempty))
 
+instance Hashable InstanceInfo
+
 -- | Information about an instance in a deployment.
 --
 -- /See:/ 'instanceSummary' smart constructor.
@@ -960,6 +995,8 @@
                      <*> (x .:? "lastUpdatedAt")
                      <*> (x .:? "lifecycleEvents" .!= mempty))
 
+instance Hashable InstanceSummary
+
 -- | Information about a deployment lifecycle event.
 --
 -- /See:/ 'lifecycleEvent' smart constructor.
@@ -999,7 +1036,7 @@
 --
 -- -   Pending: The deployment lifecycle event is pending.
 -- -   InProgress: The deployment lifecycle event is in progress.
--- -   Succeeded: The deployment lifecycle event has succeeded.
+-- -   Succeeded: The deployment lifecycle event ran successfully.
 -- -   Failed: The deployment lifecycle event has failed.
 -- -   Skipped: The deployment lifecycle event has been skipped.
 -- -   Unknown: The deployment lifecycle event is unknown.
@@ -1033,7 +1070,9 @@
                      <*> (x .:? "diagnostics")
                      <*> (x .:? "endTime"))
 
--- | Information about minimum healthy instances.
+instance Hashable LifecycleEvent
+
+-- | Information about minimum healthy instance.
 --
 -- /See:/ 'minimumHealthyHosts' smart constructor.
 data MinimumHealthyHosts = MinimumHealthyHosts'
@@ -1056,29 +1095,35 @@
     , _mhhType = Nothing
     }
 
--- | The minimum healthy instances value.
+-- | The minimum healthy instance value.
 mhhValue :: Lens' MinimumHealthyHosts (Maybe Int)
 mhhValue = lens _mhhValue (\ s a -> s{_mhhValue = a});
 
--- | The minimum healthy instances type:
+-- | The minimum healthy instance type:
 --
--- -   HOST_COUNT: The minimum number of healthy instances, as an absolute
+-- -   HOST_COUNT: The minimum number of healthy instance as an absolute
 --     value.
--- -   FLEET_PERCENT: The minimum number of healthy instances, as a
---     percentage of the total number of instances in the deployment.
+-- -   FLEET_PERCENT: The minimum number of healthy instance as a
+--     percentage of the total number of instance in the deployment.
 --
--- For example, for 9 instances, if a HOST_COUNT of 6 is specified, deploy
--- to up to 3 instances at a time. The deployment succeeds if 6 or more
--- instances are successfully deployed to; otherwise, the deployment fails.
--- If a FLEET_PERCENT of 40 is specified, deploy to up to 5 instances at a
--- time. The deployment succeeds if 4 or more instances are successfully
--- deployed to; otherwise, the deployment fails.
+-- In an example of nine instance, if a HOST_COUNT of six is specified,
+-- deploy to up to three instances at a time. The deployment will be
+-- successful if six or more instances are deployed to successfully;
+-- otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified,
+-- deploy to up to five instance at a time. The deployment will be
+-- successful if four or more instance are deployed to successfully;
+-- otherwise, the deployment fails.
 --
 -- In a call to the get deployment configuration operation,
--- CodeDeployDefault.OneAtATime will return a minimum healthy instances
--- type of MOST_CONCURRENCY and a value of 1. This means a deployment to
--- only one instances at a time. (You cannot set the type to
--- MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.)
+-- CodeDeployDefault.OneAtATime will return a minimum healthy instance type
+-- of MOST_CONCURRENCY and a value of 1. This means a deployment to only
+-- one instance at a time. (You cannot set the type to MOST_CONCURRENCY,
+-- only to HOST_COUNT or FLEET_PERCENT.) In addition, with
+-- CodeDeployDefault.OneAtATime, AWS CodeDeploy will try to ensure that all
+-- instances but one are kept in a healthy state during the deployment.
+-- Although this allows one instance at a time to be taken offline for a
+-- new deployment, it also means that if the deployment to the last
+-- instance fails, the overall deployment still succeeds.
 mhhType :: Lens' MinimumHealthyHosts (Maybe MinimumHealthyHostsType)
 mhhType = lens _mhhType (\ s a -> s{_mhhType = a});
 
@@ -1089,6 +1134,8 @@
                  MinimumHealthyHosts' <$>
                    (x .:? "value") <*> (x .:? "type"))
 
+instance Hashable MinimumHealthyHosts
+
 instance ToJSON MinimumHealthyHosts where
         toJSON MinimumHealthyHosts'{..}
           = object
@@ -1096,8 +1143,49 @@
                  [("value" .=) <$> _mhhValue,
                   ("type" .=) <$> _mhhType])
 
--- | Information about an application revision\'s location.
+-- | Information about an application revision.
 --
+-- /See:/ 'revisionInfo' smart constructor.
+data RevisionInfo = RevisionInfo'
+    { _riGenericRevisionInfo :: !(Maybe GenericRevisionInfo)
+    , _riRevisionLocation    :: !(Maybe RevisionLocation)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'RevisionInfo' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'riGenericRevisionInfo'
+--
+-- * 'riRevisionLocation'
+revisionInfo
+    :: RevisionInfo
+revisionInfo =
+    RevisionInfo'
+    { _riGenericRevisionInfo = Nothing
+    , _riRevisionLocation = Nothing
+    }
+
+-- | Undocumented member.
+riGenericRevisionInfo :: Lens' RevisionInfo (Maybe GenericRevisionInfo)
+riGenericRevisionInfo = lens _riGenericRevisionInfo (\ s a -> s{_riGenericRevisionInfo = a});
+
+-- | Undocumented member.
+riRevisionLocation :: Lens' RevisionInfo (Maybe RevisionLocation)
+riRevisionLocation = lens _riRevisionLocation (\ s a -> s{_riRevisionLocation = a});
+
+instance FromJSON RevisionInfo where
+        parseJSON
+          = withObject "RevisionInfo"
+              (\ x ->
+                 RevisionInfo' <$>
+                   (x .:? "genericRevisionInfo") <*>
+                     (x .:? "revisionLocation"))
+
+instance Hashable RevisionInfo
+
+-- | Information about the location of an application revision.
+--
 -- /See:/ 'revisionLocation' smart constructor.
 data RevisionLocation = RevisionLocation'
     { _rlRevisionType   :: !(Maybe RevisionLocationType)
@@ -1123,7 +1211,7 @@
     , _rlGitHubLocation = Nothing
     }
 
--- | The application revision\'s type:
+-- | The type of application revision:
 --
 -- -   S3: An application revision stored in Amazon S3.
 -- -   GitHub: An application revision stored in GitHub.
@@ -1146,6 +1234,8 @@
                    (x .:? "revisionType") <*> (x .:? "s3Location") <*>
                      (x .:? "gitHubLocation"))
 
+instance Hashable RevisionLocation
+
 instance ToJSON RevisionLocation where
         toJSON RevisionLocation'{..}
           = object
@@ -1154,8 +1244,8 @@
                   ("s3Location" .=) <$> _rlS3Location,
                   ("gitHubLocation" .=) <$> _rlGitHubLocation])
 
--- | Information about the location of application artifacts that are stored
--- in Amazon S3.
+-- | Information about the location of application artifacts stored in Amazon
+-- S3.
 --
 -- /See:/ 's3Location' smart constructor.
 data S3Location = S3Location'
@@ -1234,6 +1324,8 @@
                      <*> (x .:? "key")
                      <*> (x .:? "version"))
 
+instance Hashable S3Location
+
 instance ToJSON S3Location where
         toJSON S3Location'{..}
           = object
@@ -1279,6 +1371,8 @@
           = withObject "Tag"
               (\ x -> Tag' <$> (x .:? "Value") <*> (x .:? "Key"))
 
+instance Hashable Tag
+
 instance ToJSON Tag where
         toJSON Tag'{..}
           = object
@@ -1335,6 +1429,8 @@
                  TagFilter' <$>
                    (x .:? "Value") <*> (x .:? "Key") <*> (x .:? "Type"))
 
+instance Hashable TagFilter
+
 instance ToJSON TagFilter where
         toJSON TagFilter'{..}
           = object
@@ -1365,20 +1461,91 @@
     , _trEnd = Nothing
     }
 
--- | The time range\'s start time.
+-- | The start time of the time range.
 --
--- Specify null to leave the time range\'s start time open-ended.
+-- Specify null to leave the start time open-ended.
 trStart :: Lens' TimeRange (Maybe UTCTime)
 trStart = lens _trStart (\ s a -> s{_trStart = a}) . mapping _Time;
 
--- | The time range\'s end time.
+-- | The end time of the time range.
 --
--- Specify null to leave the time range\'s end time open-ended.
+-- Specify null to leave the end time open-ended.
 trEnd :: Lens' TimeRange (Maybe UTCTime)
 trEnd = lens _trEnd (\ s a -> s{_trEnd = a}) . mapping _Time;
 
+instance Hashable TimeRange
+
 instance ToJSON TimeRange where
         toJSON TimeRange'{..}
           = object
               (catMaybes
                  [("start" .=) <$> _trStart, ("end" .=) <$> _trEnd])
+
+-- | Information about notification triggers for the deployment group.
+--
+-- /See:/ 'triggerConfig' smart constructor.
+data TriggerConfig = TriggerConfig'
+    { _tcTriggerName      :: !(Maybe Text)
+    , _tcTriggerEvents    :: !(Maybe [TriggerEventType])
+    , _tcTriggerTargetARN :: !(Maybe Text)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'TriggerConfig' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'tcTriggerName'
+--
+-- * 'tcTriggerEvents'
+--
+-- * 'tcTriggerTargetARN'
+triggerConfig
+    :: TriggerConfig
+triggerConfig =
+    TriggerConfig'
+    { _tcTriggerName = Nothing
+    , _tcTriggerEvents = Nothing
+    , _tcTriggerTargetARN = Nothing
+    }
+
+-- | The name of the notification trigger.
+tcTriggerName :: Lens' TriggerConfig (Maybe Text)
+tcTriggerName = lens _tcTriggerName (\ s a -> s{_tcTriggerName = a});
+
+-- | The event type or types for which notifications are triggered.
+--
+-- The following event type values are supported:
+--
+-- -   DEPLOYMENT_START
+-- -   DEPLOYMENT_SUCCESS
+-- -   DEPLOYMENT_FAILURE
+-- -   DEPLOYMENT_STOP
+-- -   INSTANCE_START
+-- -   INSTANCE_SUCCESS
+-- -   INSTANCE_FAILURE
+tcTriggerEvents :: Lens' TriggerConfig [TriggerEventType]
+tcTriggerEvents = lens _tcTriggerEvents (\ s a -> s{_tcTriggerEvents = a}) . _Default . _Coerce;
+
+-- | The ARN of the Amazon Simple Notification Service topic through which
+-- notifications about deployment or instance events are sent.
+tcTriggerTargetARN :: Lens' TriggerConfig (Maybe Text)
+tcTriggerTargetARN = lens _tcTriggerTargetARN (\ s a -> s{_tcTriggerTargetARN = a});
+
+instance FromJSON TriggerConfig where
+        parseJSON
+          = withObject "TriggerConfig"
+              (\ x ->
+                 TriggerConfig' <$>
+                   (x .:? "triggerName") <*>
+                     (x .:? "triggerEvents" .!= mempty)
+                     <*> (x .:? "triggerTargetArn"))
+
+instance Hashable TriggerConfig
+
+instance ToJSON TriggerConfig where
+        toJSON TriggerConfig'{..}
+          = object
+              (catMaybes
+                 [("triggerName" .=) <$> _tcTriggerName,
+                  ("triggerEvents" .=) <$> _tcTriggerEvents,
+                  ("triggerTargetArn" .=) <$> _tcTriggerTargetARN])
diff --git a/gen/Network/AWS/CodeDeploy/Types/Sum.hs b/gen/Network/AWS/CodeDeploy/Types/Sum.hs
--- a/gen/Network/AWS/CodeDeploy/Types/Sum.hs
+++ b/gen/Network/AWS/CodeDeploy/Types/Sum.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.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
@@ -535,3 +535,46 @@
 
 instance FromJSON TagFilterType where
     parseJSON = parseJSONText "TagFilterType"
+
+data TriggerEventType
+    = DeploymentFailure
+    | DeploymentStart
+    | DeploymentStop
+    | DeploymentSuccess
+    | InstanceFailure
+    | InstanceStart
+    | InstanceSuccess
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+
+instance FromText TriggerEventType where
+    parser = takeLowerText >>= \case
+        "deploymentfailure" -> pure DeploymentFailure
+        "deploymentstart" -> pure DeploymentStart
+        "deploymentstop" -> pure DeploymentStop
+        "deploymentsuccess" -> pure DeploymentSuccess
+        "instancefailure" -> pure InstanceFailure
+        "instancestart" -> pure InstanceStart
+        "instancesuccess" -> pure InstanceSuccess
+        e -> fromTextError $ "Failure parsing TriggerEventType from value: '" <> e
+           <> "'. Accepted values: DeploymentFailure, DeploymentStart, DeploymentStop, DeploymentSuccess, InstanceFailure, InstanceStart, InstanceSuccess"
+
+instance ToText TriggerEventType where
+    toText = \case
+        DeploymentFailure -> "DeploymentFailure"
+        DeploymentStart -> "DeploymentStart"
+        DeploymentStop -> "DeploymentStop"
+        DeploymentSuccess -> "DeploymentSuccess"
+        InstanceFailure -> "InstanceFailure"
+        InstanceStart -> "InstanceStart"
+        InstanceSuccess -> "InstanceSuccess"
+
+instance Hashable     TriggerEventType
+instance ToByteString TriggerEventType
+instance ToQuery      TriggerEventType
+instance ToHeader     TriggerEventType
+
+instance ToJSON TriggerEventType where
+    toJSON = toJSONText
+
+instance FromJSON TriggerEventType where
+    parseJSON = parseJSONText "TriggerEventType"
diff --git a/gen/Network/AWS/CodeDeploy/UpdateApplication.hs b/gen/Network/AWS/CodeDeploy/UpdateApplication.hs
--- a/gen/Network/AWS/CodeDeploy/UpdateApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/UpdateApplication.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.UpdateApplication
--- 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)
 --
--- Changes an existing application\'s name.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateApplication.html AWS API Reference> for UpdateApplication.
+-- Changes the name of an application.
 module Network.AWS.CodeDeploy.UpdateApplication
     (
     -- * Creating a Request
@@ -65,11 +63,11 @@
     , _uaApplicationName = Nothing
     }
 
--- | The new name that you want to change the application to.
+-- | The new name to give the application.
 uaNewApplicationName :: Lens' UpdateApplication (Maybe Text)
 uaNewApplicationName = lens _uaNewApplicationName (\ s a -> s{_uaNewApplicationName = a});
 
--- | The current name of the application that you want to change.
+-- | The current name of the application you want to change.
 uaApplicationName :: Lens' UpdateApplication (Maybe Text)
 uaApplicationName = lens _uaApplicationName (\ s a -> s{_uaApplicationName = a});
 
@@ -77,6 +75,8 @@
         type Rs UpdateApplication = UpdateApplicationResponse
         request = postJSON codeDeploy
         response = receiveNull UpdateApplicationResponse'
+
+instance Hashable UpdateApplication
 
 instance ToHeaders UpdateApplication where
         toHeaders
diff --git a/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.UpdateDeploymentGroup
--- 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)
 --
--- Changes information about an existing deployment group.
---
--- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateDeploymentGroup.html AWS API Reference> for UpdateDeploymentGroup.
+-- Changes information about a deployment group.
 module Network.AWS.CodeDeploy.UpdateDeploymentGroup
     (
     -- * Creating a Request
@@ -32,6 +30,7 @@
     , udgNewDeploymentGroupName
     , udgEc2TagFilters
     , udgOnPremisesInstanceTagFilters
+    , udgTriggerConfigurations
     , udgAutoScalingGroups
     , udgApplicationName
     , udgCurrentDeploymentGroupName
@@ -60,6 +59,7 @@
     , _udgNewDeploymentGroupName       :: !(Maybe Text)
     , _udgEc2TagFilters                :: !(Maybe [EC2TagFilter])
     , _udgOnPremisesInstanceTagFilters :: !(Maybe [TagFilter])
+    , _udgTriggerConfigurations        :: !(Maybe [TriggerConfig])
     , _udgAutoScalingGroups            :: !(Maybe [Text])
     , _udgApplicationName              :: !Text
     , _udgCurrentDeploymentGroupName   :: !Text
@@ -79,6 +79,8 @@
 --
 -- * 'udgOnPremisesInstanceTagFilters'
 --
+-- * 'udgTriggerConfigurations'
+--
 -- * 'udgAutoScalingGroups'
 --
 -- * 'udgApplicationName'
@@ -95,12 +97,13 @@
     , _udgNewDeploymentGroupName = Nothing
     , _udgEc2TagFilters = Nothing
     , _udgOnPremisesInstanceTagFilters = Nothing
+    , _udgTriggerConfigurations = Nothing
     , _udgAutoScalingGroups = Nothing
     , _udgApplicationName = pApplicationName_
     , _udgCurrentDeploymentGroupName = pCurrentDeploymentGroupName_
     }
 
--- | A replacement service role\'s ARN, if you want to change it.
+-- | A replacement ARN for the service role, if you want to change it.
 udgServiceRoleARN :: Lens' UpdateDeploymentGroup (Maybe Text)
 udgServiceRoleARN = lens _udgServiceRoleARN (\ s a -> s{_udgServiceRoleARN = a});
 
@@ -113,18 +116,27 @@
 udgNewDeploymentGroupName :: Lens' UpdateDeploymentGroup (Maybe Text)
 udgNewDeploymentGroupName = lens _udgNewDeploymentGroupName (\ s a -> s{_udgNewDeploymentGroupName = a});
 
--- | The replacement set of Amazon EC2 tags to filter on, if you want to
--- change them.
+-- | The replacement set of Amazon EC2 tags on which to filter, if you want
+-- to change them. To keep the existing tags, enter their names. To remove
+-- tags, do not enter any tag names.
 udgEc2TagFilters :: Lens' UpdateDeploymentGroup [EC2TagFilter]
 udgEc2TagFilters = lens _udgEc2TagFilters (\ s a -> s{_udgEc2TagFilters = a}) . _Default . _Coerce;
 
--- | The replacement set of on-premises instance tags for filter on, if you
--- want to change them.
+-- | The replacement set of on-premises instance tags on which to filter, if
+-- you want to change them. To keep the existing tags, enter their names.
+-- To remove tags, do not enter any tag names.
 udgOnPremisesInstanceTagFilters :: Lens' UpdateDeploymentGroup [TagFilter]
 udgOnPremisesInstanceTagFilters = lens _udgOnPremisesInstanceTagFilters (\ s a -> s{_udgOnPremisesInstanceTagFilters = a}) . _Default . _Coerce;
 
+-- | Information about triggers to change when the deployment group is
+-- updated.
+udgTriggerConfigurations :: Lens' UpdateDeploymentGroup [TriggerConfig]
+udgTriggerConfigurations = lens _udgTriggerConfigurations (\ s a -> s{_udgTriggerConfigurations = a}) . _Default . _Coerce;
+
 -- | The replacement list of Auto Scaling groups to be included in the
--- deployment group, if you want to change them.
+-- deployment group, if you want to change them. To keep the Auto Scaling
+-- groups, enter their names. To remove Auto Scaling groups, do not enter
+-- any Auto Scaling group names.
 udgAutoScalingGroups :: Lens' UpdateDeploymentGroup [Text]
 udgAutoScalingGroups = lens _udgAutoScalingGroups (\ s a -> s{_udgAutoScalingGroups = a}) . _Default . _Coerce;
 
@@ -132,7 +144,7 @@
 udgApplicationName :: Lens' UpdateDeploymentGroup Text
 udgApplicationName = lens _udgApplicationName (\ s a -> s{_udgApplicationName = a});
 
--- | The current name of the existing deployment group.
+-- | The current name of the deployment group.
 udgCurrentDeploymentGroupName :: Lens' UpdateDeploymentGroup Text
 udgCurrentDeploymentGroupName = lens _udgCurrentDeploymentGroupName (\ s a -> s{_udgCurrentDeploymentGroupName = a});
 
@@ -147,6 +159,8 @@
                    (x .?> "hooksNotCleanedUp" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
+instance Hashable UpdateDeploymentGroup
+
 instance ToHeaders UpdateDeploymentGroup where
         toHeaders
           = const
@@ -169,6 +183,8 @@
                   ("ec2TagFilters" .=) <$> _udgEc2TagFilters,
                   ("onPremisesInstanceTagFilters" .=) <$>
                     _udgOnPremisesInstanceTagFilters,
+                  ("triggerConfigurations" .=) <$>
+                    _udgTriggerConfigurations,
                   ("autoScalingGroups" .=) <$> _udgAutoScalingGroups,
                   Just ("applicationName" .= _udgApplicationName),
                   Just
@@ -208,7 +224,7 @@
 -- | If the output contains no data, and the corresponding deployment group
 -- contained at least one Auto Scaling group, AWS CodeDeploy successfully
 -- removed all corresponding Auto Scaling lifecycle event hooks from the
--- AWS account. If the output does contain data, AWS CodeDeploy could not
+-- AWS account. If the output contains data, AWS CodeDeploy could not
 -- remove some Auto Scaling lifecycle event hooks from the AWS account.
 udgrsHooksNotCleanedUp :: Lens' UpdateDeploymentGroupResponse [AutoScalingGroup]
 udgrsHooksNotCleanedUp = lens _udgrsHooksNotCleanedUp (\ s a -> s{_udgrsHooksNotCleanedUp = a}) . _Default . _Coerce;
diff --git a/gen/Network/AWS/CodeDeploy/Waiters.hs b/gen/Network/AWS/CodeDeploy/Waiters.hs
--- a/gen/Network/AWS/CodeDeploy/Waiters.hs
+++ b/gen/Network/AWS/CodeDeploy/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.CodeDeploy.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/CodeDeploy.hs b/test/Test/AWS/CodeDeploy.hs
--- a/test/Test/AWS/CodeDeploy.hs
+++ b/test/Test/AWS/CodeDeploy.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- Module      : Test.AWS.CodeDeploy
--- 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/CodeDeploy/Internal.hs b/test/Test/AWS/CodeDeploy/Internal.hs
--- a/test/Test/AWS/CodeDeploy/Internal.hs
+++ b/test/Test/AWS/CodeDeploy/Internal.hs
@@ -2,7 +2,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.CodeDeploy.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/CodeDeploy.hs b/test/Test/AWS/Gen/CodeDeploy.hs
--- a/test/Test/AWS/Gen/CodeDeploy.hs
+++ b/test/Test/AWS/Gen/CodeDeploy.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.CodeDeploy
--- 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
@@ -31,6 +31,9 @@
 --         [ testRemoveTagsFromOnPremisesInstances $
 --             removeTagsFromOnPremisesInstances
 --
+--         , testBatchGetDeploymentGroups $
+--             batchGetDeploymentGroups
+--
 --         , testDeleteDeploymentGroup $
 --             deleteDeploymentGroup
 --
@@ -58,6 +61,9 @@
 --         , testCreateDeployment $
 --             createDeployment
 --
+--         , testBatchGetApplicationRevisions $
+--             batchGetApplicationRevisions
+--
 --         , testBatchGetDeployments $
 --             batchGetDeployments
 --
@@ -88,6 +94,9 @@
 --         , testStopDeployment $
 --             stopDeployment
 --
+--         , testBatchGetDeploymentInstances $
+--             batchGetDeploymentInstances
+--
 --         , testGetApplication $
 --             getApplication
 --
@@ -130,6 +139,9 @@
 --         [ testRemoveTagsFromOnPremisesInstancesResponse $
 --             removeTagsFromOnPremisesInstancesResponse
 --
+--         , testBatchGetDeploymentGroupsResponse $
+--             batchGetDeploymentGroupsResponse
+--
 --         , testDeleteDeploymentGroupResponse $
 --             deleteDeploymentGroupResponse
 --
@@ -157,6 +169,9 @@
 --         , testCreateDeploymentResponse $
 --             createDeploymentResponse
 --
+--         , testBatchGetApplicationRevisionsResponse $
+--             batchGetApplicationRevisionsResponse
+--
 --         , testBatchGetDeploymentsResponse $
 --             batchGetDeploymentsResponse
 --
@@ -187,6 +202,9 @@
 --         , testStopDeploymentResponse $
 --             stopDeploymentResponse
 --
+--         , testBatchGetDeploymentInstancesResponse $
+--             batchGetDeploymentInstancesResponse
+--
 --         , testGetApplicationResponse $
 --             getApplicationResponse
 --
@@ -233,6 +251,11 @@
     "RemoveTagsFromOnPremisesInstances"
     "fixture/RemoveTagsFromOnPremisesInstances.yaml"
 
+testBatchGetDeploymentGroups :: BatchGetDeploymentGroups -> TestTree
+testBatchGetDeploymentGroups = req
+    "BatchGetDeploymentGroups"
+    "fixture/BatchGetDeploymentGroups.yaml"
+
 testDeleteDeploymentGroup :: DeleteDeploymentGroup -> TestTree
 testDeleteDeploymentGroup = req
     "DeleteDeploymentGroup"
@@ -278,6 +301,11 @@
     "CreateDeployment"
     "fixture/CreateDeployment.yaml"
 
+testBatchGetApplicationRevisions :: BatchGetApplicationRevisions -> TestTree
+testBatchGetApplicationRevisions = req
+    "BatchGetApplicationRevisions"
+    "fixture/BatchGetApplicationRevisions.yaml"
+
 testBatchGetDeployments :: BatchGetDeployments -> TestTree
 testBatchGetDeployments = req
     "BatchGetDeployments"
@@ -328,6 +356,11 @@
     "StopDeployment"
     "fixture/StopDeployment.yaml"
 
+testBatchGetDeploymentInstances :: BatchGetDeploymentInstances -> TestTree
+testBatchGetDeploymentInstances = req
+    "BatchGetDeploymentInstances"
+    "fixture/BatchGetDeploymentInstances.yaml"
+
 testGetApplication :: GetApplication -> TestTree
 testGetApplication = req
     "GetApplication"
@@ -397,6 +430,13 @@
     codeDeploy
     (Proxy :: Proxy RemoveTagsFromOnPremisesInstances)
 
+testBatchGetDeploymentGroupsResponse :: BatchGetDeploymentGroupsResponse -> TestTree
+testBatchGetDeploymentGroupsResponse = res
+    "BatchGetDeploymentGroupsResponse"
+    "fixture/BatchGetDeploymentGroupsResponse.proto"
+    codeDeploy
+    (Proxy :: Proxy BatchGetDeploymentGroups)
+
 testDeleteDeploymentGroupResponse :: DeleteDeploymentGroupResponse -> TestTree
 testDeleteDeploymentGroupResponse = res
     "DeleteDeploymentGroupResponse"
@@ -460,6 +500,13 @@
     codeDeploy
     (Proxy :: Proxy CreateDeployment)
 
+testBatchGetApplicationRevisionsResponse :: BatchGetApplicationRevisionsResponse -> TestTree
+testBatchGetApplicationRevisionsResponse = res
+    "BatchGetApplicationRevisionsResponse"
+    "fixture/BatchGetApplicationRevisionsResponse.proto"
+    codeDeploy
+    (Proxy :: Proxy BatchGetApplicationRevisions)
+
 testBatchGetDeploymentsResponse :: BatchGetDeploymentsResponse -> TestTree
 testBatchGetDeploymentsResponse = res
     "BatchGetDeploymentsResponse"
@@ -529,6 +576,13 @@
     "fixture/StopDeploymentResponse.proto"
     codeDeploy
     (Proxy :: Proxy StopDeployment)
+
+testBatchGetDeploymentInstancesResponse :: BatchGetDeploymentInstancesResponse -> TestTree
+testBatchGetDeploymentInstancesResponse = res
+    "BatchGetDeploymentInstancesResponse"
+    "fixture/BatchGetDeploymentInstancesResponse.proto"
+    codeDeploy
+    (Proxy :: Proxy BatchGetDeploymentInstances)
 
 testGetApplicationResponse :: GetApplicationResponse -> TestTree
 testGetApplicationResponse = res
