{-# 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.GetServiceTemplateVersion
(
GetServiceTemplateVersion (..),
newGetServiceTemplateVersion,
getServiceTemplateVersion_majorVersion,
getServiceTemplateVersion_minorVersion,
getServiceTemplateVersion_templateName,
GetServiceTemplateVersionResponse (..),
newGetServiceTemplateVersionResponse,
getServiceTemplateVersionResponse_httpStatus,
getServiceTemplateVersionResponse_serviceTemplateVersion,
)
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 GetServiceTemplateVersion = GetServiceTemplateVersion'
{
GetServiceTemplateVersion -> Text
majorVersion :: Prelude.Text,
GetServiceTemplateVersion -> Text
minorVersion :: Prelude.Text,
GetServiceTemplateVersion -> Text
templateName :: Prelude.Text
}
deriving (GetServiceTemplateVersion -> GetServiceTemplateVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetServiceTemplateVersion -> GetServiceTemplateVersion -> Bool
$c/= :: GetServiceTemplateVersion -> GetServiceTemplateVersion -> Bool
== :: GetServiceTemplateVersion -> GetServiceTemplateVersion -> Bool
$c== :: GetServiceTemplateVersion -> GetServiceTemplateVersion -> Bool
Prelude.Eq, ReadPrec [GetServiceTemplateVersion]
ReadPrec GetServiceTemplateVersion
Int -> ReadS GetServiceTemplateVersion
ReadS [GetServiceTemplateVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetServiceTemplateVersion]
$creadListPrec :: ReadPrec [GetServiceTemplateVersion]
readPrec :: ReadPrec GetServiceTemplateVersion
$creadPrec :: ReadPrec GetServiceTemplateVersion
readList :: ReadS [GetServiceTemplateVersion]
$creadList :: ReadS [GetServiceTemplateVersion]
readsPrec :: Int -> ReadS GetServiceTemplateVersion
$creadsPrec :: Int -> ReadS GetServiceTemplateVersion
Prelude.Read, Int -> GetServiceTemplateVersion -> ShowS
[GetServiceTemplateVersion] -> ShowS
GetServiceTemplateVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetServiceTemplateVersion] -> ShowS
$cshowList :: [GetServiceTemplateVersion] -> ShowS
show :: GetServiceTemplateVersion -> String
$cshow :: GetServiceTemplateVersion -> String
showsPrec :: Int -> GetServiceTemplateVersion -> ShowS
$cshowsPrec :: Int -> GetServiceTemplateVersion -> ShowS
Prelude.Show, forall x.
Rep GetServiceTemplateVersion x -> GetServiceTemplateVersion
forall x.
GetServiceTemplateVersion -> Rep GetServiceTemplateVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetServiceTemplateVersion x -> GetServiceTemplateVersion
$cfrom :: forall x.
GetServiceTemplateVersion -> Rep GetServiceTemplateVersion x
Prelude.Generic)
newGetServiceTemplateVersion ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetServiceTemplateVersion
newGetServiceTemplateVersion :: Text -> Text -> Text -> GetServiceTemplateVersion
newGetServiceTemplateVersion
Text
pMajorVersion_
Text
pMinorVersion_
Text
pTemplateName_ =
GetServiceTemplateVersion'
{ $sel:majorVersion:GetServiceTemplateVersion' :: Text
majorVersion =
Text
pMajorVersion_,
$sel:minorVersion:GetServiceTemplateVersion' :: Text
minorVersion = Text
pMinorVersion_,
$sel:templateName:GetServiceTemplateVersion' :: Text
templateName = Text
pTemplateName_
}
getServiceTemplateVersion_majorVersion :: Lens.Lens' GetServiceTemplateVersion Prelude.Text
getServiceTemplateVersion_majorVersion :: Lens' GetServiceTemplateVersion Text
getServiceTemplateVersion_majorVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetServiceTemplateVersion' {Text
majorVersion :: Text
$sel:majorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
majorVersion} -> Text
majorVersion) (\s :: GetServiceTemplateVersion
s@GetServiceTemplateVersion' {} Text
a -> GetServiceTemplateVersion
s {$sel:majorVersion:GetServiceTemplateVersion' :: Text
majorVersion = Text
a} :: GetServiceTemplateVersion)
getServiceTemplateVersion_minorVersion :: Lens.Lens' GetServiceTemplateVersion Prelude.Text
getServiceTemplateVersion_minorVersion :: Lens' GetServiceTemplateVersion Text
getServiceTemplateVersion_minorVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetServiceTemplateVersion' {Text
minorVersion :: Text
$sel:minorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
minorVersion} -> Text
minorVersion) (\s :: GetServiceTemplateVersion
s@GetServiceTemplateVersion' {} Text
a -> GetServiceTemplateVersion
s {$sel:minorVersion:GetServiceTemplateVersion' :: Text
minorVersion = Text
a} :: GetServiceTemplateVersion)
getServiceTemplateVersion_templateName :: Lens.Lens' GetServiceTemplateVersion Prelude.Text
getServiceTemplateVersion_templateName :: Lens' GetServiceTemplateVersion Text
getServiceTemplateVersion_templateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetServiceTemplateVersion' {Text
templateName :: Text
$sel:templateName:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
templateName} -> Text
templateName) (\s :: GetServiceTemplateVersion
s@GetServiceTemplateVersion' {} Text
a -> GetServiceTemplateVersion
s {$sel:templateName:GetServiceTemplateVersion' :: Text
templateName = Text
a} :: GetServiceTemplateVersion)
instance Core.AWSRequest GetServiceTemplateVersion where
type
AWSResponse GetServiceTemplateVersion =
GetServiceTemplateVersionResponse
request :: (Service -> Service)
-> GetServiceTemplateVersion -> Request GetServiceTemplateVersion
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 GetServiceTemplateVersion
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetServiceTemplateVersion)))
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 -> ServiceTemplateVersion -> GetServiceTemplateVersionResponse
GetServiceTemplateVersionResponse'
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
"serviceTemplateVersion")
)
instance Prelude.Hashable GetServiceTemplateVersion where
hashWithSalt :: Int -> GetServiceTemplateVersion -> Int
hashWithSalt Int
_salt GetServiceTemplateVersion' {Text
templateName :: Text
minorVersion :: Text
majorVersion :: Text
$sel:templateName:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
$sel:minorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
$sel:majorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> 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 GetServiceTemplateVersion where
rnf :: GetServiceTemplateVersion -> ()
rnf GetServiceTemplateVersion' {Text
templateName :: Text
minorVersion :: Text
majorVersion :: Text
$sel:templateName:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
$sel:minorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
$sel:majorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> 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 GetServiceTemplateVersion where
toHeaders :: GetServiceTemplateVersion -> 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.GetServiceTemplateVersion" ::
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 GetServiceTemplateVersion where
toJSON :: GetServiceTemplateVersion -> Value
toJSON GetServiceTemplateVersion' {Text
templateName :: Text
minorVersion :: Text
majorVersion :: Text
$sel:templateName:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
$sel:minorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> Text
$sel:majorVersion:GetServiceTemplateVersion' :: GetServiceTemplateVersion -> 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 GetServiceTemplateVersion where
toPath :: GetServiceTemplateVersion -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetServiceTemplateVersion where
toQuery :: GetServiceTemplateVersion -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetServiceTemplateVersionResponse = GetServiceTemplateVersionResponse'
{
GetServiceTemplateVersionResponse -> Int
httpStatus :: Prelude.Int,
GetServiceTemplateVersionResponse -> ServiceTemplateVersion
serviceTemplateVersion :: ServiceTemplateVersion
}
deriving (GetServiceTemplateVersionResponse
-> GetServiceTemplateVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetServiceTemplateVersionResponse
-> GetServiceTemplateVersionResponse -> Bool
$c/= :: GetServiceTemplateVersionResponse
-> GetServiceTemplateVersionResponse -> Bool
== :: GetServiceTemplateVersionResponse
-> GetServiceTemplateVersionResponse -> Bool
$c== :: GetServiceTemplateVersionResponse
-> GetServiceTemplateVersionResponse -> Bool
Prelude.Eq, Int -> GetServiceTemplateVersionResponse -> ShowS
[GetServiceTemplateVersionResponse] -> ShowS
GetServiceTemplateVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetServiceTemplateVersionResponse] -> ShowS
$cshowList :: [GetServiceTemplateVersionResponse] -> ShowS
show :: GetServiceTemplateVersionResponse -> String
$cshow :: GetServiceTemplateVersionResponse -> String
showsPrec :: Int -> GetServiceTemplateVersionResponse -> ShowS
$cshowsPrec :: Int -> GetServiceTemplateVersionResponse -> ShowS
Prelude.Show, forall x.
Rep GetServiceTemplateVersionResponse x
-> GetServiceTemplateVersionResponse
forall x.
GetServiceTemplateVersionResponse
-> Rep GetServiceTemplateVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetServiceTemplateVersionResponse x
-> GetServiceTemplateVersionResponse
$cfrom :: forall x.
GetServiceTemplateVersionResponse
-> Rep GetServiceTemplateVersionResponse x
Prelude.Generic)
newGetServiceTemplateVersionResponse ::
Prelude.Int ->
ServiceTemplateVersion ->
GetServiceTemplateVersionResponse
newGetServiceTemplateVersionResponse :: Int -> ServiceTemplateVersion -> GetServiceTemplateVersionResponse
newGetServiceTemplateVersionResponse
Int
pHttpStatus_
ServiceTemplateVersion
pServiceTemplateVersion_ =
GetServiceTemplateVersionResponse'
{ $sel:httpStatus:GetServiceTemplateVersionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:serviceTemplateVersion:GetServiceTemplateVersionResponse' :: ServiceTemplateVersion
serviceTemplateVersion =
ServiceTemplateVersion
pServiceTemplateVersion_
}
getServiceTemplateVersionResponse_httpStatus :: Lens.Lens' GetServiceTemplateVersionResponse Prelude.Int
getServiceTemplateVersionResponse_httpStatus :: Lens' GetServiceTemplateVersionResponse Int
getServiceTemplateVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetServiceTemplateVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetServiceTemplateVersionResponse' :: GetServiceTemplateVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetServiceTemplateVersionResponse
s@GetServiceTemplateVersionResponse' {} Int
a -> GetServiceTemplateVersionResponse
s {$sel:httpStatus:GetServiceTemplateVersionResponse' :: Int
httpStatus = Int
a} :: GetServiceTemplateVersionResponse)
getServiceTemplateVersionResponse_serviceTemplateVersion :: Lens.Lens' GetServiceTemplateVersionResponse ServiceTemplateVersion
getServiceTemplateVersionResponse_serviceTemplateVersion :: Lens' GetServiceTemplateVersionResponse ServiceTemplateVersion
getServiceTemplateVersionResponse_serviceTemplateVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetServiceTemplateVersionResponse' {ServiceTemplateVersion
serviceTemplateVersion :: ServiceTemplateVersion
$sel:serviceTemplateVersion:GetServiceTemplateVersionResponse' :: GetServiceTemplateVersionResponse -> ServiceTemplateVersion
serviceTemplateVersion} -> ServiceTemplateVersion
serviceTemplateVersion) (\s :: GetServiceTemplateVersionResponse
s@GetServiceTemplateVersionResponse' {} ServiceTemplateVersion
a -> GetServiceTemplateVersionResponse
s {$sel:serviceTemplateVersion:GetServiceTemplateVersionResponse' :: ServiceTemplateVersion
serviceTemplateVersion = ServiceTemplateVersion
a} :: GetServiceTemplateVersionResponse)
instance
Prelude.NFData
GetServiceTemplateVersionResponse
where
rnf :: GetServiceTemplateVersionResponse -> ()
rnf GetServiceTemplateVersionResponse' {Int
ServiceTemplateVersion
serviceTemplateVersion :: ServiceTemplateVersion
httpStatus :: Int
$sel:serviceTemplateVersion:GetServiceTemplateVersionResponse' :: GetServiceTemplateVersionResponse -> ServiceTemplateVersion
$sel:httpStatus:GetServiceTemplateVersionResponse' :: GetServiceTemplateVersionResponse -> 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 ServiceTemplateVersion
serviceTemplateVersion