{-# 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.PutBucketTagging
(
PutBucketTagging (..),
newPutBucketTagging,
putBucketTagging_checksumAlgorithm,
putBucketTagging_contentMD5,
putBucketTagging_expectedBucketOwner,
putBucketTagging_bucket,
putBucketTagging_tagging,
PutBucketTaggingResponse (..),
newPutBucketTaggingResponse,
)
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 PutBucketTagging = PutBucketTagging'
{
PutBucketTagging -> Maybe ChecksumAlgorithm
checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,
PutBucketTagging -> Maybe Text
contentMD5 :: Prelude.Maybe Prelude.Text,
PutBucketTagging -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
PutBucketTagging -> BucketName
bucket :: BucketName,
PutBucketTagging -> Tagging
tagging :: Tagging
}
deriving (PutBucketTagging -> PutBucketTagging -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketTagging -> PutBucketTagging -> Bool
$c/= :: PutBucketTagging -> PutBucketTagging -> Bool
== :: PutBucketTagging -> PutBucketTagging -> Bool
$c== :: PutBucketTagging -> PutBucketTagging -> Bool
Prelude.Eq, ReadPrec [PutBucketTagging]
ReadPrec PutBucketTagging
Int -> ReadS PutBucketTagging
ReadS [PutBucketTagging]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketTagging]
$creadListPrec :: ReadPrec [PutBucketTagging]
readPrec :: ReadPrec PutBucketTagging
$creadPrec :: ReadPrec PutBucketTagging
readList :: ReadS [PutBucketTagging]
$creadList :: ReadS [PutBucketTagging]
readsPrec :: Int -> ReadS PutBucketTagging
$creadsPrec :: Int -> ReadS PutBucketTagging
Prelude.Read, Int -> PutBucketTagging -> ShowS
[PutBucketTagging] -> ShowS
PutBucketTagging -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketTagging] -> ShowS
$cshowList :: [PutBucketTagging] -> ShowS
show :: PutBucketTagging -> String
$cshow :: PutBucketTagging -> String
showsPrec :: Int -> PutBucketTagging -> ShowS
$cshowsPrec :: Int -> PutBucketTagging -> ShowS
Prelude.Show, forall x. Rep PutBucketTagging x -> PutBucketTagging
forall x. PutBucketTagging -> Rep PutBucketTagging x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutBucketTagging x -> PutBucketTagging
$cfrom :: forall x. PutBucketTagging -> Rep PutBucketTagging x
Prelude.Generic)
newPutBucketTagging ::
BucketName ->
Tagging ->
PutBucketTagging
newPutBucketTagging :: BucketName -> Tagging -> PutBucketTagging
newPutBucketTagging BucketName
pBucket_ Tagging
pTagging_ =
PutBucketTagging'
{ $sel:checksumAlgorithm:PutBucketTagging' :: Maybe ChecksumAlgorithm
checksumAlgorithm =
forall a. Maybe a
Prelude.Nothing,
$sel:contentMD5:PutBucketTagging' :: Maybe Text
contentMD5 = forall a. Maybe a
Prelude.Nothing,
$sel:expectedBucketOwner:PutBucketTagging' :: Maybe Text
expectedBucketOwner = forall a. Maybe a
Prelude.Nothing,
$sel:bucket:PutBucketTagging' :: BucketName
bucket = BucketName
pBucket_,
$sel:tagging:PutBucketTagging' :: Tagging
tagging = Tagging
pTagging_
}
putBucketTagging_checksumAlgorithm :: Lens.Lens' PutBucketTagging (Prelude.Maybe ChecksumAlgorithm)
putBucketTagging_checksumAlgorithm :: Lens' PutBucketTagging (Maybe ChecksumAlgorithm)
putBucketTagging_checksumAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketTagging' {Maybe ChecksumAlgorithm
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:checksumAlgorithm:PutBucketTagging' :: PutBucketTagging -> Maybe ChecksumAlgorithm
checksumAlgorithm} -> Maybe ChecksumAlgorithm
checksumAlgorithm) (\s :: PutBucketTagging
s@PutBucketTagging' {} Maybe ChecksumAlgorithm
a -> PutBucketTagging
s {$sel:checksumAlgorithm:PutBucketTagging' :: Maybe ChecksumAlgorithm
checksumAlgorithm = Maybe ChecksumAlgorithm
a} :: PutBucketTagging)
putBucketTagging_contentMD5 :: Lens.Lens' PutBucketTagging (Prelude.Maybe Prelude.Text)
putBucketTagging_contentMD5 :: Lens' PutBucketTagging (Maybe Text)
putBucketTagging_contentMD5 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketTagging' {Maybe Text
contentMD5 :: Maybe Text
$sel:contentMD5:PutBucketTagging' :: PutBucketTagging -> Maybe Text
contentMD5} -> Maybe Text
contentMD5) (\s :: PutBucketTagging
s@PutBucketTagging' {} Maybe Text
a -> PutBucketTagging
s {$sel:contentMD5:PutBucketTagging' :: Maybe Text
contentMD5 = Maybe Text
a} :: PutBucketTagging)
putBucketTagging_expectedBucketOwner :: Lens.Lens' PutBucketTagging (Prelude.Maybe Prelude.Text)
putBucketTagging_expectedBucketOwner :: Lens' PutBucketTagging (Maybe Text)
putBucketTagging_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketTagging' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:PutBucketTagging' :: PutBucketTagging -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: PutBucketTagging
s@PutBucketTagging' {} Maybe Text
a -> PutBucketTagging
s {$sel:expectedBucketOwner:PutBucketTagging' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: PutBucketTagging)
putBucketTagging_bucket :: Lens.Lens' PutBucketTagging BucketName
putBucketTagging_bucket :: Lens' PutBucketTagging BucketName
putBucketTagging_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketTagging' {BucketName
bucket :: BucketName
$sel:bucket:PutBucketTagging' :: PutBucketTagging -> BucketName
bucket} -> BucketName
bucket) (\s :: PutBucketTagging
s@PutBucketTagging' {} BucketName
a -> PutBucketTagging
s {$sel:bucket:PutBucketTagging' :: BucketName
bucket = BucketName
a} :: PutBucketTagging)
putBucketTagging_tagging :: Lens.Lens' PutBucketTagging Tagging
putBucketTagging_tagging :: Lens' PutBucketTagging Tagging
putBucketTagging_tagging = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketTagging' {Tagging
tagging :: Tagging
$sel:tagging:PutBucketTagging' :: PutBucketTagging -> Tagging
tagging} -> Tagging
tagging) (\s :: PutBucketTagging
s@PutBucketTagging' {} Tagging
a -> PutBucketTagging
s {$sel:tagging:PutBucketTagging' :: Tagging
tagging = Tagging
a} :: PutBucketTagging)
instance Core.AWSRequest PutBucketTagging where
type
AWSResponse PutBucketTagging =
PutBucketTaggingResponse
request :: (Service -> Service)
-> PutBucketTagging -> Request PutBucketTagging
request Service -> Service
overrides =
forall a. Request a -> Request a
Request.contentMD5Header
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 PutBucketTagging
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutBucketTagging)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull PutBucketTaggingResponse
PutBucketTaggingResponse'
instance Prelude.Hashable PutBucketTagging where
hashWithSalt :: Int -> PutBucketTagging -> Int
hashWithSalt Int
_salt PutBucketTagging' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
Tagging
tagging :: Tagging
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:tagging:PutBucketTagging' :: PutBucketTagging -> Tagging
$sel:bucket:PutBucketTagging' :: PutBucketTagging -> BucketName
$sel:expectedBucketOwner:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:contentMD5:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:checksumAlgorithm:PutBucketTagging' :: PutBucketTagging -> 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` BucketName
bucket
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Tagging
tagging
instance Prelude.NFData PutBucketTagging where
rnf :: PutBucketTagging -> ()
rnf PutBucketTagging' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
Tagging
tagging :: Tagging
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:tagging:PutBucketTagging' :: PutBucketTagging -> Tagging
$sel:bucket:PutBucketTagging' :: PutBucketTagging -> BucketName
$sel:expectedBucketOwner:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:contentMD5:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:checksumAlgorithm:PutBucketTagging' :: PutBucketTagging -> 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 BucketName
bucket
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Tagging
tagging
instance Data.ToElement PutBucketTagging where
toElement :: PutBucketTagging -> Element
toElement PutBucketTagging' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
Tagging
tagging :: Tagging
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:tagging:PutBucketTagging' :: PutBucketTagging -> Tagging
$sel:bucket:PutBucketTagging' :: PutBucketTagging -> BucketName
$sel:expectedBucketOwner:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:contentMD5:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:checksumAlgorithm:PutBucketTagging' :: PutBucketTagging -> Maybe ChecksumAlgorithm
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://s3.amazonaws.com/doc/2006-03-01/}Tagging"
Tagging
tagging
instance Data.ToHeaders PutBucketTagging where
toHeaders :: PutBucketTagging -> [Header]
toHeaders PutBucketTagging' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
Tagging
tagging :: Tagging
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:tagging:PutBucketTagging' :: PutBucketTagging -> Tagging
$sel:bucket:PutBucketTagging' :: PutBucketTagging -> BucketName
$sel:expectedBucketOwner:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:contentMD5:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:checksumAlgorithm:PutBucketTagging' :: PutBucketTagging -> 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
]
instance Data.ToPath PutBucketTagging where
toPath :: PutBucketTagging -> ByteString
toPath PutBucketTagging' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
Tagging
tagging :: Tagging
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:tagging:PutBucketTagging' :: PutBucketTagging -> Tagging
$sel:bucket:PutBucketTagging' :: PutBucketTagging -> BucketName
$sel:expectedBucketOwner:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:contentMD5:PutBucketTagging' :: PutBucketTagging -> Maybe Text
$sel:checksumAlgorithm:PutBucketTagging' :: PutBucketTagging -> Maybe ChecksumAlgorithm
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery PutBucketTagging where
toQuery :: PutBucketTagging -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const (forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"tagging"])
data PutBucketTaggingResponse = PutBucketTaggingResponse'
{
}
deriving (PutBucketTaggingResponse -> PutBucketTaggingResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketTaggingResponse -> PutBucketTaggingResponse -> Bool
$c/= :: PutBucketTaggingResponse -> PutBucketTaggingResponse -> Bool
== :: PutBucketTaggingResponse -> PutBucketTaggingResponse -> Bool
$c== :: PutBucketTaggingResponse -> PutBucketTaggingResponse -> Bool
Prelude.Eq, ReadPrec [PutBucketTaggingResponse]
ReadPrec PutBucketTaggingResponse
Int -> ReadS PutBucketTaggingResponse
ReadS [PutBucketTaggingResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketTaggingResponse]
$creadListPrec :: ReadPrec [PutBucketTaggingResponse]
readPrec :: ReadPrec PutBucketTaggingResponse
$creadPrec :: ReadPrec PutBucketTaggingResponse
readList :: ReadS [PutBucketTaggingResponse]
$creadList :: ReadS [PutBucketTaggingResponse]
readsPrec :: Int -> ReadS PutBucketTaggingResponse
$creadsPrec :: Int -> ReadS PutBucketTaggingResponse
Prelude.Read, Int -> PutBucketTaggingResponse -> ShowS
[PutBucketTaggingResponse] -> ShowS
PutBucketTaggingResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketTaggingResponse] -> ShowS
$cshowList :: [PutBucketTaggingResponse] -> ShowS
show :: PutBucketTaggingResponse -> String
$cshow :: PutBucketTaggingResponse -> String
showsPrec :: Int -> PutBucketTaggingResponse -> ShowS
$cshowsPrec :: Int -> PutBucketTaggingResponse -> ShowS
Prelude.Show, forall x.
Rep PutBucketTaggingResponse x -> PutBucketTaggingResponse
forall x.
PutBucketTaggingResponse -> Rep PutBucketTaggingResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutBucketTaggingResponse x -> PutBucketTaggingResponse
$cfrom :: forall x.
PutBucketTaggingResponse -> Rep PutBucketTaggingResponse x
Prelude.Generic)
newPutBucketTaggingResponse ::
PutBucketTaggingResponse
newPutBucketTaggingResponse :: PutBucketTaggingResponse
newPutBucketTaggingResponse =
PutBucketTaggingResponse
PutBucketTaggingResponse'
instance Prelude.NFData PutBucketTaggingResponse where
rnf :: PutBucketTaggingResponse -> ()
rnf PutBucketTaggingResponse
_ = ()