{-# 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.SageMakerEdge.SendHeartbeat
(
SendHeartbeat (..),
newSendHeartbeat,
sendHeartbeat_agentMetrics,
sendHeartbeat_deploymentResult,
sendHeartbeat_models,
sendHeartbeat_agentVersion,
sendHeartbeat_deviceName,
sendHeartbeat_deviceFleetName,
SendHeartbeatResponse (..),
newSendHeartbeatResponse,
)
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.SageMakerEdge.Types
data SendHeartbeat = SendHeartbeat'
{
SendHeartbeat -> Maybe [EdgeMetric]
agentMetrics :: Prelude.Maybe [EdgeMetric],
SendHeartbeat -> Maybe DeploymentResult
deploymentResult :: Prelude.Maybe DeploymentResult,
SendHeartbeat -> Maybe [Model]
models :: Prelude.Maybe [Model],
SendHeartbeat -> Text
agentVersion :: Prelude.Text,
SendHeartbeat -> Text
deviceName :: Prelude.Text,
SendHeartbeat -> Text
deviceFleetName :: Prelude.Text
}
deriving (SendHeartbeat -> SendHeartbeat -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SendHeartbeat -> SendHeartbeat -> Bool
$c/= :: SendHeartbeat -> SendHeartbeat -> Bool
== :: SendHeartbeat -> SendHeartbeat -> Bool
$c== :: SendHeartbeat -> SendHeartbeat -> Bool
Prelude.Eq, ReadPrec [SendHeartbeat]
ReadPrec SendHeartbeat
Int -> ReadS SendHeartbeat
ReadS [SendHeartbeat]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SendHeartbeat]
$creadListPrec :: ReadPrec [SendHeartbeat]
readPrec :: ReadPrec SendHeartbeat
$creadPrec :: ReadPrec SendHeartbeat
readList :: ReadS [SendHeartbeat]
$creadList :: ReadS [SendHeartbeat]
readsPrec :: Int -> ReadS SendHeartbeat
$creadsPrec :: Int -> ReadS SendHeartbeat
Prelude.Read, Int -> SendHeartbeat -> ShowS
[SendHeartbeat] -> ShowS
SendHeartbeat -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SendHeartbeat] -> ShowS
$cshowList :: [SendHeartbeat] -> ShowS
show :: SendHeartbeat -> String
$cshow :: SendHeartbeat -> String
showsPrec :: Int -> SendHeartbeat -> ShowS
$cshowsPrec :: Int -> SendHeartbeat -> ShowS
Prelude.Show, forall x. Rep SendHeartbeat x -> SendHeartbeat
forall x. SendHeartbeat -> Rep SendHeartbeat x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SendHeartbeat x -> SendHeartbeat
$cfrom :: forall x. SendHeartbeat -> Rep SendHeartbeat x
Prelude.Generic)
newSendHeartbeat ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
SendHeartbeat
newSendHeartbeat :: Text -> Text -> Text -> SendHeartbeat
newSendHeartbeat
Text
pAgentVersion_
Text
pDeviceName_
Text
pDeviceFleetName_ =
SendHeartbeat'
{ $sel:agentMetrics:SendHeartbeat' :: Maybe [EdgeMetric]
agentMetrics = forall a. Maybe a
Prelude.Nothing,
$sel:deploymentResult:SendHeartbeat' :: Maybe DeploymentResult
deploymentResult = forall a. Maybe a
Prelude.Nothing,
$sel:models:SendHeartbeat' :: Maybe [Model]
models = forall a. Maybe a
Prelude.Nothing,
$sel:agentVersion:SendHeartbeat' :: Text
agentVersion = Text
pAgentVersion_,
$sel:deviceName:SendHeartbeat' :: Text
deviceName = Text
pDeviceName_,
$sel:deviceFleetName:SendHeartbeat' :: Text
deviceFleetName = Text
pDeviceFleetName_
}
sendHeartbeat_agentMetrics :: Lens.Lens' SendHeartbeat (Prelude.Maybe [EdgeMetric])
sendHeartbeat_agentMetrics :: Lens' SendHeartbeat (Maybe [EdgeMetric])
sendHeartbeat_agentMetrics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendHeartbeat' {Maybe [EdgeMetric]
agentMetrics :: Maybe [EdgeMetric]
$sel:agentMetrics:SendHeartbeat' :: SendHeartbeat -> Maybe [EdgeMetric]
agentMetrics} -> Maybe [EdgeMetric]
agentMetrics) (\s :: SendHeartbeat
s@SendHeartbeat' {} Maybe [EdgeMetric]
a -> SendHeartbeat
s {$sel:agentMetrics:SendHeartbeat' :: Maybe [EdgeMetric]
agentMetrics = Maybe [EdgeMetric]
a} :: SendHeartbeat) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
sendHeartbeat_deploymentResult :: Lens.Lens' SendHeartbeat (Prelude.Maybe DeploymentResult)
sendHeartbeat_deploymentResult :: Lens' SendHeartbeat (Maybe DeploymentResult)
sendHeartbeat_deploymentResult = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendHeartbeat' {Maybe DeploymentResult
deploymentResult :: Maybe DeploymentResult
$sel:deploymentResult:SendHeartbeat' :: SendHeartbeat -> Maybe DeploymentResult
deploymentResult} -> Maybe DeploymentResult
deploymentResult) (\s :: SendHeartbeat
s@SendHeartbeat' {} Maybe DeploymentResult
a -> SendHeartbeat
s {$sel:deploymentResult:SendHeartbeat' :: Maybe DeploymentResult
deploymentResult = Maybe DeploymentResult
a} :: SendHeartbeat)
sendHeartbeat_models :: Lens.Lens' SendHeartbeat (Prelude.Maybe [Model])
sendHeartbeat_models :: Lens' SendHeartbeat (Maybe [Model])
sendHeartbeat_models = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendHeartbeat' {Maybe [Model]
models :: Maybe [Model]
$sel:models:SendHeartbeat' :: SendHeartbeat -> Maybe [Model]
models} -> Maybe [Model]
models) (\s :: SendHeartbeat
s@SendHeartbeat' {} Maybe [Model]
a -> SendHeartbeat
s {$sel:models:SendHeartbeat' :: Maybe [Model]
models = Maybe [Model]
a} :: SendHeartbeat) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
sendHeartbeat_agentVersion :: Lens.Lens' SendHeartbeat Prelude.Text
sendHeartbeat_agentVersion :: Lens' SendHeartbeat Text
sendHeartbeat_agentVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendHeartbeat' {Text
agentVersion :: Text
$sel:agentVersion:SendHeartbeat' :: SendHeartbeat -> Text
agentVersion} -> Text
agentVersion) (\s :: SendHeartbeat
s@SendHeartbeat' {} Text
a -> SendHeartbeat
s {$sel:agentVersion:SendHeartbeat' :: Text
agentVersion = Text
a} :: SendHeartbeat)
sendHeartbeat_deviceName :: Lens.Lens' SendHeartbeat Prelude.Text
sendHeartbeat_deviceName :: Lens' SendHeartbeat Text
sendHeartbeat_deviceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendHeartbeat' {Text
deviceName :: Text
$sel:deviceName:SendHeartbeat' :: SendHeartbeat -> Text
deviceName} -> Text
deviceName) (\s :: SendHeartbeat
s@SendHeartbeat' {} Text
a -> SendHeartbeat
s {$sel:deviceName:SendHeartbeat' :: Text
deviceName = Text
a} :: SendHeartbeat)
sendHeartbeat_deviceFleetName :: Lens.Lens' SendHeartbeat Prelude.Text
sendHeartbeat_deviceFleetName :: Lens' SendHeartbeat Text
sendHeartbeat_deviceFleetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SendHeartbeat' {Text
deviceFleetName :: Text
$sel:deviceFleetName:SendHeartbeat' :: SendHeartbeat -> Text
deviceFleetName} -> Text
deviceFleetName) (\s :: SendHeartbeat
s@SendHeartbeat' {} Text
a -> SendHeartbeat
s {$sel:deviceFleetName:SendHeartbeat' :: Text
deviceFleetName = Text
a} :: SendHeartbeat)
instance Core.AWSRequest SendHeartbeat where
type
AWSResponse SendHeartbeat =
SendHeartbeatResponse
request :: (Service -> Service) -> SendHeartbeat -> Request SendHeartbeat
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 SendHeartbeat
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse SendHeartbeat)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull SendHeartbeatResponse
SendHeartbeatResponse'
instance Prelude.Hashable SendHeartbeat where
hashWithSalt :: Int -> SendHeartbeat -> Int
hashWithSalt Int
_salt SendHeartbeat' {Maybe [EdgeMetric]
Maybe [Model]
Maybe DeploymentResult
Text
deviceFleetName :: Text
deviceName :: Text
agentVersion :: Text
models :: Maybe [Model]
deploymentResult :: Maybe DeploymentResult
agentMetrics :: Maybe [EdgeMetric]
$sel:deviceFleetName:SendHeartbeat' :: SendHeartbeat -> Text
$sel:deviceName:SendHeartbeat' :: SendHeartbeat -> Text
$sel:agentVersion:SendHeartbeat' :: SendHeartbeat -> Text
$sel:models:SendHeartbeat' :: SendHeartbeat -> Maybe [Model]
$sel:deploymentResult:SendHeartbeat' :: SendHeartbeat -> Maybe DeploymentResult
$sel:agentMetrics:SendHeartbeat' :: SendHeartbeat -> Maybe [EdgeMetric]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [EdgeMetric]
agentMetrics
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DeploymentResult
deploymentResult
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Model]
models
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
agentVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deviceFleetName
instance Prelude.NFData SendHeartbeat where
rnf :: SendHeartbeat -> ()
rnf SendHeartbeat' {Maybe [EdgeMetric]
Maybe [Model]
Maybe DeploymentResult
Text
deviceFleetName :: Text
deviceName :: Text
agentVersion :: Text
models :: Maybe [Model]
deploymentResult :: Maybe DeploymentResult
agentMetrics :: Maybe [EdgeMetric]
$sel:deviceFleetName:SendHeartbeat' :: SendHeartbeat -> Text
$sel:deviceName:SendHeartbeat' :: SendHeartbeat -> Text
$sel:agentVersion:SendHeartbeat' :: SendHeartbeat -> Text
$sel:models:SendHeartbeat' :: SendHeartbeat -> Maybe [Model]
$sel:deploymentResult:SendHeartbeat' :: SendHeartbeat -> Maybe DeploymentResult
$sel:agentMetrics:SendHeartbeat' :: SendHeartbeat -> Maybe [EdgeMetric]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [EdgeMetric]
agentMetrics
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DeploymentResult
deploymentResult
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Model]
models
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
agentVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deviceName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deviceFleetName
instance Data.ToHeaders SendHeartbeat where
toHeaders :: SendHeartbeat -> [Header]
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 -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON SendHeartbeat where
toJSON :: SendHeartbeat -> Value
toJSON SendHeartbeat' {Maybe [EdgeMetric]
Maybe [Model]
Maybe DeploymentResult
Text
deviceFleetName :: Text
deviceName :: Text
agentVersion :: Text
models :: Maybe [Model]
deploymentResult :: Maybe DeploymentResult
agentMetrics :: Maybe [EdgeMetric]
$sel:deviceFleetName:SendHeartbeat' :: SendHeartbeat -> Text
$sel:deviceName:SendHeartbeat' :: SendHeartbeat -> Text
$sel:agentVersion:SendHeartbeat' :: SendHeartbeat -> Text
$sel:models:SendHeartbeat' :: SendHeartbeat -> Maybe [Model]
$sel:deploymentResult:SendHeartbeat' :: SendHeartbeat -> Maybe DeploymentResult
$sel:agentMetrics:SendHeartbeat' :: SendHeartbeat -> Maybe [EdgeMetric]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"AgentMetrics" 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 [EdgeMetric]
agentMetrics,
(Key
"DeploymentResult" 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 DeploymentResult
deploymentResult,
(Key
"Models" 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 [Model]
models,
forall a. a -> Maybe a
Prelude.Just (Key
"AgentVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
agentVersion),
forall a. a -> Maybe a
Prelude.Just (Key
"DeviceName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
deviceName),
forall a. a -> Maybe a
Prelude.Just
(Key
"DeviceFleetName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
deviceFleetName)
]
)
instance Data.ToPath SendHeartbeat where
toPath :: SendHeartbeat -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/SendHeartbeat"
instance Data.ToQuery SendHeartbeat where
toQuery :: SendHeartbeat -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data SendHeartbeatResponse = SendHeartbeatResponse'
{
}
deriving (SendHeartbeatResponse -> SendHeartbeatResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SendHeartbeatResponse -> SendHeartbeatResponse -> Bool
$c/= :: SendHeartbeatResponse -> SendHeartbeatResponse -> Bool
== :: SendHeartbeatResponse -> SendHeartbeatResponse -> Bool
$c== :: SendHeartbeatResponse -> SendHeartbeatResponse -> Bool
Prelude.Eq, ReadPrec [SendHeartbeatResponse]
ReadPrec SendHeartbeatResponse
Int -> ReadS SendHeartbeatResponse
ReadS [SendHeartbeatResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SendHeartbeatResponse]
$creadListPrec :: ReadPrec [SendHeartbeatResponse]
readPrec :: ReadPrec SendHeartbeatResponse
$creadPrec :: ReadPrec SendHeartbeatResponse
readList :: ReadS [SendHeartbeatResponse]
$creadList :: ReadS [SendHeartbeatResponse]
readsPrec :: Int -> ReadS SendHeartbeatResponse
$creadsPrec :: Int -> ReadS SendHeartbeatResponse
Prelude.Read, Int -> SendHeartbeatResponse -> ShowS
[SendHeartbeatResponse] -> ShowS
SendHeartbeatResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SendHeartbeatResponse] -> ShowS
$cshowList :: [SendHeartbeatResponse] -> ShowS
show :: SendHeartbeatResponse -> String
$cshow :: SendHeartbeatResponse -> String
showsPrec :: Int -> SendHeartbeatResponse -> ShowS
$cshowsPrec :: Int -> SendHeartbeatResponse -> ShowS
Prelude.Show, forall x. Rep SendHeartbeatResponse x -> SendHeartbeatResponse
forall x. SendHeartbeatResponse -> Rep SendHeartbeatResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SendHeartbeatResponse x -> SendHeartbeatResponse
$cfrom :: forall x. SendHeartbeatResponse -> Rep SendHeartbeatResponse x
Prelude.Generic)
newSendHeartbeatResponse ::
SendHeartbeatResponse
newSendHeartbeatResponse :: SendHeartbeatResponse
newSendHeartbeatResponse = SendHeartbeatResponse
SendHeartbeatResponse'
instance Prelude.NFData SendHeartbeatResponse where
rnf :: SendHeartbeatResponse -> ()
rnf SendHeartbeatResponse
_ = ()