diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.0`
+`1.4.1`
 
 
 ## Description
diff --git a/amazonka-dynamodb.cabal b/amazonka-dynamodb.cabal
--- a/amazonka-dynamodb.cabal
+++ b/amazonka-dynamodb.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-dynamodb
-version:               1.4.0
+version:               1.4.1
 synopsis:              Amazon DynamoDB SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -191,7 +191,7 @@
         , Network.AWS.DynamoDB.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.0.*
+          amazonka-core == 1.4.1.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-dynamodb-test
@@ -211,9 +211,9 @@
         , Test.AWS.DynamoDB.Internal
 
     build-depends:
-          amazonka-core == 1.4.0.*
-        , amazonka-test == 1.4.0.*
-        , amazonka-dynamodb == 1.4.0.*
+          amazonka-core == 1.4.1.*
+        , amazonka-test == 1.4.1.*
+        , amazonka-dynamodb == 1.4.1.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/DynamoDB/BatchGetItem.hs b/gen/Network/AWS/DynamoDB/BatchGetItem.hs
--- a/gen/Network/AWS/DynamoDB/BatchGetItem.hs
+++ b/gen/Network/AWS/DynamoDB/BatchGetItem.hs
@@ -236,6 +236,8 @@
 
 instance Hashable BatchGetItem
 
+instance NFData BatchGetItem
+
 instance ToHeaders BatchGetItem where
         toHeaders
           = const
@@ -335,3 +337,5 @@
 -- | The response status code.
 bgirsResponseStatus :: Lens' BatchGetItemResponse Int
 bgirsResponseStatus = lens _bgirsResponseStatus (\ s a -> s{_bgirsResponseStatus = a});
+
+instance NFData BatchGetItemResponse
diff --git a/gen/Network/AWS/DynamoDB/BatchWriteItem.hs b/gen/Network/AWS/DynamoDB/BatchWriteItem.hs
--- a/gen/Network/AWS/DynamoDB/BatchWriteItem.hs
+++ b/gen/Network/AWS/DynamoDB/BatchWriteItem.hs
@@ -206,6 +206,8 @@
 
 instance Hashable BatchWriteItem
 
+instance NFData BatchWriteItem
+
 instance ToHeaders BatchWriteItem where
         toHeaders
           = const
@@ -336,3 +338,5 @@
 -- | The response status code.
 bwirsResponseStatus :: Lens' BatchWriteItemResponse Int
 bwirsResponseStatus = lens _bwirsResponseStatus (\ s a -> s{_bwirsResponseStatus = a});
+
+instance NFData BatchWriteItemResponse
diff --git a/gen/Network/AWS/DynamoDB/CreateTable.hs b/gen/Network/AWS/DynamoDB/CreateTable.hs
--- a/gen/Network/AWS/DynamoDB/CreateTable.hs
+++ b/gen/Network/AWS/DynamoDB/CreateTable.hs
@@ -282,6 +282,8 @@
 
 instance Hashable CreateTable
 
+instance NFData CreateTable
+
 instance ToHeaders CreateTable where
         toHeaders
           = const
@@ -346,3 +348,5 @@
 -- | The response status code.
 ctrsResponseStatus :: Lens' CreateTableResponse Int
 ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a});
+
+instance NFData CreateTableResponse
diff --git a/gen/Network/AWS/DynamoDB/DeleteItem.hs b/gen/Network/AWS/DynamoDB/DeleteItem.hs
--- a/gen/Network/AWS/DynamoDB/DeleteItem.hs
+++ b/gen/Network/AWS/DynamoDB/DeleteItem.hs
@@ -508,6 +508,8 @@
 
 instance Hashable DeleteItem
 
+instance NFData DeleteItem
+
 instance ToHeaders DeleteItem where
         toHeaders
           = const
@@ -615,3 +617,5 @@
 -- | The response status code.
 dirsResponseStatus :: Lens' DeleteItemResponse Int
 dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a});
+
+instance NFData DeleteItemResponse
diff --git a/gen/Network/AWS/DynamoDB/DeleteTable.hs b/gen/Network/AWS/DynamoDB/DeleteTable.hs
--- a/gen/Network/AWS/DynamoDB/DeleteTable.hs
+++ b/gen/Network/AWS/DynamoDB/DeleteTable.hs
@@ -96,6 +96,8 @@
 
 instance Hashable DeleteTable
 
+instance NFData DeleteTable
+
 instance ToHeaders DeleteTable where
         toHeaders
           = const
@@ -147,3 +149,5 @@
 -- | The response status code.
 dtrsResponseStatus :: Lens' DeleteTableResponse Int
 dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a});
+
+instance NFData DeleteTableResponse
diff --git a/gen/Network/AWS/DynamoDB/DescribeLimits.hs b/gen/Network/AWS/DynamoDB/DescribeLimits.hs
--- a/gen/Network/AWS/DynamoDB/DescribeLimits.hs
+++ b/gen/Network/AWS/DynamoDB/DescribeLimits.hs
@@ -127,6 +127,8 @@
 
 instance Hashable DescribeLimits
 
+instance NFData DescribeLimits
+
 instance ToHeaders DescribeLimits where
         toHeaders
           = const
@@ -208,3 +210,5 @@
 -- | The response status code.
 dlrsResponseStatus :: Lens' DescribeLimitsResponse Int
 dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a});
+
+instance NFData DescribeLimitsResponse
diff --git a/gen/Network/AWS/DynamoDB/DescribeTable.hs b/gen/Network/AWS/DynamoDB/DescribeTable.hs
--- a/gen/Network/AWS/DynamoDB/DescribeTable.hs
+++ b/gen/Network/AWS/DynamoDB/DescribeTable.hs
@@ -85,6 +85,8 @@
 
 instance Hashable DescribeTable
 
+instance NFData DescribeTable
+
 instance ToHeaders DescribeTable where
         toHeaders
           = const
@@ -136,3 +138,5 @@
 -- | The response status code.
 drsResponseStatus :: Lens' DescribeTableResponse Int
 drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
+
+instance NFData DescribeTableResponse
diff --git a/gen/Network/AWS/DynamoDB/GetItem.hs b/gen/Network/AWS/DynamoDB/GetItem.hs
--- a/gen/Network/AWS/DynamoDB/GetItem.hs
+++ b/gen/Network/AWS/DynamoDB/GetItem.hs
@@ -211,6 +211,8 @@
 
 instance Hashable GetItem
 
+instance NFData GetItem
+
 instance ToHeaders GetItem where
         toHeaders
           = const
@@ -281,3 +283,5 @@
 -- | The response status code.
 girsResponseStatus :: Lens' GetItemResponse Int
 girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a});
+
+instance NFData GetItemResponse
diff --git a/gen/Network/AWS/DynamoDB/ListTables.hs b/gen/Network/AWS/DynamoDB/ListTables.hs
--- a/gen/Network/AWS/DynamoDB/ListTables.hs
+++ b/gen/Network/AWS/DynamoDB/ListTables.hs
@@ -105,6 +105,8 @@
 
 instance Hashable ListTables
 
+instance NFData ListTables
+
 instance ToHeaders ListTables where
         toHeaders
           = const
@@ -177,3 +179,5 @@
 -- | The response status code.
 ltrsResponseStatus :: Lens' ListTablesResponse Int
 ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a});
+
+instance NFData ListTablesResponse
diff --git a/gen/Network/AWS/DynamoDB/PutItem.hs b/gen/Network/AWS/DynamoDB/PutItem.hs
--- a/gen/Network/AWS/DynamoDB/PutItem.hs
+++ b/gen/Network/AWS/DynamoDB/PutItem.hs
@@ -536,6 +536,8 @@
 
 instance Hashable PutItem
 
+instance NFData PutItem
+
 instance ToHeaders PutItem where
         toHeaders
           = const
@@ -642,3 +644,5 @@
 -- | The response status code.
 pirsResponseStatus :: Lens' PutItemResponse Int
 pirsResponseStatus = lens _pirsResponseStatus (\ s a -> s{_pirsResponseStatus = a});
+
+instance NFData PutItemResponse
diff --git a/gen/Network/AWS/DynamoDB/Query.hs b/gen/Network/AWS/DynamoDB/Query.hs
--- a/gen/Network/AWS/DynamoDB/Query.hs
+++ b/gen/Network/AWS/DynamoDB/Query.hs
@@ -724,6 +724,8 @@
 
 instance Hashable Query
 
+instance NFData Query
+
 instance ToHeaders Query where
         toHeaders
           = const
@@ -853,3 +855,5 @@
 -- | The response status code.
 qrsResponseStatus :: Lens' QueryResponse Int
 qrsResponseStatus = lens _qrsResponseStatus (\ s a -> s{_qrsResponseStatus = a});
+
+instance NFData QueryResponse
diff --git a/gen/Network/AWS/DynamoDB/Scan.hs b/gen/Network/AWS/DynamoDB/Scan.hs
--- a/gen/Network/AWS/DynamoDB/Scan.hs
+++ b/gen/Network/AWS/DynamoDB/Scan.hs
@@ -492,6 +492,8 @@
 
 instance Hashable Scan
 
+instance NFData Scan
+
 instance ToHeaders Scan where
         toHeaders
           = const
@@ -619,3 +621,5 @@
 -- | The response status code.
 srsResponseStatus :: Lens' ScanResponse Int
 srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});
+
+instance NFData ScanResponse
diff --git a/gen/Network/AWS/DynamoDB/Types.hs b/gen/Network/AWS/DynamoDB/Types.hs
--- a/gen/Network/AWS/DynamoDB/Types.hs
+++ b/gen/Network/AWS/DynamoDB/Types.hs
@@ -301,6 +301,8 @@
            (hasCode "ProvisionedThroughputExceededException" . hasStatus 400)
            e =
           Just "throughput_exceeded"
+      | has (hasStatus 504) e = Just "gateway_timeout"
+      | has (hasStatus 502) e = Just "bad_gateway"
       | has (hasStatus 503) e = Just "service_unavailable"
       | has (hasStatus 500) e = Just "general_server_error"
       | has (hasStatus 509) e = Just "limit_exceeded"
diff --git a/gen/Network/AWS/DynamoDB/Types/Product.hs b/gen/Network/AWS/DynamoDB/Types/Product.hs
--- a/gen/Network/AWS/DynamoDB/Types/Product.hs
+++ b/gen/Network/AWS/DynamoDB/Types/Product.hs
@@ -68,6 +68,8 @@
 
 instance Hashable AttributeDefinition
 
+instance NFData AttributeDefinition
+
 instance ToJSON AttributeDefinition where
         toJSON AttributeDefinition'{..}
           = object
@@ -200,6 +202,8 @@
 
 instance Hashable AttributeValue
 
+instance NFData AttributeValue
+
 instance ToJSON AttributeValue where
         toJSON AttributeValue'{..}
           = object
@@ -324,6 +328,8 @@
 
 instance Hashable AttributeValueUpdate
 
+instance NFData AttributeValueUpdate
+
 instance ToJSON AttributeValueUpdate where
         toJSON AttributeValueUpdate'{..}
           = object
@@ -362,6 +368,8 @@
 
 instance Hashable Capacity
 
+instance NFData Capacity
+
 -- | Represents the selection criteria for a /Query/ or /Scan/ operation:
 --
 -- -   For a /Query/ operation, /Condition/ is used for specifying the
@@ -572,6 +580,8 @@
 
 instance Hashable Condition
 
+instance NFData Condition
+
 instance ToJSON Condition where
         toJSON Condition'{..}
           = object
@@ -655,6 +665,8 @@
 
 instance Hashable ConsumedCapacity
 
+instance NFData ConsumedCapacity
+
 -- | Represents a new global secondary index to be added to an existing
 -- table.
 --
@@ -709,6 +721,8 @@
 
 instance Hashable CreateGlobalSecondaryIndexAction
 
+instance NFData CreateGlobalSecondaryIndexAction
+
 instance ToJSON CreateGlobalSecondaryIndexAction
          where
         toJSON CreateGlobalSecondaryIndexAction'{..}
@@ -748,6 +762,8 @@
 
 instance Hashable DeleteGlobalSecondaryIndexAction
 
+instance NFData DeleteGlobalSecondaryIndexAction
+
 instance ToJSON DeleteGlobalSecondaryIndexAction
          where
         toJSON DeleteGlobalSecondaryIndexAction'{..}
@@ -787,6 +803,8 @@
 
 instance Hashable DeleteRequest
 
+instance NFData DeleteRequest
+
 instance ToJSON DeleteRequest where
         toJSON DeleteRequest'{..}
           = object (catMaybes [Just ("Key" .= _drKey)])
@@ -1050,6 +1068,8 @@
 
 instance Hashable ExpectedAttributeValue
 
+instance NFData ExpectedAttributeValue
+
 instance ToJSON ExpectedAttributeValue where
         toJSON ExpectedAttributeValue'{..}
           = object
@@ -1130,6 +1150,8 @@
 
 instance Hashable GlobalSecondaryIndex
 
+instance NFData GlobalSecondaryIndex
+
 instance ToJSON GlobalSecondaryIndex where
         toJSON GlobalSecondaryIndex'{..}
           = object
@@ -1281,6 +1303,8 @@
 
 instance Hashable GlobalSecondaryIndexDescription
 
+instance NFData GlobalSecondaryIndexDescription
+
 -- | Represents one of the following:
 --
 -- -   A new global secondary index to be added to an existing table.
@@ -1344,6 +1368,8 @@
 
 instance Hashable GlobalSecondaryIndexUpdate
 
+instance NFData GlobalSecondaryIndexUpdate
+
 instance ToJSON GlobalSecondaryIndexUpdate where
         toJSON GlobalSecondaryIndexUpdate'{..}
           = object
@@ -1405,6 +1431,8 @@
 
 instance Hashable ItemCollectionMetrics
 
+instance NFData ItemCollectionMetrics
+
 -- | Represents /a single element/ of a key schema. A key schema specifies
 -- the attributes that make up the primary key of a table, or the key
 -- attributes of an index.
@@ -1473,6 +1501,8 @@
 
 instance Hashable KeySchemaElement
 
+instance NFData KeySchemaElement
+
 instance ToJSON KeySchemaElement where
         toJSON KeySchemaElement'{..}
           = object
@@ -1610,6 +1640,8 @@
 
 instance Hashable KeysAndAttributes
 
+instance NFData KeysAndAttributes
+
 instance ToJSON KeysAndAttributes where
         toJSON KeysAndAttributes'{..}
           = object
@@ -1682,6 +1714,8 @@
 
 instance Hashable LocalSecondaryIndex
 
+instance NFData LocalSecondaryIndex
+
 instance ToJSON LocalSecondaryIndex where
         toJSON LocalSecondaryIndex'{..}
           = object
@@ -1786,6 +1820,8 @@
 
 instance Hashable LocalSecondaryIndexDescription
 
+instance NFData LocalSecondaryIndexDescription
+
 -- | Represents attributes that are copied (projected) from the table into an
 -- index. These are in addition to the primary key attributes and index key
 -- attributes, which are automatically projected.
@@ -1845,6 +1881,8 @@
 
 instance Hashable Projection
 
+instance NFData Projection
+
 instance ToJSON Projection where
         toJSON Projection'{..}
           = object
@@ -1899,6 +1937,8 @@
 
 instance Hashable ProvisionedThroughput
 
+instance NFData ProvisionedThroughput
+
 instance ToJSON ProvisionedThroughput where
         toJSON ProvisionedThroughput'{..}
           = object
@@ -1989,6 +2029,8 @@
 
 instance Hashable ProvisionedThroughputDescription
 
+instance NFData ProvisionedThroughputDescription
+
 -- | Represents a request to perform a /PutItem/ operation on an item.
 --
 -- /See:/ 'putRequest' smart constructor.
@@ -2024,6 +2066,8 @@
 
 instance Hashable PutRequest
 
+instance NFData PutRequest
+
 instance ToJSON PutRequest where
         toJSON PutRequest'{..}
           = object (catMaybes [Just ("Item" .= _prItem)])
@@ -2089,6 +2133,8 @@
 
 instance Hashable StreamSpecification
 
+instance NFData StreamSpecification
+
 instance ToJSON StreamSpecification where
         toJSON StreamSpecification'{..}
           = object
@@ -2416,6 +2462,8 @@
 
 instance Hashable TableDescription
 
+instance NFData TableDescription
+
 -- | Represents the new provisioned throughput settings to be applied to a
 -- global secondary index.
 --
@@ -2452,6 +2500,8 @@
 
 instance Hashable UpdateGlobalSecondaryIndexAction
 
+instance NFData UpdateGlobalSecondaryIndexAction
+
 instance ToJSON UpdateGlobalSecondaryIndexAction
          where
         toJSON UpdateGlobalSecondaryIndexAction'{..}
@@ -2504,6 +2554,8 @@
                    (x .:? "DeleteRequest") <*> (x .:? "PutRequest"))
 
 instance Hashable WriteRequest
+
+instance NFData WriteRequest
 
 instance ToJSON WriteRequest where
         toJSON WriteRequest'{..}
diff --git a/gen/Network/AWS/DynamoDB/Types/Sum.hs b/gen/Network/AWS/DynamoDB/Types/Sum.hs
--- a/gen/Network/AWS/DynamoDB/Types/Sum.hs
+++ b/gen/Network/AWS/DynamoDB/Types/Sum.hs
@@ -40,6 +40,7 @@
         Put -> "PUT"
 
 instance Hashable     AttributeAction
+instance NFData       AttributeAction
 instance ToByteString AttributeAction
 instance ToQuery      AttributeAction
 instance ToHeader     AttributeAction
@@ -98,6 +99,7 @@
         Null -> "NULL"
 
 instance Hashable     ComparisonOperator
+instance NFData       ComparisonOperator
 instance ToByteString ComparisonOperator
 instance ToQuery      ComparisonOperator
 instance ToHeader     ComparisonOperator
@@ -123,6 +125,7 @@
         OR -> "OR"
 
 instance Hashable     ConditionalOperator
+instance NFData       ConditionalOperator
 instance ToByteString ConditionalOperator
 instance ToQuery      ConditionalOperator
 instance ToHeader     ConditionalOperator
@@ -154,6 +157,7 @@
         ISUpdating -> "UPDATING"
 
 instance Hashable     IndexStatus
+instance NFData       IndexStatus
 instance ToByteString IndexStatus
 instance ToQuery      IndexStatus
 instance ToHeader     IndexStatus
@@ -179,6 +183,7 @@
         Range -> "RANGE"
 
 instance Hashable     KeyType
+instance NFData       KeyType
 instance ToByteString KeyType
 instance ToQuery      KeyType
 instance ToHeader     KeyType
@@ -210,6 +215,7 @@
         KeysOnly -> "KEYS_ONLY"
 
 instance Hashable     ProjectionType
+instance NFData       ProjectionType
 instance ToByteString ProjectionType
 instance ToQuery      ProjectionType
 instance ToHeader     ProjectionType
@@ -257,6 +263,7 @@
         RCCTotal -> "TOTAL"
 
 instance Hashable     ReturnConsumedCapacity
+instance NFData       ReturnConsumedCapacity
 instance ToByteString ReturnConsumedCapacity
 instance ToQuery      ReturnConsumedCapacity
 instance ToHeader     ReturnConsumedCapacity
@@ -282,6 +289,7 @@
         RICMSize -> "SIZE"
 
 instance Hashable     ReturnItemCollectionMetrics
+instance NFData       ReturnItemCollectionMetrics
 instance ToByteString ReturnItemCollectionMetrics
 instance ToQuery      ReturnItemCollectionMetrics
 instance ToHeader     ReturnItemCollectionMetrics
@@ -316,6 +324,7 @@
         UpdatedOld -> "UPDATED_OLD"
 
 instance Hashable     ReturnValue
+instance NFData       ReturnValue
 instance ToByteString ReturnValue
 instance ToQuery      ReturnValue
 instance ToHeader     ReturnValue
@@ -344,6 +353,7 @@
         S -> "S"
 
 instance Hashable     ScalarAttributeType
+instance NFData       ScalarAttributeType
 instance ToByteString ScalarAttributeType
 instance ToQuery      ScalarAttributeType
 instance ToHeader     ScalarAttributeType
@@ -378,6 +388,7 @@
         SpecificAttributes -> "SPECIFIC_ATTRIBUTES"
 
 instance Hashable     Select
+instance NFData       Select
 instance ToByteString Select
 instance ToQuery      Select
 instance ToHeader     Select
@@ -409,6 +420,7 @@
         SVTOldImage -> "OLD_IMAGE"
 
 instance Hashable     StreamViewType
+instance NFData       StreamViewType
 instance ToByteString StreamViewType
 instance ToQuery      StreamViewType
 instance ToHeader     StreamViewType
@@ -443,6 +455,7 @@
         Updating -> "UPDATING"
 
 instance Hashable     TableStatus
+instance NFData       TableStatus
 instance ToByteString TableStatus
 instance ToQuery      TableStatus
 instance ToHeader     TableStatus
diff --git a/gen/Network/AWS/DynamoDB/UpdateItem.hs b/gen/Network/AWS/DynamoDB/UpdateItem.hs
--- a/gen/Network/AWS/DynamoDB/UpdateItem.hs
+++ b/gen/Network/AWS/DynamoDB/UpdateItem.hs
@@ -714,6 +714,8 @@
 
 instance Hashable UpdateItem
 
+instance NFData UpdateItem
+
 instance ToHeaders UpdateItem where
         toHeaders
           = const
@@ -802,3 +804,5 @@
 -- | The response status code.
 uirsResponseStatus :: Lens' UpdateItemResponse Int
 uirsResponseStatus = lens _uirsResponseStatus (\ s a -> s{_uirsResponseStatus = a});
+
+instance NFData UpdateItemResponse
diff --git a/gen/Network/AWS/DynamoDB/UpdateTable.hs b/gen/Network/AWS/DynamoDB/UpdateTable.hs
--- a/gen/Network/AWS/DynamoDB/UpdateTable.hs
+++ b/gen/Network/AWS/DynamoDB/UpdateTable.hs
@@ -150,6 +150,8 @@
 
 instance Hashable UpdateTable
 
+instance NFData UpdateTable
+
 instance ToHeaders UpdateTable where
         toHeaders
           = const
@@ -210,3 +212,5 @@
 -- | The response status code.
 utrsResponseStatus :: Lens' UpdateTableResponse Int
 utrsResponseStatus = lens _utrsResponseStatus (\ s a -> s{_utrsResponseStatus = a});
+
+instance NFData UpdateTableResponse
