{-# 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.Nimble.GetLaunchProfileInitialization
(
GetLaunchProfileInitialization (..),
newGetLaunchProfileInitialization,
getLaunchProfileInitialization_launchProfileId,
getLaunchProfileInitialization_launchProfileProtocolVersions,
getLaunchProfileInitialization_launchPurpose,
getLaunchProfileInitialization_platform,
getLaunchProfileInitialization_studioId,
GetLaunchProfileInitializationResponse (..),
newGetLaunchProfileInitializationResponse,
getLaunchProfileInitializationResponse_launchProfileInitialization,
getLaunchProfileInitializationResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Nimble.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetLaunchProfileInitialization = GetLaunchProfileInitialization'
{
GetLaunchProfileInitialization -> Text
launchProfileId :: Prelude.Text,
GetLaunchProfileInitialization -> [Text]
launchProfileProtocolVersions :: [Prelude.Text],
GetLaunchProfileInitialization -> Text
launchPurpose :: Prelude.Text,
GetLaunchProfileInitialization -> Text
platform :: Prelude.Text,
GetLaunchProfileInitialization -> Text
studioId :: Prelude.Text
}
deriving (GetLaunchProfileInitialization
-> GetLaunchProfileInitialization -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetLaunchProfileInitialization
-> GetLaunchProfileInitialization -> Bool
$c/= :: GetLaunchProfileInitialization
-> GetLaunchProfileInitialization -> Bool
== :: GetLaunchProfileInitialization
-> GetLaunchProfileInitialization -> Bool
$c== :: GetLaunchProfileInitialization
-> GetLaunchProfileInitialization -> Bool
Prelude.Eq, ReadPrec [GetLaunchProfileInitialization]
ReadPrec GetLaunchProfileInitialization
Int -> ReadS GetLaunchProfileInitialization
ReadS [GetLaunchProfileInitialization]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetLaunchProfileInitialization]
$creadListPrec :: ReadPrec [GetLaunchProfileInitialization]
readPrec :: ReadPrec GetLaunchProfileInitialization
$creadPrec :: ReadPrec GetLaunchProfileInitialization
readList :: ReadS [GetLaunchProfileInitialization]
$creadList :: ReadS [GetLaunchProfileInitialization]
readsPrec :: Int -> ReadS GetLaunchProfileInitialization
$creadsPrec :: Int -> ReadS GetLaunchProfileInitialization
Prelude.Read, Int -> GetLaunchProfileInitialization -> ShowS
[GetLaunchProfileInitialization] -> ShowS
GetLaunchProfileInitialization -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetLaunchProfileInitialization] -> ShowS
$cshowList :: [GetLaunchProfileInitialization] -> ShowS
show :: GetLaunchProfileInitialization -> String
$cshow :: GetLaunchProfileInitialization -> String
showsPrec :: Int -> GetLaunchProfileInitialization -> ShowS
$cshowsPrec :: Int -> GetLaunchProfileInitialization -> ShowS
Prelude.Show, forall x.
Rep GetLaunchProfileInitialization x
-> GetLaunchProfileInitialization
forall x.
GetLaunchProfileInitialization
-> Rep GetLaunchProfileInitialization x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetLaunchProfileInitialization x
-> GetLaunchProfileInitialization
$cfrom :: forall x.
GetLaunchProfileInitialization
-> Rep GetLaunchProfileInitialization x
Prelude.Generic)
newGetLaunchProfileInitialization ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetLaunchProfileInitialization
newGetLaunchProfileInitialization :: Text -> Text -> Text -> Text -> GetLaunchProfileInitialization
newGetLaunchProfileInitialization
Text
pLaunchProfileId_
Text
pLaunchPurpose_
Text
pPlatform_
Text
pStudioId_ =
GetLaunchProfileInitialization'
{ $sel:launchProfileId:GetLaunchProfileInitialization' :: Text
launchProfileId =
Text
pLaunchProfileId_,
$sel:launchProfileProtocolVersions:GetLaunchProfileInitialization' :: [Text]
launchProfileProtocolVersions =
forall a. Monoid a => a
Prelude.mempty,
$sel:launchPurpose:GetLaunchProfileInitialization' :: Text
launchPurpose = Text
pLaunchPurpose_,
$sel:platform:GetLaunchProfileInitialization' :: Text
platform = Text
pPlatform_,
$sel:studioId:GetLaunchProfileInitialization' :: Text
studioId = Text
pStudioId_
}
getLaunchProfileInitialization_launchProfileId :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text
getLaunchProfileInitialization_launchProfileId :: Lens' GetLaunchProfileInitialization Text
getLaunchProfileInitialization_launchProfileId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLaunchProfileInitialization' {Text
launchProfileId :: Text
$sel:launchProfileId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
launchProfileId} -> Text
launchProfileId) (\s :: GetLaunchProfileInitialization
s@GetLaunchProfileInitialization' {} Text
a -> GetLaunchProfileInitialization
s {$sel:launchProfileId:GetLaunchProfileInitialization' :: Text
launchProfileId = Text
a} :: GetLaunchProfileInitialization)
getLaunchProfileInitialization_launchProfileProtocolVersions :: Lens.Lens' GetLaunchProfileInitialization [Prelude.Text]
getLaunchProfileInitialization_launchProfileProtocolVersions :: Lens' GetLaunchProfileInitialization [Text]
getLaunchProfileInitialization_launchProfileProtocolVersions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLaunchProfileInitialization' {[Text]
launchProfileProtocolVersions :: [Text]
$sel:launchProfileProtocolVersions:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> [Text]
launchProfileProtocolVersions} -> [Text]
launchProfileProtocolVersions) (\s :: GetLaunchProfileInitialization
s@GetLaunchProfileInitialization' {} [Text]
a -> GetLaunchProfileInitialization
s {$sel:launchProfileProtocolVersions:GetLaunchProfileInitialization' :: [Text]
launchProfileProtocolVersions = [Text]
a} :: GetLaunchProfileInitialization) 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
getLaunchProfileInitialization_launchPurpose :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text
getLaunchProfileInitialization_launchPurpose :: Lens' GetLaunchProfileInitialization Text
getLaunchProfileInitialization_launchPurpose = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLaunchProfileInitialization' {Text
launchPurpose :: Text
$sel:launchPurpose:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
launchPurpose} -> Text
launchPurpose) (\s :: GetLaunchProfileInitialization
s@GetLaunchProfileInitialization' {} Text
a -> GetLaunchProfileInitialization
s {$sel:launchPurpose:GetLaunchProfileInitialization' :: Text
launchPurpose = Text
a} :: GetLaunchProfileInitialization)
getLaunchProfileInitialization_platform :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text
getLaunchProfileInitialization_platform :: Lens' GetLaunchProfileInitialization Text
getLaunchProfileInitialization_platform = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLaunchProfileInitialization' {Text
platform :: Text
$sel:platform:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
platform} -> Text
platform) (\s :: GetLaunchProfileInitialization
s@GetLaunchProfileInitialization' {} Text
a -> GetLaunchProfileInitialization
s {$sel:platform:GetLaunchProfileInitialization' :: Text
platform = Text
a} :: GetLaunchProfileInitialization)
getLaunchProfileInitialization_studioId :: Lens.Lens' GetLaunchProfileInitialization Prelude.Text
getLaunchProfileInitialization_studioId :: Lens' GetLaunchProfileInitialization Text
getLaunchProfileInitialization_studioId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLaunchProfileInitialization' {Text
studioId :: Text
$sel:studioId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
studioId} -> Text
studioId) (\s :: GetLaunchProfileInitialization
s@GetLaunchProfileInitialization' {} Text
a -> GetLaunchProfileInitialization
s {$sel:studioId:GetLaunchProfileInitialization' :: Text
studioId = Text
a} :: GetLaunchProfileInitialization)
instance
Core.AWSRequest
GetLaunchProfileInitialization
where
type
AWSResponse GetLaunchProfileInitialization =
GetLaunchProfileInitializationResponse
request :: (Service -> Service)
-> GetLaunchProfileInitialization
-> Request GetLaunchProfileInitialization
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 GetLaunchProfileInitialization
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse GetLaunchProfileInitialization)))
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 LaunchProfileInitialization
-> Int -> GetLaunchProfileInitializationResponse
GetLaunchProfileInitializationResponse'
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
"launchProfileInitialization")
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
GetLaunchProfileInitialization
where
hashWithSalt :: Int -> GetLaunchProfileInitialization -> Int
hashWithSalt
Int
_salt
GetLaunchProfileInitialization' {[Text]
Text
studioId :: Text
platform :: Text
launchPurpose :: Text
launchProfileProtocolVersions :: [Text]
launchProfileId :: Text
$sel:studioId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:platform:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchPurpose:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchProfileProtocolVersions:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> [Text]
$sel:launchProfileId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
launchProfileId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
launchProfileProtocolVersions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
launchPurpose
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
platform
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
studioId
instance
Prelude.NFData
GetLaunchProfileInitialization
where
rnf :: GetLaunchProfileInitialization -> ()
rnf GetLaunchProfileInitialization' {[Text]
Text
studioId :: Text
platform :: Text
launchPurpose :: Text
launchProfileProtocolVersions :: [Text]
launchProfileId :: Text
$sel:studioId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:platform:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchPurpose:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchProfileProtocolVersions:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> [Text]
$sel:launchProfileId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
launchProfileId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
launchProfileProtocolVersions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
launchPurpose
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
platform
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
studioId
instance
Data.ToHeaders
GetLaunchProfileInitialization
where
toHeaders :: GetLaunchProfileInitialization -> 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 GetLaunchProfileInitialization where
toPath :: GetLaunchProfileInitialization -> ByteString
toPath GetLaunchProfileInitialization' {[Text]
Text
studioId :: Text
platform :: Text
launchPurpose :: Text
launchProfileProtocolVersions :: [Text]
launchProfileId :: Text
$sel:studioId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:platform:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchPurpose:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchProfileProtocolVersions:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> [Text]
$sel:launchProfileId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2020-08-01/studios/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
studioId,
ByteString
"/launch-profiles/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
launchProfileId,
ByteString
"/init"
]
instance Data.ToQuery GetLaunchProfileInitialization where
toQuery :: GetLaunchProfileInitialization -> QueryString
toQuery GetLaunchProfileInitialization' {[Text]
Text
studioId :: Text
platform :: Text
launchPurpose :: Text
launchProfileProtocolVersions :: [Text]
launchProfileId :: Text
$sel:studioId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:platform:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchPurpose:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
$sel:launchProfileProtocolVersions:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> [Text]
$sel:launchProfileId:GetLaunchProfileInitialization' :: GetLaunchProfileInitialization -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"launchProfileProtocolVersions"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList
ByteString
"member"
[Text]
launchProfileProtocolVersions,
ByteString
"launchPurpose" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
launchPurpose,
ByteString
"platform" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
platform
]
data GetLaunchProfileInitializationResponse = GetLaunchProfileInitializationResponse'
{
GetLaunchProfileInitializationResponse
-> Maybe LaunchProfileInitialization
launchProfileInitialization :: Prelude.Maybe LaunchProfileInitialization,
GetLaunchProfileInitializationResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetLaunchProfileInitializationResponse
-> GetLaunchProfileInitializationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetLaunchProfileInitializationResponse
-> GetLaunchProfileInitializationResponse -> Bool
$c/= :: GetLaunchProfileInitializationResponse
-> GetLaunchProfileInitializationResponse -> Bool
== :: GetLaunchProfileInitializationResponse
-> GetLaunchProfileInitializationResponse -> Bool
$c== :: GetLaunchProfileInitializationResponse
-> GetLaunchProfileInitializationResponse -> Bool
Prelude.Eq, Int -> GetLaunchProfileInitializationResponse -> ShowS
[GetLaunchProfileInitializationResponse] -> ShowS
GetLaunchProfileInitializationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetLaunchProfileInitializationResponse] -> ShowS
$cshowList :: [GetLaunchProfileInitializationResponse] -> ShowS
show :: GetLaunchProfileInitializationResponse -> String
$cshow :: GetLaunchProfileInitializationResponse -> String
showsPrec :: Int -> GetLaunchProfileInitializationResponse -> ShowS
$cshowsPrec :: Int -> GetLaunchProfileInitializationResponse -> ShowS
Prelude.Show, forall x.
Rep GetLaunchProfileInitializationResponse x
-> GetLaunchProfileInitializationResponse
forall x.
GetLaunchProfileInitializationResponse
-> Rep GetLaunchProfileInitializationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetLaunchProfileInitializationResponse x
-> GetLaunchProfileInitializationResponse
$cfrom :: forall x.
GetLaunchProfileInitializationResponse
-> Rep GetLaunchProfileInitializationResponse x
Prelude.Generic)
newGetLaunchProfileInitializationResponse ::
Prelude.Int ->
GetLaunchProfileInitializationResponse
newGetLaunchProfileInitializationResponse :: Int -> GetLaunchProfileInitializationResponse
newGetLaunchProfileInitializationResponse
Int
pHttpStatus_ =
GetLaunchProfileInitializationResponse'
{ $sel:launchProfileInitialization:GetLaunchProfileInitializationResponse' :: Maybe LaunchProfileInitialization
launchProfileInitialization =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetLaunchProfileInitializationResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getLaunchProfileInitializationResponse_launchProfileInitialization :: Lens.Lens' GetLaunchProfileInitializationResponse (Prelude.Maybe LaunchProfileInitialization)
getLaunchProfileInitializationResponse_launchProfileInitialization :: Lens'
GetLaunchProfileInitializationResponse
(Maybe LaunchProfileInitialization)
getLaunchProfileInitializationResponse_launchProfileInitialization = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLaunchProfileInitializationResponse' {Maybe LaunchProfileInitialization
launchProfileInitialization :: Maybe LaunchProfileInitialization
$sel:launchProfileInitialization:GetLaunchProfileInitializationResponse' :: GetLaunchProfileInitializationResponse
-> Maybe LaunchProfileInitialization
launchProfileInitialization} -> Maybe LaunchProfileInitialization
launchProfileInitialization) (\s :: GetLaunchProfileInitializationResponse
s@GetLaunchProfileInitializationResponse' {} Maybe LaunchProfileInitialization
a -> GetLaunchProfileInitializationResponse
s {$sel:launchProfileInitialization:GetLaunchProfileInitializationResponse' :: Maybe LaunchProfileInitialization
launchProfileInitialization = Maybe LaunchProfileInitialization
a} :: GetLaunchProfileInitializationResponse)
getLaunchProfileInitializationResponse_httpStatus :: Lens.Lens' GetLaunchProfileInitializationResponse Prelude.Int
getLaunchProfileInitializationResponse_httpStatus :: Lens' GetLaunchProfileInitializationResponse Int
getLaunchProfileInitializationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetLaunchProfileInitializationResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetLaunchProfileInitializationResponse' :: GetLaunchProfileInitializationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetLaunchProfileInitializationResponse
s@GetLaunchProfileInitializationResponse' {} Int
a -> GetLaunchProfileInitializationResponse
s {$sel:httpStatus:GetLaunchProfileInitializationResponse' :: Int
httpStatus = Int
a} :: GetLaunchProfileInitializationResponse)
instance
Prelude.NFData
GetLaunchProfileInitializationResponse
where
rnf :: GetLaunchProfileInitializationResponse -> ()
rnf GetLaunchProfileInitializationResponse' {Int
Maybe LaunchProfileInitialization
httpStatus :: Int
launchProfileInitialization :: Maybe LaunchProfileInitialization
$sel:httpStatus:GetLaunchProfileInitializationResponse' :: GetLaunchProfileInitializationResponse -> Int
$sel:launchProfileInitialization:GetLaunchProfileInitializationResponse' :: GetLaunchProfileInitializationResponse
-> Maybe LaunchProfileInitialization
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe LaunchProfileInitialization
launchProfileInitialization
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus