{-# 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.DeleteObjectTagging
(
DeleteObjectTagging (..),
newDeleteObjectTagging,
deleteObjectTagging_expectedBucketOwner,
deleteObjectTagging_versionId,
deleteObjectTagging_bucket,
deleteObjectTagging_key,
DeleteObjectTaggingResponse (..),
newDeleteObjectTaggingResponse,
deleteObjectTaggingResponse_versionId,
deleteObjectTaggingResponse_httpStatus,
)
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 DeleteObjectTagging = DeleteObjectTagging'
{
DeleteObjectTagging -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
DeleteObjectTagging -> Maybe ObjectVersionId
versionId :: Prelude.Maybe ObjectVersionId,
DeleteObjectTagging -> BucketName
bucket :: BucketName,
DeleteObjectTagging -> ObjectKey
key :: ObjectKey
}
deriving (DeleteObjectTagging -> DeleteObjectTagging -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteObjectTagging -> DeleteObjectTagging -> Bool
$c/= :: DeleteObjectTagging -> DeleteObjectTagging -> Bool
== :: DeleteObjectTagging -> DeleteObjectTagging -> Bool
$c== :: DeleteObjectTagging -> DeleteObjectTagging -> Bool
Prelude.Eq, ReadPrec [DeleteObjectTagging]
ReadPrec DeleteObjectTagging
Int -> ReadS DeleteObjectTagging
ReadS [DeleteObjectTagging]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteObjectTagging]
$creadListPrec :: ReadPrec [DeleteObjectTagging]
readPrec :: ReadPrec DeleteObjectTagging
$creadPrec :: ReadPrec DeleteObjectTagging
readList :: ReadS [DeleteObjectTagging]
$creadList :: ReadS [DeleteObjectTagging]
readsPrec :: Int -> ReadS DeleteObjectTagging
$creadsPrec :: Int -> ReadS DeleteObjectTagging
Prelude.Read, Int -> DeleteObjectTagging -> ShowS
[DeleteObjectTagging] -> ShowS
DeleteObjectTagging -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteObjectTagging] -> ShowS
$cshowList :: [DeleteObjectTagging] -> ShowS
show :: DeleteObjectTagging -> String
$cshow :: DeleteObjectTagging -> String
showsPrec :: Int -> DeleteObjectTagging -> ShowS
$cshowsPrec :: Int -> DeleteObjectTagging -> ShowS
Prelude.Show, forall x. Rep DeleteObjectTagging x -> DeleteObjectTagging
forall x. DeleteObjectTagging -> Rep DeleteObjectTagging x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteObjectTagging x -> DeleteObjectTagging
$cfrom :: forall x. DeleteObjectTagging -> Rep DeleteObjectTagging x
Prelude.Generic)
newDeleteObjectTagging ::
BucketName ->
ObjectKey ->
DeleteObjectTagging
newDeleteObjectTagging :: BucketName -> ObjectKey -> DeleteObjectTagging
newDeleteObjectTagging BucketName
pBucket_ ObjectKey
pKey_ =
DeleteObjectTagging'
{ $sel:expectedBucketOwner:DeleteObjectTagging' :: Maybe Text
expectedBucketOwner =
forall a. Maybe a
Prelude.Nothing,
$sel:versionId:DeleteObjectTagging' :: Maybe ObjectVersionId
versionId = forall a. Maybe a
Prelude.Nothing,
$sel:bucket:DeleteObjectTagging' :: BucketName
bucket = BucketName
pBucket_,
$sel:key:DeleteObjectTagging' :: ObjectKey
key = ObjectKey
pKey_
}
deleteObjectTagging_expectedBucketOwner :: Lens.Lens' DeleteObjectTagging (Prelude.Maybe Prelude.Text)
deleteObjectTagging_expectedBucketOwner :: Lens' DeleteObjectTagging (Maybe Text)
deleteObjectTagging_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteObjectTagging' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: DeleteObjectTagging
s@DeleteObjectTagging' {} Maybe Text
a -> DeleteObjectTagging
s {$sel:expectedBucketOwner:DeleteObjectTagging' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: DeleteObjectTagging)
deleteObjectTagging_versionId :: Lens.Lens' DeleteObjectTagging (Prelude.Maybe ObjectVersionId)
deleteObjectTagging_versionId :: Lens' DeleteObjectTagging (Maybe ObjectVersionId)
deleteObjectTagging_versionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteObjectTagging' {Maybe ObjectVersionId
versionId :: Maybe ObjectVersionId
$sel:versionId:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe ObjectVersionId
versionId} -> Maybe ObjectVersionId
versionId) (\s :: DeleteObjectTagging
s@DeleteObjectTagging' {} Maybe ObjectVersionId
a -> DeleteObjectTagging
s {$sel:versionId:DeleteObjectTagging' :: Maybe ObjectVersionId
versionId = Maybe ObjectVersionId
a} :: DeleteObjectTagging)
deleteObjectTagging_bucket :: Lens.Lens' DeleteObjectTagging BucketName
deleteObjectTagging_bucket :: Lens' DeleteObjectTagging BucketName
deleteObjectTagging_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteObjectTagging' {BucketName
bucket :: BucketName
$sel:bucket:DeleteObjectTagging' :: DeleteObjectTagging -> BucketName
bucket} -> BucketName
bucket) (\s :: DeleteObjectTagging
s@DeleteObjectTagging' {} BucketName
a -> DeleteObjectTagging
s {$sel:bucket:DeleteObjectTagging' :: BucketName
bucket = BucketName
a} :: DeleteObjectTagging)
deleteObjectTagging_key :: Lens.Lens' DeleteObjectTagging ObjectKey
deleteObjectTagging_key :: Lens' DeleteObjectTagging ObjectKey
deleteObjectTagging_key = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteObjectTagging' {ObjectKey
key :: ObjectKey
$sel:key:DeleteObjectTagging' :: DeleteObjectTagging -> ObjectKey
key} -> ObjectKey
key) (\s :: DeleteObjectTagging
s@DeleteObjectTagging' {} ObjectKey
a -> DeleteObjectTagging
s {$sel:key:DeleteObjectTagging' :: ObjectKey
key = ObjectKey
a} :: DeleteObjectTagging)
instance Core.AWSRequest DeleteObjectTagging where
type
AWSResponse DeleteObjectTagging =
DeleteObjectTaggingResponse
request :: (Service -> Service)
-> DeleteObjectTagging -> Request DeleteObjectTagging
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 => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteObjectTagging
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteObjectTagging)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Maybe ObjectVersionId -> Int -> DeleteObjectTaggingResponse
DeleteObjectTaggingResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"x-amz-version-id")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable DeleteObjectTagging where
hashWithSalt :: Int -> DeleteObjectTagging -> Int
hashWithSalt Int
_salt DeleteObjectTagging' {Maybe Text
Maybe ObjectVersionId
ObjectKey
BucketName
key :: ObjectKey
bucket :: BucketName
versionId :: Maybe ObjectVersionId
expectedBucketOwner :: Maybe Text
$sel:key:DeleteObjectTagging' :: DeleteObjectTagging -> ObjectKey
$sel:bucket:DeleteObjectTagging' :: DeleteObjectTagging -> BucketName
$sel:versionId:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe ObjectVersionId
$sel:expectedBucketOwner:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
expectedBucketOwner
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ObjectVersionId
versionId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` BucketName
bucket
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ObjectKey
key
instance Prelude.NFData DeleteObjectTagging where
rnf :: DeleteObjectTagging -> ()
rnf DeleteObjectTagging' {Maybe Text
Maybe ObjectVersionId
ObjectKey
BucketName
key :: ObjectKey
bucket :: BucketName
versionId :: Maybe ObjectVersionId
expectedBucketOwner :: Maybe Text
$sel:key:DeleteObjectTagging' :: DeleteObjectTagging -> ObjectKey
$sel:bucket:DeleteObjectTagging' :: DeleteObjectTagging -> BucketName
$sel:versionId:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe ObjectVersionId
$sel:expectedBucketOwner:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe Text
..} =
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 ObjectVersionId
versionId
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 ObjectKey
key
instance Data.ToHeaders DeleteObjectTagging where
toHeaders :: DeleteObjectTagging -> ResponseHeaders
toHeaders DeleteObjectTagging' {Maybe Text
Maybe ObjectVersionId
ObjectKey
BucketName
key :: ObjectKey
bucket :: BucketName
versionId :: Maybe ObjectVersionId
expectedBucketOwner :: Maybe Text
$sel:key:DeleteObjectTagging' :: DeleteObjectTagging -> ObjectKey
$sel:bucket:DeleteObjectTagging' :: DeleteObjectTagging -> BucketName
$sel:versionId:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe ObjectVersionId
$sel:expectedBucketOwner:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"x-amz-expected-bucket-owner"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
expectedBucketOwner
]
instance Data.ToPath DeleteObjectTagging where
toPath :: DeleteObjectTagging -> ByteString
toPath DeleteObjectTagging' {Maybe Text
Maybe ObjectVersionId
ObjectKey
BucketName
key :: ObjectKey
bucket :: BucketName
versionId :: Maybe ObjectVersionId
expectedBucketOwner :: Maybe Text
$sel:key:DeleteObjectTagging' :: DeleteObjectTagging -> ObjectKey
$sel:bucket:DeleteObjectTagging' :: DeleteObjectTagging -> BucketName
$sel:versionId:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe ObjectVersionId
$sel:expectedBucketOwner:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket, ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS ObjectKey
key]
instance Data.ToQuery DeleteObjectTagging where
toQuery :: DeleteObjectTagging -> QueryString
toQuery DeleteObjectTagging' {Maybe Text
Maybe ObjectVersionId
ObjectKey
BucketName
key :: ObjectKey
bucket :: BucketName
versionId :: Maybe ObjectVersionId
expectedBucketOwner :: Maybe Text
$sel:key:DeleteObjectTagging' :: DeleteObjectTagging -> ObjectKey
$sel:bucket:DeleteObjectTagging' :: DeleteObjectTagging -> BucketName
$sel:versionId:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe ObjectVersionId
$sel:expectedBucketOwner:DeleteObjectTagging' :: DeleteObjectTagging -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"versionId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe ObjectVersionId
versionId, QueryString
"tagging"]
data DeleteObjectTaggingResponse = DeleteObjectTaggingResponse'
{
DeleteObjectTaggingResponse -> Maybe ObjectVersionId
versionId :: Prelude.Maybe ObjectVersionId,
DeleteObjectTaggingResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteObjectTaggingResponse -> DeleteObjectTaggingResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteObjectTaggingResponse -> DeleteObjectTaggingResponse -> Bool
$c/= :: DeleteObjectTaggingResponse -> DeleteObjectTaggingResponse -> Bool
== :: DeleteObjectTaggingResponse -> DeleteObjectTaggingResponse -> Bool
$c== :: DeleteObjectTaggingResponse -> DeleteObjectTaggingResponse -> Bool
Prelude.Eq, ReadPrec [DeleteObjectTaggingResponse]
ReadPrec DeleteObjectTaggingResponse
Int -> ReadS DeleteObjectTaggingResponse
ReadS [DeleteObjectTaggingResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteObjectTaggingResponse]
$creadListPrec :: ReadPrec [DeleteObjectTaggingResponse]
readPrec :: ReadPrec DeleteObjectTaggingResponse
$creadPrec :: ReadPrec DeleteObjectTaggingResponse
readList :: ReadS [DeleteObjectTaggingResponse]
$creadList :: ReadS [DeleteObjectTaggingResponse]
readsPrec :: Int -> ReadS DeleteObjectTaggingResponse
$creadsPrec :: Int -> ReadS DeleteObjectTaggingResponse
Prelude.Read, Int -> DeleteObjectTaggingResponse -> ShowS
[DeleteObjectTaggingResponse] -> ShowS
DeleteObjectTaggingResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteObjectTaggingResponse] -> ShowS
$cshowList :: [DeleteObjectTaggingResponse] -> ShowS
show :: DeleteObjectTaggingResponse -> String
$cshow :: DeleteObjectTaggingResponse -> String
showsPrec :: Int -> DeleteObjectTaggingResponse -> ShowS
$cshowsPrec :: Int -> DeleteObjectTaggingResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteObjectTaggingResponse x -> DeleteObjectTaggingResponse
forall x.
DeleteObjectTaggingResponse -> Rep DeleteObjectTaggingResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteObjectTaggingResponse x -> DeleteObjectTaggingResponse
$cfrom :: forall x.
DeleteObjectTaggingResponse -> Rep DeleteObjectTaggingResponse x
Prelude.Generic)
newDeleteObjectTaggingResponse ::
Prelude.Int ->
DeleteObjectTaggingResponse
newDeleteObjectTaggingResponse :: Int -> DeleteObjectTaggingResponse
newDeleteObjectTaggingResponse Int
pHttpStatus_ =
DeleteObjectTaggingResponse'
{ $sel:versionId:DeleteObjectTaggingResponse' :: Maybe ObjectVersionId
versionId =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteObjectTaggingResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteObjectTaggingResponse_versionId :: Lens.Lens' DeleteObjectTaggingResponse (Prelude.Maybe ObjectVersionId)
deleteObjectTaggingResponse_versionId :: Lens' DeleteObjectTaggingResponse (Maybe ObjectVersionId)
deleteObjectTaggingResponse_versionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteObjectTaggingResponse' {Maybe ObjectVersionId
versionId :: Maybe ObjectVersionId
$sel:versionId:DeleteObjectTaggingResponse' :: DeleteObjectTaggingResponse -> Maybe ObjectVersionId
versionId} -> Maybe ObjectVersionId
versionId) (\s :: DeleteObjectTaggingResponse
s@DeleteObjectTaggingResponse' {} Maybe ObjectVersionId
a -> DeleteObjectTaggingResponse
s {$sel:versionId:DeleteObjectTaggingResponse' :: Maybe ObjectVersionId
versionId = Maybe ObjectVersionId
a} :: DeleteObjectTaggingResponse)
deleteObjectTaggingResponse_httpStatus :: Lens.Lens' DeleteObjectTaggingResponse Prelude.Int
deleteObjectTaggingResponse_httpStatus :: Lens' DeleteObjectTaggingResponse Int
deleteObjectTaggingResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteObjectTaggingResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteObjectTaggingResponse' :: DeleteObjectTaggingResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteObjectTaggingResponse
s@DeleteObjectTaggingResponse' {} Int
a -> DeleteObjectTaggingResponse
s {$sel:httpStatus:DeleteObjectTaggingResponse' :: Int
httpStatus = Int
a} :: DeleteObjectTaggingResponse)
instance Prelude.NFData DeleteObjectTaggingResponse where
rnf :: DeleteObjectTaggingResponse -> ()
rnf DeleteObjectTaggingResponse' {Int
Maybe ObjectVersionId
httpStatus :: Int
versionId :: Maybe ObjectVersionId
$sel:httpStatus:DeleteObjectTaggingResponse' :: DeleteObjectTaggingResponse -> Int
$sel:versionId:DeleteObjectTaggingResponse' :: DeleteObjectTaggingResponse -> Maybe ObjectVersionId
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ObjectVersionId
versionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus