{-# 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.ModifyWorkspaceProperties
(
ModifyWorkspaceProperties (..),
newModifyWorkspaceProperties,
modifyWorkspaceProperties_workspaceId,
modifyWorkspaceProperties_workspaceProperties,
ModifyWorkspacePropertiesResponse (..),
newModifyWorkspacePropertiesResponse,
modifyWorkspacePropertiesResponse_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 ModifyWorkspaceProperties = ModifyWorkspaceProperties'
{
ModifyWorkspaceProperties -> Text
workspaceId :: Prelude.Text,
ModifyWorkspaceProperties -> WorkspaceProperties
workspaceProperties :: WorkspaceProperties
}
deriving (ModifyWorkspaceProperties -> ModifyWorkspaceProperties -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyWorkspaceProperties -> ModifyWorkspaceProperties -> Bool
$c/= :: ModifyWorkspaceProperties -> ModifyWorkspaceProperties -> Bool
== :: ModifyWorkspaceProperties -> ModifyWorkspaceProperties -> Bool
$c== :: ModifyWorkspaceProperties -> ModifyWorkspaceProperties -> Bool
Prelude.Eq, ReadPrec [ModifyWorkspaceProperties]
ReadPrec ModifyWorkspaceProperties
Int -> ReadS ModifyWorkspaceProperties
ReadS [ModifyWorkspaceProperties]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyWorkspaceProperties]
$creadListPrec :: ReadPrec [ModifyWorkspaceProperties]
readPrec :: ReadPrec ModifyWorkspaceProperties
$creadPrec :: ReadPrec ModifyWorkspaceProperties
readList :: ReadS [ModifyWorkspaceProperties]
$creadList :: ReadS [ModifyWorkspaceProperties]
readsPrec :: Int -> ReadS ModifyWorkspaceProperties
$creadsPrec :: Int -> ReadS ModifyWorkspaceProperties
Prelude.Read, Int -> ModifyWorkspaceProperties -> ShowS
[ModifyWorkspaceProperties] -> ShowS
ModifyWorkspaceProperties -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyWorkspaceProperties] -> ShowS
$cshowList :: [ModifyWorkspaceProperties] -> ShowS
show :: ModifyWorkspaceProperties -> String
$cshow :: ModifyWorkspaceProperties -> String
showsPrec :: Int -> ModifyWorkspaceProperties -> ShowS
$cshowsPrec :: Int -> ModifyWorkspaceProperties -> ShowS
Prelude.Show, forall x.
Rep ModifyWorkspaceProperties x -> ModifyWorkspaceProperties
forall x.
ModifyWorkspaceProperties -> Rep ModifyWorkspaceProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyWorkspaceProperties x -> ModifyWorkspaceProperties
$cfrom :: forall x.
ModifyWorkspaceProperties -> Rep ModifyWorkspaceProperties x
Prelude.Generic)
newModifyWorkspaceProperties ::
Prelude.Text ->
WorkspaceProperties ->
ModifyWorkspaceProperties
newModifyWorkspaceProperties :: Text -> WorkspaceProperties -> ModifyWorkspaceProperties
newModifyWorkspaceProperties
Text
pWorkspaceId_
WorkspaceProperties
pWorkspaceProperties_ =
ModifyWorkspaceProperties'
{ $sel:workspaceId:ModifyWorkspaceProperties' :: Text
workspaceId =
Text
pWorkspaceId_,
$sel:workspaceProperties:ModifyWorkspaceProperties' :: WorkspaceProperties
workspaceProperties = WorkspaceProperties
pWorkspaceProperties_
}
modifyWorkspaceProperties_workspaceId :: Lens.Lens' ModifyWorkspaceProperties Prelude.Text
modifyWorkspaceProperties_workspaceId :: Lens' ModifyWorkspaceProperties Text
modifyWorkspaceProperties_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyWorkspaceProperties' {Text
workspaceId :: Text
$sel:workspaceId:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> Text
workspaceId} -> Text
workspaceId) (\s :: ModifyWorkspaceProperties
s@ModifyWorkspaceProperties' {} Text
a -> ModifyWorkspaceProperties
s {$sel:workspaceId:ModifyWorkspaceProperties' :: Text
workspaceId = Text
a} :: ModifyWorkspaceProperties)
modifyWorkspaceProperties_workspaceProperties :: Lens.Lens' ModifyWorkspaceProperties WorkspaceProperties
modifyWorkspaceProperties_workspaceProperties :: Lens' ModifyWorkspaceProperties WorkspaceProperties
modifyWorkspaceProperties_workspaceProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyWorkspaceProperties' {WorkspaceProperties
workspaceProperties :: WorkspaceProperties
$sel:workspaceProperties:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> WorkspaceProperties
workspaceProperties} -> WorkspaceProperties
workspaceProperties) (\s :: ModifyWorkspaceProperties
s@ModifyWorkspaceProperties' {} WorkspaceProperties
a -> ModifyWorkspaceProperties
s {$sel:workspaceProperties:ModifyWorkspaceProperties' :: WorkspaceProperties
workspaceProperties = WorkspaceProperties
a} :: ModifyWorkspaceProperties)
instance Core.AWSRequest ModifyWorkspaceProperties where
type
AWSResponse ModifyWorkspaceProperties =
ModifyWorkspacePropertiesResponse
request :: (Service -> Service)
-> ModifyWorkspaceProperties -> Request ModifyWorkspaceProperties
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 ModifyWorkspaceProperties
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ModifyWorkspaceProperties)))
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 -> ModifyWorkspacePropertiesResponse
ModifyWorkspacePropertiesResponse'
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 ModifyWorkspaceProperties where
hashWithSalt :: Int -> ModifyWorkspaceProperties -> Int
hashWithSalt Int
_salt ModifyWorkspaceProperties' {Text
WorkspaceProperties
workspaceProperties :: WorkspaceProperties
workspaceId :: Text
$sel:workspaceProperties:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> WorkspaceProperties
$sel:workspaceId:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workspaceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` WorkspaceProperties
workspaceProperties
instance Prelude.NFData ModifyWorkspaceProperties where
rnf :: ModifyWorkspaceProperties -> ()
rnf ModifyWorkspaceProperties' {Text
WorkspaceProperties
workspaceProperties :: WorkspaceProperties
workspaceId :: Text
$sel:workspaceProperties:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> WorkspaceProperties
$sel:workspaceId:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf WorkspaceProperties
workspaceProperties
instance Data.ToHeaders ModifyWorkspaceProperties where
toHeaders :: ModifyWorkspaceProperties -> 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.ModifyWorkspaceProperties" ::
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 ModifyWorkspaceProperties where
toJSON :: ModifyWorkspaceProperties -> Value
toJSON ModifyWorkspaceProperties' {Text
WorkspaceProperties
workspaceProperties :: WorkspaceProperties
workspaceId :: Text
$sel:workspaceProperties:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> WorkspaceProperties
$sel:workspaceId:ModifyWorkspaceProperties' :: ModifyWorkspaceProperties -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"WorkspaceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
workspaceId),
forall a. a -> Maybe a
Prelude.Just
(Key
"WorkspaceProperties" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= WorkspaceProperties
workspaceProperties)
]
)
instance Data.ToPath ModifyWorkspaceProperties where
toPath :: ModifyWorkspaceProperties -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ModifyWorkspaceProperties where
toQuery :: ModifyWorkspaceProperties -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ModifyWorkspacePropertiesResponse = ModifyWorkspacePropertiesResponse'
{
ModifyWorkspacePropertiesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ModifyWorkspacePropertiesResponse
-> ModifyWorkspacePropertiesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyWorkspacePropertiesResponse
-> ModifyWorkspacePropertiesResponse -> Bool
$c/= :: ModifyWorkspacePropertiesResponse
-> ModifyWorkspacePropertiesResponse -> Bool
== :: ModifyWorkspacePropertiesResponse
-> ModifyWorkspacePropertiesResponse -> Bool
$c== :: ModifyWorkspacePropertiesResponse
-> ModifyWorkspacePropertiesResponse -> Bool
Prelude.Eq, ReadPrec [ModifyWorkspacePropertiesResponse]
ReadPrec ModifyWorkspacePropertiesResponse
Int -> ReadS ModifyWorkspacePropertiesResponse
ReadS [ModifyWorkspacePropertiesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModifyWorkspacePropertiesResponse]
$creadListPrec :: ReadPrec [ModifyWorkspacePropertiesResponse]
readPrec :: ReadPrec ModifyWorkspacePropertiesResponse
$creadPrec :: ReadPrec ModifyWorkspacePropertiesResponse
readList :: ReadS [ModifyWorkspacePropertiesResponse]
$creadList :: ReadS [ModifyWorkspacePropertiesResponse]
readsPrec :: Int -> ReadS ModifyWorkspacePropertiesResponse
$creadsPrec :: Int -> ReadS ModifyWorkspacePropertiesResponse
Prelude.Read, Int -> ModifyWorkspacePropertiesResponse -> ShowS
[ModifyWorkspacePropertiesResponse] -> ShowS
ModifyWorkspacePropertiesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyWorkspacePropertiesResponse] -> ShowS
$cshowList :: [ModifyWorkspacePropertiesResponse] -> ShowS
show :: ModifyWorkspacePropertiesResponse -> String
$cshow :: ModifyWorkspacePropertiesResponse -> String
showsPrec :: Int -> ModifyWorkspacePropertiesResponse -> ShowS
$cshowsPrec :: Int -> ModifyWorkspacePropertiesResponse -> ShowS
Prelude.Show, forall x.
Rep ModifyWorkspacePropertiesResponse x
-> ModifyWorkspacePropertiesResponse
forall x.
ModifyWorkspacePropertiesResponse
-> Rep ModifyWorkspacePropertiesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ModifyWorkspacePropertiesResponse x
-> ModifyWorkspacePropertiesResponse
$cfrom :: forall x.
ModifyWorkspacePropertiesResponse
-> Rep ModifyWorkspacePropertiesResponse x
Prelude.Generic)
newModifyWorkspacePropertiesResponse ::
Prelude.Int ->
ModifyWorkspacePropertiesResponse
newModifyWorkspacePropertiesResponse :: Int -> ModifyWorkspacePropertiesResponse
newModifyWorkspacePropertiesResponse Int
pHttpStatus_ =
ModifyWorkspacePropertiesResponse'
{ $sel:httpStatus:ModifyWorkspacePropertiesResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
modifyWorkspacePropertiesResponse_httpStatus :: Lens.Lens' ModifyWorkspacePropertiesResponse Prelude.Int
modifyWorkspacePropertiesResponse_httpStatus :: Lens' ModifyWorkspacePropertiesResponse Int
modifyWorkspacePropertiesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyWorkspacePropertiesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifyWorkspacePropertiesResponse' :: ModifyWorkspacePropertiesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ModifyWorkspacePropertiesResponse
s@ModifyWorkspacePropertiesResponse' {} Int
a -> ModifyWorkspacePropertiesResponse
s {$sel:httpStatus:ModifyWorkspacePropertiesResponse' :: Int
httpStatus = Int
a} :: ModifyWorkspacePropertiesResponse)
instance
Prelude.NFData
ModifyWorkspacePropertiesResponse
where
rnf :: ModifyWorkspacePropertiesResponse -> ()
rnf ModifyWorkspacePropertiesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifyWorkspacePropertiesResponse' :: ModifyWorkspacePropertiesResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus