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