{-# 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.WorkSpaces.ModifySelfservicePermissions
(
ModifySelfservicePermissions (..),
newModifySelfservicePermissions,
modifySelfservicePermissions_resourceId,
modifySelfservicePermissions_selfservicePermissions,
ModifySelfservicePermissionsResponse (..),
newModifySelfservicePermissionsResponse,
modifySelfservicePermissionsResponse_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.WorkSpaces.Types
data ModifySelfservicePermissions = ModifySelfservicePermissions'
{
ModifySelfservicePermissions -> Text
resourceId :: Prelude.Text,
ModifySelfservicePermissions -> SelfservicePermissions
selfservicePermissions :: SelfservicePermissions
}
deriving (ModifySelfservicePermissions
-> ModifySelfservicePermissions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifySelfservicePermissions
-> ModifySelfservicePermissions -> Bool
$c/= :: ModifySelfservicePermissions
-> ModifySelfservicePermissions -> Bool
== :: ModifySelfservicePermissions
-> ModifySelfservicePermissions -> Bool
$c== :: ModifySelfservicePermissions
-> ModifySelfservicePermissions -> Bool
Prelude.Eq, ReadPrec [ModifySelfservicePermissions]
ReadPrec ModifySelfservicePermissions
Int -> ReadS ModifySelfservicePermissions
ReadS [ModifySelfservicePermissions]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifySelfservicePermissions]
$creadListPrec :: ReadPrec [ModifySelfservicePermissions]
readPrec :: ReadPrec ModifySelfservicePermissions
$creadPrec :: ReadPrec ModifySelfservicePermissions
readList :: ReadS [ModifySelfservicePermissions]
$creadList :: ReadS [ModifySelfservicePermissions]
readsPrec :: Int -> ReadS ModifySelfservicePermissions
$creadsPrec :: Int -> ReadS ModifySelfservicePermissions
Prelude.Read, Int -> ModifySelfservicePermissions -> ShowS
[ModifySelfservicePermissions] -> ShowS
ModifySelfservicePermissions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifySelfservicePermissions] -> ShowS
$cshowList :: [ModifySelfservicePermissions] -> ShowS
show :: ModifySelfservicePermissions -> String
$cshow :: ModifySelfservicePermissions -> String
showsPrec :: Int -> ModifySelfservicePermissions -> ShowS
$cshowsPrec :: Int -> ModifySelfservicePermissions -> ShowS
Prelude.Show, forall x.
Rep ModifySelfservicePermissions x -> ModifySelfservicePermissions
forall x.
ModifySelfservicePermissions -> Rep ModifySelfservicePermissions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifySelfservicePermissions x -> ModifySelfservicePermissions
$cfrom :: forall x.
ModifySelfservicePermissions -> Rep ModifySelfservicePermissions x
Prelude.Generic)
newModifySelfservicePermissions ::
Prelude.Text ->
SelfservicePermissions ->
ModifySelfservicePermissions
newModifySelfservicePermissions :: Text -> SelfservicePermissions -> ModifySelfservicePermissions
newModifySelfservicePermissions
Text
pResourceId_
SelfservicePermissions
pSelfservicePermissions_ =
ModifySelfservicePermissions'
{ $sel:resourceId:ModifySelfservicePermissions' :: Text
resourceId =
Text
pResourceId_,
$sel:selfservicePermissions:ModifySelfservicePermissions' :: SelfservicePermissions
selfservicePermissions =
SelfservicePermissions
pSelfservicePermissions_
}
modifySelfservicePermissions_resourceId :: Lens.Lens' ModifySelfservicePermissions Prelude.Text
modifySelfservicePermissions_resourceId :: Lens' ModifySelfservicePermissions Text
modifySelfservicePermissions_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifySelfservicePermissions' {Text
resourceId :: Text
$sel:resourceId:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> Text
resourceId} -> Text
resourceId) (\s :: ModifySelfservicePermissions
s@ModifySelfservicePermissions' {} Text
a -> ModifySelfservicePermissions
s {$sel:resourceId:ModifySelfservicePermissions' :: Text
resourceId = Text
a} :: ModifySelfservicePermissions)
modifySelfservicePermissions_selfservicePermissions :: Lens.Lens' ModifySelfservicePermissions SelfservicePermissions
modifySelfservicePermissions_selfservicePermissions :: Lens' ModifySelfservicePermissions SelfservicePermissions
modifySelfservicePermissions_selfservicePermissions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifySelfservicePermissions' {SelfservicePermissions
selfservicePermissions :: SelfservicePermissions
$sel:selfservicePermissions:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> SelfservicePermissions
selfservicePermissions} -> SelfservicePermissions
selfservicePermissions) (\s :: ModifySelfservicePermissions
s@ModifySelfservicePermissions' {} SelfservicePermissions
a -> ModifySelfservicePermissions
s {$sel:selfservicePermissions:ModifySelfservicePermissions' :: SelfservicePermissions
selfservicePermissions = SelfservicePermissions
a} :: ModifySelfservicePermissions)
instance Core.AWSRequest ModifySelfservicePermissions where
type
AWSResponse ModifySelfservicePermissions =
ModifySelfservicePermissionsResponse
request :: (Service -> Service)
-> ModifySelfservicePermissions
-> Request ModifySelfservicePermissions
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 ModifySelfservicePermissions
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ModifySelfservicePermissions)))
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 -> ModifySelfservicePermissionsResponse
ModifySelfservicePermissionsResponse'
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
ModifySelfservicePermissions
where
hashWithSalt :: Int -> ModifySelfservicePermissions -> Int
hashWithSalt Int
_salt ModifySelfservicePermissions' {Text
SelfservicePermissions
selfservicePermissions :: SelfservicePermissions
resourceId :: Text
$sel:selfservicePermissions:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> SelfservicePermissions
$sel:resourceId:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` SelfservicePermissions
selfservicePermissions
instance Prelude.NFData ModifySelfservicePermissions where
rnf :: ModifySelfservicePermissions -> ()
rnf ModifySelfservicePermissions' {Text
SelfservicePermissions
selfservicePermissions :: SelfservicePermissions
resourceId :: Text
$sel:selfservicePermissions:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> SelfservicePermissions
$sel:resourceId:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> 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 SelfservicePermissions
selfservicePermissions
instance Data.ToHeaders ModifySelfservicePermissions where
toHeaders :: ModifySelfservicePermissions -> 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
"WorkspacesService.ModifySelfservicePermissions" ::
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 ModifySelfservicePermissions where
toJSON :: ModifySelfservicePermissions -> Value
toJSON ModifySelfservicePermissions' {Text
SelfservicePermissions
selfservicePermissions :: SelfservicePermissions
resourceId :: Text
$sel:selfservicePermissions:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> SelfservicePermissions
$sel:resourceId:ModifySelfservicePermissions' :: ModifySelfservicePermissions -> 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
"SelfservicePermissions"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= SelfservicePermissions
selfservicePermissions
)
]
)
instance Data.ToPath ModifySelfservicePermissions where
toPath :: ModifySelfservicePermissions -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ModifySelfservicePermissions where
toQuery :: ModifySelfservicePermissions -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ModifySelfservicePermissionsResponse = ModifySelfservicePermissionsResponse'
{
ModifySelfservicePermissionsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ModifySelfservicePermissionsResponse
-> ModifySelfservicePermissionsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifySelfservicePermissionsResponse
-> ModifySelfservicePermissionsResponse -> Bool
$c/= :: ModifySelfservicePermissionsResponse
-> ModifySelfservicePermissionsResponse -> Bool
== :: ModifySelfservicePermissionsResponse
-> ModifySelfservicePermissionsResponse -> Bool
$c== :: ModifySelfservicePermissionsResponse
-> ModifySelfservicePermissionsResponse -> Bool
Prelude.Eq, ReadPrec [ModifySelfservicePermissionsResponse]
ReadPrec ModifySelfservicePermissionsResponse
Int -> ReadS ModifySelfservicePermissionsResponse
ReadS [ModifySelfservicePermissionsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifySelfservicePermissionsResponse]
$creadListPrec :: ReadPrec [ModifySelfservicePermissionsResponse]
readPrec :: ReadPrec ModifySelfservicePermissionsResponse
$creadPrec :: ReadPrec ModifySelfservicePermissionsResponse
readList :: ReadS [ModifySelfservicePermissionsResponse]
$creadList :: ReadS [ModifySelfservicePermissionsResponse]
readsPrec :: Int -> ReadS ModifySelfservicePermissionsResponse
$creadsPrec :: Int -> ReadS ModifySelfservicePermissionsResponse
Prelude.Read, Int -> ModifySelfservicePermissionsResponse -> ShowS
[ModifySelfservicePermissionsResponse] -> ShowS
ModifySelfservicePermissionsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifySelfservicePermissionsResponse] -> ShowS
$cshowList :: [ModifySelfservicePermissionsResponse] -> ShowS
show :: ModifySelfservicePermissionsResponse -> String
$cshow :: ModifySelfservicePermissionsResponse -> String
showsPrec :: Int -> ModifySelfservicePermissionsResponse -> ShowS
$cshowsPrec :: Int -> ModifySelfservicePermissionsResponse -> ShowS
Prelude.Show, forall x.
Rep ModifySelfservicePermissionsResponse x
-> ModifySelfservicePermissionsResponse
forall x.
ModifySelfservicePermissionsResponse
-> Rep ModifySelfservicePermissionsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifySelfservicePermissionsResponse x
-> ModifySelfservicePermissionsResponse
$cfrom :: forall x.
ModifySelfservicePermissionsResponse
-> Rep ModifySelfservicePermissionsResponse x
Prelude.Generic)
newModifySelfservicePermissionsResponse ::
Prelude.Int ->
ModifySelfservicePermissionsResponse
newModifySelfservicePermissionsResponse :: Int -> ModifySelfservicePermissionsResponse
newModifySelfservicePermissionsResponse Int
pHttpStatus_ =
ModifySelfservicePermissionsResponse'
{ $sel:httpStatus:ModifySelfservicePermissionsResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
modifySelfservicePermissionsResponse_httpStatus :: Lens.Lens' ModifySelfservicePermissionsResponse Prelude.Int
modifySelfservicePermissionsResponse_httpStatus :: Lens' ModifySelfservicePermissionsResponse Int
modifySelfservicePermissionsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifySelfservicePermissionsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifySelfservicePermissionsResponse' :: ModifySelfservicePermissionsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ModifySelfservicePermissionsResponse
s@ModifySelfservicePermissionsResponse' {} Int
a -> ModifySelfservicePermissionsResponse
s {$sel:httpStatus:ModifySelfservicePermissionsResponse' :: Int
httpStatus = Int
a} :: ModifySelfservicePermissionsResponse)
instance
Prelude.NFData
ModifySelfservicePermissionsResponse
where
rnf :: ModifySelfservicePermissionsResponse -> ()
rnf ModifySelfservicePermissionsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifySelfservicePermissionsResponse' :: ModifySelfservicePermissionsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus