diff --git a/amazonka-cloudsearch.cabal b/amazonka-cloudsearch.cabal
--- a/amazonka-cloudsearch.cabal
+++ b/amazonka-cloudsearch.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudsearch
-version:               0.0.7
+version:               0.0.8
 synopsis:              Amazon CloudSearch SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -66,5 +66,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.0.7.*
+          amazonka-core == 0.0.8.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/CloudSearch/Types.hs b/gen/Network/AWS/CloudSearch/Types.hs
--- a/gen/Network/AWS/CloudSearch/Types.hs
+++ b/gen/Network/AWS/CloudSearch/Types.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE OverloadedStrings           #-}
 {-# LANGUAGE RecordWildCards             #-}
 {-# LANGUAGE TypeFamilies                #-}
+{-# LANGUAGE ViewPatterns                #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
@@ -293,7 +294,6 @@
     , apsStatus
     ) where
 
-import Network.AWS.Error
 import Network.AWS.Prelude
 import Network.AWS.Signing
 import qualified GHC.Exts
@@ -305,18 +305,44 @@
     type Sg CloudSearch = V4
     type Er CloudSearch = RESTError
 
-    service = Service
-        { _svcAbbrev       = "CloudSearch"
-        , _svcPrefix       = "cloudsearch"
-        , _svcVersion      = "2013-01-01"
-        , _svcTargetPrefix = Nothing
-        , _svcJSONVersion  = Nothing
-        }
+    service = service'
+      where
+        service' :: Service CloudSearch
+        service' = Service
+            { _svcAbbrev       = "CloudSearch"
+            , _svcPrefix       = "cloudsearch"
+            , _svcVersion      = "2013-01-01"
+            , _svcTargetPrefix = Nothing
+            , _svcJSONVersion  = Nothing
+            , _svcHandle       = handle
+            , _svcRetry        = retry
+            }
 
-    handle = restError statusSuccess
+        handle :: Status
+               -> Maybe (LazyByteString -> ServiceError RESTError)
+        handle = restError statusSuccess service'
 
+        retry :: Retry CloudSearch
+        retry = Exponential
+            { _retryBase     = 0.05
+            , _retryGrowth   = 2
+            , _retryAttempts = 5
+            , _retryCheck    = check
+            }
+
+        check :: Status
+              -> RESTError
+              -> Bool
+        check (statusCode -> s) (awsErrorCode -> e)
+            | s == 509 && "BandwidthLimitExceeded" == e = True -- Request Limit Exceeded
+            | s == 500  = True -- General Server Error
+            | s == 509  = True -- Limit Exceeded
+            | s == 503  = True -- Service Unavailable
+            | otherwise = False
+
 ns :: Text
 ns = "http://cloudsearch.amazonaws.com/doc/2013-01-01/"
+{-# INLINE ns #-}
 
 data DomainStatus = DomainStatus
     { _dsARN                    :: Maybe Text
