{-# 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.DescribeWorkspaceSnapshots
(
DescribeWorkspaceSnapshots (..),
newDescribeWorkspaceSnapshots,
describeWorkspaceSnapshots_workspaceId,
DescribeWorkspaceSnapshotsResponse (..),
newDescribeWorkspaceSnapshotsResponse,
describeWorkspaceSnapshotsResponse_rebuildSnapshots,
describeWorkspaceSnapshotsResponse_restoreSnapshots,
describeWorkspaceSnapshotsResponse_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 DescribeWorkspaceSnapshots = DescribeWorkspaceSnapshots'
{
DescribeWorkspaceSnapshots -> Text
workspaceId :: Prelude.Text
}
deriving (DescribeWorkspaceSnapshots -> DescribeWorkspaceSnapshots -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeWorkspaceSnapshots -> DescribeWorkspaceSnapshots -> Bool
$c/= :: DescribeWorkspaceSnapshots -> DescribeWorkspaceSnapshots -> Bool
== :: DescribeWorkspaceSnapshots -> DescribeWorkspaceSnapshots -> Bool
$c== :: DescribeWorkspaceSnapshots -> DescribeWorkspaceSnapshots -> Bool
Prelude.Eq, ReadPrec [DescribeWorkspaceSnapshots]
ReadPrec DescribeWorkspaceSnapshots
Int -> ReadS DescribeWorkspaceSnapshots
ReadS [DescribeWorkspaceSnapshots]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeWorkspaceSnapshots]
$creadListPrec :: ReadPrec [DescribeWorkspaceSnapshots]
readPrec :: ReadPrec DescribeWorkspaceSnapshots
$creadPrec :: ReadPrec DescribeWorkspaceSnapshots
readList :: ReadS [DescribeWorkspaceSnapshots]
$creadList :: ReadS [DescribeWorkspaceSnapshots]
readsPrec :: Int -> ReadS DescribeWorkspaceSnapshots
$creadsPrec :: Int -> ReadS DescribeWorkspaceSnapshots
Prelude.Read, Int -> DescribeWorkspaceSnapshots -> ShowS
[DescribeWorkspaceSnapshots] -> ShowS
DescribeWorkspaceSnapshots -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeWorkspaceSnapshots] -> ShowS
$cshowList :: [DescribeWorkspaceSnapshots] -> ShowS
show :: DescribeWorkspaceSnapshots -> String
$cshow :: DescribeWorkspaceSnapshots -> String
showsPrec :: Int -> DescribeWorkspaceSnapshots -> ShowS
$cshowsPrec :: Int -> DescribeWorkspaceSnapshots -> ShowS
Prelude.Show, forall x.
Rep DescribeWorkspaceSnapshots x -> DescribeWorkspaceSnapshots
forall x.
DescribeWorkspaceSnapshots -> Rep DescribeWorkspaceSnapshots x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeWorkspaceSnapshots x -> DescribeWorkspaceSnapshots
$cfrom :: forall x.
DescribeWorkspaceSnapshots -> Rep DescribeWorkspaceSnapshots x
Prelude.Generic)
newDescribeWorkspaceSnapshots ::
Prelude.Text ->
DescribeWorkspaceSnapshots
newDescribeWorkspaceSnapshots :: Text -> DescribeWorkspaceSnapshots
newDescribeWorkspaceSnapshots Text
pWorkspaceId_ =
DescribeWorkspaceSnapshots'
{ $sel:workspaceId:DescribeWorkspaceSnapshots' :: Text
workspaceId =
Text
pWorkspaceId_
}
describeWorkspaceSnapshots_workspaceId :: Lens.Lens' DescribeWorkspaceSnapshots Prelude.Text
describeWorkspaceSnapshots_workspaceId :: Lens' DescribeWorkspaceSnapshots Text
describeWorkspaceSnapshots_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeWorkspaceSnapshots' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspaceSnapshots' :: DescribeWorkspaceSnapshots -> Text
workspaceId} -> Text
workspaceId) (\s :: DescribeWorkspaceSnapshots
s@DescribeWorkspaceSnapshots' {} Text
a -> DescribeWorkspaceSnapshots
s {$sel:workspaceId:DescribeWorkspaceSnapshots' :: Text
workspaceId = Text
a} :: DescribeWorkspaceSnapshots)
instance Core.AWSRequest DescribeWorkspaceSnapshots where
type
AWSResponse DescribeWorkspaceSnapshots =
DescribeWorkspaceSnapshotsResponse
request :: (Service -> Service)
-> DescribeWorkspaceSnapshots -> Request DescribeWorkspaceSnapshots
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 DescribeWorkspaceSnapshots
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeWorkspaceSnapshots)))
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 ->
Maybe [Snapshot]
-> Maybe [Snapshot] -> Int -> DescribeWorkspaceSnapshotsResponse
DescribeWorkspaceSnapshotsResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RebuildSnapshots"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RestoreSnapshots"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => 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 DescribeWorkspaceSnapshots where
hashWithSalt :: Int -> DescribeWorkspaceSnapshots -> Int
hashWithSalt Int
_salt DescribeWorkspaceSnapshots' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspaceSnapshots' :: DescribeWorkspaceSnapshots -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workspaceId
instance Prelude.NFData DescribeWorkspaceSnapshots where
rnf :: DescribeWorkspaceSnapshots -> ()
rnf DescribeWorkspaceSnapshots' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspaceSnapshots' :: DescribeWorkspaceSnapshots -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
instance Data.ToHeaders DescribeWorkspaceSnapshots where
toHeaders :: DescribeWorkspaceSnapshots -> 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.DescribeWorkspaceSnapshots" ::
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 DescribeWorkspaceSnapshots where
toJSON :: DescribeWorkspaceSnapshots -> Value
toJSON DescribeWorkspaceSnapshots' {Text
workspaceId :: Text
$sel:workspaceId:DescribeWorkspaceSnapshots' :: DescribeWorkspaceSnapshots -> 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)]
)
instance Data.ToPath DescribeWorkspaceSnapshots where
toPath :: DescribeWorkspaceSnapshots -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeWorkspaceSnapshots where
toQuery :: DescribeWorkspaceSnapshots -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeWorkspaceSnapshotsResponse = DescribeWorkspaceSnapshotsResponse'
{
DescribeWorkspaceSnapshotsResponse -> Maybe [Snapshot]
rebuildSnapshots :: Prelude.Maybe [Snapshot],
DescribeWorkspaceSnapshotsResponse -> Maybe [Snapshot]
restoreSnapshots :: Prelude.Maybe [Snapshot],
DescribeWorkspaceSnapshotsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeWorkspaceSnapshotsResponse
-> DescribeWorkspaceSnapshotsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeWorkspaceSnapshotsResponse
-> DescribeWorkspaceSnapshotsResponse -> Bool
$c/= :: DescribeWorkspaceSnapshotsResponse
-> DescribeWorkspaceSnapshotsResponse -> Bool
== :: DescribeWorkspaceSnapshotsResponse
-> DescribeWorkspaceSnapshotsResponse -> Bool
$c== :: DescribeWorkspaceSnapshotsResponse
-> DescribeWorkspaceSnapshotsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeWorkspaceSnapshotsResponse]
ReadPrec DescribeWorkspaceSnapshotsResponse
Int -> ReadS DescribeWorkspaceSnapshotsResponse
ReadS [DescribeWorkspaceSnapshotsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeWorkspaceSnapshotsResponse]
$creadListPrec :: ReadPrec [DescribeWorkspaceSnapshotsResponse]
readPrec :: ReadPrec DescribeWorkspaceSnapshotsResponse
$creadPrec :: ReadPrec DescribeWorkspaceSnapshotsResponse
readList :: ReadS [DescribeWorkspaceSnapshotsResponse]
$creadList :: ReadS [DescribeWorkspaceSnapshotsResponse]
readsPrec :: Int -> ReadS DescribeWorkspaceSnapshotsResponse
$creadsPrec :: Int -> ReadS DescribeWorkspaceSnapshotsResponse
Prelude.Read, Int -> DescribeWorkspaceSnapshotsResponse -> ShowS
[DescribeWorkspaceSnapshotsResponse] -> ShowS
DescribeWorkspaceSnapshotsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeWorkspaceSnapshotsResponse] -> ShowS
$cshowList :: [DescribeWorkspaceSnapshotsResponse] -> ShowS
show :: DescribeWorkspaceSnapshotsResponse -> String
$cshow :: DescribeWorkspaceSnapshotsResponse -> String
showsPrec :: Int -> DescribeWorkspaceSnapshotsResponse -> ShowS
$cshowsPrec :: Int -> DescribeWorkspaceSnapshotsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeWorkspaceSnapshotsResponse x
-> DescribeWorkspaceSnapshotsResponse
forall x.
DescribeWorkspaceSnapshotsResponse
-> Rep DescribeWorkspaceSnapshotsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeWorkspaceSnapshotsResponse x
-> DescribeWorkspaceSnapshotsResponse
$cfrom :: forall x.
DescribeWorkspaceSnapshotsResponse
-> Rep DescribeWorkspaceSnapshotsResponse x
Prelude.Generic)
newDescribeWorkspaceSnapshotsResponse ::
Prelude.Int ->
DescribeWorkspaceSnapshotsResponse
newDescribeWorkspaceSnapshotsResponse :: Int -> DescribeWorkspaceSnapshotsResponse
newDescribeWorkspaceSnapshotsResponse Int
pHttpStatus_ =
DescribeWorkspaceSnapshotsResponse'
{ $sel:rebuildSnapshots:DescribeWorkspaceSnapshotsResponse' :: Maybe [Snapshot]
rebuildSnapshots =
forall a. Maybe a
Prelude.Nothing,
$sel:restoreSnapshots:DescribeWorkspaceSnapshotsResponse' :: Maybe [Snapshot]
restoreSnapshots = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeWorkspaceSnapshotsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeWorkspaceSnapshotsResponse_rebuildSnapshots :: Lens.Lens' DescribeWorkspaceSnapshotsResponse (Prelude.Maybe [Snapshot])
describeWorkspaceSnapshotsResponse_rebuildSnapshots :: Lens' DescribeWorkspaceSnapshotsResponse (Maybe [Snapshot])
describeWorkspaceSnapshotsResponse_rebuildSnapshots = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeWorkspaceSnapshotsResponse' {Maybe [Snapshot]
rebuildSnapshots :: Maybe [Snapshot]
$sel:rebuildSnapshots:DescribeWorkspaceSnapshotsResponse' :: DescribeWorkspaceSnapshotsResponse -> Maybe [Snapshot]
rebuildSnapshots} -> Maybe [Snapshot]
rebuildSnapshots) (\s :: DescribeWorkspaceSnapshotsResponse
s@DescribeWorkspaceSnapshotsResponse' {} Maybe [Snapshot]
a -> DescribeWorkspaceSnapshotsResponse
s {$sel:rebuildSnapshots:DescribeWorkspaceSnapshotsResponse' :: Maybe [Snapshot]
rebuildSnapshots = Maybe [Snapshot]
a} :: DescribeWorkspaceSnapshotsResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeWorkspaceSnapshotsResponse_restoreSnapshots :: Lens.Lens' DescribeWorkspaceSnapshotsResponse (Prelude.Maybe [Snapshot])
describeWorkspaceSnapshotsResponse_restoreSnapshots :: Lens' DescribeWorkspaceSnapshotsResponse (Maybe [Snapshot])
describeWorkspaceSnapshotsResponse_restoreSnapshots = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeWorkspaceSnapshotsResponse' {Maybe [Snapshot]
restoreSnapshots :: Maybe [Snapshot]
$sel:restoreSnapshots:DescribeWorkspaceSnapshotsResponse' :: DescribeWorkspaceSnapshotsResponse -> Maybe [Snapshot]
restoreSnapshots} -> Maybe [Snapshot]
restoreSnapshots) (\s :: DescribeWorkspaceSnapshotsResponse
s@DescribeWorkspaceSnapshotsResponse' {} Maybe [Snapshot]
a -> DescribeWorkspaceSnapshotsResponse
s {$sel:restoreSnapshots:DescribeWorkspaceSnapshotsResponse' :: Maybe [Snapshot]
restoreSnapshots = Maybe [Snapshot]
a} :: DescribeWorkspaceSnapshotsResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeWorkspaceSnapshotsResponse_httpStatus :: Lens.Lens' DescribeWorkspaceSnapshotsResponse Prelude.Int
describeWorkspaceSnapshotsResponse_httpStatus :: Lens' DescribeWorkspaceSnapshotsResponse Int
describeWorkspaceSnapshotsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeWorkspaceSnapshotsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeWorkspaceSnapshotsResponse' :: DescribeWorkspaceSnapshotsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeWorkspaceSnapshotsResponse
s@DescribeWorkspaceSnapshotsResponse' {} Int
a -> DescribeWorkspaceSnapshotsResponse
s {$sel:httpStatus:DescribeWorkspaceSnapshotsResponse' :: Int
httpStatus = Int
a} :: DescribeWorkspaceSnapshotsResponse)
instance
Prelude.NFData
DescribeWorkspaceSnapshotsResponse
where
rnf :: DescribeWorkspaceSnapshotsResponse -> ()
rnf DescribeWorkspaceSnapshotsResponse' {Int
Maybe [Snapshot]
httpStatus :: Int
restoreSnapshots :: Maybe [Snapshot]
rebuildSnapshots :: Maybe [Snapshot]
$sel:httpStatus:DescribeWorkspaceSnapshotsResponse' :: DescribeWorkspaceSnapshotsResponse -> Int
$sel:restoreSnapshots:DescribeWorkspaceSnapshotsResponse' :: DescribeWorkspaceSnapshotsResponse -> Maybe [Snapshot]
$sel:rebuildSnapshots:DescribeWorkspaceSnapshotsResponse' :: DescribeWorkspaceSnapshotsResponse -> Maybe [Snapshot]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Snapshot]
rebuildSnapshots
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Snapshot]
restoreSnapshots
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus