{-# 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.CloudHSM.RemoveTagsFromResource
(
RemoveTagsFromResource (..),
newRemoveTagsFromResource,
removeTagsFromResource_resourceArn,
removeTagsFromResource_tagKeyList,
RemoveTagsFromResourceResponse (..),
newRemoveTagsFromResourceResponse,
removeTagsFromResourceResponse_httpStatus,
removeTagsFromResourceResponse_status,
)
where
import Amazonka.CloudHSM.Types
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
data RemoveTagsFromResource = RemoveTagsFromResource'
{
RemoveTagsFromResource -> Text
resourceArn :: Prelude.Text,
RemoveTagsFromResource -> [Text]
tagKeyList :: [Prelude.Text]
}
deriving (RemoveTagsFromResource -> RemoveTagsFromResource -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveTagsFromResource -> RemoveTagsFromResource -> Bool
$c/= :: RemoveTagsFromResource -> RemoveTagsFromResource -> Bool
== :: RemoveTagsFromResource -> RemoveTagsFromResource -> Bool
$c== :: RemoveTagsFromResource -> RemoveTagsFromResource -> Bool
Prelude.Eq, ReadPrec [RemoveTagsFromResource]
ReadPrec RemoveTagsFromResource
Int -> ReadS RemoveTagsFromResource
ReadS [RemoveTagsFromResource]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemoveTagsFromResource]
$creadListPrec :: ReadPrec [RemoveTagsFromResource]
readPrec :: ReadPrec RemoveTagsFromResource
$creadPrec :: ReadPrec RemoveTagsFromResource
readList :: ReadS [RemoveTagsFromResource]
$creadList :: ReadS [RemoveTagsFromResource]
readsPrec :: Int -> ReadS RemoveTagsFromResource
$creadsPrec :: Int -> ReadS RemoveTagsFromResource
Prelude.Read, Int -> RemoveTagsFromResource -> ShowS
[RemoveTagsFromResource] -> ShowS
RemoveTagsFromResource -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveTagsFromResource] -> ShowS
$cshowList :: [RemoveTagsFromResource] -> ShowS
show :: RemoveTagsFromResource -> String
$cshow :: RemoveTagsFromResource -> String
showsPrec :: Int -> RemoveTagsFromResource -> ShowS
$cshowsPrec :: Int -> RemoveTagsFromResource -> ShowS
Prelude.Show, forall x. Rep RemoveTagsFromResource x -> RemoveTagsFromResource
forall x. RemoveTagsFromResource -> Rep RemoveTagsFromResource x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RemoveTagsFromResource x -> RemoveTagsFromResource
$cfrom :: forall x. RemoveTagsFromResource -> Rep RemoveTagsFromResource x
Prelude.Generic)
newRemoveTagsFromResource ::
Prelude.Text ->
RemoveTagsFromResource
newRemoveTagsFromResource :: Text -> RemoveTagsFromResource
newRemoveTagsFromResource Text
pResourceArn_ =
RemoveTagsFromResource'
{ $sel:resourceArn:RemoveTagsFromResource' :: Text
resourceArn =
Text
pResourceArn_,
$sel:tagKeyList:RemoveTagsFromResource' :: [Text]
tagKeyList = forall a. Monoid a => a
Prelude.mempty
}
removeTagsFromResource_resourceArn :: Lens.Lens' RemoveTagsFromResource Prelude.Text
removeTagsFromResource_resourceArn :: Lens' RemoveTagsFromResource Text
removeTagsFromResource_resourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveTagsFromResource' {Text
resourceArn :: Text
$sel:resourceArn:RemoveTagsFromResource' :: RemoveTagsFromResource -> Text
resourceArn} -> Text
resourceArn) (\s :: RemoveTagsFromResource
s@RemoveTagsFromResource' {} Text
a -> RemoveTagsFromResource
s {$sel:resourceArn:RemoveTagsFromResource' :: Text
resourceArn = Text
a} :: RemoveTagsFromResource)
removeTagsFromResource_tagKeyList :: Lens.Lens' RemoveTagsFromResource [Prelude.Text]
removeTagsFromResource_tagKeyList :: Lens' RemoveTagsFromResource [Text]
removeTagsFromResource_tagKeyList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveTagsFromResource' {[Text]
tagKeyList :: [Text]
$sel:tagKeyList:RemoveTagsFromResource' :: RemoveTagsFromResource -> [Text]
tagKeyList} -> [Text]
tagKeyList) (\s :: RemoveTagsFromResource
s@RemoveTagsFromResource' {} [Text]
a -> RemoveTagsFromResource
s {$sel:tagKeyList:RemoveTagsFromResource' :: [Text]
tagKeyList = [Text]
a} :: RemoveTagsFromResource) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest RemoveTagsFromResource where
type
AWSResponse RemoveTagsFromResource =
RemoveTagsFromResourceResponse
request :: (Service -> Service)
-> RemoveTagsFromResource -> Request RemoveTagsFromResource
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy RemoveTagsFromResource
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse RemoveTagsFromResource)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int -> Text -> RemoveTagsFromResourceResponse
RemoveTagsFromResourceResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Status")
)
instance Prelude.Hashable RemoveTagsFromResource where
hashWithSalt :: Int -> RemoveTagsFromResource -> Int
hashWithSalt Int
_salt RemoveTagsFromResource' {[Text]
Text
tagKeyList :: [Text]
resourceArn :: Text
$sel:tagKeyList:RemoveTagsFromResource' :: RemoveTagsFromResource -> [Text]
$sel:resourceArn:RemoveTagsFromResource' :: RemoveTagsFromResource -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
tagKeyList
instance Prelude.NFData RemoveTagsFromResource where
rnf :: RemoveTagsFromResource -> ()
rnf RemoveTagsFromResource' {[Text]
Text
tagKeyList :: [Text]
resourceArn :: Text
$sel:tagKeyList:RemoveTagsFromResource' :: RemoveTagsFromResource -> [Text]
$sel:resourceArn:RemoveTagsFromResource' :: RemoveTagsFromResource -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
resourceArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
tagKeyList
instance Data.ToHeaders RemoveTagsFromResource where
toHeaders :: RemoveTagsFromResource -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"CloudHsmFrontendService.RemoveTagsFromResource" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON RemoveTagsFromResource where
toJSON :: RemoveTagsFromResource -> Value
toJSON RemoveTagsFromResource' {[Text]
Text
tagKeyList :: [Text]
resourceArn :: Text
$sel:tagKeyList:RemoveTagsFromResource' :: RemoveTagsFromResource -> [Text]
$sel:resourceArn:RemoveTagsFromResource' :: RemoveTagsFromResource -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"ResourceArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceArn),
forall a. a -> Maybe a
Prelude.Just (Key
"TagKeyList" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
tagKeyList)
]
)
instance Data.ToPath RemoveTagsFromResource where
toPath :: RemoveTagsFromResource -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery RemoveTagsFromResource where
toQuery :: RemoveTagsFromResource -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data RemoveTagsFromResourceResponse = RemoveTagsFromResourceResponse'
{
RemoveTagsFromResourceResponse -> Int
httpStatus :: Prelude.Int,
RemoveTagsFromResourceResponse -> Text
status :: Prelude.Text
}
deriving (RemoveTagsFromResourceResponse
-> RemoveTagsFromResourceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveTagsFromResourceResponse
-> RemoveTagsFromResourceResponse -> Bool
$c/= :: RemoveTagsFromResourceResponse
-> RemoveTagsFromResourceResponse -> Bool
== :: RemoveTagsFromResourceResponse
-> RemoveTagsFromResourceResponse -> Bool
$c== :: RemoveTagsFromResourceResponse
-> RemoveTagsFromResourceResponse -> Bool
Prelude.Eq, ReadPrec [RemoveTagsFromResourceResponse]
ReadPrec RemoveTagsFromResourceResponse
Int -> ReadS RemoveTagsFromResourceResponse
ReadS [RemoveTagsFromResourceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemoveTagsFromResourceResponse]
$creadListPrec :: ReadPrec [RemoveTagsFromResourceResponse]
readPrec :: ReadPrec RemoveTagsFromResourceResponse
$creadPrec :: ReadPrec RemoveTagsFromResourceResponse
readList :: ReadS [RemoveTagsFromResourceResponse]
$creadList :: ReadS [RemoveTagsFromResourceResponse]
readsPrec :: Int -> ReadS RemoveTagsFromResourceResponse
$creadsPrec :: Int -> ReadS RemoveTagsFromResourceResponse
Prelude.Read, Int -> RemoveTagsFromResourceResponse -> ShowS
[RemoveTagsFromResourceResponse] -> ShowS
RemoveTagsFromResourceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveTagsFromResourceResponse] -> ShowS
$cshowList :: [RemoveTagsFromResourceResponse] -> ShowS
show :: RemoveTagsFromResourceResponse -> String
$cshow :: RemoveTagsFromResourceResponse -> String
showsPrec :: Int -> RemoveTagsFromResourceResponse -> ShowS
$cshowsPrec :: Int -> RemoveTagsFromResourceResponse -> ShowS
Prelude.Show, forall x.
Rep RemoveTagsFromResourceResponse x
-> RemoveTagsFromResourceResponse
forall x.
RemoveTagsFromResourceResponse
-> Rep RemoveTagsFromResourceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RemoveTagsFromResourceResponse x
-> RemoveTagsFromResourceResponse
$cfrom :: forall x.
RemoveTagsFromResourceResponse
-> Rep RemoveTagsFromResourceResponse x
Prelude.Generic)
newRemoveTagsFromResourceResponse ::
Prelude.Int ->
Prelude.Text ->
RemoveTagsFromResourceResponse
newRemoveTagsFromResourceResponse :: Int -> Text -> RemoveTagsFromResourceResponse
newRemoveTagsFromResourceResponse
Int
pHttpStatus_
Text
pStatus_ =
RemoveTagsFromResourceResponse'
{ $sel:httpStatus:RemoveTagsFromResourceResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:status:RemoveTagsFromResourceResponse' :: Text
status = Text
pStatus_
}
removeTagsFromResourceResponse_httpStatus :: Lens.Lens' RemoveTagsFromResourceResponse Prelude.Int
removeTagsFromResourceResponse_httpStatus :: Lens' RemoveTagsFromResourceResponse Int
removeTagsFromResourceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveTagsFromResourceResponse' {Int
httpStatus :: Int
$sel:httpStatus:RemoveTagsFromResourceResponse' :: RemoveTagsFromResourceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: RemoveTagsFromResourceResponse
s@RemoveTagsFromResourceResponse' {} Int
a -> RemoveTagsFromResourceResponse
s {$sel:httpStatus:RemoveTagsFromResourceResponse' :: Int
httpStatus = Int
a} :: RemoveTagsFromResourceResponse)
removeTagsFromResourceResponse_status :: Lens.Lens' RemoveTagsFromResourceResponse Prelude.Text
removeTagsFromResourceResponse_status :: Lens' RemoveTagsFromResourceResponse Text
removeTagsFromResourceResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveTagsFromResourceResponse' {Text
status :: Text
$sel:status:RemoveTagsFromResourceResponse' :: RemoveTagsFromResourceResponse -> Text
status} -> Text
status) (\s :: RemoveTagsFromResourceResponse
s@RemoveTagsFromResourceResponse' {} Text
a -> RemoveTagsFromResourceResponse
s {$sel:status:RemoveTagsFromResourceResponse' :: Text
status = Text
a} :: RemoveTagsFromResourceResponse)
instance
Prelude.NFData
RemoveTagsFromResourceResponse
where
rnf :: RemoveTagsFromResourceResponse -> ()
rnf RemoveTagsFromResourceResponse' {Int
Text
status :: Text
httpStatus :: Int
$sel:status:RemoveTagsFromResourceResponse' :: RemoveTagsFromResourceResponse -> Text
$sel:httpStatus:RemoveTagsFromResourceResponse' :: RemoveTagsFromResourceResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
status