{-# 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.SimSpaceWeaver.StartApp
(
StartApp (..),
newStartApp,
startApp_clientToken,
startApp_description,
startApp_launchOverrides,
startApp_domain,
startApp_name,
startApp_simulation,
StartAppResponse (..),
newStartAppResponse,
startAppResponse_domain,
startAppResponse_name,
startAppResponse_simulation,
startAppResponse_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.SimSpaceWeaver.Types
data StartApp = StartApp'
{
StartApp -> Maybe (Sensitive Text)
clientToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),
StartApp -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
StartApp -> Maybe LaunchOverrides
launchOverrides :: Prelude.Maybe LaunchOverrides,
StartApp -> Text
domain :: Prelude.Text,
StartApp -> Text
name :: Prelude.Text,
StartApp -> Text
simulation :: Prelude.Text
}
deriving (StartApp -> StartApp -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartApp -> StartApp -> Bool
$c/= :: StartApp -> StartApp -> Bool
== :: StartApp -> StartApp -> Bool
$c== :: StartApp -> StartApp -> Bool
Prelude.Eq, Int -> StartApp -> ShowS
[StartApp] -> ShowS
StartApp -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartApp] -> ShowS
$cshowList :: [StartApp] -> ShowS
show :: StartApp -> String
$cshow :: StartApp -> String
showsPrec :: Int -> StartApp -> ShowS
$cshowsPrec :: Int -> StartApp -> ShowS
Prelude.Show, forall x. Rep StartApp x -> StartApp
forall x. StartApp -> Rep StartApp x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartApp x -> StartApp
$cfrom :: forall x. StartApp -> Rep StartApp x
Prelude.Generic)
newStartApp ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
StartApp
newStartApp :: Text -> Text -> Text -> StartApp
newStartApp Text
pDomain_ Text
pName_ Text
pSimulation_ =
StartApp'
{ $sel:clientToken:StartApp' :: Maybe (Sensitive Text)
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:description:StartApp' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:launchOverrides:StartApp' :: Maybe LaunchOverrides
launchOverrides = forall a. Maybe a
Prelude.Nothing,
$sel:domain:StartApp' :: Text
domain = Text
pDomain_,
$sel:name:StartApp' :: Text
name = Text
pName_,
$sel:simulation:StartApp' :: Text
simulation = Text
pSimulation_
}
startApp_clientToken :: Lens.Lens' StartApp (Prelude.Maybe Prelude.Text)
startApp_clientToken :: Lens' StartApp (Maybe Text)
startApp_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartApp' {Maybe (Sensitive Text)
clientToken :: Maybe (Sensitive Text)
$sel:clientToken:StartApp' :: StartApp -> Maybe (Sensitive Text)
clientToken} -> Maybe (Sensitive Text)
clientToken) (\s :: StartApp
s@StartApp' {} Maybe (Sensitive Text)
a -> StartApp
s {$sel:clientToken:StartApp' :: Maybe (Sensitive Text)
clientToken = Maybe (Sensitive Text)
a} :: StartApp) 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 a. Iso' (Sensitive a) a
Data._Sensitive
startApp_description :: Lens.Lens' StartApp (Prelude.Maybe Prelude.Text)
startApp_description :: Lens' StartApp (Maybe Text)
startApp_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartApp' {Maybe Text
description :: Maybe Text
$sel:description:StartApp' :: StartApp -> Maybe Text
description} -> Maybe Text
description) (\s :: StartApp
s@StartApp' {} Maybe Text
a -> StartApp
s {$sel:description:StartApp' :: Maybe Text
description = Maybe Text
a} :: StartApp)
startApp_launchOverrides :: Lens.Lens' StartApp (Prelude.Maybe LaunchOverrides)
startApp_launchOverrides :: Lens' StartApp (Maybe LaunchOverrides)
startApp_launchOverrides = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartApp' {Maybe LaunchOverrides
launchOverrides :: Maybe LaunchOverrides
$sel:launchOverrides:StartApp' :: StartApp -> Maybe LaunchOverrides
launchOverrides} -> Maybe LaunchOverrides
launchOverrides) (\s :: StartApp
s@StartApp' {} Maybe LaunchOverrides
a -> StartApp
s {$sel:launchOverrides:StartApp' :: Maybe LaunchOverrides
launchOverrides = Maybe LaunchOverrides
a} :: StartApp)
startApp_domain :: Lens.Lens' StartApp Prelude.Text
startApp_domain :: Lens' StartApp Text
startApp_domain = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartApp' {Text
domain :: Text
$sel:domain:StartApp' :: StartApp -> Text
domain} -> Text
domain) (\s :: StartApp
s@StartApp' {} Text
a -> StartApp
s {$sel:domain:StartApp' :: Text
domain = Text
a} :: StartApp)
startApp_name :: Lens.Lens' StartApp Prelude.Text
startApp_name :: Lens' StartApp Text
startApp_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartApp' {Text
name :: Text
$sel:name:StartApp' :: StartApp -> Text
name} -> Text
name) (\s :: StartApp
s@StartApp' {} Text
a -> StartApp
s {$sel:name:StartApp' :: Text
name = Text
a} :: StartApp)
startApp_simulation :: Lens.Lens' StartApp Prelude.Text
startApp_simulation :: Lens' StartApp Text
startApp_simulation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartApp' {Text
simulation :: Text
$sel:simulation:StartApp' :: StartApp -> Text
simulation} -> Text
simulation) (\s :: StartApp
s@StartApp' {} Text
a -> StartApp
s {$sel:simulation:StartApp' :: Text
simulation = Text
a} :: StartApp)
instance Core.AWSRequest StartApp where
type AWSResponse StartApp = StartAppResponse
request :: (Service -> Service) -> StartApp -> Request StartApp
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 StartApp
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse StartApp)))
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 -> Maybe Text -> Int -> StartAppResponse
StartAppResponse'
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
"Domain")
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
"Name")
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
"Simulation")
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 StartApp where
hashWithSalt :: Int -> StartApp -> Int
hashWithSalt Int
_salt StartApp' {Maybe Text
Maybe (Sensitive Text)
Maybe LaunchOverrides
Text
simulation :: Text
name :: Text
domain :: Text
launchOverrides :: Maybe LaunchOverrides
description :: Maybe Text
clientToken :: Maybe (Sensitive Text)
$sel:simulation:StartApp' :: StartApp -> Text
$sel:name:StartApp' :: StartApp -> Text
$sel:domain:StartApp' :: StartApp -> Text
$sel:launchOverrides:StartApp' :: StartApp -> Maybe LaunchOverrides
$sel:description:StartApp' :: StartApp -> Maybe Text
$sel:clientToken:StartApp' :: StartApp -> Maybe (Sensitive Text)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LaunchOverrides
launchOverrides
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domain
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
simulation
instance Prelude.NFData StartApp where
rnf :: StartApp -> ()
rnf StartApp' {Maybe Text
Maybe (Sensitive Text)
Maybe LaunchOverrides
Text
simulation :: Text
name :: Text
domain :: Text
launchOverrides :: Maybe LaunchOverrides
description :: Maybe Text
clientToken :: Maybe (Sensitive Text)
$sel:simulation:StartApp' :: StartApp -> Text
$sel:name:StartApp' :: StartApp -> Text
$sel:domain:StartApp' :: StartApp -> Text
$sel:launchOverrides:StartApp' :: StartApp -> Maybe LaunchOverrides
$sel:description:StartApp' :: StartApp -> Maybe Text
$sel:clientToken:StartApp' :: StartApp -> Maybe (Sensitive Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LaunchOverrides
launchOverrides
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domain
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
simulation
instance Data.ToHeaders StartApp where
toHeaders :: StartApp -> 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.ToJSON StartApp where
toJSON :: StartApp -> Value
toJSON StartApp' {Maybe Text
Maybe (Sensitive Text)
Maybe LaunchOverrides
Text
simulation :: Text
name :: Text
domain :: Text
launchOverrides :: Maybe LaunchOverrides
description :: Maybe Text
clientToken :: Maybe (Sensitive Text)
$sel:simulation:StartApp' :: StartApp -> Text
$sel:name:StartApp' :: StartApp -> Text
$sel:domain:StartApp' :: StartApp -> Text
$sel:launchOverrides:StartApp' :: StartApp -> Maybe LaunchOverrides
$sel:description:StartApp' :: StartApp -> Maybe Text
$sel:clientToken:StartApp' :: StartApp -> Maybe (Sensitive Text)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ClientToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive Text)
clientToken,
(Key
"Description" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
(Key
"LaunchOverrides" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe LaunchOverrides
launchOverrides,
forall a. a -> Maybe a
Prelude.Just (Key
"Domain" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
domain),
forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just (Key
"Simulation" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
simulation)
]
)
instance Data.ToPath StartApp where
toPath :: StartApp -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/startapp"
instance Data.ToQuery StartApp where
toQuery :: StartApp -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartAppResponse = StartAppResponse'
{
StartAppResponse -> Maybe Text
domain :: Prelude.Maybe Prelude.Text,
StartAppResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
StartAppResponse -> Maybe Text
simulation :: Prelude.Maybe Prelude.Text,
StartAppResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartAppResponse -> StartAppResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartAppResponse -> StartAppResponse -> Bool
$c/= :: StartAppResponse -> StartAppResponse -> Bool
== :: StartAppResponse -> StartAppResponse -> Bool
$c== :: StartAppResponse -> StartAppResponse -> Bool
Prelude.Eq, ReadPrec [StartAppResponse]
ReadPrec StartAppResponse
Int -> ReadS StartAppResponse
ReadS [StartAppResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartAppResponse]
$creadListPrec :: ReadPrec [StartAppResponse]
readPrec :: ReadPrec StartAppResponse
$creadPrec :: ReadPrec StartAppResponse
readList :: ReadS [StartAppResponse]
$creadList :: ReadS [StartAppResponse]
readsPrec :: Int -> ReadS StartAppResponse
$creadsPrec :: Int -> ReadS StartAppResponse
Prelude.Read, Int -> StartAppResponse -> ShowS
[StartAppResponse] -> ShowS
StartAppResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartAppResponse] -> ShowS
$cshowList :: [StartAppResponse] -> ShowS
show :: StartAppResponse -> String
$cshow :: StartAppResponse -> String
showsPrec :: Int -> StartAppResponse -> ShowS
$cshowsPrec :: Int -> StartAppResponse -> ShowS
Prelude.Show, forall x. Rep StartAppResponse x -> StartAppResponse
forall x. StartAppResponse -> Rep StartAppResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartAppResponse x -> StartAppResponse
$cfrom :: forall x. StartAppResponse -> Rep StartAppResponse x
Prelude.Generic)
newStartAppResponse ::
Prelude.Int ->
StartAppResponse
newStartAppResponse :: Int -> StartAppResponse
newStartAppResponse Int
pHttpStatus_ =
StartAppResponse'
{ $sel:domain:StartAppResponse' :: Maybe Text
domain = forall a. Maybe a
Prelude.Nothing,
$sel:name:StartAppResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:simulation:StartAppResponse' :: Maybe Text
simulation = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:StartAppResponse' :: Int
httpStatus = Int
pHttpStatus_
}
startAppResponse_domain :: Lens.Lens' StartAppResponse (Prelude.Maybe Prelude.Text)
startAppResponse_domain :: Lens' StartAppResponse (Maybe Text)
startAppResponse_domain = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartAppResponse' {Maybe Text
domain :: Maybe Text
$sel:domain:StartAppResponse' :: StartAppResponse -> Maybe Text
domain} -> Maybe Text
domain) (\s :: StartAppResponse
s@StartAppResponse' {} Maybe Text
a -> StartAppResponse
s {$sel:domain:StartAppResponse' :: Maybe Text
domain = Maybe Text
a} :: StartAppResponse)
startAppResponse_name :: Lens.Lens' StartAppResponse (Prelude.Maybe Prelude.Text)
startAppResponse_name :: Lens' StartAppResponse (Maybe Text)
startAppResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartAppResponse' {Maybe Text
name :: Maybe Text
$sel:name:StartAppResponse' :: StartAppResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: StartAppResponse
s@StartAppResponse' {} Maybe Text
a -> StartAppResponse
s {$sel:name:StartAppResponse' :: Maybe Text
name = Maybe Text
a} :: StartAppResponse)
startAppResponse_simulation :: Lens.Lens' StartAppResponse (Prelude.Maybe Prelude.Text)
startAppResponse_simulation :: Lens' StartAppResponse (Maybe Text)
startAppResponse_simulation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartAppResponse' {Maybe Text
simulation :: Maybe Text
$sel:simulation:StartAppResponse' :: StartAppResponse -> Maybe Text
simulation} -> Maybe Text
simulation) (\s :: StartAppResponse
s@StartAppResponse' {} Maybe Text
a -> StartAppResponse
s {$sel:simulation:StartAppResponse' :: Maybe Text
simulation = Maybe Text
a} :: StartAppResponse)
startAppResponse_httpStatus :: Lens.Lens' StartAppResponse Prelude.Int
startAppResponse_httpStatus :: Lens' StartAppResponse Int
startAppResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartAppResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartAppResponse' :: StartAppResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartAppResponse
s@StartAppResponse' {} Int
a -> StartAppResponse
s {$sel:httpStatus:StartAppResponse' :: Int
httpStatus = Int
a} :: StartAppResponse)
instance Prelude.NFData StartAppResponse where
rnf :: StartAppResponse -> ()
rnf StartAppResponse' {Int
Maybe Text
httpStatus :: Int
simulation :: Maybe Text
name :: Maybe Text
domain :: Maybe Text
$sel:httpStatus:StartAppResponse' :: StartAppResponse -> Int
$sel:simulation:StartAppResponse' :: StartAppResponse -> Maybe Text
$sel:name:StartAppResponse' :: StartAppResponse -> Maybe Text
$sel:domain:StartAppResponse' :: StartAppResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
domain
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
simulation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus