{-# 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.StartWorkspaces
(
StartWorkspaces (..),
newStartWorkspaces,
startWorkspaces_startWorkspaceRequests,
StartWorkspacesResponse (..),
newStartWorkspacesResponse,
startWorkspacesResponse_failedRequests,
startWorkspacesResponse_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 StartWorkspaces = StartWorkspaces'
{
StartWorkspaces -> NonEmpty StartRequest
startWorkspaceRequests :: Prelude.NonEmpty StartRequest
}
deriving (StartWorkspaces -> StartWorkspaces -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartWorkspaces -> StartWorkspaces -> Bool
$c/= :: StartWorkspaces -> StartWorkspaces -> Bool
== :: StartWorkspaces -> StartWorkspaces -> Bool
$c== :: StartWorkspaces -> StartWorkspaces -> Bool
Prelude.Eq, ReadPrec [StartWorkspaces]
ReadPrec StartWorkspaces
Int -> ReadS StartWorkspaces
ReadS [StartWorkspaces]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartWorkspaces]
$creadListPrec :: ReadPrec [StartWorkspaces]
readPrec :: ReadPrec StartWorkspaces
$creadPrec :: ReadPrec StartWorkspaces
readList :: ReadS [StartWorkspaces]
$creadList :: ReadS [StartWorkspaces]
readsPrec :: Int -> ReadS StartWorkspaces
$creadsPrec :: Int -> ReadS StartWorkspaces
Prelude.Read, Int -> StartWorkspaces -> ShowS
[StartWorkspaces] -> ShowS
StartWorkspaces -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartWorkspaces] -> ShowS
$cshowList :: [StartWorkspaces] -> ShowS
show :: StartWorkspaces -> String
$cshow :: StartWorkspaces -> String
showsPrec :: Int -> StartWorkspaces -> ShowS
$cshowsPrec :: Int -> StartWorkspaces -> ShowS
Prelude.Show, forall x. Rep StartWorkspaces x -> StartWorkspaces
forall x. StartWorkspaces -> Rep StartWorkspaces x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartWorkspaces x -> StartWorkspaces
$cfrom :: forall x. StartWorkspaces -> Rep StartWorkspaces x
Prelude.Generic)
newStartWorkspaces ::
Prelude.NonEmpty StartRequest ->
StartWorkspaces
newStartWorkspaces :: NonEmpty StartRequest -> StartWorkspaces
newStartWorkspaces NonEmpty StartRequest
pStartWorkspaceRequests_ =
StartWorkspaces'
{ $sel:startWorkspaceRequests:StartWorkspaces' :: NonEmpty StartRequest
startWorkspaceRequests =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty StartRequest
pStartWorkspaceRequests_
}
startWorkspaces_startWorkspaceRequests :: Lens.Lens' StartWorkspaces (Prelude.NonEmpty StartRequest)
startWorkspaces_startWorkspaceRequests :: Lens' StartWorkspaces (NonEmpty StartRequest)
startWorkspaces_startWorkspaceRequests = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartWorkspaces' {NonEmpty StartRequest
startWorkspaceRequests :: NonEmpty StartRequest
$sel:startWorkspaceRequests:StartWorkspaces' :: StartWorkspaces -> NonEmpty StartRequest
startWorkspaceRequests} -> NonEmpty StartRequest
startWorkspaceRequests) (\s :: StartWorkspaces
s@StartWorkspaces' {} NonEmpty StartRequest
a -> StartWorkspaces
s {$sel:startWorkspaceRequests:StartWorkspaces' :: NonEmpty StartRequest
startWorkspaceRequests = NonEmpty StartRequest
a} :: StartWorkspaces) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest StartWorkspaces where
type
AWSResponse StartWorkspaces =
StartWorkspacesResponse
request :: (Service -> Service) -> StartWorkspaces -> Request StartWorkspaces
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 StartWorkspaces
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse StartWorkspaces)))
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 [FailedWorkspaceChangeRequest]
-> Int -> StartWorkspacesResponse
StartWorkspacesResponse'
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
"FailedRequests" 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 StartWorkspaces where
hashWithSalt :: Int -> StartWorkspaces -> Int
hashWithSalt Int
_salt StartWorkspaces' {NonEmpty StartRequest
startWorkspaceRequests :: NonEmpty StartRequest
$sel:startWorkspaceRequests:StartWorkspaces' :: StartWorkspaces -> NonEmpty StartRequest
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty StartRequest
startWorkspaceRequests
instance Prelude.NFData StartWorkspaces where
rnf :: StartWorkspaces -> ()
rnf StartWorkspaces' {NonEmpty StartRequest
startWorkspaceRequests :: NonEmpty StartRequest
$sel:startWorkspaceRequests:StartWorkspaces' :: StartWorkspaces -> NonEmpty StartRequest
..} =
forall a. NFData a => a -> ()
Prelude.rnf NonEmpty StartRequest
startWorkspaceRequests
instance Data.ToHeaders StartWorkspaces where
toHeaders :: StartWorkspaces -> 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.StartWorkspaces" ::
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 StartWorkspaces where
toJSON :: StartWorkspaces -> Value
toJSON StartWorkspaces' {NonEmpty StartRequest
startWorkspaceRequests :: NonEmpty StartRequest
$sel:startWorkspaceRequests:StartWorkspaces' :: StartWorkspaces -> NonEmpty StartRequest
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"StartWorkspaceRequests"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty StartRequest
startWorkspaceRequests
)
]
)
instance Data.ToPath StartWorkspaces where
toPath :: StartWorkspaces -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery StartWorkspaces where
toQuery :: StartWorkspaces -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartWorkspacesResponse = StartWorkspacesResponse'
{
StartWorkspacesResponse -> Maybe [FailedWorkspaceChangeRequest]
failedRequests :: Prelude.Maybe [FailedWorkspaceChangeRequest],
StartWorkspacesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartWorkspacesResponse -> StartWorkspacesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartWorkspacesResponse -> StartWorkspacesResponse -> Bool
$c/= :: StartWorkspacesResponse -> StartWorkspacesResponse -> Bool
== :: StartWorkspacesResponse -> StartWorkspacesResponse -> Bool
$c== :: StartWorkspacesResponse -> StartWorkspacesResponse -> Bool
Prelude.Eq, ReadPrec [StartWorkspacesResponse]
ReadPrec StartWorkspacesResponse
Int -> ReadS StartWorkspacesResponse
ReadS [StartWorkspacesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartWorkspacesResponse]
$creadListPrec :: ReadPrec [StartWorkspacesResponse]
readPrec :: ReadPrec StartWorkspacesResponse
$creadPrec :: ReadPrec StartWorkspacesResponse
readList :: ReadS [StartWorkspacesResponse]
$creadList :: ReadS [StartWorkspacesResponse]
readsPrec :: Int -> ReadS StartWorkspacesResponse
$creadsPrec :: Int -> ReadS StartWorkspacesResponse
Prelude.Read, Int -> StartWorkspacesResponse -> ShowS
[StartWorkspacesResponse] -> ShowS
StartWorkspacesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartWorkspacesResponse] -> ShowS
$cshowList :: [StartWorkspacesResponse] -> ShowS
show :: StartWorkspacesResponse -> String
$cshow :: StartWorkspacesResponse -> String
showsPrec :: Int -> StartWorkspacesResponse -> ShowS
$cshowsPrec :: Int -> StartWorkspacesResponse -> ShowS
Prelude.Show, forall x. Rep StartWorkspacesResponse x -> StartWorkspacesResponse
forall x. StartWorkspacesResponse -> Rep StartWorkspacesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartWorkspacesResponse x -> StartWorkspacesResponse
$cfrom :: forall x. StartWorkspacesResponse -> Rep StartWorkspacesResponse x
Prelude.Generic)
newStartWorkspacesResponse ::
Prelude.Int ->
StartWorkspacesResponse
newStartWorkspacesResponse :: Int -> StartWorkspacesResponse
newStartWorkspacesResponse Int
pHttpStatus_ =
StartWorkspacesResponse'
{ $sel:failedRequests:StartWorkspacesResponse' :: Maybe [FailedWorkspaceChangeRequest]
failedRequests =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:StartWorkspacesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
startWorkspacesResponse_failedRequests :: Lens.Lens' StartWorkspacesResponse (Prelude.Maybe [FailedWorkspaceChangeRequest])
startWorkspacesResponse_failedRequests :: Lens'
StartWorkspacesResponse (Maybe [FailedWorkspaceChangeRequest])
startWorkspacesResponse_failedRequests = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartWorkspacesResponse' {Maybe [FailedWorkspaceChangeRequest]
failedRequests :: Maybe [FailedWorkspaceChangeRequest]
$sel:failedRequests:StartWorkspacesResponse' :: StartWorkspacesResponse -> Maybe [FailedWorkspaceChangeRequest]
failedRequests} -> Maybe [FailedWorkspaceChangeRequest]
failedRequests) (\s :: StartWorkspacesResponse
s@StartWorkspacesResponse' {} Maybe [FailedWorkspaceChangeRequest]
a -> StartWorkspacesResponse
s {$sel:failedRequests:StartWorkspacesResponse' :: Maybe [FailedWorkspaceChangeRequest]
failedRequests = Maybe [FailedWorkspaceChangeRequest]
a} :: StartWorkspacesResponse) 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
startWorkspacesResponse_httpStatus :: Lens.Lens' StartWorkspacesResponse Prelude.Int
startWorkspacesResponse_httpStatus :: Lens' StartWorkspacesResponse Int
startWorkspacesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartWorkspacesResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartWorkspacesResponse' :: StartWorkspacesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartWorkspacesResponse
s@StartWorkspacesResponse' {} Int
a -> StartWorkspacesResponse
s {$sel:httpStatus:StartWorkspacesResponse' :: Int
httpStatus = Int
a} :: StartWorkspacesResponse)
instance Prelude.NFData StartWorkspacesResponse where
rnf :: StartWorkspacesResponse -> ()
rnf StartWorkspacesResponse' {Int
Maybe [FailedWorkspaceChangeRequest]
httpStatus :: Int
failedRequests :: Maybe [FailedWorkspaceChangeRequest]
$sel:httpStatus:StartWorkspacesResponse' :: StartWorkspacesResponse -> Int
$sel:failedRequests:StartWorkspacesResponse' :: StartWorkspacesResponse -> Maybe [FailedWorkspaceChangeRequest]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [FailedWorkspaceChangeRequest]
failedRequests
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus