module Network.AWS.S3.PutBucketReplication
(
PutBucketReplication
, putBucketReplication
, pbrBucket
, pbrContentMD5
, pbrReplicationConfiguration
, PutBucketReplicationResponse
, putBucketReplicationResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.S3
import Network.AWS.S3.Types
import qualified GHC.Exts
data PutBucketReplication = PutBucketReplication
{ _pbrBucket :: Text
, _pbrContentMD5 :: Maybe Text
, _pbrReplicationConfiguration :: ReplicationConfiguration
} deriving (Eq, Read, Show)
putBucketReplication :: Text
-> ReplicationConfiguration
-> PutBucketReplication
putBucketReplication p1 p2 = PutBucketReplication
{ _pbrBucket = p1
, _pbrReplicationConfiguration = p2
, _pbrContentMD5 = Nothing
}
pbrBucket :: Lens' PutBucketReplication Text
pbrBucket = lens _pbrBucket (\s a -> s { _pbrBucket = a })
pbrContentMD5 :: Lens' PutBucketReplication (Maybe Text)
pbrContentMD5 = lens _pbrContentMD5 (\s a -> s { _pbrContentMD5 = a })
pbrReplicationConfiguration :: Lens' PutBucketReplication ReplicationConfiguration
pbrReplicationConfiguration =
lens _pbrReplicationConfiguration
(\s a -> s { _pbrReplicationConfiguration = a })
data PutBucketReplicationResponse = PutBucketReplicationResponse
deriving (Eq, Ord, Read, Show, Generic)
putBucketReplicationResponse :: PutBucketReplicationResponse
putBucketReplicationResponse = PutBucketReplicationResponse
instance ToPath PutBucketReplication where
toPath PutBucketReplication{..} = mconcat
[ "/"
, toText _pbrBucket
]
instance ToQuery PutBucketReplication where
toQuery = const "replication"
instance ToHeaders PutBucketReplication where
toHeaders PutBucketReplication{..} = mconcat
[ "Content-MD5" =: _pbrContentMD5
]
instance ToXMLRoot PutBucketReplication where
toXMLRoot = extractRoot ns . toXML . _pbrReplicationConfiguration
instance ToXML PutBucketReplication
instance AWSRequest PutBucketReplication where
type Sv PutBucketReplication = S3
type Rs PutBucketReplication = PutBucketReplicationResponse
request = put
response = nullResponse PutBucketReplicationResponse