module Network.AWS.S3.PutBucketRequestPayment
(
PutBucketRequestPayment
, putBucketRequestPayment
, pbrpBucket
, pbrpContentMD5
, pbrpRequestPaymentConfiguration
, PutBucketRequestPaymentResponse
, putBucketRequestPaymentResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.S3
import Network.AWS.S3.Types
import qualified GHC.Exts
data PutBucketRequestPayment = PutBucketRequestPayment
{ _pbrpBucket :: Text
, _pbrpContentMD5 :: Maybe Text
, _pbrpRequestPaymentConfiguration :: RequestPaymentConfiguration
} deriving (Eq, Read, Show)
putBucketRequestPayment :: Text
-> RequestPaymentConfiguration
-> PutBucketRequestPayment
putBucketRequestPayment p1 p2 = PutBucketRequestPayment
{ _pbrpBucket = p1
, _pbrpRequestPaymentConfiguration = p2
, _pbrpContentMD5 = Nothing
}
pbrpBucket :: Lens' PutBucketRequestPayment Text
pbrpBucket = lens _pbrpBucket (\s a -> s { _pbrpBucket = a })
pbrpContentMD5 :: Lens' PutBucketRequestPayment (Maybe Text)
pbrpContentMD5 = lens _pbrpContentMD5 (\s a -> s { _pbrpContentMD5 = a })
pbrpRequestPaymentConfiguration :: Lens' PutBucketRequestPayment RequestPaymentConfiguration
pbrpRequestPaymentConfiguration =
lens _pbrpRequestPaymentConfiguration
(\s a -> s { _pbrpRequestPaymentConfiguration = a })
data PutBucketRequestPaymentResponse = PutBucketRequestPaymentResponse
deriving (Eq, Ord, Read, Show, Generic)
putBucketRequestPaymentResponse :: PutBucketRequestPaymentResponse
putBucketRequestPaymentResponse = PutBucketRequestPaymentResponse
instance ToPath PutBucketRequestPayment where
toPath PutBucketRequestPayment{..} = mconcat
[ "/"
, toText _pbrpBucket
]
instance ToQuery PutBucketRequestPayment where
toQuery = const "requestPayment"
instance ToHeaders PutBucketRequestPayment where
toHeaders PutBucketRequestPayment{..} = mconcat
[ "Content-MD5" =: _pbrpContentMD5
]
instance ToXMLRoot PutBucketRequestPayment where
toXMLRoot = extractRoot ns . toXML . _pbrpRequestPaymentConfiguration
instance ToXML PutBucketRequestPayment
instance AWSRequest PutBucketRequestPayment where
type Sv PutBucketRequestPayment = S3
type Rs PutBucketRequestPayment = PutBucketRequestPaymentResponse
request = put
response = nullResponse PutBucketRequestPaymentResponse