diff --git a/amazonka-cloudformation.cabal b/amazonka-cloudformation.cabal
--- a/amazonka-cloudformation.cabal
+++ b/amazonka-cloudformation.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudformation
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon CloudFormation SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -65,5 +65,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.2.1.*
+          amazonka-core == 0.2.2.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/CloudFormation/CancelUpdateStack.hs b/gen/Network/AWS/CloudFormation/CancelUpdateStack.hs
--- a/gen/Network/AWS/CloudFormation/CancelUpdateStack.hs
+++ b/gen/Network/AWS/CloudFormation/CancelUpdateStack.hs
@@ -51,7 +51,7 @@
 
 newtype CancelUpdateStack = CancelUpdateStack
     { _cusStackName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'CancelUpdateStack' constructor.
 --
@@ -70,7 +70,7 @@
 cusStackName = lens _cusStackName (\s a -> s { _cusStackName = a })
 
 data CancelUpdateStackResponse = CancelUpdateStackResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'CancelUpdateStackResponse' constructor.
 cancelUpdateStackResponse :: CancelUpdateStackResponse
diff --git a/gen/Network/AWS/CloudFormation/CreateStack.hs b/gen/Network/AWS/CloudFormation/CreateStack.hs
--- a/gen/Network/AWS/CloudFormation/CreateStack.hs
+++ b/gen/Network/AWS/CloudFormation/CreateStack.hs
@@ -73,7 +73,7 @@
     , _csTemplateBody     :: Maybe Text
     , _csTemplateURL      :: Maybe Text
     , _csTimeoutInMinutes :: Maybe Nat
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateStack' constructor.
 --
@@ -218,7 +218,7 @@
 
 newtype CreateStackResponse = CreateStackResponse
     { _csrStackId :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'CreateStackResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/DeleteStack.hs b/gen/Network/AWS/CloudFormation/DeleteStack.hs
--- a/gen/Network/AWS/CloudFormation/DeleteStack.hs
+++ b/gen/Network/AWS/CloudFormation/DeleteStack.hs
@@ -49,7 +49,7 @@
 
 newtype DeleteStack = DeleteStack
     { _dsStackName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteStack' constructor.
 --
@@ -68,7 +68,7 @@
 dsStackName = lens _dsStackName (\s a -> s { _dsStackName = a })
 
 data DeleteStackResponse = DeleteStackResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteStackResponse' constructor.
 deleteStackResponse :: DeleteStackResponse
diff --git a/gen/Network/AWS/CloudFormation/DescribeStackEvents.hs b/gen/Network/AWS/CloudFormation/DescribeStackEvents.hs
--- a/gen/Network/AWS/CloudFormation/DescribeStackEvents.hs
+++ b/gen/Network/AWS/CloudFormation/DescribeStackEvents.hs
@@ -57,7 +57,7 @@
 data DescribeStackEvents = DescribeStackEvents
     { _dseNextToken :: Maybe Text
     , _dseStackName :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeStackEvents' constructor.
 --
@@ -91,7 +91,7 @@
 data DescribeStackEventsResponse = DescribeStackEventsResponse
     { _dserNextToken   :: Maybe Text
     , _dserStackEvents :: List "member" StackEvent
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeStackEventsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/DescribeStackResource.hs b/gen/Network/AWS/CloudFormation/DescribeStackResource.hs
--- a/gen/Network/AWS/CloudFormation/DescribeStackResource.hs
+++ b/gen/Network/AWS/CloudFormation/DescribeStackResource.hs
@@ -54,7 +54,7 @@
 data DescribeStackResource = DescribeStackResource
     { _dsr1LogicalResourceId :: Text
     , _dsr1StackName         :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeStackResource' constructor.
 --
@@ -90,7 +90,7 @@
 
 newtype DescribeStackResourceResponse = DescribeStackResourceResponse
     { _dsrrStackResourceDetail :: Maybe StackResourceDetail
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeStackResourceResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/DescribeStackResources.hs b/gen/Network/AWS/CloudFormation/DescribeStackResources.hs
--- a/gen/Network/AWS/CloudFormation/DescribeStackResources.hs
+++ b/gen/Network/AWS/CloudFormation/DescribeStackResources.hs
@@ -67,7 +67,7 @@
     { _dsrLogicalResourceId  :: Maybe Text
     , _dsrPhysicalResourceId :: Maybe Text
     , _dsrStackName          :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeStackResources' constructor.
 --
@@ -120,7 +120,7 @@
 
 newtype DescribeStackResourcesResponse = DescribeStackResourcesResponse
     { _dsrrStackResources :: List "member" StackResource
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeStackResourcesResponse where
     type Item DescribeStackResourcesResponse = StackResource
diff --git a/gen/Network/AWS/CloudFormation/DescribeStacks.hs b/gen/Network/AWS/CloudFormation/DescribeStacks.hs
--- a/gen/Network/AWS/CloudFormation/DescribeStacks.hs
+++ b/gen/Network/AWS/CloudFormation/DescribeStacks.hs
@@ -53,7 +53,7 @@
 data DescribeStacks = DescribeStacks
     { _ds1NextToken :: Maybe Text
     , _ds1StackName :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeStacks' constructor.
 --
@@ -85,7 +85,7 @@
 data DescribeStacksResponse = DescribeStacksResponse
     { _dsrNextToken :: Maybe Text
     , _dsrStacks    :: List "member" Stack
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeStacksResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/EstimateTemplateCost.hs b/gen/Network/AWS/CloudFormation/EstimateTemplateCost.hs
--- a/gen/Network/AWS/CloudFormation/EstimateTemplateCost.hs
+++ b/gen/Network/AWS/CloudFormation/EstimateTemplateCost.hs
@@ -55,7 +55,7 @@
     { _etcParameters   :: List "member" Parameter
     , _etcTemplateBody :: Maybe Text
     , _etcTemplateURL  :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'EstimateTemplateCost' constructor.
 --
@@ -98,7 +98,7 @@
 
 newtype EstimateTemplateCostResponse = EstimateTemplateCostResponse
     { _etcrUrl :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'EstimateTemplateCostResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/GetStackPolicy.hs b/gen/Network/AWS/CloudFormation/GetStackPolicy.hs
--- a/gen/Network/AWS/CloudFormation/GetStackPolicy.hs
+++ b/gen/Network/AWS/CloudFormation/GetStackPolicy.hs
@@ -50,7 +50,7 @@
 
 newtype GetStackPolicy = GetStackPolicy
     { _gspStackName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetStackPolicy' constructor.
 --
@@ -71,7 +71,7 @@
 
 newtype GetStackPolicyResponse = GetStackPolicyResponse
     { _gsprStackPolicyBody :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'GetStackPolicyResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/GetTemplate.hs b/gen/Network/AWS/CloudFormation/GetTemplate.hs
--- a/gen/Network/AWS/CloudFormation/GetTemplate.hs
+++ b/gen/Network/AWS/CloudFormation/GetTemplate.hs
@@ -55,7 +55,7 @@
 
 newtype GetTemplate = GetTemplate
     { _gtStackName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetTemplate' constructor.
 --
@@ -80,7 +80,7 @@
 
 newtype GetTemplateResponse = GetTemplateResponse
     { _gtrTemplateBody :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'GetTemplateResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/GetTemplateSummary.hs b/gen/Network/AWS/CloudFormation/GetTemplateSummary.hs
--- a/gen/Network/AWS/CloudFormation/GetTemplateSummary.hs
+++ b/gen/Network/AWS/CloudFormation/GetTemplateSummary.hs
@@ -66,7 +66,7 @@
     { _gtsStackName    :: Maybe Text
     , _gtsTemplateBody :: Maybe Text
     , _gtsTemplateURL  :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GetTemplateSummary' constructor.
 --
@@ -119,7 +119,7 @@
     , _gtsrDescription        :: Maybe Text
     , _gtsrParameters         :: List "member" ParameterDeclaration
     , _gtsrVersion            :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetTemplateSummaryResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/ListStackResources.hs b/gen/Network/AWS/CloudFormation/ListStackResources.hs
--- a/gen/Network/AWS/CloudFormation/ListStackResources.hs
+++ b/gen/Network/AWS/CloudFormation/ListStackResources.hs
@@ -55,7 +55,7 @@
 data ListStackResources = ListStackResources
     { _lsrNextToken :: Maybe Text
     , _lsrStackName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListStackResources' constructor.
 --
@@ -91,7 +91,7 @@
 data ListStackResourcesResponse = ListStackResourcesResponse
     { _lsrrNextToken              :: Maybe Text
     , _lsrrStackResourceSummaries :: List "member" StackResourceSummary
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListStackResourcesResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/ListStacks.hs b/gen/Network/AWS/CloudFormation/ListStacks.hs
--- a/gen/Network/AWS/CloudFormation/ListStacks.hs
+++ b/gen/Network/AWS/CloudFormation/ListStacks.hs
@@ -56,7 +56,7 @@
 data ListStacks = ListStacks
     { _lsNextToken         :: Maybe Text
     , _lsStackStatusFilter :: List "member" StackStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListStacks' constructor.
 --
@@ -89,7 +89,7 @@
 data ListStacksResponse = ListStacksResponse
     { _lsr1NextToken      :: Maybe Text
     , _lsr1StackSummaries :: List "member" StackSummary
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListStacksResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/SetStackPolicy.hs b/gen/Network/AWS/CloudFormation/SetStackPolicy.hs
--- a/gen/Network/AWS/CloudFormation/SetStackPolicy.hs
+++ b/gen/Network/AWS/CloudFormation/SetStackPolicy.hs
@@ -51,7 +51,7 @@
     { _sspStackName       :: Text
     , _sspStackPolicyBody :: Maybe Text
     , _sspStackPolicyURL  :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'SetStackPolicy' constructor.
 --
@@ -91,7 +91,7 @@
     lens _sspStackPolicyURL (\s a -> s { _sspStackPolicyURL = a })
 
 data SetStackPolicyResponse = SetStackPolicyResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SetStackPolicyResponse' constructor.
 setStackPolicyResponse :: SetStackPolicyResponse
diff --git a/gen/Network/AWS/CloudFormation/SignalResource.hs b/gen/Network/AWS/CloudFormation/SignalResource.hs
--- a/gen/Network/AWS/CloudFormation/SignalResource.hs
+++ b/gen/Network/AWS/CloudFormation/SignalResource.hs
@@ -58,7 +58,7 @@
     , _srStackName         :: Text
     , _srStatus            :: ResourceSignalStatus
     , _srUniqueId          :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SignalResource' constructor.
 --
@@ -108,7 +108,7 @@
 srUniqueId = lens _srUniqueId (\s a -> s { _srUniqueId = a })
 
 data SignalResourceResponse = SignalResourceResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SignalResourceResponse' constructor.
 signalResourceResponse :: SignalResourceResponse
diff --git a/gen/Network/AWS/CloudFormation/Types.hs b/gen/Network/AWS/CloudFormation/Types.hs
--- a/gen/Network/AWS/CloudFormation/Types.hs
+++ b/gen/Network/AWS/CloudFormation/Types.hs
@@ -219,7 +219,7 @@
 data Tag = Tag
     { _tagKey   :: Maybe Text
     , _tagValue :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Tag' constructor.
 --
@@ -274,7 +274,7 @@
     | UpdateRollbackCompleteCleanupInProgress -- ^ UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS
     | UpdateRollbackFailed                    -- ^ UPDATE_ROLLBACK_FAILED
     | UpdateRollbackInProgress                -- ^ UPDATE_ROLLBACK_IN_PROGRESS
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable StackStatus
 
@@ -336,7 +336,7 @@
     , _seStackId              :: Text
     , _seStackName            :: Text
     , _seTimestamp            :: ISO8601
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StackEvent' constructor.
 --
@@ -462,7 +462,7 @@
     , _ssStackStatus         :: StackStatus
     , _ssStackStatusReason   :: Maybe Text
     , _ssTemplateDescription :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StackSummary' constructor.
 --
@@ -570,7 +570,7 @@
     , _srdResourceType         :: Text
     , _srdStackId              :: Maybe Text
     , _srdStackName            :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StackResourceDetail' constructor.
 --
@@ -702,7 +702,7 @@
     | RSUpdateComplete   -- ^ UPDATE_COMPLETE
     | RSUpdateFailed     -- ^ UPDATE_FAILED
     | RSUpdateInProgress -- ^ UPDATE_IN_PROGRESS
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ResourceStatus
 
@@ -746,7 +746,7 @@
     , _tpDescription  :: Maybe Text
     , _tpNoEcho       :: Maybe Bool
     , _tpParameterKey :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'TemplateParameter' constructor.
 --
@@ -806,7 +806,7 @@
     , _pdNoEcho        :: Maybe Bool
     , _pdParameterKey  :: Maybe Text
     , _pdParameterType :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ParameterDeclaration' constructor.
 --
@@ -879,7 +879,7 @@
     , _sr1StackId              :: Maybe Text
     , _sr1StackName            :: Maybe Text
     , _sr1Timestamp            :: ISO8601
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StackResource' constructor.
 --
@@ -991,7 +991,7 @@
     { _oDescription :: Maybe Text
     , _oOutputKey   :: Maybe Text
     , _oOutputValue :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Output' constructor.
 --
@@ -1042,7 +1042,7 @@
     , _srsResourceStatus       :: ResourceStatus
     , _srsResourceStatusReason :: Maybe Text
     , _srsResourceType         :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StackResourceSummary' constructor.
 --
@@ -1127,7 +1127,7 @@
 
 data Capability
     = CapabilityIam -- ^ CAPABILITY_IAM
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable Capability
 
@@ -1150,7 +1150,7 @@
 data ResourceSignalStatus
     = Failure -- ^ FAILURE
     | Success -- ^ SUCCESS
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ResourceSignalStatus
 
@@ -1188,7 +1188,7 @@
     , _sStackStatusReason :: Maybe Text
     , _sTags              :: List "member" Tag
     , _sTimeoutInMinutes  :: Maybe Nat
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Stack' constructor.
 --
@@ -1346,7 +1346,7 @@
     = Delete'   -- ^ DELETE
     | DoNothing -- ^ DO_NOTHING
     | Rollback  -- ^ ROLLBACK
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable OnFailure
 
@@ -1375,7 +1375,7 @@
     { _pParameterKey     :: Maybe Text
     , _pParameterValue   :: Maybe Text
     , _pUsePreviousValue :: Maybe Bool
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Parameter' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/UpdateStack.hs b/gen/Network/AWS/CloudFormation/UpdateStack.hs
--- a/gen/Network/AWS/CloudFormation/UpdateStack.hs
+++ b/gen/Network/AWS/CloudFormation/UpdateStack.hs
@@ -79,7 +79,7 @@
     , _usTemplateBody                :: Maybe Text
     , _usTemplateURL                 :: Maybe Text
     , _usUsePreviousTemplate         :: Maybe Bool
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateStack' constructor.
 --
@@ -224,7 +224,7 @@
 
 newtype UpdateStackResponse = UpdateStackResponse
     { _usrStackId :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'UpdateStackResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudFormation/ValidateTemplate.hs b/gen/Network/AWS/CloudFormation/ValidateTemplate.hs
--- a/gen/Network/AWS/CloudFormation/ValidateTemplate.hs
+++ b/gen/Network/AWS/CloudFormation/ValidateTemplate.hs
@@ -54,7 +54,7 @@
 data ValidateTemplate = ValidateTemplate
     { _vtTemplateBody :: Maybe Text
     , _vtTemplateURL  :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ValidateTemplate' constructor.
 --
@@ -94,7 +94,7 @@
     , _vtrCapabilitiesReason :: Maybe Text
     , _vtrDescription        :: Maybe Text
     , _vtrParameters         :: List "member" TemplateParameter
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ValidateTemplateResponse' constructor.
 --
