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-s3.cabal b/amazonka-s3.cabal
--- a/amazonka-s3.cabal
+++ b/amazonka-s3.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-s3
-version:               1.4.0
+version:               1.4.1
 synopsis:              Amazon Simple Storage Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -62,6 +62,7 @@
         , Network.AWS.S3.DeleteObject
         , Network.AWS.S3.DeleteObjects
         , Network.AWS.S3.GetBucketACL
+        , Network.AWS.S3.GetBucketAccelerateConfiguration
         , Network.AWS.S3.GetBucketCORS
         , Network.AWS.S3.GetBucketLifecycleConfiguration
         , Network.AWS.S3.GetBucketLocation
@@ -84,6 +85,7 @@
         , Network.AWS.S3.ListObjects
         , Network.AWS.S3.ListParts
         , Network.AWS.S3.PutBucketACL
+        , Network.AWS.S3.PutBucketAccelerateConfiguration
         , Network.AWS.S3.PutBucketCORS
         , Network.AWS.S3.PutBucketLifecycleConfiguration
         , Network.AWS.S3.PutBucketLogging
@@ -108,7 +110,7 @@
         , Network.AWS.S3.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.0.*
+          amazonka-core == 1.4.1.*
         , base          >= 4.7     && < 5
         , lens >= 4.4
         , text >= 1.1
@@ -130,9 +132,9 @@
         , Test.AWS.S3.Internal
 
     build-depends:
-          amazonka-core == 1.4.0.*
-        , amazonka-test == 1.4.0.*
-        , amazonka-s3 == 1.4.0.*
+          amazonka-core == 1.4.1.*
+        , amazonka-test == 1.4.1.*
+        , amazonka-s3 == 1.4.1.*
         , base
         , bytestring
         , tasty
diff --git a/fixture/GetBucketAccelerateConfiguration.yaml b/fixture/GetBucketAccelerateConfiguration.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetBucketAccelerateConfiguration.yaml
diff --git a/fixture/GetBucketAccelerateConfigurationResponse.proto b/fixture/GetBucketAccelerateConfigurationResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetBucketAccelerateConfigurationResponse.proto
diff --git a/fixture/PutBucketAccelerateConfiguration.yaml b/fixture/PutBucketAccelerateConfiguration.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/PutBucketAccelerateConfiguration.yaml
diff --git a/fixture/PutBucketAccelerateConfigurationResponse.proto b/fixture/PutBucketAccelerateConfigurationResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/PutBucketAccelerateConfigurationResponse.proto
diff --git a/gen/Network/AWS/S3.hs b/gen/Network/AWS/S3.hs
--- a/gen/Network/AWS/S3.hs
+++ b/gen/Network/AWS/S3.hs
@@ -101,6 +101,9 @@
     -- ** GetBucketNotificationConfiguration
     , module Network.AWS.S3.GetBucketNotificationConfiguration
 
+    -- ** PutBucketAccelerateConfiguration
+    , module Network.AWS.S3.PutBucketAccelerateConfiguration
+
     -- ** GetObject
     , module Network.AWS.S3.GetObject
 
@@ -161,6 +164,9 @@
     -- ** PutBucketPolicy
     , module Network.AWS.S3.PutBucketPolicy
 
+    -- ** GetBucketAccelerateConfiguration
+    , module Network.AWS.S3.GetBucketAccelerateConfiguration
+
     -- ** GetObjectTorrent
     , module Network.AWS.S3.GetObjectTorrent
 
@@ -226,6 +232,9 @@
     -- ** Re-exported Types
     , module Network.AWS.S3.Internal
 
+    -- ** BucketAccelerateStatus
+    , BucketAccelerateStatus (..)
+
     -- ** BucketCannedACL
     , BucketCannedACL (..)
 
@@ -303,6 +312,11 @@
     , abortIncompleteMultipartUpload
     , aimuDaysAfterInitiation
 
+    -- ** AccelerateConfiguration
+    , AccelerateConfiguration
+    , accelerateConfiguration
+    , acStatus
+
     -- ** AccessControlPolicy
     , AccessControlPolicy
     , accessControlPolicy
@@ -680,6 +694,7 @@
 import           Network.AWS.S3.DeleteBucketWebsite
 import           Network.AWS.S3.DeleteObject
 import           Network.AWS.S3.DeleteObjects
+import           Network.AWS.S3.GetBucketAccelerateConfiguration
 import           Network.AWS.S3.GetBucketACL
 import           Network.AWS.S3.GetBucketCORS
 import           Network.AWS.S3.GetBucketLifecycleConfiguration
@@ -703,6 +718,7 @@
 import           Network.AWS.S3.ListObjects
 import           Network.AWS.S3.ListObjectVersions
 import           Network.AWS.S3.ListParts
+import           Network.AWS.S3.PutBucketAccelerateConfiguration
 import           Network.AWS.S3.PutBucketACL
 import           Network.AWS.S3.PutBucketCORS
 import           Network.AWS.S3.PutBucketLifecycleConfiguration
diff --git a/gen/Network/AWS/S3/AbortMultipartUpload.hs b/gen/Network/AWS/S3/AbortMultipartUpload.hs
--- a/gen/Network/AWS/S3/AbortMultipartUpload.hs
+++ b/gen/Network/AWS/S3/AbortMultipartUpload.hs
@@ -110,6 +110,8 @@
 
 instance Hashable AbortMultipartUpload
 
+instance NFData AbortMultipartUpload
+
 instance ToHeaders AbortMultipartUpload where
         toHeaders AbortMultipartUpload'{..}
           = mconcat ["x-amz-request-payer" =# _amuRequestPayer]
@@ -151,3 +153,5 @@
 -- | The response status code.
 amursResponseStatus :: Lens' AbortMultipartUploadResponse Int
 amursResponseStatus = lens _amursResponseStatus (\ s a -> s{_amursResponseStatus = a});
+
+instance NFData AbortMultipartUploadResponse
diff --git a/gen/Network/AWS/S3/CompleteMultipartUpload.hs b/gen/Network/AWS/S3/CompleteMultipartUpload.hs
--- a/gen/Network/AWS/S3/CompleteMultipartUpload.hs
+++ b/gen/Network/AWS/S3/CompleteMultipartUpload.hs
@@ -131,6 +131,8 @@
 
 instance Hashable CompleteMultipartUpload
 
+instance NFData CompleteMultipartUpload
+
 instance ToElement CompleteMultipartUpload where
         toElement
           = mkElement
@@ -247,3 +249,5 @@
 -- | The response status code.
 crsResponseStatus :: Lens' CompleteMultipartUploadResponse Int
 crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});
+
+instance NFData CompleteMultipartUploadResponse
diff --git a/gen/Network/AWS/S3/CopyObject.hs b/gen/Network/AWS/S3/CopyObject.hs
--- a/gen/Network/AWS/S3/CopyObject.hs
+++ b/gen/Network/AWS/S3/CopyObject.hs
@@ -394,6 +394,8 @@
 
 instance Hashable CopyObject
 
+instance NFData CopyObject
+
 instance ToHeaders CopyObject where
         toHeaders CopyObject'{..}
           = mconcat
@@ -546,3 +548,5 @@
 -- | The response status code.
 corsResponseStatus :: Lens' CopyObjectResponse Int
 corsResponseStatus = lens _corsResponseStatus (\ s a -> s{_corsResponseStatus = a});
+
+instance NFData CopyObjectResponse
diff --git a/gen/Network/AWS/S3/CreateBucket.hs b/gen/Network/AWS/S3/CreateBucket.hs
--- a/gen/Network/AWS/S3/CreateBucket.hs
+++ b/gen/Network/AWS/S3/CreateBucket.hs
@@ -140,6 +140,8 @@
 
 instance Hashable CreateBucket
 
+instance NFData CreateBucket
+
 instance ToElement CreateBucket where
         toElement
           = mkElement
@@ -193,3 +195,5 @@
 -- | The response status code.
 cbrsResponseStatus :: Lens' CreateBucketResponse Int
 cbrsResponseStatus = lens _cbrsResponseStatus (\ s a -> s{_cbrsResponseStatus = a});
+
+instance NFData CreateBucketResponse
diff --git a/gen/Network/AWS/S3/CreateMultipartUpload.hs b/gen/Network/AWS/S3/CreateMultipartUpload.hs
--- a/gen/Network/AWS/S3/CreateMultipartUpload.hs
+++ b/gen/Network/AWS/S3/CreateMultipartUpload.hs
@@ -312,6 +312,8 @@
 
 instance Hashable CreateMultipartUpload
 
+instance NFData CreateMultipartUpload
+
 instance ToHeaders CreateMultipartUpload where
         toHeaders CreateMultipartUpload'{..}
           = mconcat
@@ -458,3 +460,5 @@
 -- | The response status code.
 cmursResponseStatus :: Lens' CreateMultipartUploadResponse Int
 cmursResponseStatus = lens _cmursResponseStatus (\ s a -> s{_cmursResponseStatus = a});
+
+instance NFData CreateMultipartUploadResponse
diff --git a/gen/Network/AWS/S3/DeleteBucket.hs b/gen/Network/AWS/S3/DeleteBucket.hs
--- a/gen/Network/AWS/S3/DeleteBucket.hs
+++ b/gen/Network/AWS/S3/DeleteBucket.hs
@@ -70,6 +70,8 @@
 
 instance Hashable DeleteBucket
 
+instance NFData DeleteBucket
+
 instance ToHeaders DeleteBucket where
         toHeaders = const mempty
 
@@ -90,3 +92,5 @@
 deleteBucketResponse
     :: DeleteBucketResponse
 deleteBucketResponse = DeleteBucketResponse'
+
+instance NFData DeleteBucketResponse
diff --git a/gen/Network/AWS/S3/DeleteBucketCORS.hs b/gen/Network/AWS/S3/DeleteBucketCORS.hs
--- a/gen/Network/AWS/S3/DeleteBucketCORS.hs
+++ b/gen/Network/AWS/S3/DeleteBucketCORS.hs
@@ -68,6 +68,8 @@
 
 instance Hashable DeleteBucketCORS
 
+instance NFData DeleteBucketCORS
+
 instance ToHeaders DeleteBucketCORS where
         toHeaders = const mempty
 
@@ -88,3 +90,5 @@
 deleteBucketCORSResponse
     :: DeleteBucketCORSResponse
 deleteBucketCORSResponse = DeleteBucketCORSResponse'
+
+instance NFData DeleteBucketCORSResponse
diff --git a/gen/Network/AWS/S3/DeleteBucketLifecycle.hs b/gen/Network/AWS/S3/DeleteBucketLifecycle.hs
--- a/gen/Network/AWS/S3/DeleteBucketLifecycle.hs
+++ b/gen/Network/AWS/S3/DeleteBucketLifecycle.hs
@@ -69,6 +69,8 @@
 
 instance Hashable DeleteBucketLifecycle
 
