{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.S3.PutBucketVersioning
(
PutBucketVersioning (..),
newPutBucketVersioning,
putBucketVersioning_checksumAlgorithm,
putBucketVersioning_contentMD5,
putBucketVersioning_expectedBucketOwner,
putBucketVersioning_mfa,
putBucketVersioning_bucket,
putBucketVersioning_versioningConfiguration,
PutBucketVersioningResponse (..),
newPutBucketVersioningResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.S3.Types
data PutBucketVersioning = PutBucketVersioning'
{
PutBucketVersioning -> Maybe ChecksumAlgorithm
checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,
PutBucketVersioning -> Maybe Text
contentMD5 :: Prelude.Maybe Prelude.Text,
PutBucketVersioning -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
PutBucketVersioning -> Maybe Text
mfa :: Prelude.Maybe Prelude.Text,
PutBucketVersioning -> BucketName
bucket :: BucketName,
PutBucketVersioning -> VersioningConfiguration
versioningConfiguration :: VersioningConfiguration
}
deriving (PutBucketVersioning -> PutBucketVersioning -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketVersioning -> PutBucketVersioning -> Bool
$c/= :: PutBucketVersioning -> PutBucketVersioning -> Bool
== :: PutBucketVersioning -> PutBucketVersioning -> Bool
$c== :: PutBucketVersioning -> PutBucketVersioning -> Bool
Prelude.Eq, ReadPrec [PutBucketVersioning]
ReadPrec PutBucketVersioning
Int -> ReadS PutBucketVersioning
ReadS [PutBucketVersioning]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketVersioning]
$creadListPrec :: ReadPrec [PutBucketVersioning]
readPrec :: ReadPrec PutBucketVersioning
$creadPrec :: ReadPrec PutBucketVersioning
readList :: ReadS [PutBucketVersioning]
$creadList :: ReadS [PutBucketVersioning]
readsPrec :: Int -> ReadS PutBucketVersioning
$creadsPrec :: Int -> ReadS PutBucketVersioning
Prelude.Read, Int -> PutBucketVersioning -> ShowS
[PutBucketVersioning] -> ShowS
PutBucketVersioning -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketVersioning] -> ShowS
$cshowList :: [PutBucketVersioning] -> ShowS
show :: PutBucketVersioning -> String
$cshow :: PutBucketVersioning -> String
showsPrec :: Int -> PutBucketVersioning -> ShowS
$cshowsPrec :: Int -> PutBucketVersioning -> ShowS
Prelude.Show, forall x. Rep PutBucketVersioning x -> PutBucketVersioning
forall x. PutBucketVersioning -> Rep PutBucketVersioning x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutBucketVersioning x -> PutBucketVersioning
$cfrom :: forall x. PutBucketVersioning -> Rep PutBucketVersioning x
Prelude.Generic)
newPutBucketVersioning ::
BucketName ->
VersioningConfiguration ->
PutBucketVersioning
newPutBucketVersioning :: BucketName -> VersioningConfiguration -> PutBucketVersioning
newPutBucketVersioning
BucketName
pBucket_
VersioningConfiguration
pVersioningConfiguration_ =
PutBucketVersioning'
{ $sel:checksumAlgorithm:PutBucketVersioning' :: Maybe ChecksumAlgorithm
checksumAlgorithm =
forall a. Maybe a
Prelude.Nothing,
$sel:contentMD5:PutBucketVersioning' :: Maybe Text
contentMD5 = forall a. Maybe a
Prelude.Nothing,
$sel:expectedBucketOwner:PutBucketVersioning' :: Maybe Text
expectedBucketOwner = forall a. Maybe a
Prelude.Nothing,
$sel:mfa:PutBucketVersioning' :: Maybe Text
mfa = forall a. Maybe a
Prelude.Nothing,
$sel:bucket:PutBucketVersioning' :: BucketName
bucket = BucketName
pBucket_,
$sel:versioningConfiguration:PutBucketVersioning' :: VersioningConfiguration
versioningConfiguration = VersioningConfiguration
pVersioningConfiguration_
}
putBucketVersioning_checksumAlgorithm :: Lens.Lens' PutBucketVersioning (Prelude.Maybe ChecksumAlgorithm)
putBucketVersioning_checksumAlgorithm :: Lens' PutBucketVersioning (Maybe ChecksumAlgorithm)
putBucketVersioning_checksumAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketVersioning' {Maybe ChecksumAlgorithm
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:checksumAlgorithm:PutBucketVersioning' :: PutBucketVersioning -> Maybe ChecksumAlgorithm
checksumAlgorithm} -> Maybe ChecksumAlgorithm
checksumAlgorithm) (\s :: PutBucketVersioning
s@PutBucketVersioning' {} Maybe ChecksumAlgorithm
a -> PutBucketVersioning
s {$sel:checksumAlgorithm:PutBucketVersioning' :: Maybe ChecksumAlgorithm
checksumAlgorithm = Maybe ChecksumAlgorithm
a} :: PutBucketVersioning)
putBucketVersioning_contentMD5 :: Lens.Lens' PutBucketVersioning (Prelude.Maybe Prelude.Text)
putBucketVersioning_contentMD5 :: Lens' PutBucketVersioning (Maybe Text)
putBucketVersioning_contentMD5 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketVersioning' {Maybe Text
contentMD5 :: Maybe Text
$sel:contentMD5:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
contentMD5} -> Maybe Text
contentMD5) (\s :: PutBucketVersioning
s@PutBucketVersioning' {} Maybe Text
a -> PutBucketVersioning
s {$sel:contentMD5:PutBucketVersioning' :: Maybe Text
contentMD5 = Maybe Text
a} :: PutBucketVersioning)
putBucketVersioning_expectedBucketOwner :: Lens.Lens' PutBucketVersioning (Prelude.Maybe Prelude.Text)
putBucketVersioning_expectedBucketOwner :: Lens' PutBucketVersioning (Maybe Text)
putBucketVersioning_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketVersioning' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: PutBucketVersioning
s@PutBucketVersioning' {} Maybe Text
a -> PutBucketVersioning
s {$sel:expectedBucketOwner:PutBucketVersioning' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: PutBucketVersioning)
putBucketVersioning_mfa :: Lens.Lens' PutBucketVersioning (Prelude.Maybe Prelude.Text)
putBucketVersioning_mfa :: Lens' PutBucketVersioning (Maybe Text)
putBucketVersioning_mfa = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketVersioning' {Maybe Text
mfa :: Maybe Text
$sel:mfa:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
mfa} -> Maybe Text
mfa) (\s :: PutBucketVersioning
s@PutBucketVersioning' {} Maybe Text
a -> PutBucketVersioning
s {$sel:mfa:PutBucketVersioning' :: Maybe Text
mfa = Maybe Text
a} :: PutBucketVersioning)
putBucketVersioning_bucket :: Lens.Lens' PutBucketVersioning BucketName
putBucketVersioning_bucket :: Lens' PutBucketVersioning BucketName
putBucketVersioning_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketVersioning' {BucketName
bucket :: BucketName
$sel:bucket:PutBucketVersioning' :: PutBucketVersioning -> BucketName
bucket} -> BucketName
bucket) (\s :: PutBucketVersioning
s@PutBucketVersioning' {} BucketName
a -> PutBucketVersioning
s {$sel:bucket:PutBucketVersioning' :: BucketName
bucket = BucketName
a} :: PutBucketVersioning)
putBucketVersioning_versioningConfiguration :: Lens.Lens' PutBucketVersioning VersioningConfiguration
putBucketVersioning_versioningConfiguration :: Lens' PutBucketVersioning VersioningConfiguration
putBucketVersioning_versioningConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketVersioning' {VersioningConfiguration
versioningConfiguration :: VersioningConfiguration
$sel:versioningConfiguration:PutBucketVersioning' :: PutBucketVersioning -> VersioningConfiguration
versioningConfiguration} -> VersioningConfiguration
versioningConfiguration) (\s :: PutBucketVersioning
s@PutBucketVersioning' {} VersioningConfiguration
a -> PutBucketVersioning
s {$sel:versioningConfiguration:PutBucketVersioning' :: VersioningConfiguration
versioningConfiguration = VersioningConfiguration
a} :: PutBucketVersioning)
instance Core.AWSRequest PutBucketVersioning where
type
AWSResponse PutBucketVersioning =
PutBucketVersioningResponse
request :: (Service -> Service)
-> PutBucketVersioning -> Request PutBucketVersioning
request Service -> Service
overrides =
forall a. Request a -> Request a
Request.s3vhost
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.putXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PutBucketVersioning
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse PutBucketVersioning)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull PutBucketVersioningResponse
PutBucketVersioningResponse'
instance Prelude.Hashable PutBucketVersioning where
hashWithSalt :: Int -> PutBucketVersioning -> Int
hashWithSalt Int
_salt PutBucketVersioning' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
VersioningConfiguration
versioningConfiguration :: VersioningConfiguration
bucket :: BucketName
mfa :: Maybe Text
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:versioningConfiguration:PutBucketVersioning' :: PutBucketVersioning -> VersioningConfiguration
$sel:bucket:PutBucketVersioning' :: PutBucketVersioning -> BucketName
$sel:mfa:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:expectedBucketOwner:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:contentMD5:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:checksumAlgorithm:PutBucketVersioning' :: PutBucketVersioning -> Maybe ChecksumAlgorithm
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ChecksumAlgorithm
checksumAlgorithm
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
contentMD5
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
expectedBucketOwner
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
mfa
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` BucketName
bucket
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` VersioningConfiguration
versioningConfiguration
instance Prelude.NFData PutBucketVersioning where
rnf :: PutBucketVersioning -> ()
rnf PutBucketVersioning' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
VersioningConfiguration
versioningConfiguration :: VersioningConfiguration
bucket :: BucketName
mfa :: Maybe Text
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:versioningConfiguration:PutBucketVersioning' :: PutBucketVersioning -> VersioningConfiguration
$sel:bucket:PutBucketVersioning' :: PutBucketVersioning -> BucketName
$sel:mfa:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:expectedBucketOwner:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:contentMD5:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:checksumAlgorithm:PutBucketVersioning' :: PutBucketVersioning -> Maybe ChecksumAlgorithm
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ChecksumAlgorithm
checksumAlgorithm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
contentMD5
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
expectedBucketOwner
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
mfa
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf BucketName
bucket
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf VersioningConfiguration
versioningConfiguration
instance Data.ToElement PutBucketVersioning where
toElement :: PutBucketVersioning -> Element
toElement PutBucketVersioning' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
VersioningConfiguration
versioningConfiguration :: VersioningConfiguration
bucket :: BucketName
mfa :: Maybe Text
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:versioningConfiguration:PutBucketVersioning' :: PutBucketVersioning -> VersioningConfiguration
$sel:bucket:PutBucketVersioning' :: PutBucketVersioning -> BucketName
$sel:mfa:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:expectedBucketOwner:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:contentMD5:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:checksumAlgorithm:PutBucketVersioning' :: PutBucketVersioning -> Maybe ChecksumAlgorithm
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://s3.amazonaws.com/doc/2006-03-01/}VersioningConfiguration"
VersioningConfiguration
versioningConfiguration
instance Data.ToHeaders PutBucketVersioning where
toHeaders :: PutBucketVersioning -> [Header]
toHeaders PutBucketVersioning' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
VersioningConfiguration
versioningConfiguration :: VersioningConfiguration
bucket :: BucketName
mfa :: Maybe Text
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:versioningConfiguration:PutBucketVersioning' :: PutBucketVersioning -> VersioningConfiguration
$sel:bucket:PutBucketVersioning' :: PutBucketVersioning -> BucketName
$sel:mfa:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:expectedBucketOwner:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:contentMD5:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:checksumAlgorithm:PutBucketVersioning' :: PutBucketVersioning -> Maybe ChecksumAlgorithm
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"x-amz-sdk-checksum-algorithm"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe ChecksumAlgorithm
checksumAlgorithm,
HeaderName
"Content-MD5" forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe Text
contentMD5,
HeaderName
"x-amz-expected-bucket-owner"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe Text
expectedBucketOwner,
HeaderName
"x-amz-mfa" forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe Text
mfa
]
instance Data.ToPath PutBucketVersioning where
toPath :: PutBucketVersioning -> ByteString
toPath PutBucketVersioning' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
VersioningConfiguration
versioningConfiguration :: VersioningConfiguration
bucket :: BucketName
mfa :: Maybe Text
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:versioningConfiguration:PutBucketVersioning' :: PutBucketVersioning -> VersioningConfiguration
$sel:bucket:PutBucketVersioning' :: PutBucketVersioning -> BucketName
$sel:mfa:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:expectedBucketOwner:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:contentMD5:PutBucketVersioning' :: PutBucketVersioning -> Maybe Text
$sel:checksumAlgorithm:PutBucketVersioning' :: PutBucketVersioning -> Maybe ChecksumAlgorithm
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery PutBucketVersioning where
toQuery :: PutBucketVersioning -> QueryString
toQuery =
forall a b. a -> b -> a
Prelude.const (forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"versioning"])
data PutBucketVersioningResponse = PutBucketVersioningResponse'
{
}
deriving (PutBucketVersioningResponse -> PutBucketVersioningResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketVersioningResponse -> PutBucketVersioningResponse -> Bool
$c/= :: PutBucketVersioningResponse -> PutBucketVersioningResponse -> Bool
== :: PutBucketVersioningResponse -> PutBucketVersioningResponse -> Bool
$c== :: PutBucketVersioningResponse -> PutBucketVersioningResponse -> Bool
Prelude.Eq, ReadPrec [PutBucketVersioningResponse]
ReadPrec PutBucketVersioningResponse
Int -> ReadS PutBucketVersioningResponse
ReadS [PutBucketVersioningResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketVersioningResponse]
$creadListPrec :: ReadPrec [PutBucketVersioningResponse]
readPrec :: ReadPrec PutBucketVersioningResponse
$creadPrec :: ReadPrec PutBucketVersioningResponse
readList :: ReadS [PutBucketVersioningResponse]
$creadList :: ReadS [PutBucketVersioningResponse]
readsPrec :: Int -> ReadS PutBucketVersioningResponse
$creadsPrec :: Int -> ReadS PutBucketVersioningResponse
Prelude.Read, Int -> PutBucketVersioningResponse -> ShowS
[PutBucketVersioningResponse] -> ShowS
PutBucketVersioningResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketVersioningResponse] -> ShowS
$cshowList :: [PutBucketVersioningResponse] -> ShowS
show :: PutBucketVersioningResponse -> String
$cshow :: PutBucketVersioningResponse -> String
showsPrec :: Int -> PutBucketVersioningResponse -> ShowS
$cshowsPrec :: Int -> PutBucketVersioningResponse -> ShowS
Prelude.Show, forall x.
Rep PutBucketVersioningResponse x -> PutBucketVersioningResponse
forall x.
PutBucketVersioningResponse -> Rep PutBucketVersioningResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutBucketVersioningResponse x -> PutBucketVersioningResponse
$cfrom :: forall x.
PutBucketVersioningResponse -> Rep PutBucketVersioningResponse x
Prelude.Generic)
newPutBucketVersioningResponse ::
PutBucketVersioningResponse
newPutBucketVersioningResponse :: PutBucketVersioningResponse
newPutBucketVersioningResponse =
PutBucketVersioningResponse
PutBucketVersioningResponse'
instance Prelude.NFData PutBucketVersioningResponse where
rnf :: PutBucketVersioningResponse -> ()
rnf PutBucketVersioningResponse
_ = ()