{-# 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.Proton.GetEnvironmentTemplateVersion
(
GetEnvironmentTemplateVersion (..),
newGetEnvironmentTemplateVersion,
getEnvironmentTemplateVersion_majorVersion,
getEnvironmentTemplateVersion_minorVersion,
getEnvironmentTemplateVersion_templateName,
GetEnvironmentTemplateVersionResponse (..),
newGetEnvironmentTemplateVersionResponse,
getEnvironmentTemplateVersionResponse_httpStatus,
getEnvironmentTemplateVersionResponse_environmentTemplateVersion,
)
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 Amazonka.Proton.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetEnvironmentTemplateVersion = GetEnvironmentTemplateVersion'
{
GetEnvironmentTemplateVersion -> Text
majorVersion :: Prelude.Text,
GetEnvironmentTemplateVersion -> Text
minorVersion :: Prelude.Text,
GetEnvironmentTemplateVersion -> Text
templateName :: Prelude.Text
}
deriving (GetEnvironmentTemplateVersion
-> GetEnvironmentTemplateVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEnvironmentTemplateVersion
-> GetEnvironmentTemplateVersion -> Bool
$c/= :: GetEnvironmentTemplateVersion
-> GetEnvironmentTemplateVersion -> Bool
== :: GetEnvironmentTemplateVersion
-> GetEnvironmentTemplateVersion -> Bool
$c== :: GetEnvironmentTemplateVersion
-> GetEnvironmentTemplateVersion -> Bool
Prelude.Eq, ReadPrec [GetEnvironmentTemplateVersion]
ReadPrec GetEnvironmentTemplateVersion
Int -> ReadS GetEnvironmentTemplateVersion
ReadS [GetEnvironmentTemplateVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetEnvironmentTemplateVersion]
$creadListPrec :: ReadPrec [GetEnvironmentTemplateVersion]
readPrec :: ReadPrec GetEnvironmentTemplateVersion
$creadPrec :: ReadPrec GetEnvironmentTemplateVersion
readList :: ReadS [GetEnvironmentTemplateVersion]
$creadList :: ReadS [GetEnvironmentTemplateVersion]
readsPrec :: Int -> ReadS GetEnvironmentTemplateVersion
$creadsPrec :: Int -> ReadS GetEnvironmentTemplateVersion
Prelude.Read, Int -> GetEnvironmentTemplateVersion -> ShowS
[GetEnvironmentTemplateVersion] -> ShowS
GetEnvironmentTemplateVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEnvironmentTemplateVersion] -> ShowS
$cshowList :: [GetEnvironmentTemplateVersion] -> ShowS
show :: GetEnvironmentTemplateVersion -> String
$cshow :: GetEnvironmentTemplateVersion -> String
showsPrec :: Int -> GetEnvironmentTemplateVersion -> ShowS
$cshowsPrec :: Int -> GetEnvironmentTemplateVersion -> ShowS
Prelude.Show, forall x.
Rep GetEnvironmentTemplateVersion x
-> GetEnvironmentTemplateVersion
forall x.
GetEnvironmentTemplateVersion
-> Rep GetEnvironmentTemplateVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetEnvironmentTemplateVersion x
-> GetEnvironmentTemplateVersion
$cfrom :: forall x.
GetEnvironmentTemplateVersion
-> Rep GetEnvironmentTemplateVersion x
Prelude.Generic)
newGetEnvironmentTemplateVersion ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetEnvironmentTemplateVersion
newGetEnvironmentTemplateVersion :: Text -> Text -> Text -> GetEnvironmentTemplateVersion
newGetEnvironmentTemplateVersion
Text
pMajorVersion_
Text
pMinorVersion_
Text
pTemplateName_ =
GetEnvironmentTemplateVersion'
{ $sel:majorVersion:GetEnvironmentTemplateVersion' :: Text
majorVersion =
Text
pMajorVersion_,
$sel:minorVersion:GetEnvironmentTemplateVersion' :: Text
minorVersion = Text
pMinorVersion_,
$sel:templateName:GetEnvironmentTemplateVersion' :: Text
templateName = Text
pTemplateName_
}
getEnvironmentTemplateVersion_majorVersion :: Lens.Lens' GetEnvironmentTemplateVersion Prelude.Text
getEnvironmentTemplateVersion_majorVersion :: Lens' GetEnvironmentTemplateVersion Text
getEnvironmentTemplateVersion_majorVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnvironmentTemplateVersion' {Text
majorVersion :: Text
$sel:majorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
majorVersion} -> Text
majorVersion) (\s :: GetEnvironmentTemplateVersion
s@GetEnvironmentTemplateVersion' {} Text
a -> GetEnvironmentTemplateVersion
s {$sel:majorVersion:GetEnvironmentTemplateVersion' :: Text
majorVersion = Text
a} :: GetEnvironmentTemplateVersion)
getEnvironmentTemplateVersion_minorVersion :: Lens.Lens' GetEnvironmentTemplateVersion Prelude.Text
getEnvironmentTemplateVersion_minorVersion :: Lens' GetEnvironmentTemplateVersion Text
getEnvironmentTemplateVersion_minorVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnvironmentTemplateVersion' {Text
minorVersion :: Text
$sel:minorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
minorVersion} -> Text
minorVersion) (\s :: GetEnvironmentTemplateVersion
s@GetEnvironmentTemplateVersion' {} Text
a -> GetEnvironmentTemplateVersion
s {$sel:minorVersion:GetEnvironmentTemplateVersion' :: Text
minorVersion = Text
a} :: GetEnvironmentTemplateVersion)
getEnvironmentTemplateVersion_templateName :: Lens.Lens' GetEnvironmentTemplateVersion Prelude.Text
getEnvironmentTemplateVersion_templateName :: Lens' GetEnvironmentTemplateVersion Text
getEnvironmentTemplateVersion_templateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnvironmentTemplateVersion' {Text
templateName :: Text
$sel:templateName:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
templateName} -> Text
templateName) (\s :: GetEnvironmentTemplateVersion
s@GetEnvironmentTemplateVersion' {} Text
a -> GetEnvironmentTemplateVersion
s {$sel:templateName:GetEnvironmentTemplateVersion' :: Text
templateName = Text
a} :: GetEnvironmentTemplateVersion)
instance
Core.AWSRequest
GetEnvironmentTemplateVersion
where
type
AWSResponse GetEnvironmentTemplateVersion =
GetEnvironmentTemplateVersionResponse
request :: (Service -> Service)
-> GetEnvironmentTemplateVersion
-> Request GetEnvironmentTemplateVersion
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 GetEnvironmentTemplateVersion
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetEnvironmentTemplateVersion)))
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 ->
Int
-> EnvironmentTemplateVersion
-> GetEnvironmentTemplateVersionResponse
GetEnvironmentTemplateVersionResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"environmentTemplateVersion")
)
instance
Prelude.Hashable
GetEnvironmentTemplateVersion
where
hashWithSalt :: Int -> GetEnvironmentTemplateVersion -> Int
hashWithSalt Int
_salt GetEnvironmentTemplateVersion' {Text
templateName :: Text
minorVersion :: Text
majorVersion :: Text
$sel:templateName:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
$sel:minorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
$sel:majorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
majorVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
minorVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
templateName
instance Prelude.NFData GetEnvironmentTemplateVersion where
rnf :: GetEnvironmentTemplateVersion -> ()
rnf GetEnvironmentTemplateVersion' {Text
templateName :: Text
minorVersion :: Text
majorVersion :: Text
$sel:templateName:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
$sel:minorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
$sel:majorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
majorVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
minorVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
templateName
instance Data.ToHeaders GetEnvironmentTemplateVersion where
toHeaders :: GetEnvironmentTemplateVersion -> 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
"AwsProton20200720.GetEnvironmentTemplateVersion" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetEnvironmentTemplateVersion where
toJSON :: GetEnvironmentTemplateVersion -> Value
toJSON GetEnvironmentTemplateVersion' {Text
templateName :: Text
minorVersion :: Text
majorVersion :: Text
$sel:templateName:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
$sel:minorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
$sel:majorVersion:GetEnvironmentTemplateVersion' :: GetEnvironmentTemplateVersion -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"majorVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
majorVersion),
forall a. a -> Maybe a
Prelude.Just (Key
"minorVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
minorVersion),
forall a. a -> Maybe a
Prelude.Just (Key
"templateName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
templateName)
]
)
instance Data.ToPath GetEnvironmentTemplateVersion where
toPath :: GetEnvironmentTemplateVersion -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetEnvironmentTemplateVersion where
toQuery :: GetEnvironmentTemplateVersion -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetEnvironmentTemplateVersionResponse = GetEnvironmentTemplateVersionResponse'
{
GetEnvironmentTemplateVersionResponse -> Int
httpStatus :: Prelude.Int,
GetEnvironmentTemplateVersionResponse -> EnvironmentTemplateVersion
environmentTemplateVersion :: EnvironmentTemplateVersion
}
deriving (GetEnvironmentTemplateVersionResponse
-> GetEnvironmentTemplateVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEnvironmentTemplateVersionResponse
-> GetEnvironmentTemplateVersionResponse -> Bool
$c/= :: GetEnvironmentTemplateVersionResponse
-> GetEnvironmentTemplateVersionResponse -> Bool
== :: GetEnvironmentTemplateVersionResponse
-> GetEnvironmentTemplateVersionResponse -> Bool
$c== :: GetEnvironmentTemplateVersionResponse
-> GetEnvironmentTemplateVersionResponse -> Bool
Prelude.Eq, Int -> GetEnvironmentTemplateVersionResponse -> ShowS
[GetEnvironmentTemplateVersionResponse] -> ShowS
GetEnvironmentTemplateVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEnvironmentTemplateVersionResponse] -> ShowS
$cshowList :: [GetEnvironmentTemplateVersionResponse] -> ShowS
show :: GetEnvironmentTemplateVersionResponse -> String
$cshow :: GetEnvironmentTemplateVersionResponse -> String
showsPrec :: Int -> GetEnvironmentTemplateVersionResponse -> ShowS
$cshowsPrec :: Int -> GetEnvironmentTemplateVersionResponse -> ShowS
Prelude.Show, forall x.
Rep GetEnvironmentTemplateVersionResponse x
-> GetEnvironmentTemplateVersionResponse
forall x.
GetEnvironmentTemplateVersionResponse
-> Rep GetEnvironmentTemplateVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetEnvironmentTemplateVersionResponse x
-> GetEnvironmentTemplateVersionResponse
$cfrom :: forall x.
GetEnvironmentTemplateVersionResponse
-> Rep GetEnvironmentTemplateVersionResponse x
Prelude.Generic)
newGetEnvironmentTemplateVersionResponse ::
Prelude.Int ->
EnvironmentTemplateVersion ->
GetEnvironmentTemplateVersionResponse
newGetEnvironmentTemplateVersionResponse :: Int
-> EnvironmentTemplateVersion
-> GetEnvironmentTemplateVersionResponse
newGetEnvironmentTemplateVersionResponse
Int
pHttpStatus_
EnvironmentTemplateVersion
pEnvironmentTemplateVersion_ =
GetEnvironmentTemplateVersionResponse'
{ $sel:httpStatus:GetEnvironmentTemplateVersionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:environmentTemplateVersion:GetEnvironmentTemplateVersionResponse' :: EnvironmentTemplateVersion
environmentTemplateVersion =
EnvironmentTemplateVersion
pEnvironmentTemplateVersion_
}
getEnvironmentTemplateVersionResponse_httpStatus :: Lens.Lens' GetEnvironmentTemplateVersionResponse Prelude.Int
getEnvironmentTemplateVersionResponse_httpStatus :: Lens' GetEnvironmentTemplateVersionResponse Int
getEnvironmentTemplateVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnvironmentTemplateVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetEnvironmentTemplateVersionResponse' :: GetEnvironmentTemplateVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetEnvironmentTemplateVersionResponse
s@GetEnvironmentTemplateVersionResponse' {} Int
a -> GetEnvironmentTemplateVersionResponse
s {$sel:httpStatus:GetEnvironmentTemplateVersionResponse' :: Int
httpStatus = Int
a} :: GetEnvironmentTemplateVersionResponse)
getEnvironmentTemplateVersionResponse_environmentTemplateVersion :: Lens.Lens' GetEnvironmentTemplateVersionResponse EnvironmentTemplateVersion
getEnvironmentTemplateVersionResponse_environmentTemplateVersion :: Lens'
GetEnvironmentTemplateVersionResponse EnvironmentTemplateVersion
getEnvironmentTemplateVersionResponse_environmentTemplateVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnvironmentTemplateVersionResponse' {EnvironmentTemplateVersion
environmentTemplateVersion :: EnvironmentTemplateVersion
$sel:environmentTemplateVersion:GetEnvironmentTemplateVersionResponse' :: GetEnvironmentTemplateVersionResponse -> EnvironmentTemplateVersion
environmentTemplateVersion} -> EnvironmentTemplateVersion
environmentTemplateVersion) (\s :: GetEnvironmentTemplateVersionResponse
s@GetEnvironmentTemplateVersionResponse' {} EnvironmentTemplateVersion
a -> GetEnvironmentTemplateVersionResponse
s {$sel:environmentTemplateVersion:GetEnvironmentTemplateVersionResponse' :: EnvironmentTemplateVersion
environmentTemplateVersion = EnvironmentTemplateVersion
a} :: GetEnvironmentTemplateVersionResponse)
instance
Prelude.NFData
GetEnvironmentTemplateVersionResponse
where
rnf :: GetEnvironmentTemplateVersionResponse -> ()
rnf GetEnvironmentTemplateVersionResponse' {Int
EnvironmentTemplateVersion
environmentTemplateVersion :: EnvironmentTemplateVersion
httpStatus :: Int
$sel:environmentTemplateVersion:GetEnvironmentTemplateVersionResponse' :: GetEnvironmentTemplateVersionResponse -> EnvironmentTemplateVersion
$sel:httpStatus:GetEnvironmentTemplateVersionResponse' :: GetEnvironmentTemplateVersionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EnvironmentTemplateVersion
environmentTemplateVersion