diff --git a/amazonka-kinesis.cabal b/amazonka-kinesis.cabal
--- a/amazonka-kinesis.cabal
+++ b/amazonka-kinesis.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-kinesis
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon Kinesis SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -55,5 +55,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/Kinesis/AddTagsToStream.hs b/gen/Network/AWS/Kinesis/AddTagsToStream.hs
--- a/gen/Network/AWS/Kinesis/AddTagsToStream.hs
+++ b/gen/Network/AWS/Kinesis/AddTagsToStream.hs
@@ -53,7 +53,7 @@
 data AddTagsToStream = AddTagsToStream
     { _attsStreamName :: Text
     , _attsTags       :: Map Text Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AddTagsToStream' constructor.
 --
@@ -79,7 +79,7 @@
 attsTags = lens _attsTags (\s a -> s { _attsTags = a }) . _Map
 
 data AddTagsToStreamResponse = AddTagsToStreamResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'AddTagsToStreamResponse' constructor.
 addTagsToStreamResponse :: AddTagsToStreamResponse
diff --git a/gen/Network/AWS/Kinesis/CreateStream.hs b/gen/Network/AWS/Kinesis/CreateStream.hs
--- a/gen/Network/AWS/Kinesis/CreateStream.hs
+++ b/gen/Network/AWS/Kinesis/CreateStream.hs
@@ -81,7 +81,7 @@
 data CreateStream = CreateStream
     { _csShardCount :: Nat
     , _csStreamName :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'CreateStream' constructor.
 --
@@ -118,7 +118,7 @@
 csStreamName = lens _csStreamName (\s a -> s { _csStreamName = a })
 
 data CreateStreamResponse = CreateStreamResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'CreateStreamResponse' constructor.
 createStreamResponse :: CreateStreamResponse
diff --git a/gen/Network/AWS/Kinesis/DeleteStream.hs b/gen/Network/AWS/Kinesis/DeleteStream.hs
--- a/gen/Network/AWS/Kinesis/DeleteStream.hs
+++ b/gen/Network/AWS/Kinesis/DeleteStream.hs
@@ -65,7 +65,7 @@
 
 newtype DeleteStream = DeleteStream
     { _dsStreamName :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteStream' constructor.
 --
@@ -84,7 +84,7 @@
 dsStreamName = lens _dsStreamName (\s a -> s { _dsStreamName = a })
 
 data DeleteStreamResponse = DeleteStreamResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteStreamResponse' constructor.
 deleteStreamResponse :: DeleteStreamResponse
diff --git a/gen/Network/AWS/Kinesis/DescribeStream.hs b/gen/Network/AWS/Kinesis/DescribeStream.hs
--- a/gen/Network/AWS/Kinesis/DescribeStream.hs
+++ b/gen/Network/AWS/Kinesis/DescribeStream.hs
@@ -72,7 +72,7 @@
     { _ds1ExclusiveStartShardId :: Maybe Text
     , _ds1Limit                 :: Maybe Nat
     , _ds1StreamName            :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DescribeStream' constructor.
 --
@@ -108,7 +108,7 @@
 
 newtype DescribeStreamResponse = DescribeStreamResponse
     { _dsrStreamDescription :: StreamDescription
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DescribeStreamResponse' constructor.
 --
diff --git a/gen/Network/AWS/Kinesis/GetRecords.hs b/gen/Network/AWS/Kinesis/GetRecords.hs
--- a/gen/Network/AWS/Kinesis/GetRecords.hs
+++ b/gen/Network/AWS/Kinesis/GetRecords.hs
@@ -93,7 +93,7 @@
 data GetRecords = GetRecords
     { _grLimit         :: Maybe Nat
     , _grShardIterator :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GetRecords' constructor.
 --
@@ -124,7 +124,7 @@
 data GetRecordsResponse = GetRecordsResponse
     { _grrNextShardIterator :: Maybe Text
     , _grrRecords           :: List "Records" Record
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetRecordsResponse' constructor.
 --
diff --git a/gen/Network/AWS/Kinesis/GetShardIterator.hs b/gen/Network/AWS/Kinesis/GetShardIterator.hs
--- a/gen/Network/AWS/Kinesis/GetShardIterator.hs
+++ b/gen/Network/AWS/Kinesis/GetShardIterator.hs
@@ -85,7 +85,7 @@
     , _gsiShardIteratorType      :: ShardIteratorType
     , _gsiStartingSequenceNumber :: Maybe Text
     , _gsiStreamName             :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetShardIterator' constructor.
 --
@@ -143,7 +143,7 @@
 
 newtype GetShardIteratorResponse = GetShardIteratorResponse
     { _gsirShardIterator :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'GetShardIteratorResponse' constructor.
 --
diff --git a/gen/Network/AWS/Kinesis/ListStreams.hs b/gen/Network/AWS/Kinesis/ListStreams.hs
--- a/gen/Network/AWS/Kinesis/ListStreams.hs
+++ b/gen/Network/AWS/Kinesis/ListStreams.hs
@@ -63,7 +63,7 @@
 data ListStreams = ListStreams
     { _lsExclusiveStartStreamName :: Maybe Text
     , _lsLimit                    :: Maybe Nat
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListStreams' constructor.
 --
@@ -92,7 +92,7 @@
 data ListStreamsResponse = ListStreamsResponse
     { _lsrHasMoreStreams :: Bool
     , _lsrStreamNames    :: List "StreamNames" Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListStreamsResponse' constructor.
 --
diff --git a/gen/Network/AWS/Kinesis/ListTagsForStream.hs b/gen/Network/AWS/Kinesis/ListTagsForStream.hs
--- a/gen/Network/AWS/Kinesis/ListTagsForStream.hs
+++ b/gen/Network/AWS/Kinesis/ListTagsForStream.hs
@@ -54,7 +54,7 @@
     { _ltfsExclusiveStartTagKey :: Maybe Text
     , _ltfsLimit                :: Maybe Nat
     , _ltfsStreamName           :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListTagsForStream' constructor.
 --
@@ -94,7 +94,7 @@
 data ListTagsForStreamResponse = ListTagsForStreamResponse
     { _ltfsrHasMoreTags :: Bool
     , _ltfsrTags        :: List "Tags" Tag
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListTagsForStreamResponse' constructor.
 --
diff --git a/gen/Network/AWS/Kinesis/MergeShards.hs b/gen/Network/AWS/Kinesis/MergeShards.hs
--- a/gen/Network/AWS/Kinesis/MergeShards.hs
+++ b/gen/Network/AWS/Kinesis/MergeShards.hs
@@ -79,7 +79,7 @@
     { _msAdjacentShardToMerge :: Text
     , _msShardToMerge         :: Text
     , _msStreamName           :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'MergeShards' constructor.
 --
@@ -115,7 +115,7 @@
 msStreamName = lens _msStreamName (\s a -> s { _msStreamName = a })
 
 data MergeShardsResponse = MergeShardsResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'MergeShardsResponse' constructor.
 mergeShardsResponse :: MergeShardsResponse
diff --git a/gen/Network/AWS/Kinesis/PutRecord.hs b/gen/Network/AWS/Kinesis/PutRecord.hs
--- a/gen/Network/AWS/Kinesis/PutRecord.hs
+++ b/gen/Network/AWS/Kinesis/PutRecord.hs
@@ -93,7 +93,7 @@
     , _prPartitionKey              :: Text
     , _prSequenceNumberForOrdering :: Maybe Text
     , _prStreamName                :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutRecord' constructor.
 --
@@ -160,7 +160,7 @@
 data PutRecordResponse = PutRecordResponse
     { _prrSequenceNumber :: Text
     , _prrShardId        :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'PutRecordResponse' constructor.
 --
diff --git a/gen/Network/AWS/Kinesis/PutRecords.hs b/gen/Network/AWS/Kinesis/PutRecords.hs
--- a/gen/Network/AWS/Kinesis/PutRecords.hs
+++ b/gen/Network/AWS/Kinesis/PutRecords.hs
@@ -98,7 +98,7 @@
 data PutRecords = PutRecords
     { _pr1Records    :: List1 "Records" PutRecordsRequestEntry
     , _pr1StreamName :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutRecords' constructor.
 --
@@ -127,7 +127,7 @@
 data PutRecordsResponse = PutRecordsResponse
     { _prrFailedRecordCount :: Maybe Nat
     , _prrRecords           :: List1 "Records" PutRecordsResultEntry
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutRecordsResponse' constructor.
 --
diff --git a/gen/Network/AWS/Kinesis/RemoveTagsFromStream.hs b/gen/Network/AWS/Kinesis/RemoveTagsFromStream.hs
--- a/gen/Network/AWS/Kinesis/RemoveTagsFromStream.hs
+++ b/gen/Network/AWS/Kinesis/RemoveTagsFromStream.hs
@@ -51,7 +51,7 @@
 data RemoveTagsFromStream = RemoveTagsFromStream
     { _rtfsStreamName :: Text
     , _rtfsTagKeys    :: List1 "TagKeys" Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'RemoveTagsFromStream' constructor.
 --
@@ -78,7 +78,7 @@
 rtfsTagKeys = lens _rtfsTagKeys (\s a -> s { _rtfsTagKeys = a }) . _List1
 
 data RemoveTagsFromStreamResponse = RemoveTagsFromStreamResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'RemoveTagsFromStreamResponse' constructor.
 removeTagsFromStreamResponse :: RemoveTagsFromStreamResponse
diff --git a/gen/Network/AWS/Kinesis/SplitShard.hs b/gen/Network/AWS/Kinesis/SplitShard.hs
--- a/gen/Network/AWS/Kinesis/SplitShard.hs
+++ b/gen/Network/AWS/Kinesis/SplitShard.hs
@@ -91,7 +91,7 @@
     { _ssNewStartingHashKey :: Text
     , _ssShardToSplit       :: Text
     , _ssStreamName         :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'SplitShard' constructor.
 --
@@ -132,7 +132,7 @@
 ssStreamName = lens _ssStreamName (\s a -> s { _ssStreamName = a })
 
 data SplitShardResponse = SplitShardResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SplitShardResponse' constructor.
 splitShardResponse :: SplitShardResponse
diff --git a/gen/Network/AWS/Kinesis/Types.hs b/gen/Network/AWS/Kinesis/Types.hs
--- a/gen/Network/AWS/Kinesis/Types.hs
+++ b/gen/Network/AWS/Kinesis/Types.hs
@@ -146,7 +146,7 @@
     , _sParentShardId         :: Maybe Text
     , _sSequenceNumberRange   :: SequenceNumberRange
     , _sShardId               :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Shard' constructor.
 --
@@ -217,7 +217,7 @@
 data Tag = Tag
     { _tagKey   :: Text
     , _tagValue :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Tag' constructor.
 --
@@ -262,7 +262,7 @@
     , _sdStreamARN     :: Text
     , _sdStreamName    :: Text
     , _sdStreamStatus  :: StreamStatus
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'StreamDescription' constructor.
 --
@@ -344,7 +344,7 @@
     , _prreErrorMessage   :: Maybe Text
     , _prreSequenceNumber :: Maybe Text
     , _prreShardId        :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'PutRecordsResultEntry' constructor.
 --
@@ -403,7 +403,7 @@
     { _prreData            :: Base64
     , _prreExplicitHashKey :: Maybe Text
     , _prrePartitionKey    :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'PutRecordsRequestEntry' constructor.
 --
@@ -465,7 +465,7 @@
     | Creating -- ^ CREATING
     | Deleting -- ^ DELETING
     | Updating -- ^ UPDATING
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable StreamStatus
 
@@ -498,7 +498,7 @@
 data HashKeyRange = HashKeyRange
     { _hkrEndingHashKey   :: Text
     , _hkrStartingHashKey :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'HashKeyRange' constructor.
 --
@@ -540,7 +540,7 @@
     { _rData           :: Base64
     , _rPartitionKey   :: Text
     , _rSequenceNumber :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Record' constructor.
 --
@@ -593,7 +593,7 @@
 data SequenceNumberRange = SequenceNumberRange
     { _snrEndingSequenceNumber   :: Maybe Text
     , _snrStartingSequenceNumber :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'SequenceNumberRange' constructor.
 --
@@ -638,7 +638,7 @@
     | AtSequenceNumber    -- ^ AT_SEQUENCE_NUMBER
     | Latest              -- ^ LATEST
     | TrimHorizon         -- ^ TRIM_HORIZON
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ShardIteratorType
 
