{-# 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.MigrateWorkspace
(
MigrateWorkspace (..),
newMigrateWorkspace,
migrateWorkspace_sourceWorkspaceId,
migrateWorkspace_bundleId,
MigrateWorkspaceResponse (..),
newMigrateWorkspaceResponse,
migrateWorkspaceResponse_sourceWorkspaceId,
migrateWorkspaceResponse_targetWorkspaceId,
migrateWorkspaceResponse_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 MigrateWorkspace = MigrateWorkspace'
{
MigrateWorkspace -> Text
sourceWorkspaceId :: Prelude.Text,
MigrateWorkspace -> Text
bundleId :: Prelude.Text
}
deriving (MigrateWorkspace -> MigrateWorkspace -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MigrateWorkspace -> MigrateWorkspace -> Bool
$c/= :: MigrateWorkspace -> MigrateWorkspace -> Bool
== :: MigrateWorkspace -> MigrateWorkspace -> Bool
$c== :: MigrateWorkspace -> MigrateWorkspace -> Bool
Prelude.Eq, ReadPrec [MigrateWorkspace]
ReadPrec MigrateWorkspace
Int -> ReadS MigrateWorkspace
ReadS [MigrateWorkspace]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MigrateWorkspace]
$creadListPrec :: ReadPrec [MigrateWorkspace]
readPrec :: ReadPrec MigrateWorkspace
$creadPrec :: ReadPrec MigrateWorkspace
readList :: ReadS [MigrateWorkspace]
$creadList :: ReadS [MigrateWorkspace]
readsPrec :: Int -> ReadS MigrateWorkspace
$creadsPrec :: Int -> ReadS MigrateWorkspace
Prelude.Read, Int -> MigrateWorkspace -> ShowS
[MigrateWorkspace] -> ShowS
MigrateWorkspace -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MigrateWorkspace] -> ShowS
$cshowList :: [MigrateWorkspace] -> ShowS
show :: MigrateWorkspace -> String
$cshow :: MigrateWorkspace -> String
showsPrec :: Int -> MigrateWorkspace -> ShowS
$cshowsPrec :: Int -> MigrateWorkspace -> ShowS
Prelude.Show, forall x. Rep MigrateWorkspace x -> MigrateWorkspace
forall x. MigrateWorkspace -> Rep MigrateWorkspace x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MigrateWorkspace x -> MigrateWorkspace
$cfrom :: forall x. MigrateWorkspace -> Rep MigrateWorkspace x
Prelude.Generic)
newMigrateWorkspace ::
Prelude.Text ->
Prelude.Text ->
MigrateWorkspace
newMigrateWorkspace :: Text -> Text -> MigrateWorkspace
newMigrateWorkspace Text
pSourceWorkspaceId_ Text
pBundleId_ =
MigrateWorkspace'
{ $sel:sourceWorkspaceId:MigrateWorkspace' :: Text
sourceWorkspaceId =
Text
pSourceWorkspaceId_,
$sel:bundleId:MigrateWorkspace' :: Text
bundleId = Text
pBundleId_
}
migrateWorkspace_sourceWorkspaceId :: Lens.Lens' MigrateWorkspace Prelude.Text
migrateWorkspace_sourceWorkspaceId :: Lens' MigrateWorkspace Text
migrateWorkspace_sourceWorkspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MigrateWorkspace' {Text
sourceWorkspaceId :: Text
$sel:sourceWorkspaceId:MigrateWorkspace' :: MigrateWorkspace -> Text
sourceWorkspaceId} -> Text
sourceWorkspaceId) (\s :: MigrateWorkspace
s@MigrateWorkspace' {} Text
a -> MigrateWorkspace
s {$sel:sourceWorkspaceId:MigrateWorkspace' :: Text
sourceWorkspaceId = Text
a} :: MigrateWorkspace)
migrateWorkspace_bundleId :: Lens.Lens' MigrateWorkspace Prelude.Text
migrateWorkspace_bundleId :: Lens' MigrateWorkspace Text
migrateWorkspace_bundleId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MigrateWorkspace' {Text
bundleId :: Text
$sel:bundleId:MigrateWorkspace' :: MigrateWorkspace -> Text
bundleId} -> Text
bundleId) (\s :: MigrateWorkspace
s@MigrateWorkspace' {} Text
a -> MigrateWorkspace
s {$sel:bundleId:MigrateWorkspace' :: Text
bundleId = Text
a} :: MigrateWorkspace)
instance Core.AWSRequest MigrateWorkspace where
type
AWSResponse MigrateWorkspace =
MigrateWorkspaceResponse
request :: (Service -> Service)
-> MigrateWorkspace -> Request MigrateWorkspace
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 MigrateWorkspace
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse MigrateWorkspace)))
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 Text -> Maybe Text -> Int -> MigrateWorkspaceResponse
MigrateWorkspaceResponse'
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
"SourceWorkspaceId")
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
"TargetWorkspaceId")
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 MigrateWorkspace where
hashWithSalt :: Int -> MigrateWorkspace -> Int
hashWithSalt Int
_salt MigrateWorkspace' {Text
bundleId :: Text
sourceWorkspaceId :: Text
$sel:bundleId:MigrateWorkspace' :: MigrateWorkspace -> Text
$sel:sourceWorkspaceId:MigrateWorkspace' :: MigrateWorkspace -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sourceWorkspaceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
bundleId
instance Prelude.NFData MigrateWorkspace where
rnf :: MigrateWorkspace -> ()
rnf MigrateWorkspace' {Text
bundleId :: Text
sourceWorkspaceId :: Text
$sel:bundleId:MigrateWorkspace' :: MigrateWorkspace -> Text
$sel:sourceWorkspaceId:MigrateWorkspace' :: MigrateWorkspace -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
sourceWorkspaceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
bundleId
instance Data.ToHeaders MigrateWorkspace where
toHeaders :: MigrateWorkspace -> 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.MigrateWorkspace" ::
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 MigrateWorkspace where
toJSON :: MigrateWorkspace -> Value
toJSON MigrateWorkspace' {Text
bundleId :: Text
sourceWorkspaceId :: Text
$sel:bundleId:MigrateWorkspace' :: MigrateWorkspace -> Text
$sel:sourceWorkspaceId:MigrateWorkspace' :: MigrateWorkspace -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"SourceWorkspaceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
sourceWorkspaceId),
forall a. a -> Maybe a
Prelude.Just (Key
"BundleId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
bundleId)
]
)
instance Data.ToPath MigrateWorkspace where
toPath :: MigrateWorkspace -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery MigrateWorkspace where
toQuery :: MigrateWorkspace -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data MigrateWorkspaceResponse = MigrateWorkspaceResponse'
{
MigrateWorkspaceResponse -> Maybe Text
sourceWorkspaceId :: Prelude.Maybe Prelude.Text,
MigrateWorkspaceResponse -> Maybe Text
targetWorkspaceId :: Prelude.Maybe Prelude.Text,
MigrateWorkspaceResponse -> Int
httpStatus :: Prelude.Int
}
deriving (MigrateWorkspaceResponse -> MigrateWorkspaceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MigrateWorkspaceResponse -> MigrateWorkspaceResponse -> Bool
$c/= :: MigrateWorkspaceResponse -> MigrateWorkspaceResponse -> Bool
== :: MigrateWorkspaceResponse -> MigrateWorkspaceResponse -> Bool
$c== :: MigrateWorkspaceResponse -> MigrateWorkspaceResponse -> Bool
Prelude.Eq, ReadPrec [MigrateWorkspaceResponse]
ReadPrec MigrateWorkspaceResponse
Int -> ReadS MigrateWorkspaceResponse
ReadS [MigrateWorkspaceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MigrateWorkspaceResponse]
$creadListPrec :: ReadPrec [MigrateWorkspaceResponse]
readPrec :: ReadPrec MigrateWorkspaceResponse
$creadPrec :: ReadPrec MigrateWorkspaceResponse
readList :: ReadS [MigrateWorkspaceResponse]
$creadList :: ReadS [MigrateWorkspaceResponse]
readsPrec :: Int -> ReadS MigrateWorkspaceResponse
$creadsPrec :: Int -> ReadS MigrateWorkspaceResponse
Prelude.Read, Int -> MigrateWorkspaceResponse -> ShowS
[MigrateWorkspaceResponse] -> ShowS
MigrateWorkspaceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MigrateWorkspaceResponse] -> ShowS
$cshowList :: [MigrateWorkspaceResponse] -> ShowS
show :: MigrateWorkspaceResponse -> String
$cshow :: MigrateWorkspaceResponse -> String
showsPrec :: Int -> MigrateWorkspaceResponse -> ShowS
$cshowsPrec :: Int -> MigrateWorkspaceResponse -> ShowS
Prelude.Show, forall x.
Rep MigrateWorkspaceResponse x -> MigrateWorkspaceResponse
forall x.
MigrateWorkspaceResponse -> Rep MigrateWorkspaceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep MigrateWorkspaceResponse x -> MigrateWorkspaceResponse
$cfrom :: forall x.
MigrateWorkspaceResponse -> Rep MigrateWorkspaceResponse x
Prelude.Generic)
newMigrateWorkspaceResponse ::
Prelude.Int ->
MigrateWorkspaceResponse
newMigrateWorkspaceResponse :: Int -> MigrateWorkspaceResponse
newMigrateWorkspaceResponse Int
pHttpStatus_ =
MigrateWorkspaceResponse'
{ $sel:sourceWorkspaceId:MigrateWorkspaceResponse' :: Maybe Text
sourceWorkspaceId =
forall a. Maybe a
Prelude.Nothing,
$sel:targetWorkspaceId:MigrateWorkspaceResponse' :: Maybe Text
targetWorkspaceId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:MigrateWorkspaceResponse' :: Int
httpStatus = Int
pHttpStatus_
}
migrateWorkspaceResponse_sourceWorkspaceId :: Lens.Lens' MigrateWorkspaceResponse (Prelude.Maybe Prelude.Text)
migrateWorkspaceResponse_sourceWorkspaceId :: Lens' MigrateWorkspaceResponse (Maybe Text)
migrateWorkspaceResponse_sourceWorkspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MigrateWorkspaceResponse' {Maybe Text
sourceWorkspaceId :: Maybe Text
$sel:sourceWorkspaceId:MigrateWorkspaceResponse' :: MigrateWorkspaceResponse -> Maybe Text
sourceWorkspaceId} -> Maybe Text
sourceWorkspaceId) (\s :: MigrateWorkspaceResponse
s@MigrateWorkspaceResponse' {} Maybe Text
a -> MigrateWorkspaceResponse
s {$sel:sourceWorkspaceId:MigrateWorkspaceResponse' :: Maybe Text
sourceWorkspaceId = Maybe Text
a} :: MigrateWorkspaceResponse)
migrateWorkspaceResponse_targetWorkspaceId :: Lens.Lens' MigrateWorkspaceResponse (Prelude.Maybe Prelude.Text)
migrateWorkspaceResponse_targetWorkspaceId :: Lens' MigrateWorkspaceResponse (Maybe Text)
migrateWorkspaceResponse_targetWorkspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MigrateWorkspaceResponse' {Maybe Text
targetWorkspaceId :: Maybe Text
$sel:targetWorkspaceId:MigrateWorkspaceResponse' :: MigrateWorkspaceResponse -> Maybe Text
targetWorkspaceId} -> Maybe Text
targetWorkspaceId) (\s :: MigrateWorkspaceResponse
s@MigrateWorkspaceResponse' {} Maybe Text
a -> MigrateWorkspaceResponse
s {$sel:targetWorkspaceId:MigrateWorkspaceResponse' :: Maybe Text
targetWorkspaceId = Maybe Text
a} :: MigrateWorkspaceResponse)
migrateWorkspaceResponse_httpStatus :: Lens.Lens' MigrateWorkspaceResponse Prelude.Int
migrateWorkspaceResponse_httpStatus :: Lens' MigrateWorkspaceResponse Int
migrateWorkspaceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MigrateWorkspaceResponse' {Int
httpStatus :: Int
$sel:httpStatus:MigrateWorkspaceResponse' :: MigrateWorkspaceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: MigrateWorkspaceResponse
s@MigrateWorkspaceResponse' {} Int
a -> MigrateWorkspaceResponse
s {$sel:httpStatus:MigrateWorkspaceResponse' :: Int
httpStatus = Int
a} :: MigrateWorkspaceResponse)
instance Prelude.NFData MigrateWorkspaceResponse where
rnf :: MigrateWorkspaceResponse -> ()
rnf MigrateWorkspaceResponse' {Int
Maybe Text
httpStatus :: Int
targetWorkspaceId :: Maybe Text
sourceWorkspaceId :: Maybe Text
$sel:httpStatus:MigrateWorkspaceResponse' :: MigrateWorkspaceResponse -> Int
$sel:targetWorkspaceId:MigrateWorkspaceResponse' :: MigrateWorkspaceResponse -> Maybe Text
$sel:sourceWorkspaceId:MigrateWorkspaceResponse' :: MigrateWorkspaceResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceWorkspaceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetWorkspaceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus