diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.0.1`
+`1.1.0`
 
 
 ## Description
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,2 @@
-import Distribution.Simple
+import           Distribution.Simple
 main = defaultMain
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.0.1
+version:               1.1.0
 synopsis:              Amazon Simple Storage Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -108,7 +108,7 @@
         , Network.AWS.S3.Types.Sum
 
     build-depends:
-          amazonka-core == 1.0.1.*
+          amazonka-core == 1.1.0.*
         , base          >= 4.7     && < 5
         , lens >= 4.4
         , text >= 1.1
@@ -129,9 +129,9 @@
         , Test.AWS.S3.Internal
 
     build-depends:
-          amazonka-core == 1.0.1
-        , amazonka-test == 1.0.1
-        , amazonka-s3 == 1.0.1
+          amazonka-core == 1.1.0
+        , amazonka-test == 1.1.0
+        , amazonka-s3 == 1.1.0
         , base
         , bytestring
         , lens
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
@@ -243,6 +243,9 @@
     -- ** ExpirationStatus
     , ExpirationStatus (..)
 
+    -- ** FilterRuleName
+    , FilterRuleName (..)
+
     -- ** MFADelete
     , MFADelete (..)
 
@@ -397,6 +400,12 @@
     , errorDocument
     , edKey
 
+    -- ** FilterRule
+    , FilterRule
+    , filterRule
+    , frValue
+    , frName
+
     -- ** Grant
     , Grant
     , grant
@@ -427,6 +436,7 @@
     , LambdaFunctionConfiguration
     , lambdaFunctionConfiguration
     , lfcId
+    , lfcFilter
     , lfcLambdaFunctionARN
     , lfcEvents
 
@@ -476,6 +486,11 @@
     , ncTopicConfigurations
     , ncLambdaFunctionConfigurations
 
+    -- ** NotificationConfigurationFilter
+    , NotificationConfigurationFilter
+    , notificationConfigurationFilter
+    , ncfKey
+
     -- ** Object
     , Object
     , object'
@@ -522,6 +537,7 @@
     , QueueConfiguration
     , queueConfiguration
     , qcId
+    , qcFilter
     , qcQueueARN
     , qcEvents
 
@@ -581,6 +597,11 @@
     , rPrefix
     , rStatus
 
+    -- ** S3KeyFilter
+    , S3KeyFilter
+    , s3KeyFilter
+    , skfFilterRules
+
     -- ** S3ServiceError
     , S3ServiceError
     , s3ServiceError
@@ -610,6 +631,7 @@
     , TopicConfiguration
     , topicConfiguration
     , tcId
+    , tcFilter
     , tcTopicARN
     , tcEvents
 
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
@@ -45,6 +45,9 @@
     -- * ExpirationStatus
     , ExpirationStatus (..)
 
+    -- * FilterRuleName
+    , FilterRuleName (..)
+
     -- * MFADelete
     , MFADelete (..)
 
@@ -199,6 +202,12 @@
     , errorDocument
     , edKey
 
+    -- * FilterRule
+    , FilterRule
+    , filterRule
+    , frValue
+    , frName
+
     -- * Grant
     , Grant
     , grant
@@ -229,6 +238,7 @@
     , LambdaFunctionConfiguration
     , lambdaFunctionConfiguration
     , lfcId
+    , lfcFilter
     , lfcLambdaFunctionARN
     , lfcEvents
 
@@ -278,6 +288,11 @@
     , ncTopicConfigurations
     , ncLambdaFunctionConfigurations
 
+    -- * NotificationConfigurationFilter
+    , NotificationConfigurationFilter
+    , notificationConfigurationFilter
+    , ncfKey
+
     -- * Object
     , Object
     , object'
@@ -324,6 +339,7 @@
     , QueueConfiguration
     , queueConfiguration
     , qcId
+    , qcFilter
     , qcQueueARN
     , qcEvents
 
@@ -383,6 +399,11 @@
     , rPrefix
     , rStatus
 
+    -- * S3KeyFilter
+    , S3KeyFilter
+    , s3KeyFilter
+    , skfFilterRules
+
     -- * S3ServiceError
     , S3ServiceError
     , s3ServiceError
@@ -412,6 +433,7 @@
     , TopicConfiguration
     , topicConfiguration
     , tcId
+    , tcFilter
     , tcTopicARN
     , tcEvents
 
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
@@ -665,6 +665,51 @@
 instance ToXML ErrorDocument where
         toXML ErrorDocument'{..} = mconcat ["Key" @= _edKey]
 
+-- | Container for key value pair that defines the criteria for the filter
+-- rule.
+--
+-- /See:/ 'filterRule' smart constructor.
+data FilterRule = FilterRule'
+    { _frValue :: !(Maybe Text)
+    , _frName  :: !(Maybe FilterRuleName)
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'FilterRule' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'frValue'
+--
+-- * 'frName'
+filterRule
+    :: FilterRule
+filterRule =
+    FilterRule'
+    { _frValue = Nothing
+    , _frName = Nothing
+    }
+
+-- | Undocumented member.
+frValue :: Lens' FilterRule (Maybe Text)
+frValue = lens _frValue (\ s a -> s{_frValue = a});
+
+-- | Object key name prefix or suffix identifying one or more objects to
+-- which the filtering rule applies. Maximum prefix length can be up to
+-- 1,024 characters. Overlapping prefixes and suffixes are not supported.
+-- For more information, go to
+-- <http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>
+-- in the Amazon Simple Storage Service Developer Guide.
+frName :: Lens' FilterRule (Maybe FilterRuleName)
+frName = lens _frName (\ s a -> s{_frName = a});
+
+instance FromXML FilterRule where
+        parseXML x
+          = FilterRule' <$> (x .@? "Value") <*> (x .@? "Name")
+
+instance ToXML FilterRule where
+        toXML FilterRule'{..}
+          = mconcat ["Value" @= _frValue, "Name" @= _frName]
+
 -- | /See:/ 'grant' smart constructor.
 data Grant = Grant'
     { _gPermission :: !(Maybe Permission)
@@ -847,6 +892,7 @@
 -- /See:/ 'lambdaFunctionConfiguration' smart constructor.
 data LambdaFunctionConfiguration = LambdaFunctionConfiguration'
     { _lfcId                :: !(Maybe Text)
+    , _lfcFilter            :: !(Maybe NotificationConfigurationFilter)
     , _lfcLambdaFunctionARN :: !Text
     , _lfcEvents            :: ![Event]
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -857,6 +903,8 @@
 --
 -- * 'lfcId'
 --
+-- * 'lfcFilter'
+--
 -- * 'lfcLambdaFunctionARN'
 --
 -- * 'lfcEvents'
@@ -866,6 +914,7 @@
 lambdaFunctionConfiguration pLambdaFunctionARN_ =
     LambdaFunctionConfiguration'
     { _lfcId = Nothing
+    , _lfcFilter = Nothing
     , _lfcLambdaFunctionARN = pLambdaFunctionARN_
     , _lfcEvents = mempty
     }
@@ -874,6 +923,10 @@
 lfcId :: Lens' LambdaFunctionConfiguration (Maybe Text)
 lfcId = lens _lfcId (\ s a -> s{_lfcId = a});
 
+-- | Undocumented member.
+lfcFilter :: Lens' LambdaFunctionConfiguration (Maybe NotificationConfigurationFilter)
+lfcFilter = lens _lfcFilter (\ s a -> s{_lfcFilter = a});
+
 -- | Lambda cloud function ARN that Amazon S3 can invoke when it detects
 -- events of the specified type.
 lfcLambdaFunctionARN :: Lens' LambdaFunctionConfiguration Text
@@ -886,13 +939,14 @@
 instance FromXML LambdaFunctionConfiguration where
         parseXML x
           = LambdaFunctionConfiguration' <$>
-              (x .@? "Id") <*> (x .@ "CloudFunction") <*>
-                (parseXMLList "Event" x)
+              (x .@? "Id") <*> (x .@? "Filter") <*>
+                (x .@ "CloudFunction")
+                <*> (parseXMLList "Event" x)
 
 instance ToXML LambdaFunctionConfiguration where
         toXML LambdaFunctionConfiguration'{..}
           = mconcat
-              ["Id" @= _lfcId,
+              ["Id" @= _lfcId, "Filter" @= _lfcFilter,
                "CloudFunction" @= _lfcLambdaFunctionARN,
                toXMLList "Event" _lfcEvents]
 
@@ -1244,6 +1298,42 @@
                  (toXMLList "CloudFunctionConfiguration" <$>
                     _ncLambdaFunctionConfigurations)]
 
+-- | Container for object key name filtering rules. For information about key
+-- name filtering, go to
+-- <http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>
+-- in the Amazon Simple Storage Service Developer Guide.
+--
+-- /See:/ 'notificationConfigurationFilter' smart constructor.
+newtype NotificationConfigurationFilter = NotificationConfigurationFilter'
+    { _ncfKey :: Maybe S3KeyFilter
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'NotificationConfigurationFilter' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ncfKey'
+notificationConfigurationFilter
+    :: NotificationConfigurationFilter
+notificationConfigurationFilter =
+    NotificationConfigurationFilter'
+    { _ncfKey = Nothing
+    }
+
+-- | Undocumented member.
+ncfKey :: Lens' NotificationConfigurationFilter (Maybe S3KeyFilter)
+ncfKey = lens _ncfKey (\ s a -> s{_ncfKey = a});
+
+instance FromXML NotificationConfigurationFilter
+         where
+        parseXML x
+          = NotificationConfigurationFilter' <$>
+              (x .@? "S3Key")
+
+instance ToXML NotificationConfigurationFilter where
+        toXML NotificationConfigurationFilter'{..}
+          = mconcat ["S3Key" @= _ncfKey]
+
 -- | /See:/ 'object'' smart constructor.
 data Object = Object'
     { _oOwner        :: !(Maybe Owner)
@@ -1539,6 +1629,7 @@
 -- /See:/ 'queueConfiguration' smart constructor.
 data QueueConfiguration = QueueConfiguration'
     { _qcId       :: !(Maybe Text)
+    , _qcFilter   :: !(Maybe NotificationConfigurationFilter)
     , _qcQueueARN :: !Text
     , _qcEvents   :: ![Event]
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -1549,6 +1640,8 @@
 --
 -- * 'qcId'
 --
+-- * 'qcFilter'
+--
 -- * 'qcQueueARN'
 --
 -- * 'qcEvents'
@@ -1558,6 +1651,7 @@
 queueConfiguration pQueueARN_ =
     QueueConfiguration'
     { _qcId = Nothing
+    , _qcFilter = Nothing
     , _qcQueueARN = pQueueARN_
     , _qcEvents = mempty
     }
@@ -1566,6 +1660,10 @@
 qcId :: Lens' QueueConfiguration (Maybe Text)
 qcId = lens _qcId (\ s a -> s{_qcId = a});
 
+-- | Undocumented member.
+qcFilter :: Lens' QueueConfiguration (Maybe NotificationConfigurationFilter)
+qcFilter = lens _qcFilter (\ s a -> s{_qcFilter = a});
+
 -- | Amazon SQS queue ARN to which Amazon S3 will publish a message when it
 -- detects events of specified type.
 qcQueueARN :: Lens' QueueConfiguration Text
@@ -1578,14 +1676,14 @@
 instance FromXML QueueConfiguration where
         parseXML x
           = QueueConfiguration' <$>
-              (x .@? "Id") <*> (x .@ "Queue") <*>
-                (parseXMLList "Event" x)
+              (x .@? "Id") <*> (x .@? "Filter") <*> (x .@ "Queue")
+                <*> (parseXMLList "Event" x)
 
 instance ToXML QueueConfiguration where
         toXML QueueConfiguration'{..}
           = mconcat
-              ["Id" @= _qcId, "Queue" @= _qcQueueARN,
-               toXMLList "Event" _qcEvents]
+              ["Id" @= _qcId, "Filter" @= _qcFilter,
+               "Queue" @= _qcQueueARN, toXMLList "Event" _qcEvents]
 
 -- | /See:/ 'redirect' smart constructor.
 data Redirect = Redirect'
@@ -2012,6 +2110,39 @@
                "ID" @= _rId, "Prefix" @= _rPrefix,
                "Status" @= _rStatus]
 
+-- | Container for object key name prefix and suffix filtering rules.
+--
+-- /See:/ 's3KeyFilter' smart constructor.
+newtype S3KeyFilter = S3KeyFilter'
+    { _skfFilterRules :: Maybe [FilterRule]
+    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'S3KeyFilter' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'skfFilterRules'
+s3KeyFilter
+    :: S3KeyFilter
+s3KeyFilter =
+    S3KeyFilter'
+    { _skfFilterRules = Nothing
+    }
+
+-- | Undocumented member.
+skfFilterRules :: Lens' S3KeyFilter [FilterRule]
+skfFilterRules = lens _skfFilterRules (\ s a -> s{_skfFilterRules = a}) . _Default . _Coerce;
+
+instance FromXML S3KeyFilter where
+        parseXML x
+          = S3KeyFilter' <$>
+              (may (parseXMLList "FilterRule") x)
+
+instance ToXML S3KeyFilter where
+        toXML S3KeyFilter'{..}
+          = mconcat
+              [toXML (toXMLList "FilterRule" <$> _skfFilterRules)]
+
 -- | /See:/ 's3ServiceError' smart constructor.
 data S3ServiceError = S3ServiceError'
     { _sseVersionId :: !(Maybe ObjectVersionId)
@@ -2174,6 +2305,7 @@
 -- /See:/ 'topicConfiguration' smart constructor.
 data TopicConfiguration = TopicConfiguration'
     { _tcId       :: !(Maybe Text)
+    , _tcFilter   :: !(Maybe NotificationConfigurationFilter)
     , _tcTopicARN :: !Text
     , _tcEvents   :: ![Event]
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
@@ -2184,6 +2316,8 @@
 --
 -- * 'tcId'
 --
+-- * 'tcFilter'
+--
 -- * 'tcTopicARN'
 --
 -- * 'tcEvents'
@@ -2193,6 +2327,7 @@
 topicConfiguration pTopicARN_ =
     TopicConfiguration'
     { _tcId = Nothing
+    , _tcFilter = Nothing
     , _tcTopicARN = pTopicARN_
     , _tcEvents = mempty
     }
@@ -2201,6 +2336,10 @@
 tcId :: Lens' TopicConfiguration (Maybe Text)
 tcId = lens _tcId (\ s a -> s{_tcId = a});
 
+-- | Undocumented member.
+tcFilter :: Lens' TopicConfiguration (Maybe NotificationConfigurationFilter)
+tcFilter = lens _tcFilter (\ s a -> s{_tcFilter = a});
+
 -- | Amazon SNS topic ARN to which Amazon S3 will publish a message when it
 -- detects events of specified type.
 tcTopicARN :: Lens' TopicConfiguration Text
@@ -2213,14 +2352,14 @@
 instance FromXML TopicConfiguration where
         parseXML x
           = TopicConfiguration' <$>
-              (x .@? "Id") <*> (x .@ "Topic") <*>
-                (parseXMLList "Event" x)
+              (x .@? "Id") <*> (x .@? "Filter") <*> (x .@ "Topic")
+                <*> (parseXMLList "Event" x)
 
 instance ToXML TopicConfiguration where
         toXML TopicConfiguration'{..}
           = mconcat
-              ["Id" @= _tcId, "Topic" @= _tcTopicARN,
-               toXMLList "Event" _tcEvents]
+              ["Id" @= _tcId, "Filter" @= _tcFilter,
+               "Topic" @= _tcTopicARN, toXMLList "Event" _tcEvents]
 
 -- | /See:/ 'transition' smart constructor.
 data Transition = Transition'
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
@@ -219,6 +219,34 @@
 instance ToXML ExpirationStatus where
     toXML = toXMLText
 
+data FilterRuleName
+    = Prefix
+    | Suffix
+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
+
+instance FromText FilterRuleName where
+    parser = takeLowerText >>= \case
+        "prefix" -> pure Prefix
+        "suffix" -> pure Suffix
+        e -> fromTextError $ "Failure parsing FilterRuleName from value: '" <> e
+           <> "'. Accepted values: prefix, suffix"
+
+instance ToText FilterRuleName where
+    toText = \case
+        Prefix -> "prefix"
+        Suffix -> "suffix"
+
+instance Hashable     FilterRuleName
+instance ToByteString FilterRuleName
+instance ToQuery      FilterRuleName
+instance ToHeader     FilterRuleName
+
+instance FromXML FilterRuleName where
+    parseXML = parseXMLText "FilterRuleName"
+
+instance ToXML FilterRuleName where
+    toXML = toXMLText
+
 data MFADelete
     = MDDisabled
     | MDEnabled
@@ -613,22 +641,19 @@
     toXML = toXMLText
 
 data StorageClass
-    = LT'
-    | ReducedRedundancy
+    = ReducedRedundancy
     | Standard
     deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
 
 instance FromText StorageClass where
     parser = takeLowerText >>= \case
-        "lt" -> pure LT'
         "reduced_redundancy" -> pure ReducedRedundancy
         "standard" -> pure Standard
         e -> fromTextError $ "Failure parsing StorageClass from value: '" <> e
-           <> "'. Accepted values: LT, REDUCED_REDUNDANCY, STANDARD"
+           <> "'. Accepted values: REDUCED_REDUNDANCY, STANDARD"
 
 instance ToText StorageClass where
     toText = \case
-        LT' -> "LT"
         ReducedRedundancy -> "REDUCED_REDUNDANCY"
         Standard -> "STANDARD"
 
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
@@ -30,6 +30,7 @@
 import           Control.Lens
 import           Data.String
 import qualified Data.Text            as Text
+import           Network.AWS.Data.Log
 import           Network.AWS.Data.XML
 import           Network.AWS.Prelude
 
@@ -49,6 +50,7 @@
         , FromXML
         , ToXML
         , ToQuery
+        , ToLog
         )
 
 -- FIXME: Add the difference between weak + strong ETags and their respective
@@ -69,6 +71,7 @@
         , FromXML
         , ToXML
         , ToQuery
+        , ToLog
         )
 
 newtype ObjectVersionId = ObjectVersionId Text
@@ -87,6 +90,7 @@
         , FromXML
         , ToXML
         , ToQuery
+        , ToLog
         )
 
 newtype ObjectKey = ObjectKey Text
@@ -106,6 +110,7 @@
         , ToXML
         , ToQuery
         , ToPath
+        , ToLog
         )
 
 type Delimiter = Char
