diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.3`
+`1.4.4`
 
 
 ## Description
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.4.3
+version:               1.4.4
 synopsis:              Amazon CodeDeploy SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -11,7 +11,7 @@
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
-extra-source-files:    README.md fixture/*.yaml fixture/*.proto
+extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep
 description:
     AWS CodeDeploy __Overview__
 
@@ -114,7 +114,7 @@
         , Network.AWS.CodeDeploy.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.3.*
+          amazonka-core == 1.4.4.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-codedeploy-test
@@ -134,9 +134,9 @@
         , Test.AWS.CodeDeploy.Internal
 
     build-depends:
-          amazonka-core == 1.4.3.*
-        , amazonka-test == 1.4.3.*
-        , amazonka-codedeploy == 1.4.3.*
+          amazonka-core == 1.4.4.*
+        , amazonka-test == 1.4.4.*
+        , amazonka-codedeploy == 1.4.4.*
         , base
         , bytestring
         , tasty
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
@@ -237,6 +237,9 @@
     -- * Waiters
     -- $waiters
 
+    -- ** DeploymentSuccessful
+    , deploymentSuccessful
+
     -- * Operations
     -- $operations
 
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
@@ -31,7 +31,7 @@
         "lastusedtime" -> pure LastUsedTime
         "registertime" -> pure RegisterTime
         e -> fromTextError $ "Failure parsing ApplicationRevisionSortBy from value: '" <> e
-           <> "'. Accepted values: firstUsedTime, lastUsedTime, registerTime"
+           <> "'. Accepted values: firstusedtime, lastusedtime, registertime"
 
 instance ToText ApplicationRevisionSortBy where
     toText = \case
@@ -112,7 +112,7 @@
         "throttled" -> pure Throttled
         "timeout" -> pure Timeout
         e -> fromTextError $ "Failure parsing DeployErrorCode from value: '" <> e
-           <> "'. Accepted values: APPLICATION_MISSING, DEPLOYMENT_GROUP_MISSING, HEALTH_CONSTRAINTS, HEALTH_CONSTRAINTS_INVALID, IAM_ROLE_MISSING, IAM_ROLE_PERMISSIONS, INTERNAL_ERROR, NO_EC2_SUBSCRIPTION, NO_INSTANCES, OVER_MAX_INSTANCES, REVISION_MISSING, THROTTLED, TIMEOUT"
+           <> "'. Accepted values: application_missing, deployment_group_missing, health_constraints, health_constraints_invalid, iam_role_missing, iam_role_permissions, internal_error, no_ec2_subscription, no_instances, over_max_instances, revision_missing, throttled, timeout"
 
 instance ToText DeployErrorCode where
     toText = \case
@@ -183,7 +183,7 @@
         "stopped" -> pure Stopped
         "succeeded" -> pure Succeeded
         e -> fromTextError $ "Failure parsing DeploymentStatus from value: '" <> e
-           <> "'. Accepted values: Created, Failed, InProgress, Queued, Stopped, Succeeded"
+           <> "'. Accepted values: created, failed, inprogress, queued, stopped, succeeded"
 
 instance ToText DeploymentStatus where
     toText = \case
@@ -218,7 +218,7 @@
         "key_only" -> pure KeyOnly
         "value_only" -> pure ValueOnly
         e -> fromTextError $ "Failure parsing EC2TagFilterType from value: '" <> e
-           <> "'. Accepted values: KEY_AND_VALUE, KEY_ONLY, VALUE_ONLY"
+           <> "'. Accepted values: key_and_value, key_only, value_only"
 
 instance ToText EC2TagFilterType where
     toText = \case
@@ -256,7 +256,7 @@
         "succeeded" -> pure ISSucceeded
         "unknown" -> pure ISUnknown
         e -> fromTextError $ "Failure parsing InstanceStatus from value: '" <> e
-           <> "'. Accepted values: Failed, InProgress, Pending, Skipped, Succeeded, Unknown"
+           <> "'. Accepted values: failed, inprogress, pending, skipped, succeeded, unknown"
 
 instance ToText InstanceStatus where
     toText = \case
@@ -297,7 +297,7 @@
         "success" -> pure Success
         "unknownerror" -> pure UnknownError
         e -> fromTextError $ "Failure parsing LifecycleErrorCode from value: '" <> e
-           <> "'. Accepted values: ScriptFailed, ScriptMissing, ScriptNotExecutable, ScriptTimedOut, Success, UnknownError"
+           <> "'. Accepted values: scriptfailed, scriptmissing, scriptnotexecutable, scripttimedout, success, unknownerror"
 
 instance ToText LifecycleErrorCode where
     toText = \case
@@ -335,7 +335,7 @@
         "succeeded" -> pure LESSucceeded
         "unknown" -> pure LESUnknown
         e -> fromTextError $ "Failure parsing LifecycleEventStatus from value: '" <> e
-           <> "'. Accepted values: Failed, InProgress, Pending, Skipped, Succeeded, Unknown"
+           <> "'. Accepted values: failed, inprogress, pending, skipped, succeeded, unknown"
 
 instance ToText LifecycleEventStatus where
     toText = \case
@@ -394,7 +394,7 @@
         "fleet_percent" -> pure FleetPercent
         "host_count" -> pure HostCount
         e -> fromTextError $ "Failure parsing MinimumHealthyHostsType from value: '" <> e
-           <> "'. Accepted values: FLEET_PERCENT, HOST_COUNT"
+           <> "'. Accepted values: fleet_percent, host_count"
 
 instance ToText MinimumHealthyHostsType where
     toText = \case
@@ -423,7 +423,7 @@
         "deregistered" -> pure Deregistered
         "registered" -> pure Registered
         e -> fromTextError $ "Failure parsing RegistrationStatus from value: '" <> e
-           <> "'. Accepted values: Deregistered, Registered"
+           <> "'. Accepted values: deregistered, registered"
 
 instance ToText RegistrationStatus where
     toText = \case
@@ -449,7 +449,7 @@
         "github" -> pure GitHub
         "s3" -> pure S3
         e -> fromTextError $ "Failure parsing RevisionLocationType from value: '" <> e
-           <> "'. Accepted values: GitHub, S3"
+           <> "'. Accepted values: github, s3"
 
 instance ToText RevisionLocationType where
     toText = \case
@@ -504,7 +504,7 @@
         "pending" -> pure SSPending
         "succeeded" -> pure SSSucceeded
         e -> fromTextError $ "Failure parsing StopStatus from value: '" <> e
-           <> "'. Accepted values: Pending, Succeeded"
+           <> "'. Accepted values: pending, succeeded"
 
 instance ToText StopStatus where
     toText = \case
@@ -532,7 +532,7 @@
         "key_only" -> pure TFTKeyOnly
         "value_only" -> pure TFTValueOnly
         e -> fromTextError $ "Failure parsing TagFilterType from value: '" <> e
-           <> "'. Accepted values: KEY_AND_VALUE, KEY_ONLY, VALUE_ONLY"
+           <> "'. Accepted values: key_and_value, key_only, value_only"
 
 instance ToText TagFilterType where
     toText = \case
@@ -572,7 +572,7 @@
         "instancestart" -> pure InstanceStart
         "instancesuccess" -> pure InstanceSuccess
         e -> fromTextError $ "Failure parsing TriggerEventType from value: '" <> e
-           <> "'. Accepted values: DeploymentFailure, DeploymentStart, DeploymentStop, DeploymentSuccess, InstanceFailure, InstanceStart, InstanceSuccess"
+           <> "'. Accepted values: deploymentfailure, deploymentstart, deploymentstop, deploymentsuccess, instancefailure, instancestart, instancesuccess"
 
 instance ToText TriggerEventType where
     toText = \case
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
@@ -15,7 +15,33 @@
 --
 module Network.AWS.CodeDeploy.Waiters where
 
+import           Network.AWS.CodeDeploy.GetDeployment
 import           Network.AWS.CodeDeploy.Types
 import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Waiter
+
+-- | Polls 'Network.AWS.CodeDeploy.GetDeployment' every 15 seconds until a
+-- successful state is reached. An error is returned after 120 failed checks.
+deploymentSuccessful :: Wait GetDeployment
+deploymentSuccessful =
+    Wait
+    { _waitName = "DeploymentSuccessful"
+    , _waitAttempts = 120
+    , _waitDelay = 15
+    , _waitAcceptors = [ matchAll
+                             "Succeeded"
+                             AcceptSuccess
+                             (gdrsDeploymentInfo .
+                              _Just . diStatus . _Just . to toTextCI)
+                       , matchAll
+                             "Failed"
+                             AcceptFailure
+                             (gdrsDeploymentInfo .
+                              _Just . diStatus . _Just . to toTextCI)
+                       , matchAll
+                             "Stopped"
+                             AcceptFailure
+                             (gdrsDeploymentInfo .
+                              _Just . diStatus . _Just . to toTextCI)]
+    }
diff --git a/src/.gitkeep b/src/.gitkeep
new file mode 100644
--- /dev/null
+++ b/src/.gitkeep
