{-# 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.AMP.DescribeWorkspace
(
DescribeWorkspace (..),
newDescribeWorkspace,
describeWorkspace_workspaceId,
DescribeWorkspaceResponse (..),
newDescribeWorkspaceResponse,
describeWorkspaceResponse_httpStatus,
describeWorkspaceResponse_workspace,
)
where
import Amazonka.AMP.Types
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
data DescribeWorkspace = DescribeWorkspace'
{
DescribeWorkspace -> Text
workspaceId :: Prelude.Text
}
deriving (DescribeWorkspace -> DescribeWorkspace -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeWorkspace -> DescribeWorkspace -> Bool
$c/= :: DescribeWorkspace -> DescribeWorkspace -> Bool
== :: DescribeWorkspace -> DescribeWorkspace -> Bool
$c== :: DescribeWorkspace -> DescribeWorkspace -> Bool
Prelude.Eq, ReadPrec [DescribeWorkspace]
ReadPrec DescribeWorkspace
Int -> ReadS DescribeWorkspace
ReadS [DescribeWorkspace]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeWorkspace]
$creadListPrec :: ReadPrec [DescribeWorkspace]
readPrec :: ReadPrec DescribeWorkspace
$creadPrec :: ReadPrec DescribeWorkspace
readList :: ReadS [DescribeWorkspace]
$creadList :: ReadS [DescribeWorkspace]
readsPrec :: Int -> ReadS DescribeWorkspace
$creadsPrec :: Int -> ReadS DescribeWorkspace
Prelude.Read, Int -> DescribeWorkspace -> ShowS
[DescribeWorkspace] -> ShowS
DescribeWorkspace -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeWorkspace] -> ShowS
$cshowList :: [DescribeWorkspace] -> ShowS
show :: DescribeWorkspace -> String
$cshow :: DescribeWorkspace -> String
showsPrec :: Int -> DescribeWorkspace -> ShowS
$cshowsPrec :: Int -> DescribeWorkspace -> ShowS
Prelude.Show, forall x. Rep DescribeWorkspace x -> DescribeWorkspace
forall x. DescribeWorkspace -> Rep DescribeWorkspace x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeWorkspace x -> DescribeWorkspace
$cfrom :: forall x. DescribeWorkspace -> Rep DescribeWorkspace x
Prelude.Generic)
newDescribeWorkspace ::
Prelude.Text ->
DescribeWorkspace
newDescribeWorkspace :: Text -> DescribeWorkspace
newDescribeWorkspace Text
pWorkspaceId_ =
DescribeWorkspace' {$sel:workspaceId:DescribeWorkspace' :: Text
workspaceId = Text
pWorkspaceId_}
describeWorkspace_workspaceId :: Lens.Lens' DescribeWorkspace Prelude.Text
describeWorkspace_workspaceId :: Lens' DescribeWorkspace Text
describeWorkspace_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeWorkspace' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspace' :: DescribeWorkspace -> Text
workspaceId} -> Text
workspaceId) (\s :: DescribeWorkspace
s@DescribeWorkspace' {} Text
a -> DescribeWorkspace
s {$sel:workspaceId:DescribeWorkspace' :: Text
workspaceId = Text
a} :: DescribeWorkspace)
instance Core.AWSRequest DescribeWorkspace where
type
AWSResponse DescribeWorkspace =
DescribeWorkspaceResponse
request :: (Service -> Service)
-> DescribeWorkspace -> Request DescribeWorkspace
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeWorkspace
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeWorkspace)))
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 ->
Int -> WorkspaceDescription -> DescribeWorkspaceResponse
DescribeWorkspaceResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"workspace")
)
instance Prelude.Hashable DescribeWorkspace where
hashWithSalt :: Int -> DescribeWorkspace -> Int
hashWithSalt Int
_salt DescribeWorkspace' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspace' :: DescribeWorkspace -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workspaceId
instance Prelude.NFData DescribeWorkspace where
rnf :: DescribeWorkspace -> ()
rnf DescribeWorkspace' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspace' :: DescribeWorkspace -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
instance Data.ToHeaders DescribeWorkspace where
toHeaders :: DescribeWorkspace -> 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.ToPath DescribeWorkspace where
toPath :: DescribeWorkspace -> ByteString
toPath DescribeWorkspace' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspace' :: DescribeWorkspace -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/workspaces/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
workspaceId]
instance Data.ToQuery DescribeWorkspace where
toQuery :: DescribeWorkspace -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeWorkspaceResponse = DescribeWorkspaceResponse'
{
DescribeWorkspaceResponse -> Int
httpStatus :: Prelude.Int,
DescribeWorkspaceResponse -> WorkspaceDescription
workspace :: WorkspaceDescription
}
deriving (DescribeWorkspaceResponse -> DescribeWorkspaceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeWorkspaceResponse -> DescribeWorkspaceResponse -> Bool
$c/= :: DescribeWorkspaceResponse -> DescribeWorkspaceResponse -> Bool
== :: DescribeWorkspaceResponse -> DescribeWorkspaceResponse -> Bool
$c== :: DescribeWorkspaceResponse -> DescribeWorkspaceResponse -> Bool
Prelude.Eq, ReadPrec [DescribeWorkspaceResponse]
ReadPrec DescribeWorkspaceResponse
Int -> ReadS DescribeWorkspaceResponse
ReadS [DescribeWorkspaceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeWorkspaceResponse]
$creadListPrec :: ReadPrec [DescribeWorkspaceResponse]
readPrec :: ReadPrec DescribeWorkspaceResponse
$creadPrec :: ReadPrec DescribeWorkspaceResponse
readList :: ReadS [DescribeWorkspaceResponse]
$creadList :: ReadS [DescribeWorkspaceResponse]
readsPrec :: Int -> ReadS DescribeWorkspaceResponse
$creadsPrec :: Int -> ReadS DescribeWorkspaceResponse
Prelude.Read, Int -> DescribeWorkspaceResponse -> ShowS
[DescribeWorkspaceResponse] -> ShowS
DescribeWorkspaceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeWorkspaceResponse] -> ShowS
$cshowList :: [DescribeWorkspaceResponse] -> ShowS
show :: DescribeWorkspaceResponse -> String
$cshow :: DescribeWorkspaceResponse -> String
showsPrec :: Int -> DescribeWorkspaceResponse -> ShowS
$cshowsPrec :: Int -> DescribeWorkspaceResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeWorkspaceResponse x -> DescribeWorkspaceResponse
forall x.
DescribeWorkspaceResponse -> Rep DescribeWorkspaceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeWorkspaceResponse x -> DescribeWorkspaceResponse
$cfrom :: forall x.
DescribeWorkspaceResponse -> Rep DescribeWorkspaceResponse x
Prelude.Generic)
newDescribeWorkspaceResponse ::
Prelude.Int ->
WorkspaceDescription ->
DescribeWorkspaceResponse
newDescribeWorkspaceResponse :: Int -> WorkspaceDescription -> DescribeWorkspaceResponse
newDescribeWorkspaceResponse Int
pHttpStatus_ WorkspaceDescription
pWorkspace_ =
DescribeWorkspaceResponse'
{ $sel:httpStatus:DescribeWorkspaceResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:workspace:DescribeWorkspaceResponse' :: WorkspaceDescription
workspace = WorkspaceDescription
pWorkspace_
}
describeWorkspaceResponse_httpStatus :: Lens.Lens' DescribeWorkspaceResponse Prelude.Int
describeWorkspaceResponse_httpStatus :: Lens' DescribeWorkspaceResponse Int
describeWorkspaceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeWorkspaceResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeWorkspaceResponse' :: DescribeWorkspaceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeWorkspaceResponse
s@DescribeWorkspaceResponse' {} Int
a -> DescribeWorkspaceResponse
s {$sel:httpStatus:DescribeWorkspaceResponse' :: Int
httpStatus = Int
a} :: DescribeWorkspaceResponse)
describeWorkspaceResponse_workspace :: Lens.Lens' DescribeWorkspaceResponse WorkspaceDescription
describeWorkspaceResponse_workspace :: Lens' DescribeWorkspaceResponse WorkspaceDescription
describeWorkspaceResponse_workspace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeWorkspaceResponse' {WorkspaceDescription
workspace :: WorkspaceDescription
$sel:workspace:DescribeWorkspaceResponse' :: DescribeWorkspaceResponse -> WorkspaceDescription
workspace} -> WorkspaceDescription
workspace) (\s :: DescribeWorkspaceResponse
s@DescribeWorkspaceResponse' {} WorkspaceDescription
a -> DescribeWorkspaceResponse
s {$sel:workspace:DescribeWorkspaceResponse' :: WorkspaceDescription
workspace = WorkspaceDescription
a} :: DescribeWorkspaceResponse)
instance Prelude.NFData DescribeWorkspaceResponse where
rnf :: DescribeWorkspaceResponse -> ()
rnf DescribeWorkspaceResponse' {Int
WorkspaceDescription
workspace :: WorkspaceDescription
httpStatus :: Int
$sel:workspace:DescribeWorkspaceResponse' :: DescribeWorkspaceResponse -> WorkspaceDescription
$sel:httpStatus:DescribeWorkspaceResponse' :: DescribeWorkspaceResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf WorkspaceDescription
workspace