diff --git a/amazonka-rds.cabal b/amazonka-rds.cabal
--- a/amazonka-rds.cabal
+++ b/amazonka-rds.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-rds
-version:               0.0.7
+version:               0.0.8
 synopsis:              Amazon Relational Database Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -92,9 +92,10 @@
         , Network.AWS.RDS.RestoreDBInstanceToPointInTime
         , Network.AWS.RDS.RevokeDBSecurityGroupIngress
         , Network.AWS.RDS.Types
+        , Network.AWS.RDS.Waiters
 
     other-modules:
 
     build-depends:
-          amazonka-core == 0.0.7.*
+          amazonka-core == 0.0.8.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/RDS.hs b/gen/Network/AWS/RDS.hs
--- a/gen/Network/AWS/RDS.hs
+++ b/gen/Network/AWS/RDS.hs
@@ -71,6 +71,7 @@
     , module Network.AWS.RDS.RestoreDBInstanceToPointInTime
     , module Network.AWS.RDS.RevokeDBSecurityGroupIngress
     , module Network.AWS.RDS.Types
+    , module Network.AWS.RDS.Waiters
     ) where
 
 import Network.AWS.RDS.AddSourceIdentifierToSubscription
@@ -128,3 +129,4 @@
 import Network.AWS.RDS.RestoreDBInstanceToPointInTime
 import Network.AWS.RDS.RevokeDBSecurityGroupIngress
 import Network.AWS.RDS.Types
+import Network.AWS.RDS.Waiters
diff --git a/gen/Network/AWS/RDS/Types.hs b/gen/Network/AWS/RDS/Types.hs
--- a/gen/Network/AWS/RDS/Types.hs
+++ b/gen/Network/AWS/RDS/Types.hs
@@ -7,6 +7,7 @@
 {-# LANGUAGE OverloadedStrings           #-}
 {-# LANGUAGE RecordWildCards             #-}
 {-# LANGUAGE TypeFamilies                #-}
+{-# LANGUAGE ViewPatterns                #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
@@ -415,7 +416,6 @@
     , ogosSettingName
     ) where
 
-import Network.AWS.Error
 import Network.AWS.Prelude
 import Network.AWS.Signing
 import qualified GHC.Exts
@@ -427,18 +427,44 @@
     type Sg RDS = V4
     type Er RDS = RESTError
 
-    service = Service
-        { _svcAbbrev       = "RDS"
-        , _svcPrefix       = "rds"
-        , _svcVersion      = "2014-09-01"
-        , _svcTargetPrefix = Nothing
-        , _svcJSONVersion  = Nothing
-        }
+    service = service'
+      where
+        service' :: Service RDS
+        service' = Service
+            { _svcAbbrev       = "RDS"
+            , _svcPrefix       = "rds"
+            , _svcVersion      = "2014-09-01"
+            , _svcTargetPrefix = Nothing
+            , _svcJSONVersion  = Nothing
+            , _svcHandle       = handle
+            , _svcRetry        = retry
+            }
 
-    handle = restError statusSuccess
+        handle :: Status
+               -> Maybe (LazyByteString -> ServiceError RESTError)
+        handle = restError statusSuccess service'
 
+        retry :: Retry RDS
+        retry = Exponential
+            { _retryBase     = 0.05
+            , _retryGrowth   = 2
+            , _retryAttempts = 5
+            , _retryCheck    = check
+            }
+
+        check :: Status
+              -> RESTError
+              -> Bool
+        check (statusCode -> s) (awsErrorCode -> e)
+            | s == 400 && "Throttling" == e = True -- Throttling
+            | s == 500  = True -- General Server Error
+            | s == 509  = True -- Limit Exceeded
+            | s == 503  = True -- Service Unavailable
+            | otherwise = False
+
 ns :: Text
 ns = "http://rds.amazonaws.com/doc/2014-09-01/"
+{-# INLINE ns #-}
 
 data OptionGroup = OptionGroup
     { _ogAllowsVpcAndNonVpcInstanceMemberships :: Maybe Bool
diff --git a/gen/Network/AWS/RDS/Waiters.hs b/gen/Network/AWS/RDS/Waiters.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/RDS/Waiters.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TypeFamilies      #-}
+
+-- Module      : Network.AWS.RDS.Waiters
+-- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
+-- 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
+--               you can obtain it at http://mozilla.org/MPL/2.0/.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : experimental
+-- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+module Network.AWS.RDS.Waiters where
+
+import Network.AWS.RDS.DescribeDBInstances
+import Network.AWS.RDS.Types
+import Network.AWS.Waiters
+
+dbInstanceAvailable :: Wait DescribeDBInstances
+dbInstanceAvailable = Wait
+    { _waitName      = "DBInstanceAvailable"
+    , _waitAttempts  = 60
+    , _waitDelay     = 30
+    , _waitAcceptors =
+        [ matchAll "available" AcceptSuccess
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "deleted" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "deleting" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "failed" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "incompatible-restore" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "incompatible-parameters" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "incompatible-parameters" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "incompatible-restore" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        ]
+    }
+
+dbInstanceDeleted :: Wait DescribeDBInstances
+dbInstanceDeleted = Wait
+    { _waitName      = "DBInstanceDeleted"
+    , _waitAttempts  = 60
+    , _waitDelay     = 30
+    , _waitAcceptors =
+        [ matchAll "deleted" AcceptSuccess
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "creating" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "modifying" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "rebooting" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        , matchAny "resetting-master-credentials" AcceptFailure
+            (folding (concatOf ddbirDBInstances) . dbiDBInstanceStatus . _Just)
+        ]
+    }
