{-# 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.ServiceCatalog.DisassociateTagOptionFromResource
(
DisassociateTagOptionFromResource (..),
newDisassociateTagOptionFromResource,
disassociateTagOptionFromResource_resourceId,
disassociateTagOptionFromResource_tagOptionId,
DisassociateTagOptionFromResourceResponse (..),
newDisassociateTagOptionFromResourceResponse,
disassociateTagOptionFromResourceResponse_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.ServiceCatalog.Types
data DisassociateTagOptionFromResource = DisassociateTagOptionFromResource'
{
DisassociateTagOptionFromResource -> Text
resourceId :: Prelude.Text,
DisassociateTagOptionFromResource -> Text
tagOptionId :: Prelude.Text
}
deriving (DisassociateTagOptionFromResource
-> DisassociateTagOptionFromResource -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateTagOptionFromResource
-> DisassociateTagOptionFromResource -> Bool
$c/= :: DisassociateTagOptionFromResource
-> DisassociateTagOptionFromResource -> Bool
== :: DisassociateTagOptionFromResource
-> DisassociateTagOptionFromResource -> Bool
$c== :: DisassociateTagOptionFromResource
-> DisassociateTagOptionFromResource -> Bool
Prelude.Eq, ReadPrec [DisassociateTagOptionFromResource]
ReadPrec DisassociateTagOptionFromResource
Int -> ReadS DisassociateTagOptionFromResource
ReadS [DisassociateTagOptionFromResource]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateTagOptionFromResource]
$creadListPrec :: ReadPrec [DisassociateTagOptionFromResource]
readPrec :: ReadPrec DisassociateTagOptionFromResource
$creadPrec :: ReadPrec DisassociateTagOptionFromResource
readList :: ReadS [DisassociateTagOptionFromResource]
$creadList :: ReadS [DisassociateTagOptionFromResource]
readsPrec :: Int -> ReadS DisassociateTagOptionFromResource
$creadsPrec :: Int -> ReadS DisassociateTagOptionFromResource
Prelude.Read, Int -> DisassociateTagOptionFromResource -> ShowS
[DisassociateTagOptionFromResource] -> ShowS
DisassociateTagOptionFromResource -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateTagOptionFromResource] -> ShowS
$cshowList :: [DisassociateTagOptionFromResource] -> ShowS
show :: DisassociateTagOptionFromResource -> String
$cshow :: DisassociateTagOptionFromResource -> String
showsPrec :: Int -> DisassociateTagOptionFromResource -> ShowS
$cshowsPrec :: Int -> DisassociateTagOptionFromResource -> ShowS
Prelude.Show, forall x.
Rep DisassociateTagOptionFromResource x
-> DisassociateTagOptionFromResource
forall x.
DisassociateTagOptionFromResource
-> Rep DisassociateTagOptionFromResource x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateTagOptionFromResource x
-> DisassociateTagOptionFromResource
$cfrom :: forall x.
DisassociateTagOptionFromResource
-> Rep DisassociateTagOptionFromResource x
Prelude.Generic)
newDisassociateTagOptionFromResource ::
Prelude.Text ->
Prelude.Text ->
DisassociateTagOptionFromResource
newDisassociateTagOptionFromResource :: Text -> Text -> DisassociateTagOptionFromResource
newDisassociateTagOptionFromResource
Text
pResourceId_
Text
pTagOptionId_ =
DisassociateTagOptionFromResource'
{ $sel:resourceId:DisassociateTagOptionFromResource' :: Text
resourceId =
Text
pResourceId_,
$sel:tagOptionId:DisassociateTagOptionFromResource' :: Text
tagOptionId = Text
pTagOptionId_
}
disassociateTagOptionFromResource_resourceId :: Lens.Lens' DisassociateTagOptionFromResource Prelude.Text
disassociateTagOptionFromResource_resourceId :: Lens' DisassociateTagOptionFromResource Text
disassociateTagOptionFromResource_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateTagOptionFromResource' {Text
resourceId :: Text
$sel:resourceId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
resourceId} -> Text
resourceId) (\s :: DisassociateTagOptionFromResource
s@DisassociateTagOptionFromResource' {} Text
a -> DisassociateTagOptionFromResource
s {$sel:resourceId:DisassociateTagOptionFromResource' :: Text
resourceId = Text
a} :: DisassociateTagOptionFromResource)
disassociateTagOptionFromResource_tagOptionId :: Lens.Lens' DisassociateTagOptionFromResource Prelude.Text
disassociateTagOptionFromResource_tagOptionId :: Lens' DisassociateTagOptionFromResource Text
disassociateTagOptionFromResource_tagOptionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateTagOptionFromResource' {Text
tagOptionId :: Text
$sel:tagOptionId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
tagOptionId} -> Text
tagOptionId) (\s :: DisassociateTagOptionFromResource
s@DisassociateTagOptionFromResource' {} Text
a -> DisassociateTagOptionFromResource
s {$sel:tagOptionId:DisassociateTagOptionFromResource' :: Text
tagOptionId = Text
a} :: DisassociateTagOptionFromResource)
instance
Core.AWSRequest
DisassociateTagOptionFromResource
where
type
AWSResponse DisassociateTagOptionFromResource =
DisassociateTagOptionFromResourceResponse
request :: (Service -> Service)
-> DisassociateTagOptionFromResource
-> Request DisassociateTagOptionFromResource
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 DisassociateTagOptionFromResource
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DisassociateTagOptionFromResource)))
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 ->
Int -> DisassociateTagOptionFromResourceResponse
DisassociateTagOptionFromResourceResponse'
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))
)
instance
Prelude.Hashable
DisassociateTagOptionFromResource
where
hashWithSalt :: Int -> DisassociateTagOptionFromResource -> Int
hashWithSalt
Int
_salt
DisassociateTagOptionFromResource' {Text
tagOptionId :: Text
resourceId :: Text
$sel:tagOptionId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
$sel:resourceId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
tagOptionId
instance
Prelude.NFData
DisassociateTagOptionFromResource
where
rnf :: DisassociateTagOptionFromResource -> ()
rnf DisassociateTagOptionFromResource' {Text
tagOptionId :: Text
resourceId :: Text
$sel:tagOptionId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
$sel:resourceId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
resourceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
tagOptionId
instance
Data.ToHeaders
DisassociateTagOptionFromResource
where
toHeaders :: DisassociateTagOptionFromResource -> 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
"AWS242ServiceCatalogService.DisassociateTagOptionFromResource" ::
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
DisassociateTagOptionFromResource
where
toJSON :: DisassociateTagOptionFromResource -> Value
toJSON DisassociateTagOptionFromResource' {Text
tagOptionId :: Text
resourceId :: Text
$sel:tagOptionId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
$sel:resourceId:DisassociateTagOptionFromResource' :: DisassociateTagOptionFromResource -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"ResourceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceId),
forall a. a -> Maybe a
Prelude.Just (Key
"TagOptionId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
tagOptionId)
]
)
instance
Data.ToPath
DisassociateTagOptionFromResource
where
toPath :: DisassociateTagOptionFromResource -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
DisassociateTagOptionFromResource
where
toQuery :: DisassociateTagOptionFromResource -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisassociateTagOptionFromResourceResponse = DisassociateTagOptionFromResourceResponse'
{
DisassociateTagOptionFromResourceResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociateTagOptionFromResourceResponse
-> DisassociateTagOptionFromResourceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateTagOptionFromResourceResponse
-> DisassociateTagOptionFromResourceResponse -> Bool
$c/= :: DisassociateTagOptionFromResourceResponse
-> DisassociateTagOptionFromResourceResponse -> Bool
== :: DisassociateTagOptionFromResourceResponse
-> DisassociateTagOptionFromResourceResponse -> Bool
$c== :: DisassociateTagOptionFromResourceResponse
-> DisassociateTagOptionFromResourceResponse -> Bool
Prelude.Eq, ReadPrec [DisassociateTagOptionFromResourceResponse]
ReadPrec DisassociateTagOptionFromResourceResponse
Int -> ReadS DisassociateTagOptionFromResourceResponse
ReadS [DisassociateTagOptionFromResourceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateTagOptionFromResourceResponse]
$creadListPrec :: ReadPrec [DisassociateTagOptionFromResourceResponse]
readPrec :: ReadPrec DisassociateTagOptionFromResourceResponse
$creadPrec :: ReadPrec DisassociateTagOptionFromResourceResponse
readList :: ReadS [DisassociateTagOptionFromResourceResponse]
$creadList :: ReadS [DisassociateTagOptionFromResourceResponse]
readsPrec :: Int -> ReadS DisassociateTagOptionFromResourceResponse
$creadsPrec :: Int -> ReadS DisassociateTagOptionFromResourceResponse
Prelude.Read, Int -> DisassociateTagOptionFromResourceResponse -> ShowS
[DisassociateTagOptionFromResourceResponse] -> ShowS
DisassociateTagOptionFromResourceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateTagOptionFromResourceResponse] -> ShowS
$cshowList :: [DisassociateTagOptionFromResourceResponse] -> ShowS
show :: DisassociateTagOptionFromResourceResponse -> String
$cshow :: DisassociateTagOptionFromResourceResponse -> String
showsPrec :: Int -> DisassociateTagOptionFromResourceResponse -> ShowS
$cshowsPrec :: Int -> DisassociateTagOptionFromResourceResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociateTagOptionFromResourceResponse x
-> DisassociateTagOptionFromResourceResponse
forall x.
DisassociateTagOptionFromResourceResponse
-> Rep DisassociateTagOptionFromResourceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateTagOptionFromResourceResponse x
-> DisassociateTagOptionFromResourceResponse
$cfrom :: forall x.
DisassociateTagOptionFromResourceResponse
-> Rep DisassociateTagOptionFromResourceResponse x
Prelude.Generic)
newDisassociateTagOptionFromResourceResponse ::
Prelude.Int ->
DisassociateTagOptionFromResourceResponse
newDisassociateTagOptionFromResourceResponse :: Int -> DisassociateTagOptionFromResourceResponse
newDisassociateTagOptionFromResourceResponse
Int
pHttpStatus_ =
DisassociateTagOptionFromResourceResponse'
{ $sel:httpStatus:DisassociateTagOptionFromResourceResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
disassociateTagOptionFromResourceResponse_httpStatus :: Lens.Lens' DisassociateTagOptionFromResourceResponse Prelude.Int
disassociateTagOptionFromResourceResponse_httpStatus :: Lens' DisassociateTagOptionFromResourceResponse Int
disassociateTagOptionFromResourceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateTagOptionFromResourceResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateTagOptionFromResourceResponse' :: DisassociateTagOptionFromResourceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociateTagOptionFromResourceResponse
s@DisassociateTagOptionFromResourceResponse' {} Int
a -> DisassociateTagOptionFromResourceResponse
s {$sel:httpStatus:DisassociateTagOptionFromResourceResponse' :: Int
httpStatus = Int
a} :: DisassociateTagOptionFromResourceResponse)
instance
Prelude.NFData
DisassociateTagOptionFromResourceResponse
where
rnf :: DisassociateTagOptionFromResourceResponse -> ()
rnf DisassociateTagOptionFromResourceResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateTagOptionFromResourceResponse' :: DisassociateTagOptionFromResourceResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus