diff --git a/amazonka-cloudwatch.cabal b/amazonka-cloudwatch.cabal
--- a/amazonka-cloudwatch.cabal
+++ b/amazonka-cloudwatch.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-cloudwatch
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon CloudWatch SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -58,5 +58,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/CloudWatch/DeleteAlarms.hs b/gen/Network/AWS/CloudWatch/DeleteAlarms.hs
--- a/gen/Network/AWS/CloudWatch/DeleteAlarms.hs
+++ b/gen/Network/AWS/CloudWatch/DeleteAlarms.hs
@@ -48,7 +48,7 @@
 
 newtype DeleteAlarms = DeleteAlarms
     { _da1AlarmNames :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DeleteAlarms where
     type Item DeleteAlarms = Text
@@ -72,7 +72,7 @@
 da1AlarmNames = lens _da1AlarmNames (\s a -> s { _da1AlarmNames = a }) . _List
 
 data DeleteAlarmsResponse = DeleteAlarmsResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteAlarmsResponse' constructor.
 deleteAlarmsResponse :: DeleteAlarmsResponse
diff --git a/gen/Network/AWS/CloudWatch/DescribeAlarmHistory.hs b/gen/Network/AWS/CloudWatch/DescribeAlarmHistory.hs
--- a/gen/Network/AWS/CloudWatch/DescribeAlarmHistory.hs
+++ b/gen/Network/AWS/CloudWatch/DescribeAlarmHistory.hs
@@ -62,7 +62,7 @@
     , _dahMaxRecords      :: Maybe Nat
     , _dahNextToken       :: Maybe Text
     , _dahStartDate       :: Maybe ISO8601
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeAlarmHistory' constructor.
 --
@@ -119,7 +119,7 @@
 data DescribeAlarmHistoryResponse = DescribeAlarmHistoryResponse
     { _dahrAlarmHistoryItems :: List "member" AlarmHistoryItem
     , _dahrNextToken         :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeAlarmHistoryResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatch/DescribeAlarms.hs b/gen/Network/AWS/CloudWatch/DescribeAlarms.hs
--- a/gen/Network/AWS/CloudWatch/DescribeAlarms.hs
+++ b/gen/Network/AWS/CloudWatch/DescribeAlarms.hs
@@ -62,7 +62,7 @@
     , _daMaxRecords      :: Maybe Nat
     , _daNextToken       :: Maybe Text
     , _daStateValue      :: Maybe StateValue
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeAlarms' constructor.
 --
@@ -120,7 +120,7 @@
 data DescribeAlarmsResponse = DescribeAlarmsResponse
     { _darMetricAlarms :: List "member" MetricAlarm
     , _darNextToken    :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeAlarmsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatch/DescribeAlarmsForMetric.hs b/gen/Network/AWS/CloudWatch/DescribeAlarmsForMetric.hs
--- a/gen/Network/AWS/CloudWatch/DescribeAlarmsForMetric.hs
+++ b/gen/Network/AWS/CloudWatch/DescribeAlarmsForMetric.hs
@@ -60,7 +60,7 @@
     , _dafmPeriod     :: Maybe Nat
     , _dafmStatistic  :: Maybe Statistic
     , _dafmUnit       :: Maybe StandardUnit
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeAlarmsForMetric' constructor.
 --
@@ -116,7 +116,7 @@
 
 newtype DescribeAlarmsForMetricResponse = DescribeAlarmsForMetricResponse
     { _dafmrMetricAlarms :: List "member" MetricAlarm
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DescribeAlarmsForMetricResponse where
     type Item DescribeAlarmsForMetricResponse = MetricAlarm
diff --git a/gen/Network/AWS/CloudWatch/DisableAlarmActions.hs b/gen/Network/AWS/CloudWatch/DisableAlarmActions.hs
--- a/gen/Network/AWS/CloudWatch/DisableAlarmActions.hs
+++ b/gen/Network/AWS/CloudWatch/DisableAlarmActions.hs
@@ -49,7 +49,7 @@
 
 newtype DisableAlarmActions = DisableAlarmActions
     { _daaAlarmNames :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList DisableAlarmActions where
     type Item DisableAlarmActions = Text
@@ -73,7 +73,7 @@
 daaAlarmNames = lens _daaAlarmNames (\s a -> s { _daaAlarmNames = a }) . _List
 
 data DisableAlarmActionsResponse = DisableAlarmActionsResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DisableAlarmActionsResponse' constructor.
 disableAlarmActionsResponse :: DisableAlarmActionsResponse
diff --git a/gen/Network/AWS/CloudWatch/EnableAlarmActions.hs b/gen/Network/AWS/CloudWatch/EnableAlarmActions.hs
--- a/gen/Network/AWS/CloudWatch/EnableAlarmActions.hs
+++ b/gen/Network/AWS/CloudWatch/EnableAlarmActions.hs
@@ -47,7 +47,7 @@
 
 newtype EnableAlarmActions = EnableAlarmActions
     { _eaaAlarmNames :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList EnableAlarmActions where
     type Item EnableAlarmActions = Text
@@ -71,7 +71,7 @@
 eaaAlarmNames = lens _eaaAlarmNames (\s a -> s { _eaaAlarmNames = a }) . _List
 
 data EnableAlarmActionsResponse = EnableAlarmActionsResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'EnableAlarmActionsResponse' constructor.
 enableAlarmActionsResponse :: EnableAlarmActionsResponse
diff --git a/gen/Network/AWS/CloudWatch/GetMetricStatistics.hs b/gen/Network/AWS/CloudWatch/GetMetricStatistics.hs
--- a/gen/Network/AWS/CloudWatch/GetMetricStatistics.hs
+++ b/gen/Network/AWS/CloudWatch/GetMetricStatistics.hs
@@ -88,7 +88,7 @@
     , _gmsStartTime  :: ISO8601
     , _gmsStatistics :: List1 "member" Statistic
     , _gmsUnit       :: Maybe StandardUnit
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetMetricStatistics' constructor.
 --
@@ -171,7 +171,7 @@
 data GetMetricStatisticsResponse = GetMetricStatisticsResponse
     { _gmsrDatapoints :: List "member" Datapoint
     , _gmsrLabel      :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetMetricStatisticsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatch/ListMetrics.hs b/gen/Network/AWS/CloudWatch/ListMetrics.hs
--- a/gen/Network/AWS/CloudWatch/ListMetrics.hs
+++ b/gen/Network/AWS/CloudWatch/ListMetrics.hs
@@ -58,7 +58,7 @@
     , _lmMetricName :: Maybe Text
     , _lmNamespace  :: Maybe Text
     , _lmNextToken  :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListMetrics' constructor.
 --
@@ -100,7 +100,7 @@
 data ListMetricsResponse = ListMetricsResponse
     { _lmrMetrics   :: List "member" Metric
     , _lmrNextToken :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListMetricsResponse' constructor.
 --
diff --git a/gen/Network/AWS/CloudWatch/PutMetricAlarm.hs b/gen/Network/AWS/CloudWatch/PutMetricAlarm.hs
--- a/gen/Network/AWS/CloudWatch/PutMetricAlarm.hs
+++ b/gen/Network/AWS/CloudWatch/PutMetricAlarm.hs
@@ -80,7 +80,7 @@
     , _pmaStatistic               :: Statistic
     , _pmaThreshold               :: Double
     , _pmaUnit                    :: Maybe StandardUnit
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutMetricAlarm' constructor.
 --
@@ -223,7 +223,7 @@
 pmaUnit = lens _pmaUnit (\s a -> s { _pmaUnit = a })
 
 data PutMetricAlarmResponse = PutMetricAlarmResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'PutMetricAlarmResponse' constructor.
 putMetricAlarmResponse :: PutMetricAlarmResponse
diff --git a/gen/Network/AWS/CloudWatch/PutMetricData.hs b/gen/Network/AWS/CloudWatch/PutMetricData.hs
--- a/gen/Network/AWS/CloudWatch/PutMetricData.hs
+++ b/gen/Network/AWS/CloudWatch/PutMetricData.hs
@@ -62,7 +62,7 @@
 data PutMetricData = PutMetricData
     { _pmdMetricData :: List "member" MetricDatum
     , _pmdNamespace  :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutMetricData' constructor.
 --
@@ -88,7 +88,7 @@
 pmdNamespace = lens _pmdNamespace (\s a -> s { _pmdNamespace = a })
 
 data PutMetricDataResponse = PutMetricDataResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'PutMetricDataResponse' constructor.
 putMetricDataResponse :: PutMetricDataResponse
diff --git a/gen/Network/AWS/CloudWatch/SetAlarmState.hs b/gen/Network/AWS/CloudWatch/SetAlarmState.hs
--- a/gen/Network/AWS/CloudWatch/SetAlarmState.hs
+++ b/gen/Network/AWS/CloudWatch/SetAlarmState.hs
@@ -56,7 +56,7 @@
     , _sasStateReason     :: Text
     , _sasStateReasonData :: Maybe Text
     , _sasStateValue      :: StateValue
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SetAlarmState' constructor.
 --
@@ -102,7 +102,7 @@
 sasStateValue = lens _sasStateValue (\s a -> s { _sasStateValue = a })
 
 data SetAlarmStateResponse = SetAlarmStateResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SetAlarmStateResponse' constructor.
 setAlarmStateResponse :: SetAlarmStateResponse
diff --git a/gen/Network/AWS/CloudWatch/Types.hs b/gen/Network/AWS/CloudWatch/Types.hs
--- a/gen/Network/AWS/CloudWatch/Types.hs
+++ b/gen/Network/AWS/CloudWatch/Types.hs
@@ -185,7 +185,7 @@
     , _ssMinimum     :: Double
     , _ssSampleCount :: Double
     , _ssSum         :: Double
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'StatisticSet' constructor.
 --
@@ -264,7 +264,7 @@
     , _maStatistic                          :: Maybe Statistic
     , _maThreshold                          :: Maybe Double
     , _maUnit                               :: Maybe StandardUnit
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'MetricAlarm' constructor.
 --
@@ -506,7 +506,7 @@
     = Action              -- ^ Action
     | ConfigurationUpdate -- ^ ConfigurationUpdate
     | StateUpdate         -- ^ StateUpdate
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable HistoryItemType
 
@@ -538,7 +538,7 @@
     , _mdTimestamp       :: Maybe ISO8601
     , _mdUnit            :: Maybe StandardUnit
     , _mdValue           :: Maybe Double
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'MetricDatum' constructor.
 --
@@ -650,7 +650,7 @@
     | TerabitsSecond  -- ^ Terabits/Second
     | Terabytes       -- ^ Terabytes
     | TerabytesSecond -- ^ Terabytes/Second
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable StandardUnit
 
@@ -726,7 +726,7 @@
 data Dimension = Dimension
     { _dName  :: Text
     , _dValue :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Dimension' constructor.
 --
@@ -768,7 +768,7 @@
     | GreaterThanThreshold          -- ^ GreaterThanThreshold
     | LessThanOrEqualToThreshold    -- ^ LessThanOrEqualToThreshold
     | LessThanThreshold             -- ^ LessThanThreshold
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ComparisonOperator
 
@@ -801,7 +801,7 @@
     , _ahiHistoryItemType :: Maybe HistoryItemType
     , _ahiHistorySummary  :: Maybe Text
     , _ahiTimestamp       :: Maybe ISO8601
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AlarmHistoryItem' constructor.
 --
@@ -872,7 +872,7 @@
     { _mDimensions :: List "member" Dimension
     , _mMetricName :: Maybe Text
     , _mNamespace  :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Metric' constructor.
 --
@@ -920,7 +920,7 @@
     = Alarm            -- ^ ALARM
     | InsufficientData -- ^ INSUFFICIENT_DATA
     | Ok               -- ^ OK
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable StateValue
 
@@ -953,7 +953,7 @@
     , _dSum         :: Maybe Double
     , _dTimestamp   :: Maybe ISO8601
     , _dUnit        :: Maybe StandardUnit
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Datapoint' constructor.
 --
@@ -1039,7 +1039,7 @@
 data DimensionFilter = DimensionFilter
     { _dfName  :: Text
     , _dfValue :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DimensionFilter' constructor.
 --
@@ -1081,7 +1081,7 @@
     | Minimum     -- ^ Minimum
     | SampleCount -- ^ SampleCount
     | Sum         -- ^ Sum
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable Statistic
 
