{-# 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.GetTemplateSyncStatus
(
GetTemplateSyncStatus (..),
newGetTemplateSyncStatus,
getTemplateSyncStatus_templateName,
getTemplateSyncStatus_templateType,
getTemplateSyncStatus_templateVersion,
GetTemplateSyncStatusResponse (..),
newGetTemplateSyncStatusResponse,
getTemplateSyncStatusResponse_desiredState,
getTemplateSyncStatusResponse_latestSuccessfulSync,
getTemplateSyncStatusResponse_latestSync,
getTemplateSyncStatusResponse_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 Amazonka.Proton.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetTemplateSyncStatus = GetTemplateSyncStatus'
{
GetTemplateSyncStatus -> Text
templateName :: Prelude.Text,
GetTemplateSyncStatus -> TemplateType
templateType :: TemplateType,
GetTemplateSyncStatus -> Text
templateVersion :: Prelude.Text
}
deriving (GetTemplateSyncStatus -> GetTemplateSyncStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetTemplateSyncStatus -> GetTemplateSyncStatus -> Bool
$c/= :: GetTemplateSyncStatus -> GetTemplateSyncStatus -> Bool
== :: GetTemplateSyncStatus -> GetTemplateSyncStatus -> Bool
$c== :: GetTemplateSyncStatus -> GetTemplateSyncStatus -> Bool
Prelude.Eq, ReadPrec [GetTemplateSyncStatus]
ReadPrec GetTemplateSyncStatus
Int -> ReadS GetTemplateSyncStatus
ReadS [GetTemplateSyncStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetTemplateSyncStatus]
$creadListPrec :: ReadPrec [GetTemplateSyncStatus]
readPrec :: ReadPrec GetTemplateSyncStatus
$creadPrec :: ReadPrec GetTemplateSyncStatus
readList :: ReadS [GetTemplateSyncStatus]
$creadList :: ReadS [GetTemplateSyncStatus]
readsPrec :: Int -> ReadS GetTemplateSyncStatus
$creadsPrec :: Int -> ReadS GetTemplateSyncStatus
Prelude.Read, Int -> GetTemplateSyncStatus -> ShowS
[GetTemplateSyncStatus] -> ShowS
GetTemplateSyncStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetTemplateSyncStatus] -> ShowS
$cshowList :: [GetTemplateSyncStatus] -> ShowS
show :: GetTemplateSyncStatus -> String
$cshow :: GetTemplateSyncStatus -> String
showsPrec :: Int -> GetTemplateSyncStatus -> ShowS
$cshowsPrec :: Int -> GetTemplateSyncStatus -> ShowS
Prelude.Show, forall x. Rep GetTemplateSyncStatus x -> GetTemplateSyncStatus
forall x. GetTemplateSyncStatus -> Rep GetTemplateSyncStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetTemplateSyncStatus x -> GetTemplateSyncStatus
$cfrom :: forall x. GetTemplateSyncStatus -> Rep GetTemplateSyncStatus x
Prelude.Generic)
newGetTemplateSyncStatus ::
Prelude.Text ->
TemplateType ->
Prelude.Text ->
GetTemplateSyncStatus
newGetTemplateSyncStatus :: Text -> TemplateType -> Text -> GetTemplateSyncStatus
newGetTemplateSyncStatus
Text
pTemplateName_
TemplateType
pTemplateType_
Text
pTemplateVersion_ =
GetTemplateSyncStatus'
{ $sel:templateName:GetTemplateSyncStatus' :: Text
templateName =
Text
pTemplateName_,
$sel:templateType:GetTemplateSyncStatus' :: TemplateType
templateType = TemplateType
pTemplateType_,
$sel:templateVersion:GetTemplateSyncStatus' :: Text
templateVersion = Text
pTemplateVersion_
}
getTemplateSyncStatus_templateName :: Lens.Lens' GetTemplateSyncStatus Prelude.Text
getTemplateSyncStatus_templateName :: Lens' GetTemplateSyncStatus Text
getTemplateSyncStatus_templateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTemplateSyncStatus' {Text
templateName :: Text
$sel:templateName:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
templateName} -> Text
templateName) (\s :: GetTemplateSyncStatus
s@GetTemplateSyncStatus' {} Text
a -> GetTemplateSyncStatus
s {$sel:templateName:GetTemplateSyncStatus' :: Text
templateName = Text
a} :: GetTemplateSyncStatus)
getTemplateSyncStatus_templateType :: Lens.Lens' GetTemplateSyncStatus TemplateType
getTemplateSyncStatus_templateType :: Lens' GetTemplateSyncStatus TemplateType
getTemplateSyncStatus_templateType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTemplateSyncStatus' {TemplateType
templateType :: TemplateType
$sel:templateType:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> TemplateType
templateType} -> TemplateType
templateType) (\s :: GetTemplateSyncStatus
s@GetTemplateSyncStatus' {} TemplateType
a -> GetTemplateSyncStatus
s {$sel:templateType:GetTemplateSyncStatus' :: TemplateType
templateType = TemplateType
a} :: GetTemplateSyncStatus)
getTemplateSyncStatus_templateVersion :: Lens.Lens' GetTemplateSyncStatus Prelude.Text
getTemplateSyncStatus_templateVersion :: Lens' GetTemplateSyncStatus Text
getTemplateSyncStatus_templateVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTemplateSyncStatus' {Text
templateVersion :: Text
$sel:templateVersion:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
templateVersion} -> Text
templateVersion) (\s :: GetTemplateSyncStatus
s@GetTemplateSyncStatus' {} Text
a -> GetTemplateSyncStatus
s {$sel:templateVersion:GetTemplateSyncStatus' :: Text
templateVersion = Text
a} :: GetTemplateSyncStatus)
instance Core.AWSRequest GetTemplateSyncStatus where
type
AWSResponse GetTemplateSyncStatus =
GetTemplateSyncStatusResponse
request :: (Service -> Service)
-> GetTemplateSyncStatus -> Request GetTemplateSyncStatus
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 GetTemplateSyncStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetTemplateSyncStatus)))
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 Revision
-> Maybe ResourceSyncAttempt
-> Maybe ResourceSyncAttempt
-> Int
-> GetTemplateSyncStatusResponse
GetTemplateSyncStatusResponse'
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
"desiredState")
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
"latestSuccessfulSync")
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
"latestSync")
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 GetTemplateSyncStatus where
hashWithSalt :: Int -> GetTemplateSyncStatus -> Int
hashWithSalt Int
_salt GetTemplateSyncStatus' {Text
TemplateType
templateVersion :: Text
templateType :: TemplateType
templateName :: Text
$sel:templateVersion:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
$sel:templateType:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> TemplateType
$sel:templateName:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
templateName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` TemplateType
templateType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
templateVersion
instance Prelude.NFData GetTemplateSyncStatus where
rnf :: GetTemplateSyncStatus -> ()
rnf GetTemplateSyncStatus' {Text
TemplateType
templateVersion :: Text
templateType :: TemplateType
templateName :: Text
$sel:templateVersion:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
$sel:templateType:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> TemplateType
$sel:templateName:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
templateName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf TemplateType
templateType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
templateVersion
instance Data.ToHeaders GetTemplateSyncStatus where
toHeaders :: GetTemplateSyncStatus -> 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.GetTemplateSyncStatus" ::
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 GetTemplateSyncStatus where
toJSON :: GetTemplateSyncStatus -> Value
toJSON GetTemplateSyncStatus' {Text
TemplateType
templateVersion :: Text
templateType :: TemplateType
templateName :: Text
$sel:templateVersion:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
$sel:templateType:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> TemplateType
$sel:templateName:GetTemplateSyncStatus' :: GetTemplateSyncStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"templateName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
templateName),
forall a. a -> Maybe a
Prelude.Just (Key
"templateType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= TemplateType
templateType),
forall a. a -> Maybe a
Prelude.Just
(Key
"templateVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
templateVersion)
]
)
instance Data.ToPath GetTemplateSyncStatus where
toPath :: GetTemplateSyncStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetTemplateSyncStatus where
toQuery :: GetTemplateSyncStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetTemplateSyncStatusResponse = GetTemplateSyncStatusResponse'
{
GetTemplateSyncStatusResponse -> Maybe Revision
desiredState :: Prelude.Maybe Revision,
GetTemplateSyncStatusResponse -> Maybe ResourceSyncAttempt
latestSuccessfulSync :: Prelude.Maybe ResourceSyncAttempt,
GetTemplateSyncStatusResponse -> Maybe ResourceSyncAttempt
latestSync :: Prelude.Maybe ResourceSyncAttempt,
GetTemplateSyncStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetTemplateSyncStatusResponse
-> GetTemplateSyncStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetTemplateSyncStatusResponse
-> GetTemplateSyncStatusResponse -> Bool
$c/= :: GetTemplateSyncStatusResponse
-> GetTemplateSyncStatusResponse -> Bool
== :: GetTemplateSyncStatusResponse
-> GetTemplateSyncStatusResponse -> Bool
$c== :: GetTemplateSyncStatusResponse
-> GetTemplateSyncStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetTemplateSyncStatusResponse]
ReadPrec GetTemplateSyncStatusResponse
Int -> ReadS GetTemplateSyncStatusResponse
ReadS [GetTemplateSyncStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetTemplateSyncStatusResponse]
$creadListPrec :: ReadPrec [GetTemplateSyncStatusResponse]
readPrec :: ReadPrec GetTemplateSyncStatusResponse
$creadPrec :: ReadPrec GetTemplateSyncStatusResponse
readList :: ReadS [GetTemplateSyncStatusResponse]
$creadList :: ReadS [GetTemplateSyncStatusResponse]
readsPrec :: Int -> ReadS GetTemplateSyncStatusResponse
$creadsPrec :: Int -> ReadS GetTemplateSyncStatusResponse
Prelude.Read, Int -> GetTemplateSyncStatusResponse -> ShowS
[GetTemplateSyncStatusResponse] -> ShowS
GetTemplateSyncStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetTemplateSyncStatusResponse] -> ShowS
$cshowList :: [GetTemplateSyncStatusResponse] -> ShowS
show :: GetTemplateSyncStatusResponse -> String
$cshow :: GetTemplateSyncStatusResponse -> String
showsPrec :: Int -> GetTemplateSyncStatusResponse -> ShowS
$cshowsPrec :: Int -> GetTemplateSyncStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetTemplateSyncStatusResponse x
-> GetTemplateSyncStatusResponse
forall x.
GetTemplateSyncStatusResponse
-> Rep GetTemplateSyncStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetTemplateSyncStatusResponse x
-> GetTemplateSyncStatusResponse
$cfrom :: forall x.
GetTemplateSyncStatusResponse
-> Rep GetTemplateSyncStatusResponse x
Prelude.Generic)
newGetTemplateSyncStatusResponse ::
Prelude.Int ->
GetTemplateSyncStatusResponse
newGetTemplateSyncStatusResponse :: Int -> GetTemplateSyncStatusResponse
newGetTemplateSyncStatusResponse Int
pHttpStatus_ =
GetTemplateSyncStatusResponse'
{ $sel:desiredState:GetTemplateSyncStatusResponse' :: Maybe Revision
desiredState =
forall a. Maybe a
Prelude.Nothing,
$sel:latestSuccessfulSync:GetTemplateSyncStatusResponse' :: Maybe ResourceSyncAttempt
latestSuccessfulSync = forall a. Maybe a
Prelude.Nothing,
$sel:latestSync:GetTemplateSyncStatusResponse' :: Maybe ResourceSyncAttempt
latestSync = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetTemplateSyncStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getTemplateSyncStatusResponse_desiredState :: Lens.Lens' GetTemplateSyncStatusResponse (Prelude.Maybe Revision)
getTemplateSyncStatusResponse_desiredState :: Lens' GetTemplateSyncStatusResponse (Maybe Revision)
getTemplateSyncStatusResponse_desiredState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTemplateSyncStatusResponse' {Maybe Revision
desiredState :: Maybe Revision
$sel:desiredState:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Maybe Revision
desiredState} -> Maybe Revision
desiredState) (\s :: GetTemplateSyncStatusResponse
s@GetTemplateSyncStatusResponse' {} Maybe Revision
a -> GetTemplateSyncStatusResponse
s {$sel:desiredState:GetTemplateSyncStatusResponse' :: Maybe Revision
desiredState = Maybe Revision
a} :: GetTemplateSyncStatusResponse)
getTemplateSyncStatusResponse_latestSuccessfulSync :: Lens.Lens' GetTemplateSyncStatusResponse (Prelude.Maybe ResourceSyncAttempt)
getTemplateSyncStatusResponse_latestSuccessfulSync :: Lens' GetTemplateSyncStatusResponse (Maybe ResourceSyncAttempt)
getTemplateSyncStatusResponse_latestSuccessfulSync = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTemplateSyncStatusResponse' {Maybe ResourceSyncAttempt
latestSuccessfulSync :: Maybe ResourceSyncAttempt
$sel:latestSuccessfulSync:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Maybe ResourceSyncAttempt
latestSuccessfulSync} -> Maybe ResourceSyncAttempt
latestSuccessfulSync) (\s :: GetTemplateSyncStatusResponse
s@GetTemplateSyncStatusResponse' {} Maybe ResourceSyncAttempt
a -> GetTemplateSyncStatusResponse
s {$sel:latestSuccessfulSync:GetTemplateSyncStatusResponse' :: Maybe ResourceSyncAttempt
latestSuccessfulSync = Maybe ResourceSyncAttempt
a} :: GetTemplateSyncStatusResponse)
getTemplateSyncStatusResponse_latestSync :: Lens.Lens' GetTemplateSyncStatusResponse (Prelude.Maybe ResourceSyncAttempt)
getTemplateSyncStatusResponse_latestSync :: Lens' GetTemplateSyncStatusResponse (Maybe ResourceSyncAttempt)
getTemplateSyncStatusResponse_latestSync = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTemplateSyncStatusResponse' {Maybe ResourceSyncAttempt
latestSync :: Maybe ResourceSyncAttempt
$sel:latestSync:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Maybe ResourceSyncAttempt
latestSync} -> Maybe ResourceSyncAttempt
latestSync) (\s :: GetTemplateSyncStatusResponse
s@GetTemplateSyncStatusResponse' {} Maybe ResourceSyncAttempt
a -> GetTemplateSyncStatusResponse
s {$sel:latestSync:GetTemplateSyncStatusResponse' :: Maybe ResourceSyncAttempt
latestSync = Maybe ResourceSyncAttempt
a} :: GetTemplateSyncStatusResponse)
getTemplateSyncStatusResponse_httpStatus :: Lens.Lens' GetTemplateSyncStatusResponse Prelude.Int
getTemplateSyncStatusResponse_httpStatus :: Lens' GetTemplateSyncStatusResponse Int
getTemplateSyncStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetTemplateSyncStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetTemplateSyncStatusResponse
s@GetTemplateSyncStatusResponse' {} Int
a -> GetTemplateSyncStatusResponse
s {$sel:httpStatus:GetTemplateSyncStatusResponse' :: Int
httpStatus = Int
a} :: GetTemplateSyncStatusResponse)
instance Prelude.NFData GetTemplateSyncStatusResponse where
rnf :: GetTemplateSyncStatusResponse -> ()
rnf GetTemplateSyncStatusResponse' {Int
Maybe Revision
Maybe ResourceSyncAttempt
httpStatus :: Int
latestSync :: Maybe ResourceSyncAttempt
latestSuccessfulSync :: Maybe ResourceSyncAttempt
desiredState :: Maybe Revision
$sel:httpStatus:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Int
$sel:latestSync:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Maybe ResourceSyncAttempt
$sel:latestSuccessfulSync:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Maybe ResourceSyncAttempt
$sel:desiredState:GetTemplateSyncStatusResponse' :: GetTemplateSyncStatusResponse -> Maybe Revision
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Revision
desiredState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceSyncAttempt
latestSuccessfulSync
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceSyncAttempt
latestSync
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus