{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Inspector.Types.AssessmentRunAgent where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Inspector.Types.AgentHealth
import Amazonka.Inspector.Types.AgentHealthCode
import Amazonka.Inspector.Types.TelemetryMetadata
import qualified Amazonka.Prelude as Prelude
data AssessmentRunAgent = AssessmentRunAgent'
{
AssessmentRunAgent -> Maybe Text
agentHealthDetails :: Prelude.Maybe Prelude.Text,
AssessmentRunAgent -> Maybe Text
autoScalingGroup :: Prelude.Maybe Prelude.Text,
AssessmentRunAgent -> Text
agentId :: Prelude.Text,
AssessmentRunAgent -> Text
assessmentRunArn :: Prelude.Text,
AssessmentRunAgent -> AgentHealth
agentHealth :: AgentHealth,
AssessmentRunAgent -> AgentHealthCode
agentHealthCode :: AgentHealthCode,
AssessmentRunAgent -> [TelemetryMetadata]
telemetryMetadata :: [TelemetryMetadata]
}
deriving (AssessmentRunAgent -> AssessmentRunAgent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AssessmentRunAgent -> AssessmentRunAgent -> Bool
$c/= :: AssessmentRunAgent -> AssessmentRunAgent -> Bool
== :: AssessmentRunAgent -> AssessmentRunAgent -> Bool
$c== :: AssessmentRunAgent -> AssessmentRunAgent -> Bool
Prelude.Eq, ReadPrec [AssessmentRunAgent]
ReadPrec AssessmentRunAgent
Int -> ReadS AssessmentRunAgent
ReadS [AssessmentRunAgent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AssessmentRunAgent]
$creadListPrec :: ReadPrec [AssessmentRunAgent]
readPrec :: ReadPrec AssessmentRunAgent
$creadPrec :: ReadPrec AssessmentRunAgent
readList :: ReadS [AssessmentRunAgent]
$creadList :: ReadS [AssessmentRunAgent]
readsPrec :: Int -> ReadS AssessmentRunAgent
$creadsPrec :: Int -> ReadS AssessmentRunAgent
Prelude.Read, Int -> AssessmentRunAgent -> ShowS
[AssessmentRunAgent] -> ShowS
AssessmentRunAgent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AssessmentRunAgent] -> ShowS
$cshowList :: [AssessmentRunAgent] -> ShowS
show :: AssessmentRunAgent -> String
$cshow :: AssessmentRunAgent -> String
showsPrec :: Int -> AssessmentRunAgent -> ShowS
$cshowsPrec :: Int -> AssessmentRunAgent -> ShowS
Prelude.Show, forall x. Rep AssessmentRunAgent x -> AssessmentRunAgent
forall x. AssessmentRunAgent -> Rep AssessmentRunAgent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AssessmentRunAgent x -> AssessmentRunAgent
$cfrom :: forall x. AssessmentRunAgent -> Rep AssessmentRunAgent x
Prelude.Generic)
newAssessmentRunAgent ::
Prelude.Text ->
Prelude.Text ->
AgentHealth ->
AgentHealthCode ->
AssessmentRunAgent
newAssessmentRunAgent :: Text
-> Text -> AgentHealth -> AgentHealthCode -> AssessmentRunAgent
newAssessmentRunAgent
Text
pAgentId_
Text
pAssessmentRunArn_
AgentHealth
pAgentHealth_
AgentHealthCode
pAgentHealthCode_ =
AssessmentRunAgent'
{ $sel:agentHealthDetails:AssessmentRunAgent' :: Maybe Text
agentHealthDetails =
forall a. Maybe a
Prelude.Nothing,
$sel:autoScalingGroup:AssessmentRunAgent' :: Maybe Text
autoScalingGroup = forall a. Maybe a
Prelude.Nothing,
$sel:agentId:AssessmentRunAgent' :: Text
agentId = Text
pAgentId_,
$sel:assessmentRunArn:AssessmentRunAgent' :: Text
assessmentRunArn = Text
pAssessmentRunArn_,
$sel:agentHealth:AssessmentRunAgent' :: AgentHealth
agentHealth = AgentHealth
pAgentHealth_,
$sel:agentHealthCode:AssessmentRunAgent' :: AgentHealthCode
agentHealthCode = AgentHealthCode
pAgentHealthCode_,
$sel:telemetryMetadata:AssessmentRunAgent' :: [TelemetryMetadata]
telemetryMetadata = forall a. Monoid a => a
Prelude.mempty
}
assessmentRunAgent_agentHealthDetails :: Lens.Lens' AssessmentRunAgent (Prelude.Maybe Prelude.Text)
assessmentRunAgent_agentHealthDetails :: Lens' AssessmentRunAgent (Maybe Text)
assessmentRunAgent_agentHealthDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssessmentRunAgent' {Maybe Text
agentHealthDetails :: Maybe Text
$sel:agentHealthDetails:AssessmentRunAgent' :: AssessmentRunAgent -> Maybe Text
agentHealthDetails} -> Maybe Text
agentHealthDetails) (\s :: AssessmentRunAgent
s@AssessmentRunAgent' {} Maybe Text
a -> AssessmentRunAgent
s {$sel:agentHealthDetails:AssessmentRunAgent' :: Maybe Text
agentHealthDetails = Maybe Text
a} :: AssessmentRunAgent)
assessmentRunAgent_autoScalingGroup :: Lens.Lens' AssessmentRunAgent (Prelude.Maybe Prelude.Text)
assessmentRunAgent_autoScalingGroup :: Lens' AssessmentRunAgent (Maybe Text)
assessmentRunAgent_autoScalingGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssessmentRunAgent' {Maybe Text
autoScalingGroup :: Maybe Text
$sel:autoScalingGroup:AssessmentRunAgent' :: AssessmentRunAgent -> Maybe Text
autoScalingGroup} -> Maybe Text
autoScalingGroup) (\s :: AssessmentRunAgent
s@AssessmentRunAgent' {} Maybe Text
a -> AssessmentRunAgent
s {$sel:autoScalingGroup:AssessmentRunAgent' :: Maybe Text
autoScalingGroup = Maybe Text
a} :: AssessmentRunAgent)
assessmentRunAgent_agentId :: Lens.Lens' AssessmentRunAgent Prelude.Text
assessmentRunAgent_agentId :: Lens' AssessmentRunAgent Text
assessmentRunAgent_agentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssessmentRunAgent' {Text
agentId :: Text
$sel:agentId:AssessmentRunAgent' :: AssessmentRunAgent -> Text
agentId} -> Text
agentId) (\s :: AssessmentRunAgent
s@AssessmentRunAgent' {} Text
a -> AssessmentRunAgent
s {$sel:agentId:AssessmentRunAgent' :: Text
agentId = Text
a} :: AssessmentRunAgent)
assessmentRunAgent_assessmentRunArn :: Lens.Lens' AssessmentRunAgent Prelude.Text
assessmentRunAgent_assessmentRunArn :: Lens' AssessmentRunAgent Text
assessmentRunAgent_assessmentRunArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssessmentRunAgent' {Text
assessmentRunArn :: Text
$sel:assessmentRunArn:AssessmentRunAgent' :: AssessmentRunAgent -> Text
assessmentRunArn} -> Text
assessmentRunArn) (\s :: AssessmentRunAgent
s@AssessmentRunAgent' {} Text
a -> AssessmentRunAgent
s {$sel:assessmentRunArn:AssessmentRunAgent' :: Text
assessmentRunArn = Text
a} :: AssessmentRunAgent)
assessmentRunAgent_agentHealth :: Lens.Lens' AssessmentRunAgent AgentHealth
assessmentRunAgent_agentHealth :: Lens' AssessmentRunAgent AgentHealth
assessmentRunAgent_agentHealth = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssessmentRunAgent' {AgentHealth
agentHealth :: AgentHealth
$sel:agentHealth:AssessmentRunAgent' :: AssessmentRunAgent -> AgentHealth
agentHealth} -> AgentHealth
agentHealth) (\s :: AssessmentRunAgent
s@AssessmentRunAgent' {} AgentHealth
a -> AssessmentRunAgent
s {$sel:agentHealth:AssessmentRunAgent' :: AgentHealth
agentHealth = AgentHealth
a} :: AssessmentRunAgent)
assessmentRunAgent_agentHealthCode :: Lens.Lens' AssessmentRunAgent AgentHealthCode
assessmentRunAgent_agentHealthCode :: Lens' AssessmentRunAgent AgentHealthCode
assessmentRunAgent_agentHealthCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssessmentRunAgent' {AgentHealthCode
agentHealthCode :: AgentHealthCode
$sel:agentHealthCode:AssessmentRunAgent' :: AssessmentRunAgent -> AgentHealthCode
agentHealthCode} -> AgentHealthCode
agentHealthCode) (\s :: AssessmentRunAgent
s@AssessmentRunAgent' {} AgentHealthCode
a -> AssessmentRunAgent
s {$sel:agentHealthCode:AssessmentRunAgent' :: AgentHealthCode
agentHealthCode = AgentHealthCode
a} :: AssessmentRunAgent)
assessmentRunAgent_telemetryMetadata :: Lens.Lens' AssessmentRunAgent [TelemetryMetadata]
assessmentRunAgent_telemetryMetadata :: Lens' AssessmentRunAgent [TelemetryMetadata]
assessmentRunAgent_telemetryMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AssessmentRunAgent' {[TelemetryMetadata]
telemetryMetadata :: [TelemetryMetadata]
$sel:telemetryMetadata:AssessmentRunAgent' :: AssessmentRunAgent -> [TelemetryMetadata]
telemetryMetadata} -> [TelemetryMetadata]
telemetryMetadata) (\s :: AssessmentRunAgent
s@AssessmentRunAgent' {} [TelemetryMetadata]
a -> AssessmentRunAgent
s {$sel:telemetryMetadata:AssessmentRunAgent' :: [TelemetryMetadata]
telemetryMetadata = [TelemetryMetadata]
a} :: AssessmentRunAgent) 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
instance Data.FromJSON AssessmentRunAgent where
parseJSON :: Value -> Parser AssessmentRunAgent
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"AssessmentRunAgent"
( \Object
x ->
Maybe Text
-> Maybe Text
-> Text
-> Text
-> AgentHealth
-> AgentHealthCode
-> [TelemetryMetadata]
-> AssessmentRunAgent
AssessmentRunAgent'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"agentHealthDetails")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"autoScalingGroup")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"agentId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"assessmentRunArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"agentHealth")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"agentHealthCode")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"telemetryMetadata"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
)
instance Prelude.Hashable AssessmentRunAgent where
hashWithSalt :: Int -> AssessmentRunAgent -> Int
hashWithSalt Int
_salt AssessmentRunAgent' {[TelemetryMetadata]
Maybe Text
Text
AgentHealth
AgentHealthCode
telemetryMetadata :: [TelemetryMetadata]
agentHealthCode :: AgentHealthCode
agentHealth :: AgentHealth
assessmentRunArn :: Text
agentId :: Text
autoScalingGroup :: Maybe Text
agentHealthDetails :: Maybe Text
$sel:telemetryMetadata:AssessmentRunAgent' :: AssessmentRunAgent -> [TelemetryMetadata]
$sel:agentHealthCode:AssessmentRunAgent' :: AssessmentRunAgent -> AgentHealthCode
$sel:agentHealth:AssessmentRunAgent' :: AssessmentRunAgent -> AgentHealth
$sel:assessmentRunArn:AssessmentRunAgent' :: AssessmentRunAgent -> Text
$sel:agentId:AssessmentRunAgent' :: AssessmentRunAgent -> Text
$sel:autoScalingGroup:AssessmentRunAgent' :: AssessmentRunAgent -> Maybe Text
$sel:agentHealthDetails:AssessmentRunAgent' :: AssessmentRunAgent -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
agentHealthDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
autoScalingGroup
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
agentId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentRunArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AgentHealth
agentHealth
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AgentHealthCode
agentHealthCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [TelemetryMetadata]
telemetryMetadata
instance Prelude.NFData AssessmentRunAgent where
rnf :: AssessmentRunAgent -> ()
rnf AssessmentRunAgent' {[TelemetryMetadata]
Maybe Text
Text
AgentHealth
AgentHealthCode
telemetryMetadata :: [TelemetryMetadata]
agentHealthCode :: AgentHealthCode
agentHealth :: AgentHealth
assessmentRunArn :: Text
agentId :: Text
autoScalingGroup :: Maybe Text
agentHealthDetails :: Maybe Text
$sel:telemetryMetadata:AssessmentRunAgent' :: AssessmentRunAgent -> [TelemetryMetadata]
$sel:agentHealthCode:AssessmentRunAgent' :: AssessmentRunAgent -> AgentHealthCode
$sel:agentHealth:AssessmentRunAgent' :: AssessmentRunAgent -> AgentHealth
$sel:assessmentRunArn:AssessmentRunAgent' :: AssessmentRunAgent -> Text
$sel:agentId:AssessmentRunAgent' :: AssessmentRunAgent -> Text
$sel:autoScalingGroup:AssessmentRunAgent' :: AssessmentRunAgent -> Maybe Text
$sel:agentHealthDetails:AssessmentRunAgent' :: AssessmentRunAgent -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
agentHealthDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
autoScalingGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
agentId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentRunArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AgentHealth
agentHealth
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AgentHealthCode
agentHealthCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [TelemetryMetadata]
telemetryMetadata