{-# 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.RAM.DisassociateResourceSharePermission
(
DisassociateResourceSharePermission (..),
newDisassociateResourceSharePermission,
disassociateResourceSharePermission_clientToken,
disassociateResourceSharePermission_resourceShareArn,
disassociateResourceSharePermission_permissionArn,
DisassociateResourceSharePermissionResponse (..),
newDisassociateResourceSharePermissionResponse,
disassociateResourceSharePermissionResponse_clientToken,
disassociateResourceSharePermissionResponse_returnValue,
disassociateResourceSharePermissionResponse_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 Amazonka.RAM.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DisassociateResourceSharePermission = DisassociateResourceSharePermission'
{
DisassociateResourceSharePermission -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
DisassociateResourceSharePermission -> Text
resourceShareArn :: Prelude.Text,
DisassociateResourceSharePermission -> Text
permissionArn :: Prelude.Text
}
deriving (DisassociateResourceSharePermission
-> DisassociateResourceSharePermission -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateResourceSharePermission
-> DisassociateResourceSharePermission -> Bool
$c/= :: DisassociateResourceSharePermission
-> DisassociateResourceSharePermission -> Bool
== :: DisassociateResourceSharePermission
-> DisassociateResourceSharePermission -> Bool
$c== :: DisassociateResourceSharePermission
-> DisassociateResourceSharePermission -> Bool
Prelude.Eq, ReadPrec [DisassociateResourceSharePermission]
ReadPrec DisassociateResourceSharePermission
Int -> ReadS DisassociateResourceSharePermission
ReadS [DisassociateResourceSharePermission]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateResourceSharePermission]
$creadListPrec :: ReadPrec [DisassociateResourceSharePermission]
readPrec :: ReadPrec DisassociateResourceSharePermission
$creadPrec :: ReadPrec DisassociateResourceSharePermission
readList :: ReadS [DisassociateResourceSharePermission]
$creadList :: ReadS [DisassociateResourceSharePermission]
readsPrec :: Int -> ReadS DisassociateResourceSharePermission
$creadsPrec :: Int -> ReadS DisassociateResourceSharePermission
Prelude.Read, Int -> DisassociateResourceSharePermission -> ShowS
[DisassociateResourceSharePermission] -> ShowS
DisassociateResourceSharePermission -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateResourceSharePermission] -> ShowS
$cshowList :: [DisassociateResourceSharePermission] -> ShowS
show :: DisassociateResourceSharePermission -> String
$cshow :: DisassociateResourceSharePermission -> String
showsPrec :: Int -> DisassociateResourceSharePermission -> ShowS
$cshowsPrec :: Int -> DisassociateResourceSharePermission -> ShowS
Prelude.Show, forall x.
Rep DisassociateResourceSharePermission x
-> DisassociateResourceSharePermission
forall x.
DisassociateResourceSharePermission
-> Rep DisassociateResourceSharePermission x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateResourceSharePermission x
-> DisassociateResourceSharePermission
$cfrom :: forall x.
DisassociateResourceSharePermission
-> Rep DisassociateResourceSharePermission x
Prelude.Generic)
newDisassociateResourceSharePermission ::
Prelude.Text ->
Prelude.Text ->
DisassociateResourceSharePermission
newDisassociateResourceSharePermission :: Text -> Text -> DisassociateResourceSharePermission
newDisassociateResourceSharePermission
Text
pResourceShareArn_
Text
pPermissionArn_ =
DisassociateResourceSharePermission'
{ $sel:clientToken:DisassociateResourceSharePermission' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:resourceShareArn:DisassociateResourceSharePermission' :: Text
resourceShareArn = Text
pResourceShareArn_,
$sel:permissionArn:DisassociateResourceSharePermission' :: Text
permissionArn = Text
pPermissionArn_
}
disassociateResourceSharePermission_clientToken :: Lens.Lens' DisassociateResourceSharePermission (Prelude.Maybe Prelude.Text)
disassociateResourceSharePermission_clientToken :: Lens' DisassociateResourceSharePermission (Maybe Text)
disassociateResourceSharePermission_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResourceSharePermission' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: DisassociateResourceSharePermission
s@DisassociateResourceSharePermission' {} Maybe Text
a -> DisassociateResourceSharePermission
s {$sel:clientToken:DisassociateResourceSharePermission' :: Maybe Text
clientToken = Maybe Text
a} :: DisassociateResourceSharePermission)
disassociateResourceSharePermission_resourceShareArn :: Lens.Lens' DisassociateResourceSharePermission Prelude.Text
disassociateResourceSharePermission_resourceShareArn :: Lens' DisassociateResourceSharePermission Text
disassociateResourceSharePermission_resourceShareArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResourceSharePermission' {Text
resourceShareArn :: Text
$sel:resourceShareArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
resourceShareArn} -> Text
resourceShareArn) (\s :: DisassociateResourceSharePermission
s@DisassociateResourceSharePermission' {} Text
a -> DisassociateResourceSharePermission
s {$sel:resourceShareArn:DisassociateResourceSharePermission' :: Text
resourceShareArn = Text
a} :: DisassociateResourceSharePermission)
disassociateResourceSharePermission_permissionArn :: Lens.Lens' DisassociateResourceSharePermission Prelude.Text
disassociateResourceSharePermission_permissionArn :: Lens' DisassociateResourceSharePermission Text
disassociateResourceSharePermission_permissionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResourceSharePermission' {Text
permissionArn :: Text
$sel:permissionArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
permissionArn} -> Text
permissionArn) (\s :: DisassociateResourceSharePermission
s@DisassociateResourceSharePermission' {} Text
a -> DisassociateResourceSharePermission
s {$sel:permissionArn:DisassociateResourceSharePermission' :: Text
permissionArn = Text
a} :: DisassociateResourceSharePermission)
instance
Core.AWSRequest
DisassociateResourceSharePermission
where
type
AWSResponse DisassociateResourceSharePermission =
DisassociateResourceSharePermissionResponse
request :: (Service -> Service)
-> DisassociateResourceSharePermission
-> Request DisassociateResourceSharePermission
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 DisassociateResourceSharePermission
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DisassociateResourceSharePermission)))
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 ->
Maybe Text
-> Maybe Bool -> Int -> DisassociateResourceSharePermissionResponse
DisassociateResourceSharePermissionResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"clientToken")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"returnValue")
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
DisassociateResourceSharePermission
where
hashWithSalt :: Int -> DisassociateResourceSharePermission -> Int
hashWithSalt
Int
_salt
DisassociateResourceSharePermission' {Maybe Text
Text
permissionArn :: Text
resourceShareArn :: Text
clientToken :: Maybe Text
$sel:permissionArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
$sel:resourceShareArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
$sel:clientToken:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceShareArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
permissionArn
instance
Prelude.NFData
DisassociateResourceSharePermission
where
rnf :: DisassociateResourceSharePermission -> ()
rnf DisassociateResourceSharePermission' {Maybe Text
Text
permissionArn :: Text
resourceShareArn :: Text
clientToken :: Maybe Text
$sel:permissionArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
$sel:resourceShareArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
$sel:clientToken:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceShareArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
permissionArn
instance
Data.ToHeaders
DisassociateResourceSharePermission
where
toHeaders :: DisassociateResourceSharePermission -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance
Data.ToJSON
DisassociateResourceSharePermission
where
toJSON :: DisassociateResourceSharePermission -> Value
toJSON DisassociateResourceSharePermission' {Maybe Text
Text
permissionArn :: Text
resourceShareArn :: Text
clientToken :: Maybe Text
$sel:permissionArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
$sel:resourceShareArn:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Text
$sel:clientToken:DisassociateResourceSharePermission' :: DisassociateResourceSharePermission -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"clientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
clientToken,
forall a. a -> Maybe a
Prelude.Just
(Key
"resourceShareArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceShareArn),
forall a. a -> Maybe a
Prelude.Just
(Key
"permissionArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
permissionArn)
]
)
instance
Data.ToPath
DisassociateResourceSharePermission
where
toPath :: DisassociateResourceSharePermission -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const
ByteString
"/disassociateresourcesharepermission"
instance
Data.ToQuery
DisassociateResourceSharePermission
where
toQuery :: DisassociateResourceSharePermission -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DisassociateResourceSharePermissionResponse = DisassociateResourceSharePermissionResponse'
{
DisassociateResourceSharePermissionResponse -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
DisassociateResourceSharePermissionResponse -> Maybe Bool
returnValue :: Prelude.Maybe Prelude.Bool,
DisassociateResourceSharePermissionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DisassociateResourceSharePermissionResponse
-> DisassociateResourceSharePermissionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DisassociateResourceSharePermissionResponse
-> DisassociateResourceSharePermissionResponse -> Bool
$c/= :: DisassociateResourceSharePermissionResponse
-> DisassociateResourceSharePermissionResponse -> Bool
== :: DisassociateResourceSharePermissionResponse
-> DisassociateResourceSharePermissionResponse -> Bool
$c== :: DisassociateResourceSharePermissionResponse
-> DisassociateResourceSharePermissionResponse -> Bool
Prelude.Eq, ReadPrec [DisassociateResourceSharePermissionResponse]
ReadPrec DisassociateResourceSharePermissionResponse
Int -> ReadS DisassociateResourceSharePermissionResponse
ReadS [DisassociateResourceSharePermissionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DisassociateResourceSharePermissionResponse]
$creadListPrec :: ReadPrec [DisassociateResourceSharePermissionResponse]
readPrec :: ReadPrec DisassociateResourceSharePermissionResponse
$creadPrec :: ReadPrec DisassociateResourceSharePermissionResponse
readList :: ReadS [DisassociateResourceSharePermissionResponse]
$creadList :: ReadS [DisassociateResourceSharePermissionResponse]
readsPrec :: Int -> ReadS DisassociateResourceSharePermissionResponse
$creadsPrec :: Int -> ReadS DisassociateResourceSharePermissionResponse
Prelude.Read, Int -> DisassociateResourceSharePermissionResponse -> ShowS
[DisassociateResourceSharePermissionResponse] -> ShowS
DisassociateResourceSharePermissionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DisassociateResourceSharePermissionResponse] -> ShowS
$cshowList :: [DisassociateResourceSharePermissionResponse] -> ShowS
show :: DisassociateResourceSharePermissionResponse -> String
$cshow :: DisassociateResourceSharePermissionResponse -> String
showsPrec :: Int -> DisassociateResourceSharePermissionResponse -> ShowS
$cshowsPrec :: Int -> DisassociateResourceSharePermissionResponse -> ShowS
Prelude.Show, forall x.
Rep DisassociateResourceSharePermissionResponse x
-> DisassociateResourceSharePermissionResponse
forall x.
DisassociateResourceSharePermissionResponse
-> Rep DisassociateResourceSharePermissionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DisassociateResourceSharePermissionResponse x
-> DisassociateResourceSharePermissionResponse
$cfrom :: forall x.
DisassociateResourceSharePermissionResponse
-> Rep DisassociateResourceSharePermissionResponse x
Prelude.Generic)
newDisassociateResourceSharePermissionResponse ::
Prelude.Int ->
DisassociateResourceSharePermissionResponse
newDisassociateResourceSharePermissionResponse :: Int -> DisassociateResourceSharePermissionResponse
newDisassociateResourceSharePermissionResponse
Int
pHttpStatus_ =
DisassociateResourceSharePermissionResponse'
{ $sel:clientToken:DisassociateResourceSharePermissionResponse' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:returnValue:DisassociateResourceSharePermissionResponse' :: Maybe Bool
returnValue = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DisassociateResourceSharePermissionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
disassociateResourceSharePermissionResponse_clientToken :: Lens.Lens' DisassociateResourceSharePermissionResponse (Prelude.Maybe Prelude.Text)
disassociateResourceSharePermissionResponse_clientToken :: Lens' DisassociateResourceSharePermissionResponse (Maybe Text)
disassociateResourceSharePermissionResponse_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResourceSharePermissionResponse' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:DisassociateResourceSharePermissionResponse' :: DisassociateResourceSharePermissionResponse -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: DisassociateResourceSharePermissionResponse
s@DisassociateResourceSharePermissionResponse' {} Maybe Text
a -> DisassociateResourceSharePermissionResponse
s {$sel:clientToken:DisassociateResourceSharePermissionResponse' :: Maybe Text
clientToken = Maybe Text
a} :: DisassociateResourceSharePermissionResponse)
disassociateResourceSharePermissionResponse_returnValue :: Lens.Lens' DisassociateResourceSharePermissionResponse (Prelude.Maybe Prelude.Bool)
disassociateResourceSharePermissionResponse_returnValue :: Lens' DisassociateResourceSharePermissionResponse (Maybe Bool)
disassociateResourceSharePermissionResponse_returnValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResourceSharePermissionResponse' {Maybe Bool
returnValue :: Maybe Bool
$sel:returnValue:DisassociateResourceSharePermissionResponse' :: DisassociateResourceSharePermissionResponse -> Maybe Bool
returnValue} -> Maybe Bool
returnValue) (\s :: DisassociateResourceSharePermissionResponse
s@DisassociateResourceSharePermissionResponse' {} Maybe Bool
a -> DisassociateResourceSharePermissionResponse
s {$sel:returnValue:DisassociateResourceSharePermissionResponse' :: Maybe Bool
returnValue = Maybe Bool
a} :: DisassociateResourceSharePermissionResponse)
disassociateResourceSharePermissionResponse_httpStatus :: Lens.Lens' DisassociateResourceSharePermissionResponse Prelude.Int
disassociateResourceSharePermissionResponse_httpStatus :: Lens' DisassociateResourceSharePermissionResponse Int
disassociateResourceSharePermissionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DisassociateResourceSharePermissionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DisassociateResourceSharePermissionResponse' :: DisassociateResourceSharePermissionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DisassociateResourceSharePermissionResponse
s@DisassociateResourceSharePermissionResponse' {} Int
a -> DisassociateResourceSharePermissionResponse
s {$sel:httpStatus:DisassociateResourceSharePermissionResponse' :: Int
httpStatus = Int
a} :: DisassociateResourceSharePermissionResponse)
instance
Prelude.NFData
DisassociateResourceSharePermissionResponse
where
rnf :: DisassociateResourceSharePermissionResponse -> ()
rnf DisassociateResourceSharePermissionResponse' {Int
Maybe Bool
Maybe Text
httpStatus :: Int
returnValue :: Maybe Bool
clientToken :: Maybe Text
$sel:httpStatus:DisassociateResourceSharePermissionResponse' :: DisassociateResourceSharePermissionResponse -> Int
$sel:returnValue:DisassociateResourceSharePermissionResponse' :: DisassociateResourceSharePermissionResponse -> Maybe Bool
$sel:clientToken:DisassociateResourceSharePermissionResponse' :: DisassociateResourceSharePermissionResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
returnValue
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus