{-# 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.WorkDocs.RemoveResourcePermission
(
RemoveResourcePermission (..),
newRemoveResourcePermission,
removeResourcePermission_authenticationToken,
removeResourcePermission_principalType,
removeResourcePermission_resourceId,
removeResourcePermission_principalId,
RemoveResourcePermissionResponse (..),
newRemoveResourcePermissionResponse,
)
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.WorkDocs.Types
data RemoveResourcePermission = RemoveResourcePermission'
{
RemoveResourcePermission -> Maybe (Sensitive Text)
authenticationToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),
RemoveResourcePermission -> Maybe PrincipalType
principalType :: Prelude.Maybe PrincipalType,
RemoveResourcePermission -> Text
resourceId :: Prelude.Text,
RemoveResourcePermission -> Text
principalId :: Prelude.Text
}
deriving (RemoveResourcePermission -> RemoveResourcePermission -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveResourcePermission -> RemoveResourcePermission -> Bool
$c/= :: RemoveResourcePermission -> RemoveResourcePermission -> Bool
== :: RemoveResourcePermission -> RemoveResourcePermission -> Bool
$c== :: RemoveResourcePermission -> RemoveResourcePermission -> Bool
Prelude.Eq, Int -> RemoveResourcePermission -> ShowS
[RemoveResourcePermission] -> ShowS
RemoveResourcePermission -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveResourcePermission] -> ShowS
$cshowList :: [RemoveResourcePermission] -> ShowS
show :: RemoveResourcePermission -> String
$cshow :: RemoveResourcePermission -> String
showsPrec :: Int -> RemoveResourcePermission -> ShowS
$cshowsPrec :: Int -> RemoveResourcePermission -> ShowS
Prelude.Show, forall x.
Rep RemoveResourcePermission x -> RemoveResourcePermission
forall x.
RemoveResourcePermission -> Rep RemoveResourcePermission x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RemoveResourcePermission x -> RemoveResourcePermission
$cfrom :: forall x.
RemoveResourcePermission -> Rep RemoveResourcePermission x
Prelude.Generic)
newRemoveResourcePermission ::
Prelude.Text ->
Prelude.Text ->
RemoveResourcePermission
newRemoveResourcePermission :: Text -> Text -> RemoveResourcePermission
newRemoveResourcePermission
Text
pResourceId_
Text
pPrincipalId_ =
RemoveResourcePermission'
{ $sel:authenticationToken:RemoveResourcePermission' :: Maybe (Sensitive Text)
authenticationToken =
forall a. Maybe a
Prelude.Nothing,
$sel:principalType:RemoveResourcePermission' :: Maybe PrincipalType
principalType = forall a. Maybe a
Prelude.Nothing,
$sel:resourceId:RemoveResourcePermission' :: Text
resourceId = Text
pResourceId_,
$sel:principalId:RemoveResourcePermission' :: Text
principalId = Text
pPrincipalId_
}
removeResourcePermission_authenticationToken :: Lens.Lens' RemoveResourcePermission (Prelude.Maybe Prelude.Text)
removeResourcePermission_authenticationToken :: Lens' RemoveResourcePermission (Maybe Text)
removeResourcePermission_authenticationToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveResourcePermission' {Maybe (Sensitive Text)
authenticationToken :: Maybe (Sensitive Text)
$sel:authenticationToken:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe (Sensitive Text)
authenticationToken} -> Maybe (Sensitive Text)
authenticationToken) (\s :: RemoveResourcePermission
s@RemoveResourcePermission' {} Maybe (Sensitive Text)
a -> RemoveResourcePermission
s {$sel:authenticationToken:RemoveResourcePermission' :: Maybe (Sensitive Text)
authenticationToken = Maybe (Sensitive Text)
a} :: RemoveResourcePermission) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall a. Iso' (Sensitive a) a
Data._Sensitive
removeResourcePermission_principalType :: Lens.Lens' RemoveResourcePermission (Prelude.Maybe PrincipalType)
removeResourcePermission_principalType :: Lens' RemoveResourcePermission (Maybe PrincipalType)
removeResourcePermission_principalType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveResourcePermission' {Maybe PrincipalType
principalType :: Maybe PrincipalType
$sel:principalType:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe PrincipalType
principalType} -> Maybe PrincipalType
principalType) (\s :: RemoveResourcePermission
s@RemoveResourcePermission' {} Maybe PrincipalType
a -> RemoveResourcePermission
s {$sel:principalType:RemoveResourcePermission' :: Maybe PrincipalType
principalType = Maybe PrincipalType
a} :: RemoveResourcePermission)
removeResourcePermission_resourceId :: Lens.Lens' RemoveResourcePermission Prelude.Text
removeResourcePermission_resourceId :: Lens' RemoveResourcePermission Text
removeResourcePermission_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveResourcePermission' {Text
resourceId :: Text
$sel:resourceId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
resourceId} -> Text
resourceId) (\s :: RemoveResourcePermission
s@RemoveResourcePermission' {} Text
a -> RemoveResourcePermission
s {$sel:resourceId:RemoveResourcePermission' :: Text
resourceId = Text
a} :: RemoveResourcePermission)
removeResourcePermission_principalId :: Lens.Lens' RemoveResourcePermission Prelude.Text
removeResourcePermission_principalId :: Lens' RemoveResourcePermission Text
removeResourcePermission_principalId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveResourcePermission' {Text
principalId :: Text
$sel:principalId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
principalId} -> Text
principalId) (\s :: RemoveResourcePermission
s@RemoveResourcePermission' {} Text
a -> RemoveResourcePermission
s {$sel:principalId:RemoveResourcePermission' :: Text
principalId = Text
a} :: RemoveResourcePermission)
instance Core.AWSRequest RemoveResourcePermission where
type
AWSResponse RemoveResourcePermission =
RemoveResourcePermissionResponse
request :: (Service -> Service)
-> RemoveResourcePermission -> Request RemoveResourcePermission
request Service -> Service
overrides =
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 RemoveResourcePermission
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse RemoveResourcePermission)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
RemoveResourcePermissionResponse
RemoveResourcePermissionResponse'
instance Prelude.Hashable RemoveResourcePermission where
hashWithSalt :: Int -> RemoveResourcePermission -> Int
hashWithSalt Int
_salt RemoveResourcePermission' {Maybe (Sensitive Text)
Maybe PrincipalType
Text
principalId :: Text
resourceId :: Text
principalType :: Maybe PrincipalType
authenticationToken :: Maybe (Sensitive Text)
$sel:principalId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:resourceId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:principalType:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe PrincipalType
$sel:authenticationToken:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe (Sensitive Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
authenticationToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PrincipalType
principalType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
principalId
instance Prelude.NFData RemoveResourcePermission where
rnf :: RemoveResourcePermission -> ()
rnf RemoveResourcePermission' {Maybe (Sensitive Text)
Maybe PrincipalType
Text
principalId :: Text
resourceId :: Text
principalType :: Maybe PrincipalType
authenticationToken :: Maybe (Sensitive Text)
$sel:principalId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:resourceId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:principalType:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe PrincipalType
$sel:authenticationToken:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe (Sensitive Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
authenticationToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PrincipalType
principalType
seq :: forall a b. a -> b -> b
`Prelude.seq` 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
principalId
instance Data.ToHeaders RemoveResourcePermission where
toHeaders :: RemoveResourcePermission -> [Header]
toHeaders RemoveResourcePermission' {Maybe (Sensitive Text)
Maybe PrincipalType
Text
principalId :: Text
resourceId :: Text
principalType :: Maybe PrincipalType
authenticationToken :: Maybe (Sensitive Text)
$sel:principalId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:resourceId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:principalType:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe PrincipalType
$sel:authenticationToken:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Authentication" forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe (Sensitive Text)
authenticationToken,
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# (ByteString
"application/x-amz-json-1.1" :: Prelude.ByteString)
]
instance Data.ToPath RemoveResourcePermission where
toPath :: RemoveResourcePermission -> ByteString
toPath RemoveResourcePermission' {Maybe (Sensitive Text)
Maybe PrincipalType
Text
principalId :: Text
resourceId :: Text
principalType :: Maybe PrincipalType
authenticationToken :: Maybe (Sensitive Text)
$sel:principalId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:resourceId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:principalType:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe PrincipalType
$sel:authenticationToken:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/api/v1/resources/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceId,
ByteString
"/permissions/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
principalId
]
instance Data.ToQuery RemoveResourcePermission where
toQuery :: RemoveResourcePermission -> QueryString
toQuery RemoveResourcePermission' {Maybe (Sensitive Text)
Maybe PrincipalType
Text
principalId :: Text
resourceId :: Text
principalType :: Maybe PrincipalType
authenticationToken :: Maybe (Sensitive Text)
$sel:principalId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:resourceId:RemoveResourcePermission' :: RemoveResourcePermission -> Text
$sel:principalType:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe PrincipalType
$sel:authenticationToken:RemoveResourcePermission' :: RemoveResourcePermission -> Maybe (Sensitive Text)
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"type" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe PrincipalType
principalType]
data RemoveResourcePermissionResponse = RemoveResourcePermissionResponse'
{
}
deriving (RemoveResourcePermissionResponse
-> RemoveResourcePermissionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveResourcePermissionResponse
-> RemoveResourcePermissionResponse -> Bool
$c/= :: RemoveResourcePermissionResponse
-> RemoveResourcePermissionResponse -> Bool
== :: RemoveResourcePermissionResponse
-> RemoveResourcePermissionResponse -> Bool
$c== :: RemoveResourcePermissionResponse
-> RemoveResourcePermissionResponse -> Bool
Prelude.Eq, ReadPrec [RemoveResourcePermissionResponse]
ReadPrec RemoveResourcePermissionResponse
Int -> ReadS RemoveResourcePermissionResponse
ReadS [RemoveResourcePermissionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemoveResourcePermissionResponse]
$creadListPrec :: ReadPrec [RemoveResourcePermissionResponse]
readPrec :: ReadPrec RemoveResourcePermissionResponse
$creadPrec :: ReadPrec RemoveResourcePermissionResponse
readList :: ReadS [RemoveResourcePermissionResponse]
$creadList :: ReadS [RemoveResourcePermissionResponse]
readsPrec :: Int -> ReadS RemoveResourcePermissionResponse
$creadsPrec :: Int -> ReadS RemoveResourcePermissionResponse
Prelude.Read, Int -> RemoveResourcePermissionResponse -> ShowS
[RemoveResourcePermissionResponse] -> ShowS
RemoveResourcePermissionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveResourcePermissionResponse] -> ShowS
$cshowList :: [RemoveResourcePermissionResponse] -> ShowS
show :: RemoveResourcePermissionResponse -> String
$cshow :: RemoveResourcePermissionResponse -> String
showsPrec :: Int -> RemoveResourcePermissionResponse -> ShowS
$cshowsPrec :: Int -> RemoveResourcePermissionResponse -> ShowS
Prelude.Show, forall x.
Rep RemoveResourcePermissionResponse x
-> RemoveResourcePermissionResponse
forall x.
RemoveResourcePermissionResponse
-> Rep RemoveResourcePermissionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RemoveResourcePermissionResponse x
-> RemoveResourcePermissionResponse
$cfrom :: forall x.
RemoveResourcePermissionResponse
-> Rep RemoveResourcePermissionResponse x
Prelude.Generic)
newRemoveResourcePermissionResponse ::
RemoveResourcePermissionResponse
newRemoveResourcePermissionResponse :: RemoveResourcePermissionResponse
newRemoveResourcePermissionResponse =
RemoveResourcePermissionResponse
RemoveResourcePermissionResponse'
instance
Prelude.NFData
RemoveResourcePermissionResponse
where
rnf :: RemoveResourcePermissionResponse -> ()
rnf RemoveResourcePermissionResponse
_ = ()