+instance NFData DeleteBucketLifecycle
+
 instance ToHeaders DeleteBucketLifecycle where
         toHeaders = const mempty
 
@@ -89,3 +91,5 @@
 deleteBucketLifecycleResponse
     :: DeleteBucketLifecycleResponse
 deleteBucketLifecycleResponse = DeleteBucketLifecycleResponse'
+
+instance NFData DeleteBucketLifecycleResponse
diff --git a/gen/Network/AWS/S3/DeleteBucketPolicy.hs b/gen/Network/AWS/S3/DeleteBucketPolicy.hs
--- a/gen/Network/AWS/S3/DeleteBucketPolicy.hs
+++ b/gen/Network/AWS/S3/DeleteBucketPolicy.hs
@@ -69,6 +69,8 @@
 
 instance Hashable DeleteBucketPolicy
 
+instance NFData DeleteBucketPolicy
+
 instance ToHeaders DeleteBucketPolicy where
         toHeaders = const mempty
 
@@ -89,3 +91,5 @@
 deleteBucketPolicyResponse
     :: DeleteBucketPolicyResponse
 deleteBucketPolicyResponse = DeleteBucketPolicyResponse'
+
+instance NFData DeleteBucketPolicyResponse
diff --git a/gen/Network/AWS/S3/DeleteBucketReplication.hs b/gen/Network/AWS/S3/DeleteBucketReplication.hs
--- a/gen/Network/AWS/S3/DeleteBucketReplication.hs
+++ b/gen/Network/AWS/S3/DeleteBucketReplication.hs
@@ -70,6 +70,8 @@
 
 instance Hashable DeleteBucketReplication
 
+instance NFData DeleteBucketReplication
+
 instance ToHeaders DeleteBucketReplication where
         toHeaders = const mempty
 
@@ -90,3 +92,5 @@
 deleteBucketReplicationResponse
     :: DeleteBucketReplicationResponse
 deleteBucketReplicationResponse = DeleteBucketReplicationResponse'
+
+instance NFData DeleteBucketReplicationResponse
diff --git a/gen/Network/AWS/S3/DeleteBucketTagging.hs b/gen/Network/AWS/S3/DeleteBucketTagging.hs
--- a/gen/Network/AWS/S3/DeleteBucketTagging.hs
+++ b/gen/Network/AWS/S3/DeleteBucketTagging.hs
@@ -69,6 +69,8 @@
 
 instance Hashable DeleteBucketTagging
 
+instance NFData DeleteBucketTagging
+
 instance ToHeaders DeleteBucketTagging where
         toHeaders = const mempty
 
@@ -89,3 +91,5 @@
 deleteBucketTaggingResponse
     :: DeleteBucketTaggingResponse
 deleteBucketTaggingResponse = DeleteBucketTaggingResponse'
+
+instance NFData DeleteBucketTaggingResponse
diff --git a/gen/Network/AWS/S3/DeleteBucketWebsite.hs b/gen/Network/AWS/S3/DeleteBucketWebsite.hs
--- a/gen/Network/AWS/S3/DeleteBucketWebsite.hs
+++ b/gen/Network/AWS/S3/DeleteBucketWebsite.hs
@@ -69,6 +69,8 @@
 
 instance Hashable DeleteBucketWebsite
 
+instance NFData DeleteBucketWebsite
+
 instance ToHeaders DeleteBucketWebsite where
         toHeaders = const mempty
 
@@ -89,3 +91,5 @@
 deleteBucketWebsiteResponse
     :: DeleteBucketWebsiteResponse
 deleteBucketWebsiteResponse = DeleteBucketWebsiteResponse'
+
+instance NFData DeleteBucketWebsiteResponse
diff --git a/gen/Network/AWS/S3/DeleteObject.hs b/gen/Network/AWS/S3/DeleteObject.hs
--- a/gen/Network/AWS/S3/DeleteObject.hs
+++ b/gen/Network/AWS/S3/DeleteObject.hs
@@ -120,6 +120,8 @@
 
 instance Hashable DeleteObject
 
+instance NFData DeleteObject
+
 instance ToHeaders DeleteObject where
         toHeaders DeleteObject'{..}
           = mconcat
@@ -181,3 +183,5 @@
 -- | The response status code.
 dorsResponseStatus :: Lens' DeleteObjectResponse Int
 dorsResponseStatus = lens _dorsResponseStatus (\ s a -> s{_dorsResponseStatus = a});
+
+instance NFData DeleteObjectResponse
diff --git a/gen/Network/AWS/S3/DeleteObjects.hs b/gen/Network/AWS/S3/DeleteObjects.hs
--- a/gen/Network/AWS/S3/DeleteObjects.hs
+++ b/gen/Network/AWS/S3/DeleteObjects.hs
@@ -110,6 +110,8 @@
 
 instance Hashable DeleteObjects
 
+instance NFData DeleteObjects
+
 instance ToElement DeleteObjects where
         toElement
           = mkElement
@@ -175,3 +177,5 @@
 -- | The response status code.
 drsResponseStatus :: Lens' DeleteObjectsResponse Int
 drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
+
+instance NFData DeleteObjectsResponse
diff --git a/gen/Network/AWS/S3/GetBucketACL.hs b/gen/Network/AWS/S3/GetBucketACL.hs
--- a/gen/Network/AWS/S3/GetBucketACL.hs
+++ b/gen/Network/AWS/S3/GetBucketACL.hs
@@ -79,6 +79,8 @@
 
 instance Hashable GetBucketACL
 
+instance NFData GetBucketACL
+
 instance ToHeaders GetBucketACL where
         toHeaders = const mempty
 
@@ -126,3 +128,5 @@
 -- | The response status code.
 gbarsResponseStatus :: Lens' GetBucketACLResponse Int
 gbarsResponseStatus = lens _gbarsResponseStatus (\ s a -> s{_gbarsResponseStatus = a});
