module Network.AWS.S3.GetBucketNotificationConfiguration
(
GetBucketNotificationConfiguration
, getBucketNotificationConfiguration
, gbnc1Bucket
, GetBucketNotificationConfigurationResponse
, getBucketNotificationConfigurationResponse
, gbncrLambdaFunctionConfigurations
, gbncrQueueConfigurations
, gbncrTopicConfigurations
) where
import Network.AWS.Prelude
import Network.AWS.Request.S3
import Network.AWS.S3.Types
import qualified GHC.Exts
newtype GetBucketNotificationConfiguration = GetBucketNotificationConfiguration
{ _gbnc1Bucket :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
getBucketNotificationConfiguration :: Text
-> GetBucketNotificationConfiguration
getBucketNotificationConfiguration p1 = GetBucketNotificationConfiguration
{ _gbnc1Bucket = p1
}
gbnc1Bucket :: Lens' GetBucketNotificationConfiguration Text
gbnc1Bucket = lens _gbnc1Bucket (\s a -> s { _gbnc1Bucket = a })
data GetBucketNotificationConfigurationResponse = GetBucketNotificationConfigurationResponse
{ _gbncrLambdaFunctionConfigurations :: List "CloudFunctionConfiguration" LambdaFunctionConfiguration
, _gbncrQueueConfigurations :: List "QueueConfiguration" QueueConfiguration
, _gbncrTopicConfigurations :: List "TopicConfiguration" TopicConfiguration
} deriving (Eq, Read, Show)
getBucketNotificationConfigurationResponse :: GetBucketNotificationConfigurationResponse
getBucketNotificationConfigurationResponse = GetBucketNotificationConfigurationResponse
{ _gbncrTopicConfigurations = mempty
, _gbncrQueueConfigurations = mempty
, _gbncrLambdaFunctionConfigurations = mempty
}
gbncrLambdaFunctionConfigurations :: Lens' GetBucketNotificationConfigurationResponse [LambdaFunctionConfiguration]
gbncrLambdaFunctionConfigurations =
lens _gbncrLambdaFunctionConfigurations
(\s a -> s { _gbncrLambdaFunctionConfigurations = a })
. _List
gbncrQueueConfigurations :: Lens' GetBucketNotificationConfigurationResponse [QueueConfiguration]
gbncrQueueConfigurations =
lens _gbncrQueueConfigurations
(\s a -> s { _gbncrQueueConfigurations = a })
. _List
gbncrTopicConfigurations :: Lens' GetBucketNotificationConfigurationResponse [TopicConfiguration]
gbncrTopicConfigurations =
lens _gbncrTopicConfigurations
(\s a -> s { _gbncrTopicConfigurations = a })
. _List
instance ToPath GetBucketNotificationConfiguration where
toPath GetBucketNotificationConfiguration{..} = mconcat
[ "/"
, toText _gbnc1Bucket
]
instance ToQuery GetBucketNotificationConfiguration where
toQuery = const "notification"
instance ToHeaders GetBucketNotificationConfiguration
instance ToXMLRoot GetBucketNotificationConfiguration where
toXMLRoot = const (namespaced ns "GetBucketNotificationConfiguration" [])
instance ToXML GetBucketNotificationConfiguration
instance AWSRequest GetBucketNotificationConfiguration where
type Sv GetBucketNotificationConfiguration = S3
type Rs GetBucketNotificationConfiguration = GetBucketNotificationConfigurationResponse
request = get
response = xmlResponse
instance FromXML GetBucketNotificationConfigurationResponse where
parseXML x = GetBucketNotificationConfigurationResponse
<$> parseXML x
<*> parseXML x
<*> parseXML x