diff --git a/amazonka-cloudwatch-logs.cabal b/amazonka-cloudwatch-logs.cabal
--- a/amazonka-cloudwatch-logs.cabal
+++ b/amazonka-cloudwatch-logs.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudwatch-logs
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon CloudWatch Logs SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -53,5 +53,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/CloudWatchLogs/CreateLogGroup.hs b/gen/Network/AWS/CloudWatchLogs/CreateLogGroup.hs
--- a/gen/Network/AWS/CloudWatchLogs/CreateLogGroup.hs
+++ b/gen/Network/AWS/CloudWatchLogs/CreateLogGroup.hs
@@ -54,7 +54,7 @@
 
 newtype CreateLogGroup = CreateLogGroup
     { _clgLogGroupName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'CreateLogGroup' constructor.
 --
@@ -72,7 +72,7 @@
 clgLogGroupName = lens _clgLogGroupName (\s a -> s { _clgLogGroupName = a })
 
 data CreateLogGroupResponse = CreateLogGroupResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'CreateLogGroupResponse' constructor.
 createLogGroupResponse :: CreateLogGroupResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/CreateLogStream.hs b/gen/Network/AWS/CloudWatchLogs/CreateLogStream.hs
--- a/gen/Network/AWS/CloudWatchLogs/CreateLogStream.hs
+++ b/gen/Network/AWS/CloudWatchLogs/CreateLogStream.hs
@@ -55,7 +55,7 @@
 data CreateLogStream = CreateLogStream
     { _clsLogGroupName  :: Text
     , _clsLogStreamName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'CreateLogStream' constructor.
 --
@@ -80,7 +80,7 @@
 clsLogStreamName = lens _clsLogStreamName (\s a -> s { _clsLogStreamName = a })
 
 data CreateLogStreamResponse = CreateLogStreamResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'CreateLogStreamResponse' constructor.
 createLogStreamResponse :: CreateLogStreamResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/DeleteLogGroup.hs b/gen/Network/AWS/CloudWatchLogs/DeleteLogGroup.hs
--- a/gen/Network/AWS/CloudWatchLogs/DeleteLogGroup.hs
+++ b/gen/Network/AWS/CloudWatchLogs/DeleteLogGroup.hs
@@ -48,7 +48,7 @@
 
 newtype DeleteLogGroup = DeleteLogGroup
     { _dlgLogGroupName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteLogGroup' constructor.
 --
@@ -66,7 +66,7 @@
 dlgLogGroupName = lens _dlgLogGroupName (\s a -> s { _dlgLogGroupName = a })
 
 data DeleteLogGroupResponse = DeleteLogGroupResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteLogGroupResponse' constructor.
 deleteLogGroupResponse :: DeleteLogGroupResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/DeleteLogStream.hs b/gen/Network/AWS/CloudWatchLogs/DeleteLogStream.hs
--- a/gen/Network/AWS/CloudWatchLogs/DeleteLogStream.hs
+++ b/gen/Network/AWS/CloudWatchLogs/DeleteLogStream.hs
@@ -50,7 +50,7 @@
 data DeleteLogStream = DeleteLogStream
     { _dlsLogGroupName  :: Text
     , _dlsLogStreamName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteLogStream' constructor.
 --
@@ -75,7 +75,7 @@
 dlsLogStreamName = lens _dlsLogStreamName (\s a -> s { _dlsLogStreamName = a })
 
 data DeleteLogStreamResponse = DeleteLogStreamResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteLogStreamResponse' constructor.
 deleteLogStreamResponse :: DeleteLogStreamResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/DeleteMetricFilter.hs b/gen/Network/AWS/CloudWatchLogs/DeleteMetricFilter.hs
--- a/gen/Network/AWS/CloudWatchLogs/DeleteMetricFilter.hs
+++ b/gen/Network/AWS/CloudWatchLogs/DeleteMetricFilter.hs
@@ -49,7 +49,7 @@
 data DeleteMetricFilter = DeleteMetricFilter
     { _dmf1FilterName   :: Text
     , _dmf1LogGroupName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteMetricFilter' constructor.
 --
@@ -74,7 +74,7 @@
 dmf1LogGroupName = lens _dmf1LogGroupName (\s a -> s { _dmf1LogGroupName = a })
 
 data DeleteMetricFilterResponse = DeleteMetricFilterResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteMetricFilterResponse' constructor.
 deleteMetricFilterResponse :: DeleteMetricFilterResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/DeleteRetentionPolicy.hs b/gen/Network/AWS/CloudWatchLogs/DeleteRetentionPolicy.hs
--- a/gen/Network/AWS/CloudWatchLogs/DeleteRetentionPolicy.hs
+++ b/gen/Network/AWS/CloudWatchLogs/DeleteRetentionPolicy.hs
@@ -48,7 +48,7 @@
 
 newtype DeleteRetentionPolicy = DeleteRetentionPolicy
     { _drpLogGroupName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteRetentionPolicy' constructor.
 --
@@ -66,7 +66,7 @@
 drpLogGroupName = lens _drpLogGroupName (\s a -> s { _drpLogGroupName = a })
 
 data DeleteRetentionPolicyResponse = DeleteRetentionPolicyResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteRetentionPolicyResponse' constructor.
 deleteRetentionPolicyResponse :: DeleteRetentionPolicyResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/DescribeLogGroups.hs b/gen/Network/AWS/CloudWatchLogs/DescribeLogGroups.hs
--- a/gen/Network/AWS/CloudWatchLogs/DescribeLogGroups.hs
+++ b/gen/Network/AWS/CloudWatchLogs/DescribeLogGroups.hs
@@ -61,7 +61,7 @@
     { _dlgLimit              :: Maybe Nat
     , _dlgLogGroupNamePrefix :: Maybe Text
     , _dlgNextToken          :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeLogGroups' constructor.
 --
@@ -97,7 +97,7 @@
 data DescribeLogGroupsResponse = DescribeLogGroupsResponse
     { _dlgrLogGroups :: List "logGroups" LogGroup
     , _dlgrNextToken :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeLogGroupsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatchLogs/DescribeLogStreams.hs b/gen/Network/AWS/CloudWatchLogs/DescribeLogStreams.hs
--- a/gen/Network/AWS/CloudWatchLogs/DescribeLogStreams.hs
+++ b/gen/Network/AWS/CloudWatchLogs/DescribeLogStreams.hs
@@ -62,7 +62,7 @@
     , _dls1LogGroupName        :: Text
     , _dls1LogStreamNamePrefix :: Maybe Text
     , _dls1NextToken           :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeLogStreams' constructor.
 --
@@ -105,7 +105,7 @@
 data DescribeLogStreamsResponse = DescribeLogStreamsResponse
     { _dlsrLogStreams :: List "logStreams" LogStream
     , _dlsrNextToken  :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeLogStreamsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatchLogs/DescribeMetricFilters.hs b/gen/Network/AWS/CloudWatchLogs/DescribeMetricFilters.hs
--- a/gen/Network/AWS/CloudWatchLogs/DescribeMetricFilters.hs
+++ b/gen/Network/AWS/CloudWatchLogs/DescribeMetricFilters.hs
@@ -62,7 +62,7 @@
     , _dmfLimit            :: Maybe Nat
     , _dmfLogGroupName     :: Text
     , _dmfNextToken        :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeMetricFilters' constructor.
 --
@@ -105,7 +105,7 @@
 data DescribeMetricFiltersResponse = DescribeMetricFiltersResponse
     { _dmfrMetricFilters :: List "metricFilters" MetricFilter
     , _dmfrNextToken     :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeMetricFiltersResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatchLogs/GetLogEvents.hs b/gen/Network/AWS/CloudWatchLogs/GetLogEvents.hs
--- a/gen/Network/AWS/CloudWatchLogs/GetLogEvents.hs
+++ b/gen/Network/AWS/CloudWatchLogs/GetLogEvents.hs
@@ -72,7 +72,7 @@
     , _gleNextToken     :: Maybe Text
     , _gleStartFromHead :: Maybe Bool
     , _gleStartTime     :: Maybe Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GetLogEvents' constructor.
 --
@@ -138,7 +138,7 @@
     { _glerEvents            :: List "events" OutputLogEvent
     , _glerNextBackwardToken :: Maybe Text
     , _glerNextForwardToken  :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetLogEventsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatchLogs/PutLogEvents.hs b/gen/Network/AWS/CloudWatchLogs/PutLogEvents.hs
--- a/gen/Network/AWS/CloudWatchLogs/PutLogEvents.hs
+++ b/gen/Network/AWS/CloudWatchLogs/PutLogEvents.hs
@@ -67,7 +67,7 @@
     , _pleLogGroupName  :: Text
     , _pleLogStreamName :: Text
     , _pleSequenceToken :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutLogEvents' constructor.
 --
@@ -107,7 +107,7 @@
 
 newtype PutLogEventsResponse = PutLogEventsResponse
     { _plerNextSequenceToken :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'PutLogEventsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatchLogs/PutMetricFilter.hs b/gen/Network/AWS/CloudWatchLogs/PutMetricFilter.hs
--- a/gen/Network/AWS/CloudWatchLogs/PutMetricFilter.hs
+++ b/gen/Network/AWS/CloudWatchLogs/PutMetricFilter.hs
@@ -55,7 +55,7 @@
     , _pmfFilterPattern         :: Text
     , _pmfLogGroupName          :: Text
     , _pmfMetricTransformations :: List1 "metricTransformations" MetricTransformation
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutMetricFilter' constructor.
 --
@@ -97,7 +97,7 @@
             . _List1
 
 data PutMetricFilterResponse = PutMetricFilterResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'PutMetricFilterResponse' constructor.
 putMetricFilterResponse :: PutMetricFilterResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/PutRetentionPolicy.hs b/gen/Network/AWS/CloudWatchLogs/PutRetentionPolicy.hs
--- a/gen/Network/AWS/CloudWatchLogs/PutRetentionPolicy.hs
+++ b/gen/Network/AWS/CloudWatchLogs/PutRetentionPolicy.hs
@@ -51,7 +51,7 @@
 data PutRetentionPolicy = PutRetentionPolicy
     { _prpLogGroupName    :: Text
     , _prpRetentionInDays :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'PutRetentionPolicy' constructor.
 --
@@ -77,7 +77,7 @@
     lens _prpRetentionInDays (\s a -> s { _prpRetentionInDays = a })
 
 data PutRetentionPolicyResponse = PutRetentionPolicyResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'PutRetentionPolicyResponse' constructor.
 putRetentionPolicyResponse :: PutRetentionPolicyResponse
diff --git a/gen/Network/AWS/CloudWatchLogs/TestMetricFilter.hs b/gen/Network/AWS/CloudWatchLogs/TestMetricFilter.hs
--- a/gen/Network/AWS/CloudWatchLogs/TestMetricFilter.hs
+++ b/gen/Network/AWS/CloudWatchLogs/TestMetricFilter.hs
@@ -53,7 +53,7 @@
 data TestMetricFilter = TestMetricFilter
     { _tmfFilterPattern    :: Text
     , _tmfLogEventMessages :: List1 "logEventMessages" Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'TestMetricFilter' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype TestMetricFilterResponse = TestMetricFilterResponse
     { _tmfrMatches :: List "matches" MetricFilterMatchRecord
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList TestMetricFilterResponse where
     type Item TestMetricFilterResponse = MetricFilterMatchRecord
diff --git a/gen/Network/AWS/CloudWatchLogs/Types.hs b/gen/Network/AWS/CloudWatchLogs/Types.hs
--- a/gen/Network/AWS/CloudWatchLogs/Types.hs
+++ b/gen/Network/AWS/CloudWatchLogs/Types.hs
@@ -138,7 +138,7 @@
     , _mfFilterName            :: Maybe Text
     , _mfFilterPattern         :: Maybe Text
     , _mfMetricTransformations :: List1 "metricTransformations" MetricTransformation
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'MetricFilter' constructor.
 --
@@ -194,7 +194,7 @@
     { _mfmrEventMessage    :: Maybe Text
     , _mfmrEventNumber     :: Maybe Integer
     , _mfmrExtractedValues :: Map Text Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'MetricFilterMatchRecord' constructor.
 --
@@ -241,7 +241,7 @@
     { _mtMetricName      :: Text
     , _mtMetricNamespace :: Text
     , _mtMetricValue     :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'MetricTransformation' constructor.
 --
@@ -295,7 +295,7 @@
     , _lsLogStreamName       :: Maybe Text
     , _lsStoredBytes         :: Maybe Nat
     , _lsUploadSequenceToken :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'LogStream' constructor.
 --
@@ -390,7 +390,7 @@
     , _lgMetricFilterCount :: Maybe Int
     , _lgRetentionInDays   :: Maybe Int
     , _lgStoredBytes       :: Maybe Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'LogGroup' constructor.
 --
@@ -460,7 +460,7 @@
 data InputLogEvent = InputLogEvent
     { _ileMessage   :: Text
     , _ileTimestamp :: Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'InputLogEvent' constructor.
 --
@@ -499,7 +499,7 @@
     { _oleIngestionTime :: Maybe Nat
     , _oleMessage       :: Maybe Text
     , _oleTimestamp     :: Maybe Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'OutputLogEvent' constructor.
 --