+
+instance NFData GetBucketACLResponse
diff --git a/gen/Network/AWS/S3/GetBucketAccelerateConfiguration.hs b/gen/Network/AWS/S3/GetBucketAccelerateConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/S3/GetBucketAccelerateConfiguration.hs
@@ -0,0 +1,126 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.S3.GetBucketAccelerateConfiguration
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Returns the accelerate configuration of a bucket.
+module Network.AWS.S3.GetBucketAccelerateConfiguration
+    (
+    -- * Creating a Request
+      getBucketAccelerateConfiguration
+    , GetBucketAccelerateConfiguration
+    -- * Request Lenses
+    , gbacBucket
+
+    -- * Destructuring the Response
+    , getBucketAccelerateConfigurationResponse
+    , GetBucketAccelerateConfigurationResponse
+    -- * Response Lenses
+    , gbacrsStatus
+    , gbacrsResponseStatus
+    ) where
+
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+import           Network.AWS.S3.Types
+import           Network.AWS.S3.Types.Product
+
+-- | /See:/ 'getBucketAccelerateConfiguration' smart constructor.
+newtype GetBucketAccelerateConfiguration = GetBucketAccelerateConfiguration'
+    { _gbacBucket :: BucketName
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetBucketAccelerateConfiguration' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'gbacBucket'
+getBucketAccelerateConfiguration
+    :: BucketName -- ^ 'gbacBucket'
+    -> GetBucketAccelerateConfiguration
+getBucketAccelerateConfiguration pBucket_ =
+    GetBucketAccelerateConfiguration'
+    { _gbacBucket = pBucket_
+    }
+
+-- | Name of the bucket for which the accelerate configuration is retrieved.
+gbacBucket :: Lens' GetBucketAccelerateConfiguration BucketName
+gbacBucket = lens _gbacBucket (\ s a -> s{_gbacBucket = a});
+
+instance AWSRequest GetBucketAccelerateConfiguration
+         where
+        type Rs GetBucketAccelerateConfiguration =
+             GetBucketAccelerateConfigurationResponse
+        request = get s3
+        response
+          = receiveXML
+              (\ s h x ->
+                 GetBucketAccelerateConfigurationResponse' <$>
+                   (x .@? "Status") <*> (pure (fromEnum s)))
+
+instance Hashable GetBucketAccelerateConfiguration
+
+instance NFData GetBucketAccelerateConfiguration
+
+instance ToHeaders GetBucketAccelerateConfiguration
+         where
+        toHeaders = const mempty
+
+instance ToPath GetBucketAccelerateConfiguration
+         where
+        toPath GetBucketAccelerateConfiguration'{..}
+          = mconcat ["/", toBS _gbacBucket]
+
+instance ToQuery GetBucketAccelerateConfiguration
+         where
+        toQuery = const (mconcat ["accelerate"])
+
+-- | /See:/ 'getBucketAccelerateConfigurationResponse' smart constructor.
+data GetBucketAccelerateConfigurationResponse = GetBucketAccelerateConfigurationResponse'
+    { _gbacrsStatus         :: !(Maybe BucketAccelerateStatus)
+    , _gbacrsResponseStatus :: !Int
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'GetBucketAccelerateConfigurationResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'gbacrsStatus'
+--
+-- * 'gbacrsResponseStatus'
+getBucketAccelerateConfigurationResponse
+    :: Int -- ^ 'gbacrsResponseStatus'
+    -> GetBucketAccelerateConfigurationResponse
+getBucketAccelerateConfigurationResponse pResponseStatus_ =
+    GetBucketAccelerateConfigurationResponse'
+    { _gbacrsStatus = Nothing
+    , _gbacrsResponseStatus = pResponseStatus_
+    }
+
+-- | The accelerate configuration of the bucket.
+gbacrsStatus :: Lens' GetBucketAccelerateConfigurationResponse (Maybe BucketAccelerateStatus)
+gbacrsStatus = lens _gbacrsStatus (\ s a -> s{_gbacrsStatus = a});
+
+-- | The response status code.
+gbacrsResponseStatus :: Lens' GetBucketAccelerateConfigurationResponse Int
+gbacrsResponseStatus = lens _gbacrsResponseStatus (\ s a -> s{_gbacrsResponseStatus = a});
+
+instance NFData
+         GetBucketAccelerateConfigurationResponse
diff --git a/gen/Network/AWS/S3/GetBucketCORS.hs b/gen/Network/AWS/S3/GetBucketCORS.hs
--- a/gen/Network/AWS/S3/GetBucketCORS.hs
+++ b/gen/Network/AWS/S3/GetBucketCORS.hs
@@ -76,6 +76,8 @@
 
 instance Hashable GetBucketCORS
 
+instance NFData GetBucketCORS
+
 instance ToHeaders GetBucketCORS where
         toHeaders = const mempty
 
@@ -115,3 +117,5 @@
 -- | The response status code.
 gbcrsResponseStatus :: Lens' GetBucketCORSResponse Int
 gbcrsResponseStatus = lens _gbcrsResponseStatus (\ s a -> s{_gbcrsResponseStatus = a});
+
+instance NFData GetBucketCORSResponse
diff --git a/gen/Network/AWS/S3/GetBucketLifecycleConfiguration.hs b/gen/Network/AWS/S3/GetBucketLifecycleConfiguration.hs
--- a/gen/Network/AWS/S3/GetBucketLifecycleConfiguration.hs
+++ b/gen/Network/AWS/S3/GetBucketLifecycleConfiguration.hs
@@ -78,6 +78,8 @@
 
 instance Hashable GetBucketLifecycleConfiguration
 
+instance NFData GetBucketLifecycleConfiguration
+
 instance ToHeaders GetBucketLifecycleConfiguration
          where
         toHeaders = const mempty
@@ -119,3 +121,6 @@
 -- | The response status code.
 gblcrsResponseStatus :: Lens' GetBucketLifecycleConfigurationResponse Int
 gblcrsResponseStatus = lens _gblcrsResponseStatus (\ s a -> s{_gblcrsResponseStatus = a});
+
+instance NFData
+         GetBucketLifecycleConfigurationResponse
diff --git a/gen/Network/AWS/S3/GetBucketLocation.hs b/gen/Network/AWS/S3/GetBucketLocation.hs
--- a/gen/Network/AWS/S3/GetBucketLocation.hs
+++ b/gen/Network/AWS/S3/GetBucketLocation.hs
@@ -75,6 +75,8 @@
 
 instance Hashable GetBucketLocation
 
+instance NFData GetBucketLocation
+
 instance ToHeaders GetBucketLocation where
         toHeaders = const mempty
 
@@ -115,3 +117,5 @@
 -- | Undocumented member.
 grsLocationConstraint :: Lens' GetBucketLocationResponse LocationConstraint
 grsLocationConstraint = lens _grsLocationConstraint (\ s a -> s{_grsLocationConstraint = a});
+
+instance NFData GetBucketLocationResponse
diff --git a/gen/Network/AWS/S3/GetBucketLogging.hs b/gen/Network/AWS/S3/GetBucketLogging.hs
--- a/gen/Network/AWS/S3/GetBucketLogging.hs
+++ b/gen/Network/AWS/S3/GetBucketLogging.hs
@@ -76,6 +76,8 @@
 
 instance Hashable GetBucketLogging
 
+instance NFData GetBucketLogging
+
 instance ToHeaders GetBucketLogging where
         toHeaders = const mempty
 
@@ -115,3 +117,5 @@
 -- | The response status code.
 gblrsResponseStatus :: Lens' GetBucketLoggingResponse Int
 gblrsResponseStatus = lens _gblrsResponseStatus (\ s a -> s{_gblrsResponseStatus = a});
+
+instance NFData GetBucketLoggingResponse
diff --git a/gen/Network/AWS/S3/GetBucketNotificationConfiguration.hs b/gen/Network/AWS/S3/GetBucketNotificationConfiguration.hs
--- a/gen/Network/AWS/S3/GetBucketNotificationConfiguration.hs
+++ b/gen/Network/AWS/S3/GetBucketNotificationConfiguration.hs
@@ -74,6 +74,8 @@
 
 instance Hashable GetBucketNotificationConfiguration
 
+instance NFData GetBucketNotificationConfiguration
+
 instance ToHeaders GetBucketNotificationConfiguration
          where
         toHeaders = const mempty
diff --git a/gen/Network/AWS/S3/GetBucketPolicy.hs b/gen/Network/AWS/S3/GetBucketPolicy.hs
--- a/gen/Network/AWS/S3/GetBucketPolicy.hs
+++ b/gen/Network/AWS/S3/GetBucketPolicy.hs
@@ -75,6 +75,8 @@
 
 instance Hashable GetBucketPolicy
 
+instance NFData GetBucketPolicy
+
 instance ToHeaders GetBucketPolicy where
         toHeaders = const mempty
 
@@ -115,3 +117,5 @@
 -- | The bucket policy as a JSON document.
 gbprsPolicy :: Lens' GetBucketPolicyResponse (HashMap Text Value)
 gbprsPolicy = lens _gbprsPolicy (\ s a -> s{_gbprsPolicy = a});
+
+instance NFData GetBucketPolicyResponse
diff --git a/gen/Network/AWS/S3/GetBucketReplication.hs b/gen/Network/AWS/S3/GetBucketReplication.hs
--- a/gen/Network/AWS/S3/GetBucketReplication.hs
+++ b/gen/Network/AWS/S3/GetBucketReplication.hs
@@ -76,6 +76,8 @@
 
 instance Hashable GetBucketReplication
 
+instance NFData GetBucketReplication
+
 instance ToHeaders GetBucketReplication where
         toHeaders = const mempty
 
@@ -115,3 +117,5 @@
 -- | The response status code.
 gbrrsResponseStatus :: Lens' GetBucketReplicationResponse Int
 gbrrsResponseStatus = lens _gbrrsResponseStatus (\ s a -> s{_gbrrsResponseStatus = a});
+
+instance NFData GetBucketReplicationResponse
diff --git a/gen/Network/AWS/S3/GetBucketRequestPayment.hs b/gen/Network/AWS/S3/GetBucketRequestPayment.hs
--- a/gen/Network/AWS/S3/GetBucketRequestPayment.hs
+++ b/gen/Network/AWS/S3/GetBucketRequestPayment.hs
@@ -76,6 +76,8 @@
 
 instance Hashable GetBucketRequestPayment
 
+instance NFData GetBucketRequestPayment
+
 instance ToHeaders GetBucketRequestPayment where
         toHeaders = const mempty
 
@@ -115,3 +117,5 @@
 -- | The response status code.
 gbrprsResponseStatus :: Lens' GetBucketRequestPaymentResponse Int
 gbrprsResponseStatus = lens _gbrprsResponseStatus (\ s a -> s{_gbrprsResponseStatus = a});
+
+instance NFData GetBucketRequestPaymentResponse
diff --git a/gen/Network/AWS/S3/GetBucketTagging.hs b/gen/Network/AWS/S3/GetBucketTagging.hs
--- a/gen/Network/AWS/S3/GetBucketTagging.hs
+++ b/gen/Network/AWS/S3/GetBucketTagging.hs
@@ -76,6 +76,8 @@
 
 instance Hashable GetBucketTagging
 
+instance NFData GetBucketTagging
+
 instance ToHeaders GetBucketTagging where
         toHeaders = const mempty
 
@@ -115,3 +117,5 @@
 -- | Undocumented member.
 gbtrsTagSet :: Lens' GetBucketTaggingResponse [Tag]
 gbtrsTagSet = lens _gbtrsTagSet (\ s a -> s{_gbtrsTagSet = a}) . _Coerce;
+
+instance NFData GetBucketTaggingResponse
diff --git a/gen/Network/AWS/S3/GetBucketVersioning.hs b/gen/Network/AWS/S3/GetBucketVersioning.hs
--- a/gen/Network/AWS/S3/GetBucketVersioning.hs
+++ b/gen/Network/AWS/S3/GetBucketVersioning.hs
@@ -78,6 +78,8 @@
 
 instance Hashable GetBucketVersioning
 
+instance NFData GetBucketVersioning
+
 instance ToHeaders GetBucketVersioning where
         toHeaders = const mempty
 
@@ -128,3 +130,5 @@
 -- | The response status code.
 gbvrsResponseStatus :: Lens' GetBucketVersioningResponse Int
 gbvrsResponseStatus = lens _gbvrsResponseStatus (\ s a -> s{_gbvrsResponseStatus = a});
+
+instance NFData GetBucketVersioningResponse
diff --git a/gen/Network/AWS/S3/GetBucketWebsite.hs b/gen/Network/AWS/S3/GetBucketWebsite.hs
--- a/gen/Network/AWS/S3/GetBucketWebsite.hs
+++ b/gen/Network/AWS/S3/GetBucketWebsite.hs
@@ -84,6 +84,8 @@
 
 instance Hashable GetBucketWebsite
 
+instance NFData GetBucketWebsite
+
 instance ToHeaders GetBucketWebsite where
         toHeaders = const mempty
 
@@ -147,3 +149,5 @@
 -- | The response status code.
 gbwrsResponseStatus :: Lens' GetBucketWebsiteResponse Int
 gbwrsResponseStatus = lens _gbwrsResponseStatus (\ s a -> s{_gbwrsResponseStatus = a});
+
+instance NFData GetBucketWebsiteResponse
diff --git a/gen/Network/AWS/S3/GetObject.hs b/gen/Network/AWS/S3/GetObject.hs
--- a/gen/Network/AWS/S3/GetObject.hs
+++ b/gen/Network/AWS/S3/GetObject.hs
@@ -297,6 +297,8 @@
 
 instance Hashable GetObject
 
+instance NFData GetObject
+
 instance ToHeaders GetObject where
         toHeaders GetObject'{..}
           = mconcat
diff --git a/gen/Network/AWS/S3/GetObjectACL.hs b/gen/Network/AWS/S3/GetObjectACL.hs
--- a/gen/Network/AWS/S3/GetObjectACL.hs
+++ b/gen/Network/AWS/S3/GetObjectACL.hs
@@ -109,6 +109,8 @@
 
 instance Hashable GetObjectACL
 
+instance NFData GetObjectACL
+
 instance ToHeaders GetObjectACL where
         toHeaders GetObjectACL'{..}
           = mconcat ["x-amz-request-payer" =# _goaRequestPayer]
@@ -166,3 +168,5 @@
 -- | The response status code.
 goarsResponseStatus :: Lens' GetObjectACLResponse Int
 goarsResponseStatus = lens _goarsResponseStatus (\ s a -> s{_goarsResponseStatus = a});
+
+instance NFData GetObjectACLResponse
diff --git a/gen/Network/AWS/S3/GetObjectTorrent.hs b/gen/Network/AWS/S3/GetObjectTorrent.hs
--- a/gen/Network/AWS/S3/GetObjectTorrent.hs
+++ b/gen/Network/AWS/S3/GetObjectTorrent.hs
@@ -97,6 +97,8 @@
 
 instance Hashable GetObjectTorrent
 
+instance NFData GetObjectTorrent
+
 instance ToHeaders GetObjectTorrent where
         toHeaders GetObjectTorrent'{..}
           = mconcat ["x-amz-request-payer" =# _gotRequestPayer]
diff --git a/gen/Network/AWS/S3/HeadBucket.hs b/gen/Network/AWS/S3/HeadBucket.hs
--- a/gen/Network/AWS/S3/HeadBucket.hs
+++ b/gen/Network/AWS/S3/HeadBucket.hs
@@ -69,6 +69,8 @@
 
 instance Hashable HeadBucket
 
+instance NFData HeadBucket
+
 instance ToHeaders HeadBucket where
         toHeaders = const mempty
 
@@ -89,3 +91,5 @@
 headBucketResponse
     :: HeadBucketResponse
 headBucketResponse = HeadBucketResponse'
+
+instance NFData HeadBucketResponse
diff --git a/gen/Network/AWS/S3/HeadObject.hs b/gen/Network/AWS/S3/HeadObject.hs
--- a/gen/Network/AWS/S3/HeadObject.hs
+++ b/gen/Network/AWS/S3/HeadObject.hs
@@ -242,6 +242,8 @@
 
 instance Hashable HeadObject
 
+instance NFData HeadObject
+
 instance ToHeaders HeadObject where
         toHeaders HeadObject'{..}
           = mconcat
@@ -500,3 +502,5 @@
 -- | The response status code.
 horsResponseStatus :: Lens' HeadObjectResponse Int
 horsResponseStatus = lens _horsResponseStatus (\ s a -> s{_horsResponseStatus = a});
+
+instance NFData HeadObjectResponse
diff --git a/gen/Network/AWS/S3/ListBuckets.hs b/gen/Network/AWS/S3/ListBuckets.hs
--- a/gen/Network/AWS/S3/ListBuckets.hs
+++ b/gen/Network/AWS/S3/ListBuckets.hs
@@ -67,6 +67,8 @@
 
 instance Hashable ListBuckets
 
+instance NFData ListBuckets
+
 instance ToHeaders ListBuckets where
         toHeaders = const mempty
 
@@ -113,3 +115,5 @@
 -- | The response status code.
 lbrsResponseStatus :: Lens' ListBucketsResponse Int
 lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a});
+
+instance NFData ListBucketsResponse
diff --git a/gen/Network/AWS/S3/ListMultipartUploads.hs b/gen/Network/AWS/S3/ListMultipartUploads.hs
--- a/gen/Network/AWS/S3/ListMultipartUploads.hs
+++ b/gen/Network/AWS/S3/ListMultipartUploads.hs
@@ -171,6 +171,8 @@
 
 instance Hashable ListMultipartUploads
 
+instance NFData ListMultipartUploads
+
 instance ToHeaders ListMultipartUploads where
         toHeaders = const mempty
 
@@ -314,3 +316,5 @@
 -- | The response status code.
 lmursResponseStatus :: Lens' ListMultipartUploadsResponse Int
 lmursResponseStatus = lens _lmursResponseStatus (\ s a -> s{_lmursResponseStatus = a});
+
+instance NFData ListMultipartUploadsResponse
diff --git a/gen/Network/AWS/S3/ListObjectVersions.hs b/gen/Network/AWS/S3/ListObjectVersions.hs
--- a/gen/Network/AWS/S3/ListObjectVersions.hs
+++ b/gen/Network/AWS/S3/ListObjectVersions.hs
@@ -169,6 +169,8 @@
 
 instance Hashable ListObjectVersions
 
+instance NFData ListObjectVersions
+
 instance ToHeaders ListObjectVersions where
         toHeaders = const mempty
 
@@ -317,3 +319,5 @@
 -- | The response status code.
 lovrsResponseStatus :: Lens' ListObjectVersionsResponse Int
 lovrsResponseStatus = lens _lovrsResponseStatus (\ s a -> s{_lovrsResponseStatus = a});
+
+instance NFData ListObjectVersionsResponse
diff --git a/gen/Network/AWS/S3/ListObjects.hs b/gen/Network/AWS/S3/ListObjects.hs
--- a/gen/Network/AWS/S3/ListObjects.hs
+++ b/gen/Network/AWS/S3/ListObjects.hs
@@ -160,6 +160,8 @@
 
 instance Hashable ListObjects
 
+instance NFData ListObjects
+
 instance ToHeaders ListObjects where
         toHeaders = const mempty
 
@@ -284,3 +286,5 @@
 -- | The response status code.
 lorsResponseStatus :: Lens' ListObjectsResponse Int
 lorsResponseStatus = lens _lorsResponseStatus (\ s a -> s{_lorsResponseStatus = a});
+
+instance NFData ListObjectsResponse
diff --git a/gen/Network/AWS/S3/ListParts.hs b/gen/Network/AWS/S3/ListParts.hs
--- a/gen/Network/AWS/S3/ListParts.hs
+++ b/gen/Network/AWS/S3/ListParts.hs
@@ -162,6 +162,8 @@
 
 instance Hashable ListParts
 
+instance NFData ListParts
+
 instance ToHeaders ListParts where
         toHeaders ListParts'{..}
           = mconcat ["x-amz-request-payer" =# _lpRequestPayer]
@@ -314,3 +316,5 @@
 -- | The response status code.
 lprsResponseStatus :: Lens' ListPartsResponse Int
 lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a});
+
+instance NFData ListPartsResponse
diff --git a/gen/Network/AWS/S3/PutBucketACL.hs b/gen/Network/AWS/S3/PutBucketACL.hs
--- a/gen/Network/AWS/S3/PutBucketACL.hs
+++ b/gen/Network/AWS/S3/PutBucketACL.hs
@@ -142,6 +142,8 @@
 
 instance Hashable PutBucketACL
 
+instance NFData PutBucketACL
+
 instance ToElement PutBucketACL where
         toElement
           = mkElement
@@ -177,3 +179,5 @@
 putBucketACLResponse
     :: PutBucketACLResponse
 putBucketACLResponse = PutBucketACLResponse'
+
+instance NFData PutBucketACLResponse
diff --git a/gen/Network/AWS/S3/PutBucketAccelerateConfiguration.hs b/gen/Network/AWS/S3/PutBucketAccelerateConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/S3/PutBucketAccelerateConfiguration.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.S3.PutBucketAccelerateConfiguration
+-- Copyright   : (c) 2013-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Sets the accelerate configuration of an existing bucket.
+module Network.AWS.S3.PutBucketAccelerateConfiguration
+    (
+    -- * Creating a Request
+      putBucketAccelerateConfiguration
+    , PutBucketAccelerateConfiguration
+    -- * Request Lenses
+    , pbacBucket
+    , pbacAccelerateConfiguration
+
+    -- * Destructuring the Response
+    , putBucketAccelerateConfigurationResponse
+    , PutBucketAccelerateConfigurationResponse
+    ) where
+
+import           Network.AWS.Lens
+import           Network.AWS.Prelude
+import           Network.AWS.Request
+import           Network.AWS.Response
+import           Network.AWS.S3.Types
+import           Network.AWS.S3.Types.Product
+
+-- | /See:/ 'putBucketAccelerateConfiguration' smart constructor.
+data PutBucketAccelerateConfiguration = PutBucketAccelerateConfiguration'
+    { _pbacBucket                  :: !BucketName
+    , _pbacAccelerateConfiguration :: !AccelerateConfiguration
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'PutBucketAccelerateConfiguration' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'pbacBucket'
+--
+-- * 'pbacAccelerateConfiguration'
+putBucketAccelerateConfiguration
+    :: BucketName -- ^ 'pbacBucket'
+    -> AccelerateConfiguration -- ^ 'pbacAccelerateConfiguration'
+    -> PutBucketAccelerateConfiguration
+putBucketAccelerateConfiguration pBucket_ pAccelerateConfiguration_ =
+    PutBucketAccelerateConfiguration'
+    { _pbacBucket = pBucket_
+    , _pbacAccelerateConfiguration = pAccelerateConfiguration_
+    }
+
+-- | Name of the bucket for which the accelerate configuration is set.
+pbacBucket :: Lens' PutBucketAccelerateConfiguration BucketName
+pbacBucket = lens _pbacBucket (\ s a -> s{_pbacBucket = a});
+
+-- | Specifies the Accelerate Configuration you want to set for the bucket.
+pbacAccelerateConfiguration :: Lens' PutBucketAccelerateConfiguration AccelerateConfiguration
+pbacAccelerateConfiguration = lens _pbacAccelerateConfiguration (\ s a -> s{_pbacAccelerateConfiguration = a});
+
+instance AWSRequest PutBucketAccelerateConfiguration
+         where
+        type Rs PutBucketAccelerateConfiguration =
+             PutBucketAccelerateConfigurationResponse
+        request = putXML s3
+        response
+          = receiveNull
+              PutBucketAccelerateConfigurationResponse'
+
+instance Hashable PutBucketAccelerateConfiguration
+
+instance NFData PutBucketAccelerateConfiguration
+
+instance ToElement PutBucketAccelerateConfiguration
+         where
+        toElement
+          = mkElement
+              "{http://s3.amazonaws.com/doc/2006-03-01/}AccelerateConfiguration"
+              .
+              _pbacAccelerateConfiguration
+
+instance ToHeaders PutBucketAccelerateConfiguration
+         where
+        toHeaders = const mempty
+
+instance ToPath PutBucketAccelerateConfiguration
+         where
+        toPath PutBucketAccelerateConfiguration'{..}
+          = mconcat ["/", toBS _pbacBucket]
+
+instance ToQuery PutBucketAccelerateConfiguration
+         where
+        toQuery = const (mconcat ["accelerate"])
+
+-- | /See:/ 'putBucketAccelerateConfigurationResponse' smart constructor.
+data PutBucketAccelerateConfigurationResponse =
+    PutBucketAccelerateConfigurationResponse'
+    deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'PutBucketAccelerateConfigurationResponse' with the minimum fields required to make a request.
+--
+putBucketAccelerateConfigurationResponse
+    :: PutBucketAccelerateConfigurationResponse
+putBucketAccelerateConfigurationResponse =
+    PutBucketAccelerateConfigurationResponse'
+
+instance NFData
+         PutBucketAccelerateConfigurationResponse
diff --git a/gen/Network/AWS/S3/PutBucketCORS.hs b/gen/Network/AWS/S3/PutBucketCORS.hs
--- a/gen/Network/AWS/S3/PutBucketCORS.hs
+++ b/gen/Network/AWS/S3/PutBucketCORS.hs
@@ -87,6 +87,8 @@
 
 instance Hashable PutBucketCORS
 
+instance NFData PutBucketCORS
+
 instance ToElement PutBucketCORS where
         toElement
           = mkElement
@@ -115,3 +117,5 @@
 putBucketCORSResponse
     :: PutBucketCORSResponse
 putBucketCORSResponse = PutBucketCORSResponse'
+
+instance NFData PutBucketCORSResponse
diff --git a/gen/Network/AWS/S3/PutBucketLifecycleConfiguration.hs b/gen/Network/AWS/S3/PutBucketLifecycleConfiguration.hs
--- a/gen/Network/AWS/S3/PutBucketLifecycleConfiguration.hs
+++ b/gen/Network/AWS/S3/PutBucketLifecycleConfiguration.hs
@@ -82,6 +82,8 @@
 
 instance Hashable PutBucketLifecycleConfiguration
 
+instance NFData PutBucketLifecycleConfiguration
+
 instance ToElement PutBucketLifecycleConfiguration
          where
         toElement
@@ -113,3 +115,6 @@
     :: PutBucketLifecycleConfigurationResponse
 putBucketLifecycleConfigurationResponse =
     PutBucketLifecycleConfigurationResponse'
+
+instance NFData
+         PutBucketLifecycleConfigurationResponse
diff --git a/gen/Network/AWS/S3/PutBucketLogging.hs b/gen/Network/AWS/S3/PutBucketLogging.hs
--- a/gen/Network/AWS/S3/PutBucketLogging.hs
+++ b/gen/Network/AWS/S3/PutBucketLogging.hs
@@ -89,6 +89,8 @@
 
 instance Hashable PutBucketLogging
 
+instance NFData PutBucketLogging
+
 instance ToElement PutBucketLogging where
         toElement
           = mkElement
@@ -117,3 +119,5 @@
 putBucketLoggingResponse
     :: PutBucketLoggingResponse
 putBucketLoggingResponse = PutBucketLoggingResponse'
+
+instance NFData PutBucketLoggingResponse
diff --git a/gen/Network/AWS/S3/PutBucketNotificationConfiguration.hs b/gen/Network/AWS/S3/PutBucketNotificationConfiguration.hs
--- a/gen/Network/AWS/S3/PutBucketNotificationConfiguration.hs
+++ b/gen/Network/AWS/S3/PutBucketNotificationConfiguration.hs
@@ -82,6 +82,8 @@
 
 instance Hashable PutBucketNotificationConfiguration
 
+instance NFData PutBucketNotificationConfiguration
+
 instance ToElement PutBucketNotificationConfiguration
          where
         toElement
@@ -114,3 +116,6 @@
     :: PutBucketNotificationConfigurationResponse
 putBucketNotificationConfigurationResponse =
     PutBucketNotificationConfigurationResponse'
+
+instance NFData
+         PutBucketNotificationConfigurationResponse
diff --git a/gen/Network/AWS/S3/PutBucketPolicy.hs b/gen/Network/AWS/S3/PutBucketPolicy.hs
--- a/gen/Network/AWS/S3/PutBucketPolicy.hs
+++ b/gen/Network/AWS/S3/PutBucketPolicy.hs
@@ -88,6 +88,8 @@
 
 instance Hashable PutBucketPolicy
 
+instance NFData PutBucketPolicy
+
 instance ToBody PutBucketPolicy where
         toBody = toBody . _pbpPolicy
 
@@ -112,3 +114,5 @@
 putBucketPolicyResponse
     :: PutBucketPolicyResponse
 putBucketPolicyResponse = PutBucketPolicyResponse'
+
+instance NFData PutBucketPolicyResponse
diff --git a/gen/Network/AWS/S3/PutBucketReplication.hs b/gen/Network/AWS/S3/PutBucketReplication.hs
--- a/gen/Network/AWS/S3/PutBucketReplication.hs
+++ b/gen/Network/AWS/S3/PutBucketReplication.hs
@@ -89,6 +89,8 @@
 
 instance Hashable PutBucketReplication
 
+instance NFData PutBucketReplication
+
 instance ToElement PutBucketReplication where
         toElement
           = mkElement
@@ -117,3 +119,5 @@
 putBucketReplicationResponse
     :: PutBucketReplicationResponse
 putBucketReplicationResponse = PutBucketReplicationResponse'
+
+instance NFData PutBucketReplicationResponse
diff --git a/gen/Network/AWS/S3/PutBucketRequestPayment.hs b/gen/Network/AWS/S3/PutBucketRequestPayment.hs
--- a/gen/Network/AWS/S3/PutBucketRequestPayment.hs
+++ b/gen/Network/AWS/S3/PutBucketRequestPayment.hs
@@ -94,6 +94,8 @@
 
 instance Hashable PutBucketRequestPayment
 
+instance NFData PutBucketRequestPayment
+
 instance ToElement PutBucketRequestPayment where
         toElement
           = mkElement
@@ -122,3 +124,5 @@
 putBucketRequestPaymentResponse
     :: PutBucketRequestPaymentResponse
 putBucketRequestPaymentResponse = PutBucketRequestPaymentResponse'
+
+instance NFData PutBucketRequestPaymentResponse
diff --git a/gen/Network/AWS/S3/PutBucketTagging.hs b/gen/Network/AWS/S3/PutBucketTagging.hs
--- a/gen/Network/AWS/S3/PutBucketTagging.hs
+++ b/gen/Network/AWS/S3/PutBucketTagging.hs
@@ -87,6 +87,8 @@
 
 instance Hashable PutBucketTagging
 
+instance NFData PutBucketTagging
+
 instance ToElement PutBucketTagging where
         toElement
           = mkElement
@@ -115,3 +117,5 @@
 putBucketTaggingResponse
     :: PutBucketTaggingResponse
 putBucketTaggingResponse = PutBucketTaggingResponse'
+
+instance NFData PutBucketTaggingResponse
diff --git a/gen/Network/AWS/S3/PutBucketVersioning.hs b/gen/Network/AWS/S3/PutBucketVersioning.hs
--- a/gen/Network/AWS/S3/PutBucketVersioning.hs
+++ b/gen/Network/AWS/S3/PutBucketVersioning.hs
@@ -99,6 +99,8 @@
 
 instance Hashable PutBucketVersioning
 
+instance NFData PutBucketVersioning
+
 instance ToElement PutBucketVersioning where
         toElement
           = mkElement
@@ -129,3 +131,5 @@
 putBucketVersioningResponse
     :: PutBucketVersioningResponse
 putBucketVersioningResponse = PutBucketVersioningResponse'
+
+instance NFData PutBucketVersioningResponse
diff --git a/gen/Network/AWS/S3/PutBucketWebsite.hs b/gen/Network/AWS/S3/PutBucketWebsite.hs
--- a/gen/Network/AWS/S3/PutBucketWebsite.hs
+++ b/gen/Network/AWS/S3/PutBucketWebsite.hs
@@ -87,6 +87,8 @@
 
 instance Hashable PutBucketWebsite
 
+instance NFData PutBucketWebsite
+
 instance ToElement PutBucketWebsite where
         toElement
           = mkElement
@@ -115,3 +117,5 @@
 putBucketWebsiteResponse
     :: PutBucketWebsiteResponse
 putBucketWebsiteResponse = PutBucketWebsiteResponse'
+
+instance NFData PutBucketWebsiteResponse
diff --git a/gen/Network/AWS/S3/PutObject.hs b/gen/Network/AWS/S3/PutObject.hs
--- a/gen/Network/AWS/S3/PutObject.hs
+++ b/gen/Network/AWS/S3/PutObject.hs
@@ -463,3 +463,5 @@
 -- | The response status code.
 porsResponseStatus :: Lens' PutObjectResponse Int
 porsResponseStatus = lens _porsResponseStatus (\ s a -> s{_porsResponseStatus = a});
+
+instance NFData PutObjectResponse
diff --git a/gen/Network/AWS/S3/PutObjectACL.hs b/gen/Network/AWS/S3/PutObjectACL.hs
--- a/gen/Network/AWS/S3/PutObjectACL.hs
+++ b/gen/Network/AWS/S3/PutObjectACL.hs
@@ -26,6 +26,7 @@
       putObjectACL
     , PutObjectACL
     -- * Request Lenses
+    , poaVersionId
     , poaGrantReadACP
     , poaRequestPayer
     , poaGrantWriteACP
@@ -55,7 +56,8 @@
 
 -- | /See:/ 'putObjectACL' smart constructor.
 data PutObjectACL = PutObjectACL'
-    { _poaGrantReadACP        :: !(Maybe Text)
+    { _poaVersionId           :: !(Maybe ObjectVersionId)
+    , _poaGrantReadACP        :: !(Maybe Text)
     , _poaRequestPayer        :: !(Maybe RequestPayer)
     , _poaGrantWriteACP       :: !(Maybe Text)
     , _poaGrantRead           :: !(Maybe Text)
@@ -72,6 +74,8 @@
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
+-- * 'poaVersionId'
+--
 -- * 'poaGrantReadACP'
 --
 -- * 'poaRequestPayer'
@@ -99,7 +103,8 @@
     -> PutObjectACL
 putObjectACL pBucket_ pKey_ =
     PutObjectACL'
-    { _poaGrantReadACP = Nothing
+    { _poaVersionId = Nothing
+    , _poaGrantReadACP = Nothing
     , _poaRequestPayer = Nothing
     , _poaGrantWriteACP = Nothing
     , _poaGrantRead = Nothing
@@ -112,6 +117,10 @@
     , _poaKey = pKey_
     }
 
+-- | VersionId used to reference a specific version of the object.
+poaVersionId :: Lens' PutObjectACL (Maybe ObjectVersionId)
+poaVersionId = lens _poaVersionId (\ s a -> s{_poaVersionId = a});
+
 -- | Allows grantee to read the bucket ACL.
 poaGrantReadACP :: Lens' PutObjectACL (Maybe Text)
 poaGrantReadACP = lens _poaGrantReadACP (\ s a -> s{_poaGrantReadACP = a});
@@ -170,6 +179,8 @@
 
 instance Hashable PutObjectACL
 
+instance NFData PutObjectACL
+
 instance ToElement PutObjectACL where
         toElement
           = mkElement
@@ -194,7 +205,8 @@
           = mconcat ["/", toBS _poaBucket, "/", toBS _poaKey]
 
 instance ToQuery PutObjectACL where
-        toQuery = const (mconcat ["acl"])
+        toQuery PutObjectACL'{..}
+          = mconcat ["versionId" =: _poaVersionId, "acl"]
 
 -- | /See:/ 'putObjectACLResponse' smart constructor.
 data PutObjectACLResponse = PutObjectACLResponse'
@@ -225,3 +237,5 @@
 -- | The response status code.
 poarsResponseStatus :: Lens' PutObjectACLResponse Int
 poarsResponseStatus = lens _poarsResponseStatus (\ s a -> s{_poarsResponseStatus = a});
+
+instance NFData PutObjectACLResponse
diff --git a/gen/Network/AWS/S3/RestoreObject.hs b/gen/Network/AWS/S3/RestoreObject.hs
--- a/gen/Network/AWS/S3/RestoreObject.hs
+++ b/gen/Network/AWS/S3/RestoreObject.hs
@@ -113,6 +113,8 @@
 
 instance Hashable RestoreObject
 
+instance NFData RestoreObject
+
 instance ToElement RestoreObject where
         toElement
           = mkElement
@@ -161,3 +163,5 @@
 -- | The response status code.
 rorsResponseStatus :: Lens' RestoreObjectResponse Int
 rorsResponseStatus = lens _rorsResponseStatus (\ s a -> s{_rorsResponseStatus = a});
+
+instance NFData RestoreObjectResponse
diff --git a/gen/Network/AWS/S3/Types.hs b/gen/Network/AWS/S3/Types.hs
--- a/gen/Network/AWS/S3/Types.hs
+++ b/gen/Network/AWS/S3/Types.hs
@@ -27,6 +27,9 @@
     -- * Re-exported Types
     , module Network.AWS.S3.Internal
 
+    -- * BucketAccelerateStatus
+    , BucketAccelerateStatus (..)
+
     -- * BucketCannedACL
     , BucketCannedACL (..)
 
@@ -104,6 +107,11 @@
     , abortIncompleteMultipartUpload
     , aimuDaysAfterInitiation
 
+    -- * AccelerateConfiguration
+    , AccelerateConfiguration
+    , accelerateConfiguration
+    , acStatus
+
     -- * AccessControlPolicy
     , AccessControlPolicy
     , accessControlPolicy
@@ -501,7 +509,9 @@
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 504) e = Just "gateway_timeout"
       | has (hasCode "BadDigest" . hasStatus 400) e = Just "contentmd5"
+      | has (hasStatus 502) e = Just "bad_gateway"
       | has (hasStatus 503) e = Just "service_unavailable"
       | has (hasCode "RequestTimeout" . hasStatus 400) e = Just "timeouts"
       | has (hasStatus 500) e = Just "general_server_error"
diff --git a/gen/Network/AWS/S3/Types/Product.hs b/gen/Network/AWS/S3/Types/Product.hs
--- a/gen/Network/AWS/S3/Types/Product.hs
+++ b/gen/Network/AWS/S3/Types/Product.hs
@@ -55,11 +55,42 @@
 
 instance Hashable AbortIncompleteMultipartUpload
 
+instance NFData AbortIncompleteMultipartUpload
+
 instance ToXML AbortIncompleteMultipartUpload where
         toXML AbortIncompleteMultipartUpload'{..}
           = mconcat
               ["DaysAfterInitiation" @= _aimuDaysAfterInitiation]
 
+-- | /See:/ 'accelerateConfiguration' smart constructor.
+newtype AccelerateConfiguration = AccelerateConfiguration'
+    { _acStatus :: Maybe BucketAccelerateStatus
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'AccelerateConfiguration' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'acStatus'
+accelerateConfiguration
+    :: AccelerateConfiguration
+accelerateConfiguration =
+    AccelerateConfiguration'
+    { _acStatus = Nothing
+    }
+
+-- | The accelerate configuration of the bucket.
+acStatus :: Lens' AccelerateConfiguration (Maybe BucketAccelerateStatus)
+acStatus = lens _acStatus (\ s a -> s{_acStatus = a});
+
+instance Hashable AccelerateConfiguration
+
+instance NFData AccelerateConfiguration
+
+instance ToXML AccelerateConfiguration where
+        toXML AccelerateConfiguration'{..}
+          = mconcat ["Status" @= _acStatus]
+
 -- | /See:/ 'accessControlPolicy' smart constructor.
 data AccessControlPolicy = AccessControlPolicy'
     { _acpGrants :: !(Maybe [Grant])
@@ -91,6 +122,8 @@
 
 instance Hashable AccessControlPolicy
 
+instance NFData AccessControlPolicy
+
 instance ToXML AccessControlPolicy where
         toXML AccessControlPolicy'{..}
           = mconcat
@@ -135,6 +168,8 @@
 
 instance Hashable Bucket
 
+instance NFData Bucket
+
 -- | /See:/ 'bucketLifecycleConfiguration' smart constructor.
 newtype BucketLifecycleConfiguration = BucketLifecycleConfiguration'
     { _blcRules :: [LifecycleRule]
@@ -158,6 +193,8 @@
 
 instance Hashable BucketLifecycleConfiguration
 
+instance NFData BucketLifecycleConfiguration
+
 instance ToXML BucketLifecycleConfiguration where
         toXML BucketLifecycleConfiguration'{..}
           = mconcat [toXMLList "Rule" _blcRules]
@@ -185,6 +222,8 @@
 
 instance Hashable BucketLoggingStatus
 
+instance NFData BucketLoggingStatus
+
 instance ToXML BucketLoggingStatus where
         toXML BucketLoggingStatus'{..}
           = mconcat ["LoggingEnabled" @= _blsLoggingEnabled]
@@ -212,6 +251,8 @@
 
 instance Hashable CORSConfiguration
 
+instance NFData CORSConfiguration
+
 instance ToXML CORSConfiguration where
         toXML CORSConfiguration'{..}
           = mconcat [toXMLList "CORSRule" _ccCORSRules]
@@ -285,6 +326,8 @@
 
 instance Hashable CORSRule
 
+instance NFData CORSRule
+
 instance ToXML CORSRule where
         toXML CORSRule'{..}
           = mconcat
@@ -322,6 +365,8 @@
 
 instance Hashable CommonPrefix
 
+instance NFData CommonPrefix
+
 -- | /See:/ 'completedMultipartUpload' smart constructor.
 newtype CompletedMultipartUpload = CompletedMultipartUpload'
     { _cmuParts :: Maybe (List1 CompletedPart)
@@ -345,6 +390,8 @@
 
 instance Hashable CompletedMultipartUpload
 
+instance NFData CompletedMultipartUpload
+
 instance ToXML CompletedMultipartUpload where
         toXML CompletedMultipartUpload'{..}
           = mconcat [toXML (toXMLList "Part" <$> _cmuParts)]
@@ -383,6 +430,8 @@
 
 instance Hashable CompletedPart
 
+instance NFData CompletedPart
+
 instance ToXML CompletedPart where
         toXML CompletedPart'{..}
           = mconcat
@@ -436,6 +485,8 @@
 
 instance Hashable Condition
 
+instance NFData Condition
+
 instance ToXML Condition where
         toXML Condition'{..}
           = mconcat
@@ -479,6 +530,8 @@
 
 instance Hashable CopyObjectResult
 
+instance NFData CopyObjectResult
+
 -- | /See:/ 'copyPartResult' smart constructor.
 data CopyPartResult = CopyPartResult'
     { _cprETag         :: !(Maybe ETag)
@@ -515,6 +568,8 @@
 
 instance Hashable CopyPartResult
 
+instance NFData CopyPartResult
+
 -- | /See:/ 'createBucketConfiguration' smart constructor.
 newtype CreateBucketConfiguration = CreateBucketConfiguration'
     { _cbcLocationConstraint :: Maybe LocationConstraint
@@ -539,6 +594,8 @@
 
 instance Hashable CreateBucketConfiguration
 
+instance NFData CreateBucketConfiguration
+
 instance ToXML CreateBucketConfiguration where
         toXML CreateBucketConfiguration'{..}
           = mconcat
@@ -576,6 +633,8 @@
 
 instance Hashable Delete
 
+instance NFData Delete
+
 instance ToXML Delete where
         toXML Delete'{..}
           = mconcat
@@ -645,6 +704,8 @@
 
 instance Hashable DeleteMarkerEntry
 
+instance NFData DeleteMarkerEntry
+
 -- | /See:/ 'deletedObject' smart constructor.
 data DeletedObject = DeletedObject'
     { _dVersionId             :: !(Maybe ObjectVersionId)
@@ -699,6 +760,8 @@
 
 instance Hashable DeletedObject
 
+instance NFData DeletedObject
+
 -- | /See:/ 'destination' smart constructor.
 data Destination = Destination'
     { _dStorageClass :: !(Maybe StorageClass)
@@ -737,6 +800,8 @@
 
 instance Hashable Destination
 
+instance NFData Destination
+
 instance ToXML Destination where
         toXML Destination'{..}
           = mconcat
@@ -770,6 +835,8 @@
 
 instance Hashable ErrorDocument
 
+instance NFData ErrorDocument
+
 instance ToXML ErrorDocument where
         toXML ErrorDocument'{..} = mconcat ["Key" @= _edKey]
 
@@ -816,6 +883,8 @@
 
 instance Hashable FilterRule
 
+instance NFData FilterRule
+
 instance ToXML FilterRule where
         toXML FilterRule'{..}
           = mconcat ["Value" @= _frValue, "Name" @= _frName]
@@ -856,6 +925,8 @@
 
 instance Hashable Grant
 
+instance NFData Grant
+
 instance ToXML Grant where
         toXML Grant'{..}
           = mconcat
@@ -926,6 +997,8 @@
 
 instance Hashable Grantee
 
+instance NFData Grantee
+
 instance ToXML Grantee where
         toXML Grantee'{..}
           = mconcat
@@ -964,6 +1037,8 @@
 
 instance Hashable IndexDocument
 
+instance NFData IndexDocument
+
 instance ToXML IndexDocument where
         toXML IndexDocument'{..}
           = mconcat ["Suffix" @= _idSuffix]
@@ -1005,6 +1080,8 @@
 
 instance Hashable Initiator
 
+instance NFData Initiator
+
 -- | Container for specifying the AWS Lambda notification configuration.
 --
 -- /See:/ 'lambdaFunctionConfiguration' smart constructor.
@@ -1063,6 +1140,8 @@
 
 instance Hashable LambdaFunctionConfiguration
 
+instance NFData LambdaFunctionConfiguration
+
 instance ToXML LambdaFunctionConfiguration where
         toXML LambdaFunctionConfiguration'{..}
           = mconcat
@@ -1120,6 +1199,8 @@
 
 instance Hashable LifecycleExpiration
 
+instance NFData LifecycleExpiration
+
 instance ToXML LifecycleExpiration where
         toXML LifecycleExpiration'{..}
           = mconcat
@@ -1223,6 +1304,8 @@
 
 instance Hashable LifecycleRule
 
+instance NFData LifecycleRule
+
 instance ToXML LifecycleRule where
         toXML LifecycleRule'{..}
           = mconcat
@@ -1290,6 +1373,8 @@
 
 instance Hashable LoggingEnabled
 
+instance NFData LoggingEnabled
+
 instance ToXML LoggingEnabled where
         toXML LoggingEnabled'{..}
           = mconcat
@@ -1370,6 +1455,8 @@
 
 instance Hashable MultipartUpload
 
+instance NFData MultipartUpload
+
 -- | Specifies when noncurrent object versions expire. Upon expiration,
 -- Amazon S3 permanently deletes the noncurrent object versions. You set
 -- this lifecycle configuration action on a bucket that has versioning
@@ -1409,6 +1496,8 @@
 
 instance Hashable NoncurrentVersionExpiration
 
+instance NFData NoncurrentVersionExpiration
+
 instance ToXML NoncurrentVersionExpiration where
         toXML NoncurrentVersionExpiration'{..}
           = mconcat ["NoncurrentDays" @= _nveNoncurrentDays]
@@ -1462,6 +1551,8 @@
 
 instance Hashable NoncurrentVersionTransition
 
+instance NFData NoncurrentVersionTransition
+
 instance ToXML NoncurrentVersionTransition where
         toXML NoncurrentVersionTransition'{..}
           = mconcat
@@ -1518,6 +1609,8 @@
 
 instance Hashable NotificationConfiguration
 
+instance NFData NotificationConfiguration
+
 instance ToXML NotificationConfiguration where
         toXML NotificationConfiguration'{..}
           = mconcat
@@ -1565,6 +1658,8 @@
 
 instance Hashable NotificationConfigurationFilter
 
+instance NFData NotificationConfigurationFilter
+
 instance ToXML NotificationConfigurationFilter where
         toXML NotificationConfigurationFilter'{..}
           = mconcat ["S3Key" @= _ncfKey]
@@ -1645,6 +1740,8 @@
 
 instance Hashable Object
 
+instance NFData Object
+
 -- | /See:/ 'objectIdentifier' smart constructor.
 data ObjectIdentifier = ObjectIdentifier'
     { _oiVersionId :: !(Maybe ObjectVersionId)
@@ -1677,6 +1774,8 @@
 
 instance Hashable ObjectIdentifier
 
+instance NFData ObjectIdentifier
+
 instance ToXML ObjectIdentifier where
         toXML ObjectIdentifier'{..}
           = mconcat
@@ -1773,6 +1872,8 @@
 
 instance Hashable ObjectVersion
 
+instance NFData ObjectVersion
+
 -- | /See:/ 'owner' smart constructor.
 data Owner = Owner'
     { _oDisplayName :: !(Maybe Text)
@@ -1808,6 +1909,8 @@
 
 instance Hashable Owner
 
+instance NFData Owner
+
 instance ToXML Owner where
         toXML Owner'{..}
           = mconcat
@@ -1868,6 +1971,8 @@
 
 instance Hashable Part
 
+instance NFData Part
+
 -- | Container for specifying an configuration when you want Amazon S3 to
 -- publish events to an Amazon Simple Queue Service (Amazon SQS) queue.
 --
@@ -1926,6 +2031,8 @@
 
 instance Hashable QueueConfiguration
 
+instance NFData QueueConfiguration
+
 instance ToXML QueueConfiguration where
         toXML QueueConfiguration'{..}
           = mconcat
@@ -2004,6 +2111,8 @@
 
 instance Hashable Redirect
 
+instance NFData Redirect
+
 instance ToXML Redirect where
         toXML Redirect'{..}
           = mconcat
@@ -2050,6 +2159,8 @@
 
 instance Hashable RedirectAllRequestsTo
 
+instance NFData RedirectAllRequestsTo
+
 instance ToXML RedirectAllRequestsTo where
         toXML RedirectAllRequestsTo'{..}
           = mconcat
@@ -2099,6 +2210,8 @@
 
 instance Hashable ReplicationConfiguration
 
+instance NFData ReplicationConfiguration
+
 instance ToXML ReplicationConfiguration where
         toXML ReplicationConfiguration'{..}
           = mconcat
@@ -2163,6 +2276,8 @@
 
 instance Hashable ReplicationRule
 
+instance NFData ReplicationRule
+
 instance ToXML ReplicationRule where
         toXML ReplicationRule'{..}
           = mconcat
@@ -2194,6 +2309,8 @@
 
 instance Hashable RequestPaymentConfiguration
 
+instance NFData RequestPaymentConfiguration
+
 instance ToXML RequestPaymentConfiguration where
         toXML RequestPaymentConfiguration'{..}
           = mconcat ["Payer" @= _rpcPayer]
@@ -2222,6 +2339,8 @@
 
 instance Hashable RestoreRequest
 
+instance NFData RestoreRequest
+
 instance ToXML RestoreRequest where
         toXML RestoreRequest'{..}
           = mconcat ["Days" @= _rrDays]
@@ -2269,6 +2388,8 @@
 
 instance Hashable RoutingRule
 
+instance NFData RoutingRule
+
 instance ToXML RoutingRule where
         toXML RoutingRule'{..}
           = mconcat
@@ -2305,6 +2426,8 @@
 
 instance Hashable S3KeyFilter
 
+instance NFData S3KeyFilter
+
 instance ToXML S3KeyFilter where
         toXML S3KeyFilter'{..}
           = mconcat
@@ -2364,6 +2487,8 @@
 
 instance Hashable S3ServiceError
 
+instance NFData S3ServiceError
+
 -- | /See:/ 'tag' smart constructor.
 data Tag = Tag'
     { _tagKey   :: !ObjectKey
@@ -2400,6 +2525,8 @@
 
 instance Hashable Tag
 
+instance NFData Tag
+
 instance ToXML Tag where
         toXML Tag'{..}
           = mconcat ["Key" @= _tagKey, "Value" @= _tagValue]
@@ -2427,6 +2554,8 @@
 
 instance Hashable Tagging
 
+instance NFData Tagging
+
 instance ToXML Tagging where
         toXML Tagging'{..}
           = mconcat ["TagSet" @= toXMLList "Tag" _tTagSet]
@@ -2467,6 +2596,8 @@
 
 instance Hashable TargetGrant
 
+instance NFData TargetGrant
+
 instance ToXML TargetGrant where
         toXML TargetGrant'{..}
           = mconcat
@@ -2532,6 +2663,8 @@
 
 instance Hashable TopicConfiguration
 
+instance NFData TopicConfiguration
+
 instance ToXML TopicConfiguration where
         toXML TopicConfiguration'{..}
           = mconcat
@@ -2585,6 +2718,8 @@
 
 instance Hashable Transition
 
+instance NFData Transition
+
 instance ToXML Transition where
         toXML Transition'{..}
           = mconcat
@@ -2625,6 +2760,8 @@
 
 instance Hashable VersioningConfiguration
 
+instance NFData VersioningConfiguration
+
 instance ToXML VersioningConfiguration where
         toXML VersioningConfiguration'{..}
           = mconcat
@@ -2676,6 +2813,8 @@
 wcRoutingRules = lens _wcRoutingRules (\ s a -> s{_wcRoutingRules = a}) . _Default . _Coerce;
 
 instance Hashable WebsiteConfiguration
+
+instance NFData WebsiteConfiguration
 
 instance ToXML WebsiteConfiguration where
         toXML WebsiteConfiguration'{..}
diff --git a/gen/Network/AWS/S3/Types/Sum.hs b/gen/Network/AWS/S3/Types/Sum.hs
--- a/gen/Network/AWS/S3/Types/Sum.hs
+++ b/gen/Network/AWS/S3/Types/Sum.hs
@@ -20,6 +20,35 @@
 import           Network.AWS.Prelude
 import           Network.AWS.S3.Internal
 
+data BucketAccelerateStatus
+    = BASEnabled
+    | BASSuspended
+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+
+instance FromText BucketAccelerateStatus where
+    parser = takeLowerText >>= \case
+        "enabled" -> pure BASEnabled
+        "suspended" -> pure BASSuspended
+        e -> fromTextError $ "Failure parsing BucketAccelerateStatus from value: '" <> e
+           <> "'. Accepted values: Enabled, Suspended"
+
+instance ToText BucketAccelerateStatus where
+    toText = \case
+        BASEnabled -> "Enabled"
+        BASSuspended -> "Suspended"
+
+instance Hashable     BucketAccelerateStatus
+instance NFData       BucketAccelerateStatus
+instance ToByteString BucketAccelerateStatus
+instance ToQuery      BucketAccelerateStatus
+instance ToHeader     BucketAccelerateStatus
+
+instance FromXML BucketAccelerateStatus where
+    parseXML = parseXMLText "BucketAccelerateStatus"
+
+instance ToXML BucketAccelerateStatus where
+    toXML = toXMLText
+
 data BucketCannedACL
     = BAuthenticatedRead
     | BPrivate
@@ -44,6 +73,7 @@
         BPublicReadWrite -> "public-read-write"
 
 instance Hashable     BucketCannedACL
+instance NFData       BucketCannedACL
 instance ToByteString BucketCannedACL
 instance ToQuery      BucketCannedACL
 instance ToHeader     BucketCannedACL
@@ -72,6 +102,7 @@
         Write -> "WRITE"
 
 instance Hashable     BucketLogsPermission
+instance NFData       BucketLogsPermission
 instance ToByteString BucketLogsPermission
 instance ToQuery      BucketLogsPermission
 instance ToHeader     BucketLogsPermission
@@ -100,6 +131,7 @@
         BVSSuspended -> "Suspended"
 
 instance Hashable     BucketVersioningStatus
+instance NFData       BucketVersioningStatus
 instance ToByteString BucketVersioningStatus
 instance ToQuery      BucketVersioningStatus
 instance ToHeader     BucketVersioningStatus
@@ -131,6 +163,7 @@
         URL -> "url"
 
 instance Hashable     EncodingType
+instance NFData       EncodingType
 instance ToByteString EncodingType
 instance ToQuery      EncodingType
 instance ToHeader     EncodingType
@@ -181,6 +214,7 @@
         S3ReducedRedundancyLostObject -> "s3:ReducedRedundancyLostObject"
 
 instance Hashable     Event
+instance NFData       Event
 instance ToByteString Event
 instance ToQuery      Event
 instance ToHeader     Event
@@ -209,6 +243,7 @@
         ESEnabled -> "Enabled"
 
 instance Hashable     ExpirationStatus
+instance NFData       ExpirationStatus
 instance ToByteString ExpirationStatus
 instance ToQuery      ExpirationStatus
 instance ToHeader     ExpirationStatus
@@ -237,6 +272,7 @@
         Suffix -> "suffix"
 
 instance Hashable     FilterRuleName
+instance NFData       FilterRuleName
 instance ToByteString FilterRuleName
 instance ToQuery      FilterRuleName
 instance ToHeader     FilterRuleName
@@ -265,6 +301,7 @@
         MDEnabled -> "Enabled"
 
 instance Hashable     MFADelete
+instance NFData       MFADelete
 instance ToByteString MFADelete
 instance ToQuery      MFADelete
 instance ToHeader     MFADelete
@@ -290,6 +327,7 @@
         MDSEnabled -> "Enabled"
 
 instance Hashable     MFADeleteStatus
+instance NFData       MFADeleteStatus
 instance ToByteString MFADeleteStatus
 instance ToQuery      MFADeleteStatus
 instance ToHeader     MFADeleteStatus
@@ -315,6 +353,7 @@
         Replace -> "REPLACE"
 
 instance Hashable     MetadataDirective
+instance NFData       MetadataDirective
 instance ToByteString MetadataDirective
 instance ToQuery      MetadataDirective
 instance ToHeader     MetadataDirective
@@ -355,6 +394,7 @@
         OPublicReadWrite -> "public-read-write"
 
 instance Hashable     ObjectCannedACL
+instance NFData       ObjectCannedACL
 instance ToByteString ObjectCannedACL
 instance ToQuery      ObjectCannedACL
 instance ToHeader     ObjectCannedACL
@@ -386,6 +426,7 @@
         OSCStandardIA -> "STANDARD_IA"
 
 instance Hashable     ObjectStorageClass
+instance NFData       ObjectStorageClass
 instance ToByteString ObjectStorageClass
 instance ToQuery      ObjectStorageClass
 instance ToHeader     ObjectStorageClass
@@ -408,6 +449,7 @@
         OVSCStandard -> "STANDARD"
 
 instance Hashable     ObjectVersionStorageClass
+instance NFData       ObjectVersionStorageClass
 instance ToByteString ObjectVersionStorageClass
 instance ToQuery      ObjectVersionStorageClass
 instance ToHeader     ObjectVersionStorageClass
@@ -433,6 +475,7 @@
         Requester -> "Requester"
 
 instance Hashable     Payer
+instance NFData       Payer
 instance ToByteString Payer
 instance ToQuery      Payer
 instance ToHeader     Payer
@@ -470,6 +513,7 @@
         PWriteAcp -> "WRITE_ACP"
 
 instance Hashable     Permission
+instance NFData       Permission
 instance ToByteString Permission
 instance ToQuery      Permission
 instance ToHeader     Permission
@@ -498,6 +542,7 @@
         HTTPS -> "https"
 
 instance Hashable     Protocol
+instance NFData       Protocol
 instance ToByteString Protocol
 instance ToQuery      Protocol
 instance ToHeader     Protocol
@@ -526,6 +571,7 @@
         Enabled -> "Enabled"
 
 instance Hashable     ReplicationRuleStatus
+instance NFData       ReplicationRuleStatus
 instance ToByteString ReplicationRuleStatus
 instance ToQuery      ReplicationRuleStatus
 instance ToHeader     ReplicationRuleStatus
@@ -560,6 +606,7 @@
         Replica -> "REPLICA"
 
 instance Hashable     ReplicationStatus
+instance NFData       ReplicationStatus
 instance ToByteString ReplicationStatus
 instance ToQuery      ReplicationStatus
 instance ToHeader     ReplicationStatus
@@ -584,6 +631,7 @@
         RCRequester -> "requester"
 
 instance Hashable     RequestCharged
+instance NFData       RequestCharged
 instance ToByteString RequestCharged
 instance ToQuery      RequestCharged
 instance ToHeader     RequestCharged
@@ -611,6 +659,7 @@
         RPRequester -> "requester"
 
 instance Hashable     RequestPayer
+instance NFData       RequestPayer
 instance ToByteString RequestPayer
 instance ToQuery      RequestPayer
 instance ToHeader     RequestPayer
@@ -636,6 +685,7 @@
         AWSKMS -> "aws:kms"
 
 instance Hashable     ServerSideEncryption
+instance NFData       ServerSideEncryption
 instance ToByteString ServerSideEncryption
 instance ToQuery      ServerSideEncryption
 instance ToHeader     ServerSideEncryption
@@ -667,6 +717,7 @@
         StandardIA -> "STANDARD_IA"
 
 instance Hashable     StorageClass
+instance NFData       StorageClass
 instance ToByteString StorageClass
 instance ToQuery      StorageClass
 instance ToHeader     StorageClass
@@ -695,6 +746,7 @@
         TSCStandardIA -> "STANDARD_IA"
 
 instance Hashable     TransitionStorageClass
+instance NFData       TransitionStorageClass
 instance ToByteString TransitionStorageClass
 instance ToQuery      TransitionStorageClass
 instance ToHeader     TransitionStorageClass
@@ -726,6 +778,7 @@
         Group -> "Group"
 
 instance Hashable     Type
+instance NFData       Type
 instance ToByteString Type
 instance ToQuery      Type
 instance ToHeader     Type
diff --git a/gen/Network/AWS/S3/UploadPart.hs b/gen/Network/AWS/S3/UploadPart.hs
--- a/gen/Network/AWS/S3/UploadPart.hs
+++ b/gen/Network/AWS/S3/UploadPart.hs
@@ -300,3 +300,5 @@
 -- | The response status code.
 uprsResponseStatus :: Lens' UploadPartResponse Int
 uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a});
+
+instance NFData UploadPartResponse
diff --git a/gen/Network/AWS/S3/UploadPartCopy.hs b/gen/Network/AWS/S3/UploadPartCopy.hs
--- a/gen/Network/AWS/S3/UploadPartCopy.hs
+++ b/gen/Network/AWS/S3/UploadPartCopy.hs
@@ -260,6 +260,8 @@
 
 instance Hashable UploadPartCopy
 
+instance NFData UploadPartCopy
+
 instance ToHeaders UploadPartCopy where
         toHeaders UploadPartCopy'{..}
           = mconcat
@@ -381,3 +383,5 @@
 -- | The response status code.
 upcrsResponseStatus :: Lens' UploadPartCopyResponse Int
 upcrsResponseStatus = lens _upcrsResponseStatus (\ s a -> s{_upcrsResponseStatus = a});
+
+instance NFData UploadPartCopyResponse
diff --git a/src/Network/AWS/S3/Internal.hs b/src/Network/AWS/S3/Internal.hs
--- a/src/Network/AWS/S3/Internal.hs
+++ b/src/Network/AWS/S3/Internal.hs
@@ -64,6 +64,7 @@
         )
 
 instance Hashable BucketName
+instance NFData   BucketName
 
 -- FIXME: Add the difference between weak + strong ETags and their respective
 -- equalities if necessary, see: https://github.com/brendanhay/amazonka/issues/76
@@ -87,6 +88,7 @@
         )
 
 instance Hashable ETag
+instance NFData   ETag
 
 newtype ObjectVersionId = ObjectVersionId Text
     deriving
@@ -108,6 +110,7 @@
         )
 
 instance Hashable ObjectVersionId
+instance NFData   ObjectVersionId
 
 newtype LocationConstraint = LocationConstraint { constraintRegion :: Region }
     deriving
@@ -127,6 +130,7 @@
 _LocationConstraint = iso constraintRegion LocationConstraint
 
 instance Hashable LocationConstraint
+instance NFData   LocationConstraint
 
 instance FromText LocationConstraint where
     parser = LocationConstraint <$> (parser <|> go)
@@ -168,6 +172,7 @@
         )
 
 instance Hashable ObjectKey
+instance NFData   ObjectKey
 
 type Delimiter = Char
 
diff --git a/test/Test/AWS/Gen/S3.hs b/test/Test/AWS/Gen/S3.hs
--- a/test/Test/AWS/Gen/S3.hs
+++ b/test/Test/AWS/Gen/S3.hs
@@ -64,6 +64,9 @@
 --         , testGetBucketNotificationConfiguration $
 --             getBucketNotificationConfiguration
 --
+--         , testPutBucketAccelerateConfiguration $
+--             putBucketAccelerateConfiguration
+--
 --         , testGetObject $
 --             getObject
 --
@@ -124,6 +127,9 @@
 --         , testPutBucketPolicy $
 --             putBucketPolicy
 --
+--         , testGetBucketAccelerateConfiguration $
+--             getBucketAccelerateConfiguration
+--
 --         , testGetObjectTorrent $
 --             getObjectTorrent
 --
@@ -223,6 +229,9 @@
 --         , testGetBucketNotificationConfigurationResponse $
 --             notificationConfiguration
 --
+--         , testPutBucketAccelerateConfigurationResponse $
+--             putBucketAccelerateConfigurationResponse
+--
 --         , testGetObjectResponse $
 --             getObjectResponse
 --
@@ -283,6 +292,9 @@
 --         , testPutBucketPolicyResponse $
 --             putBucketPolicyResponse
 --
+--         , testGetBucketAccelerateConfigurationResponse $
+--             getBucketAccelerateConfigurationResponse
+--
 --         , testGetObjectTorrentResponse $
 --             getObjectTorrentResponse
 --
@@ -403,6 +415,11 @@
     "GetBucketNotificationConfiguration"
     "fixture/GetBucketNotificationConfiguration.yaml"
 
+testPutBucketAccelerateConfiguration :: PutBucketAccelerateConfiguration -> TestTree
+testPutBucketAccelerateConfiguration = req
+    "PutBucketAccelerateConfiguration"
+    "fixture/PutBucketAccelerateConfiguration.yaml"
+
 testGetObject :: GetObject -> TestTree
 testGetObject = req
     "GetObject"
@@ -498,6 +515,11 @@
     "PutBucketPolicy"
     "fixture/PutBucketPolicy.yaml"
 
+testGetBucketAccelerateConfiguration :: GetBucketAccelerateConfiguration -> TestTree
+testGetBucketAccelerateConfiguration = req
+    "GetBucketAccelerateConfiguration"
+    "fixture/GetBucketAccelerateConfiguration.yaml"
+
 testGetObjectTorrent :: GetObjectTorrent -> TestTree
 testGetObjectTorrent = req
     "GetObjectTorrent"
@@ -684,6 +706,13 @@
     s3
     (Proxy :: Proxy GetBucketNotificationConfiguration)
 
+testPutBucketAccelerateConfigurationResponse :: PutBucketAccelerateConfigurationResponse -> TestTree
+testPutBucketAccelerateConfigurationResponse = res
+    "PutBucketAccelerateConfigurationResponse"
+    "fixture/PutBucketAccelerateConfigurationResponse.proto"
+    s3
+    (Proxy :: Proxy PutBucketAccelerateConfiguration)
+
 testPutBucketReplicationResponse :: PutBucketReplicationResponse -> TestTree
 testPutBucketReplicationResponse = res
     "PutBucketReplicationResponse"
@@ -816,6 +845,13 @@
     "fixture/PutBucketPolicyResponse.proto"
     s3
     (Proxy :: Proxy PutBucketPolicy)
+
+testGetBucketAccelerateConfigurationResponse :: GetBucketAccelerateConfigurationResponse -> TestTree
+testGetBucketAccelerateConfigurationResponse = res
+    "GetBucketAccelerateConfigurationResponse"
+    "fixture/GetBucketAccelerateConfigurationResponse.proto"
+    s3
+    (Proxy :: Proxy GetBucketAccelerateConfiguration)
 
 testDeleteObjectsResponse :: DeleteObjectsResponse -> TestTree
 testDeleteObjectsResponse = res
