{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.ApplicationInsights.Types.Observation
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.ApplicationInsights.Types.Observation where

import Amazonka.ApplicationInsights.Types.CloudWatchEventSource
import Amazonka.ApplicationInsights.Types.LogFilter
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | Describes an anomaly or error with the application.
--
-- /See:/ 'newObservation' smart constructor.
data Observation = Observation'
  { -- | The CodeDeploy application to which the deployment belongs.
    Observation -> Maybe Text
codeDeployApplication :: Prelude.Maybe Prelude.Text,
    -- | The message of an RDS event.
    Observation -> Maybe Text
rdsEventMessage :: Prelude.Maybe Prelude.Text,
    -- | The deployment ID of the CodeDeploy-based observation related to the
    -- detected problem.
    Observation -> Maybe Text
codeDeployDeploymentId :: Prelude.Maybe Prelude.Text,
    -- | The time when the observation was first detected, in epoch seconds.
    Observation -> Maybe POSIX
startTime :: Prelude.Maybe Core.POSIX,
    -- | The source type of the observation.
    Observation -> Maybe Text
sourceType :: Prelude.Maybe Prelude.Text,
    -- | The source resource ARN of the observation.
    Observation -> Maybe Text
sourceARN :: Prelude.Maybe Prelude.Text,
    -- | The X-Ray node request average latency for this node.
    Observation -> Maybe Integer
xRayRequestAverageLatency :: Prelude.Maybe Prelude.Integer,
    -- | The status of the step function-related observation.
    Observation -> Maybe Text
statesStatus :: Prelude.Maybe Prelude.Text,
    -- | The deployment group to which the CodeDeploy deployment belongs.
    Observation -> Maybe Text
codeDeployDeploymentGroup :: Prelude.Maybe Prelude.Text,
    -- | The category of the AWS Health event, such as @issue@.
    Observation -> Maybe Text
healthEventTypeCategory :: Prelude.Maybe Prelude.Text,
    -- | The X-Ray request count for this node.
    Observation -> Maybe Int
xRayRequestCount :: Prelude.Maybe Prelude.Int,
    -- | The name of the S3 CloudWatch Event-based observation.
    Observation -> Maybe Text
s3EventName :: Prelude.Maybe Prelude.Text,
    -- | The name of the observation metric.
    Observation -> Maybe Text
metricName :: Prelude.Maybe Prelude.Text,
    -- | The state of the instance, such as @STOPPING@ or @TERMINATING@.
    Observation -> Maybe Text
ec2State :: Prelude.Maybe Prelude.Text,
    -- | The log group name.
    Observation -> Maybe Text
logGroup :: Prelude.Maybe Prelude.Text,
    -- | The value of the source observation metric.
    Observation -> Maybe Double
value :: Prelude.Maybe Prelude.Double,
    -- | The description of the AWS Health event provided by the service, such as
    -- Amazon EC2.
    Observation -> Maybe Text
healthEventDescription :: Prelude.Maybe Prelude.Text,
    -- | The source of the CloudWatch Event.
    Observation -> Maybe CloudWatchEventSource
cloudWatchEventSource :: Prelude.Maybe CloudWatchEventSource,
    -- | The status of the CodeDeploy deployment, for example @SUCCESS@ or
    -- @ FAILURE@.
    Observation -> Maybe Text
codeDeployState :: Prelude.Maybe Prelude.Text,
    -- | The X-Ray request error percentage for this node.
    Observation -> Maybe Int
xRayErrorPercent :: Prelude.Maybe Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the step function-based observation.
    Observation -> Maybe Text
statesArn :: Prelude.Maybe Prelude.Text,
    -- | The ID of the CloudWatch Event-based observation related to the detected
    -- problem.
    Observation -> Maybe Text
cloudWatchEventId :: Prelude.Maybe Prelude.Text,
    -- | The log text of the observation.
    Observation -> Maybe Text
logText :: Prelude.Maybe Prelude.Text,
    -- | The log filter of the observation.
    Observation -> Maybe LogFilter
logFilter :: Prelude.Maybe LogFilter,
    -- | The namespace of the observation metric.
    Observation -> Maybe Text
metricNamespace :: Prelude.Maybe Prelude.Text,
    -- | The category of an RDS event.
    Observation -> Maybe Text
rdsEventCategories :: Prelude.Maybe Prelude.Text,
    -- | The type of the X-Ray node.
    Observation -> Maybe Text
xRayNodeType :: Prelude.Maybe Prelude.Text,
    -- | The time when the observation ended, in epoch seconds.
    Observation -> Maybe POSIX
endTime :: Prelude.Maybe Core.POSIX,
    -- | The input to the step function-based observation.
    Observation -> Maybe Text
statesInput :: Prelude.Maybe Prelude.Text,
    -- | The name of the X-Ray node.
    Observation -> Maybe Text
xRayNodeName :: Prelude.Maybe Prelude.Text,
    -- | The ID of the observation type.
    Observation -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the AWS Health Event-based
    -- observation.
    Observation -> Maybe Text
healthEventArn :: Prelude.Maybe Prelude.Text,
    -- | The type of the AWS Health event, for example,
    -- @AWS_EC2_POWER_CONNECTIVITY_ISSUE@.
    Observation -> Maybe Text
healthEventTypeCode :: Prelude.Maybe Prelude.Text,
    -- | The result of an EBS CloudWatch event, such as @failed@ or @succeeded@.
    Observation -> Maybe Text
ebsResult :: Prelude.Maybe Prelude.Text,
    -- | The detail type of the CloudWatch Event-based observation, for example,
    -- @EC2 Instance State-change Notification@.
    Observation -> Maybe Text
cloudWatchEventDetailType :: Prelude.Maybe Prelude.Text,
    -- | The instance group to which the CodeDeploy instance belongs.
    Observation -> Maybe Text
codeDeployInstanceGroupId :: Prelude.Maybe Prelude.Text,
    -- | The cause of an EBS CloudWatch event.
    Observation -> Maybe Text
ebsCause :: Prelude.Maybe Prelude.Text,
    -- | The type of EBS CloudWatch event, such as @createVolume@, @deleteVolume@
    -- or @attachVolume@.
    Observation -> Maybe Text
ebsEvent :: Prelude.Maybe Prelude.Text,
    -- | The request ID of an EBS CloudWatch event.
    Observation -> Maybe Text
ebsRequestId :: Prelude.Maybe Prelude.Text,
    -- | The X-Ray request fault percentage for this node.
    Observation -> Maybe Int
xRayFaultPercent :: Prelude.Maybe Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the step function execution-based
    -- observation.
    Observation -> Maybe Text
statesExecutionArn :: Prelude.Maybe Prelude.Text,
    -- | The timestamp in the CloudWatch Logs that specifies when the matched
    -- line occurred.
    Observation -> Maybe POSIX
lineTime :: Prelude.Maybe Core.POSIX,
    -- | The unit of the source observation metric.
    Observation -> Maybe Text
unit :: Prelude.Maybe Prelude.Text,
    -- | The X-Ray request throttle percentage for this node.
    Observation -> Maybe Int
xRayThrottlePercent :: Prelude.Maybe Prelude.Int,
    -- | The service to which the AWS Health Event belongs, such as EC2.
    Observation -> Maybe Text
healthService :: Prelude.Maybe Prelude.Text
  }
  deriving (Observation -> Observation -> Bool
(Observation -> Observation -> Bool)
-> (Observation -> Observation -> Bool) -> Eq Observation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Observation -> Observation -> Bool
$c/= :: Observation -> Observation -> Bool
== :: Observation -> Observation -> Bool
$c== :: Observation -> Observation -> Bool
Prelude.Eq, ReadPrec [Observation]
ReadPrec Observation
Int -> ReadS Observation
ReadS [Observation]
(Int -> ReadS Observation)
-> ReadS [Observation]
-> ReadPrec Observation
-> ReadPrec [Observation]
-> Read Observation
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Observation]
$creadListPrec :: ReadPrec [Observation]
readPrec :: ReadPrec Observation
$creadPrec :: ReadPrec Observation
readList :: ReadS [Observation]
$creadList :: ReadS [Observation]
readsPrec :: Int -> ReadS Observation
$creadsPrec :: Int -> ReadS Observation
Prelude.Read, Int -> Observation -> ShowS
[Observation] -> ShowS
Observation -> String
(Int -> Observation -> ShowS)
-> (Observation -> String)
-> ([Observation] -> ShowS)
-> Show Observation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Observation] -> ShowS
$cshowList :: [Observation] -> ShowS
show :: Observation -> String
$cshow :: Observation -> String
showsPrec :: Int -> Observation -> ShowS
$cshowsPrec :: Int -> Observation -> ShowS
Prelude.Show, (forall x. Observation -> Rep Observation x)
-> (forall x. Rep Observation x -> Observation)
-> Generic Observation
forall x. Rep Observation x -> Observation
forall x. Observation -> Rep Observation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Observation x -> Observation
$cfrom :: forall x. Observation -> Rep Observation x
Prelude.Generic)

-- |
-- Create a value of 'Observation' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'codeDeployApplication', 'observation_codeDeployApplication' - The CodeDeploy application to which the deployment belongs.
--
-- 'rdsEventMessage', 'observation_rdsEventMessage' - The message of an RDS event.
--
-- 'codeDeployDeploymentId', 'observation_codeDeployDeploymentId' - The deployment ID of the CodeDeploy-based observation related to the
-- detected problem.
--
-- 'startTime', 'observation_startTime' - The time when the observation was first detected, in epoch seconds.
--
-- 'sourceType', 'observation_sourceType' - The source type of the observation.
--
-- 'sourceARN', 'observation_sourceARN' - The source resource ARN of the observation.
--
-- 'xRayRequestAverageLatency', 'observation_xRayRequestAverageLatency' - The X-Ray node request average latency for this node.
--
-- 'statesStatus', 'observation_statesStatus' - The status of the step function-related observation.
--
-- 'codeDeployDeploymentGroup', 'observation_codeDeployDeploymentGroup' - The deployment group to which the CodeDeploy deployment belongs.
--
-- 'healthEventTypeCategory', 'observation_healthEventTypeCategory' - The category of the AWS Health event, such as @issue@.
--
-- 'xRayRequestCount', 'observation_xRayRequestCount' - The X-Ray request count for this node.
--
-- 's3EventName', 'observation_s3EventName' - The name of the S3 CloudWatch Event-based observation.
--
-- 'metricName', 'observation_metricName' - The name of the observation metric.
--
-- 'ec2State', 'observation_ec2State' - The state of the instance, such as @STOPPING@ or @TERMINATING@.
--
-- 'logGroup', 'observation_logGroup' - The log group name.
--
-- 'value', 'observation_value' - The value of the source observation metric.
--
-- 'healthEventDescription', 'observation_healthEventDescription' - The description of the AWS Health event provided by the service, such as
-- Amazon EC2.
--
-- 'cloudWatchEventSource', 'observation_cloudWatchEventSource' - The source of the CloudWatch Event.
--
-- 'codeDeployState', 'observation_codeDeployState' - The status of the CodeDeploy deployment, for example @SUCCESS@ or
-- @ FAILURE@.
--
-- 'xRayErrorPercent', 'observation_xRayErrorPercent' - The X-Ray request error percentage for this node.
--
-- 'statesArn', 'observation_statesArn' - The Amazon Resource Name (ARN) of the step function-based observation.
--
-- 'cloudWatchEventId', 'observation_cloudWatchEventId' - The ID of the CloudWatch Event-based observation related to the detected
-- problem.
--
-- 'logText', 'observation_logText' - The log text of the observation.
--
-- 'logFilter', 'observation_logFilter' - The log filter of the observation.
--
-- 'metricNamespace', 'observation_metricNamespace' - The namespace of the observation metric.
--
-- 'rdsEventCategories', 'observation_rdsEventCategories' - The category of an RDS event.
--
-- 'xRayNodeType', 'observation_xRayNodeType' - The type of the X-Ray node.
--
-- 'endTime', 'observation_endTime' - The time when the observation ended, in epoch seconds.
--
-- 'statesInput', 'observation_statesInput' - The input to the step function-based observation.
--
-- 'xRayNodeName', 'observation_xRayNodeName' - The name of the X-Ray node.
--
-- 'id', 'observation_id' - The ID of the observation type.
--
-- 'healthEventArn', 'observation_healthEventArn' - The Amazon Resource Name (ARN) of the AWS Health Event-based
-- observation.
--
-- 'healthEventTypeCode', 'observation_healthEventTypeCode' - The type of the AWS Health event, for example,
-- @AWS_EC2_POWER_CONNECTIVITY_ISSUE@.
--
-- 'ebsResult', 'observation_ebsResult' - The result of an EBS CloudWatch event, such as @failed@ or @succeeded@.
--
-- 'cloudWatchEventDetailType', 'observation_cloudWatchEventDetailType' - The detail type of the CloudWatch Event-based observation, for example,
-- @EC2 Instance State-change Notification@.
--
-- 'codeDeployInstanceGroupId', 'observation_codeDeployInstanceGroupId' - The instance group to which the CodeDeploy instance belongs.
--
-- 'ebsCause', 'observation_ebsCause' - The cause of an EBS CloudWatch event.
--
-- 'ebsEvent', 'observation_ebsEvent' - The type of EBS CloudWatch event, such as @createVolume@, @deleteVolume@
-- or @attachVolume@.
--
-- 'ebsRequestId', 'observation_ebsRequestId' - The request ID of an EBS CloudWatch event.
--
-- 'xRayFaultPercent', 'observation_xRayFaultPercent' - The X-Ray request fault percentage for this node.
--
-- 'statesExecutionArn', 'observation_statesExecutionArn' - The Amazon Resource Name (ARN) of the step function execution-based
-- observation.
--
-- 'lineTime', 'observation_lineTime' - The timestamp in the CloudWatch Logs that specifies when the matched
-- line occurred.
--
-- 'unit', 'observation_unit' - The unit of the source observation metric.
--
-- 'xRayThrottlePercent', 'observation_xRayThrottlePercent' - The X-Ray request throttle percentage for this node.
--
-- 'healthService', 'observation_healthService' - The service to which the AWS Health Event belongs, such as EC2.
newObservation ::
  Observation
newObservation :: Observation
newObservation =
  Observation' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Text
-> Maybe CloudWatchEventSource
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe LogFilter
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Observation
Observation'
    { $sel:codeDeployApplication:Observation' :: Maybe Text
codeDeployApplication =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:rdsEventMessage:Observation' :: Maybe Text
rdsEventMessage = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:codeDeployDeploymentId:Observation' :: Maybe Text
codeDeployDeploymentId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:Observation' :: Maybe POSIX
startTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:sourceType:Observation' :: Maybe Text
sourceType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:sourceARN:Observation' :: Maybe Text
sourceARN = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xRayRequestAverageLatency:Observation' :: Maybe Integer
xRayRequestAverageLatency = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:statesStatus:Observation' :: Maybe Text
statesStatus = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:codeDeployDeploymentGroup:Observation' :: Maybe Text
codeDeployDeploymentGroup = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:healthEventTypeCategory:Observation' :: Maybe Text
healthEventTypeCategory = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xRayRequestCount:Observation' :: Maybe Int
xRayRequestCount = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:s3EventName:Observation' :: Maybe Text
s3EventName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:metricName:Observation' :: Maybe Text
metricName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:ec2State:Observation' :: Maybe Text
ec2State = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:logGroup:Observation' :: Maybe Text
logGroup = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:value:Observation' :: Maybe Double
value = Maybe Double
forall a. Maybe a
Prelude.Nothing,
      $sel:healthEventDescription:Observation' :: Maybe Text
healthEventDescription = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:cloudWatchEventSource:Observation' :: Maybe CloudWatchEventSource
cloudWatchEventSource = Maybe CloudWatchEventSource
forall a. Maybe a
Prelude.Nothing,
      $sel:codeDeployState:Observation' :: Maybe Text
codeDeployState = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xRayErrorPercent:Observation' :: Maybe Int
xRayErrorPercent = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:statesArn:Observation' :: Maybe Text
statesArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:cloudWatchEventId:Observation' :: Maybe Text
cloudWatchEventId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:logText:Observation' :: Maybe Text
logText = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:logFilter:Observation' :: Maybe LogFilter
logFilter = Maybe LogFilter
forall a. Maybe a
Prelude.Nothing,
      $sel:metricNamespace:Observation' :: Maybe Text
metricNamespace = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:rdsEventCategories:Observation' :: Maybe Text
rdsEventCategories = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xRayNodeType:Observation' :: Maybe Text
xRayNodeType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:endTime:Observation' :: Maybe POSIX
endTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:statesInput:Observation' :: Maybe Text
statesInput = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xRayNodeName:Observation' :: Maybe Text
xRayNodeName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:id:Observation' :: Maybe Text
id = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:healthEventArn:Observation' :: Maybe Text
healthEventArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:healthEventTypeCode:Observation' :: Maybe Text
healthEventTypeCode = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:ebsResult:Observation' :: Maybe Text
ebsResult = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:cloudWatchEventDetailType:Observation' :: Maybe Text
cloudWatchEventDetailType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:codeDeployInstanceGroupId:Observation' :: Maybe Text
codeDeployInstanceGroupId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:ebsCause:Observation' :: Maybe Text
ebsCause = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:ebsEvent:Observation' :: Maybe Text
ebsEvent = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:ebsRequestId:Observation' :: Maybe Text
ebsRequestId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xRayFaultPercent:Observation' :: Maybe Int
xRayFaultPercent = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:statesExecutionArn:Observation' :: Maybe Text
statesExecutionArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:lineTime:Observation' :: Maybe POSIX
lineTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:unit:Observation' :: Maybe Text
unit = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:xRayThrottlePercent:Observation' :: Maybe Int
xRayThrottlePercent = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:healthService:Observation' :: Maybe Text
healthService = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The CodeDeploy application to which the deployment belongs.
observation_codeDeployApplication :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_codeDeployApplication :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_codeDeployApplication = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
codeDeployApplication :: Maybe Text
$sel:codeDeployApplication:Observation' :: Observation -> Maybe Text
codeDeployApplication} -> Maybe Text
codeDeployApplication) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:codeDeployApplication:Observation' :: Maybe Text
codeDeployApplication = Maybe Text
a} :: Observation)

-- | The message of an RDS event.
observation_rdsEventMessage :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_rdsEventMessage :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_rdsEventMessage = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
rdsEventMessage :: Maybe Text
$sel:rdsEventMessage:Observation' :: Observation -> Maybe Text
rdsEventMessage} -> Maybe Text
rdsEventMessage) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:rdsEventMessage:Observation' :: Maybe Text
rdsEventMessage = Maybe Text
a} :: Observation)

-- | The deployment ID of the CodeDeploy-based observation related to the
-- detected problem.
observation_codeDeployDeploymentId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_codeDeployDeploymentId :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_codeDeployDeploymentId = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
codeDeployDeploymentId :: Maybe Text
$sel:codeDeployDeploymentId:Observation' :: Observation -> Maybe Text
codeDeployDeploymentId} -> Maybe Text
codeDeployDeploymentId) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:codeDeployDeploymentId:Observation' :: Maybe Text
codeDeployDeploymentId = Maybe Text
a} :: Observation)

-- | The time when the observation was first detected, in epoch seconds.
observation_startTime :: Lens.Lens' Observation (Prelude.Maybe Prelude.UTCTime)
observation_startTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> Observation -> f Observation
observation_startTime = (Observation -> Maybe POSIX)
-> (Observation -> Maybe POSIX -> Observation)
-> Lens Observation Observation (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:Observation' :: Observation -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: Observation
s@Observation' {} Maybe POSIX
a -> Observation
s {$sel:startTime:Observation' :: Maybe POSIX
startTime = Maybe POSIX
a} :: Observation) ((Maybe POSIX -> f (Maybe POSIX)) -> Observation -> f Observation)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> Observation
-> f Observation
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The source type of the observation.
observation_sourceType :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_sourceType :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_sourceType = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
sourceType :: Maybe Text
$sel:sourceType:Observation' :: Observation -> Maybe Text
sourceType} -> Maybe Text
sourceType) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:sourceType:Observation' :: Maybe Text
sourceType = Maybe Text
a} :: Observation)

-- | The source resource ARN of the observation.
observation_sourceARN :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_sourceARN :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_sourceARN = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
sourceARN :: Maybe Text
$sel:sourceARN:Observation' :: Observation -> Maybe Text
sourceARN} -> Maybe Text
sourceARN) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:sourceARN:Observation' :: Maybe Text
sourceARN = Maybe Text
a} :: Observation)

-- | The X-Ray node request average latency for this node.
observation_xRayRequestAverageLatency :: Lens.Lens' Observation (Prelude.Maybe Prelude.Integer)
observation_xRayRequestAverageLatency :: (Maybe Integer -> f (Maybe Integer))
-> Observation -> f Observation
observation_xRayRequestAverageLatency = (Observation -> Maybe Integer)
-> (Observation -> Maybe Integer -> Observation)
-> Lens Observation Observation (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Integer
xRayRequestAverageLatency :: Maybe Integer
$sel:xRayRequestAverageLatency:Observation' :: Observation -> Maybe Integer
xRayRequestAverageLatency} -> Maybe Integer
xRayRequestAverageLatency) (\s :: Observation
s@Observation' {} Maybe Integer
a -> Observation
s {$sel:xRayRequestAverageLatency:Observation' :: Maybe Integer
xRayRequestAverageLatency = Maybe Integer
a} :: Observation)

-- | The status of the step function-related observation.
observation_statesStatus :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_statesStatus :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_statesStatus = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
statesStatus :: Maybe Text
$sel:statesStatus:Observation' :: Observation -> Maybe Text
statesStatus} -> Maybe Text
statesStatus) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:statesStatus:Observation' :: Maybe Text
statesStatus = Maybe Text
a} :: Observation)

-- | The deployment group to which the CodeDeploy deployment belongs.
observation_codeDeployDeploymentGroup :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_codeDeployDeploymentGroup :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_codeDeployDeploymentGroup = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
codeDeployDeploymentGroup :: Maybe Text
$sel:codeDeployDeploymentGroup:Observation' :: Observation -> Maybe Text
codeDeployDeploymentGroup} -> Maybe Text
codeDeployDeploymentGroup) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:codeDeployDeploymentGroup:Observation' :: Maybe Text
codeDeployDeploymentGroup = Maybe Text
a} :: Observation)

-- | The category of the AWS Health event, such as @issue@.
observation_healthEventTypeCategory :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_healthEventTypeCategory :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_healthEventTypeCategory = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
healthEventTypeCategory :: Maybe Text
$sel:healthEventTypeCategory:Observation' :: Observation -> Maybe Text
healthEventTypeCategory} -> Maybe Text
healthEventTypeCategory) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:healthEventTypeCategory:Observation' :: Maybe Text
healthEventTypeCategory = Maybe Text
a} :: Observation)

-- | The X-Ray request count for this node.
observation_xRayRequestCount :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)
observation_xRayRequestCount :: (Maybe Int -> f (Maybe Int)) -> Observation -> f Observation
observation_xRayRequestCount = (Observation -> Maybe Int)
-> (Observation -> Maybe Int -> Observation)
-> Lens Observation Observation (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Int
xRayRequestCount :: Maybe Int
$sel:xRayRequestCount:Observation' :: Observation -> Maybe Int
xRayRequestCount} -> Maybe Int
xRayRequestCount) (\s :: Observation
s@Observation' {} Maybe Int
a -> Observation
s {$sel:xRayRequestCount:Observation' :: Maybe Int
xRayRequestCount = Maybe Int
a} :: Observation)

-- | The name of the S3 CloudWatch Event-based observation.
observation_s3EventName :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_s3EventName :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_s3EventName = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
s3EventName :: Maybe Text
$sel:s3EventName:Observation' :: Observation -> Maybe Text
s3EventName} -> Maybe Text
s3EventName) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:s3EventName:Observation' :: Maybe Text
s3EventName = Maybe Text
a} :: Observation)

-- | The name of the observation metric.
observation_metricName :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_metricName :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_metricName = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
metricName :: Maybe Text
$sel:metricName:Observation' :: Observation -> Maybe Text
metricName} -> Maybe Text
metricName) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:metricName:Observation' :: Maybe Text
metricName = Maybe Text
a} :: Observation)

-- | The state of the instance, such as @STOPPING@ or @TERMINATING@.
observation_ec2State :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_ec2State :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_ec2State = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
ec2State :: Maybe Text
$sel:ec2State:Observation' :: Observation -> Maybe Text
ec2State} -> Maybe Text
ec2State) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:ec2State:Observation' :: Maybe Text
ec2State = Maybe Text
a} :: Observation)

-- | The log group name.
observation_logGroup :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_logGroup :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_logGroup = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
logGroup :: Maybe Text
$sel:logGroup:Observation' :: Observation -> Maybe Text
logGroup} -> Maybe Text
logGroup) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:logGroup:Observation' :: Maybe Text
logGroup = Maybe Text
a} :: Observation)

-- | The value of the source observation metric.
observation_value :: Lens.Lens' Observation (Prelude.Maybe Prelude.Double)
observation_value :: (Maybe Double -> f (Maybe Double)) -> Observation -> f Observation
observation_value = (Observation -> Maybe Double)
-> (Observation -> Maybe Double -> Observation)
-> Lens Observation Observation (Maybe Double) (Maybe Double)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Double
value :: Maybe Double
$sel:value:Observation' :: Observation -> Maybe Double
value} -> Maybe Double
value) (\s :: Observation
s@Observation' {} Maybe Double
a -> Observation
s {$sel:value:Observation' :: Maybe Double
value = Maybe Double
a} :: Observation)

-- | The description of the AWS Health event provided by the service, such as
-- Amazon EC2.
observation_healthEventDescription :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_healthEventDescription :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_healthEventDescription = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
healthEventDescription :: Maybe Text
$sel:healthEventDescription:Observation' :: Observation -> Maybe Text
healthEventDescription} -> Maybe Text
healthEventDescription) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:healthEventDescription:Observation' :: Maybe Text
healthEventDescription = Maybe Text
a} :: Observation)

-- | The source of the CloudWatch Event.
observation_cloudWatchEventSource :: Lens.Lens' Observation (Prelude.Maybe CloudWatchEventSource)
observation_cloudWatchEventSource :: (Maybe CloudWatchEventSource -> f (Maybe CloudWatchEventSource))
-> Observation -> f Observation
observation_cloudWatchEventSource = (Observation -> Maybe CloudWatchEventSource)
-> (Observation -> Maybe CloudWatchEventSource -> Observation)
-> Lens
     Observation
     Observation
     (Maybe CloudWatchEventSource)
     (Maybe CloudWatchEventSource)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe CloudWatchEventSource
cloudWatchEventSource :: Maybe CloudWatchEventSource
$sel:cloudWatchEventSource:Observation' :: Observation -> Maybe CloudWatchEventSource
cloudWatchEventSource} -> Maybe CloudWatchEventSource
cloudWatchEventSource) (\s :: Observation
s@Observation' {} Maybe CloudWatchEventSource
a -> Observation
s {$sel:cloudWatchEventSource:Observation' :: Maybe CloudWatchEventSource
cloudWatchEventSource = Maybe CloudWatchEventSource
a} :: Observation)

-- | The status of the CodeDeploy deployment, for example @SUCCESS@ or
-- @ FAILURE@.
observation_codeDeployState :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_codeDeployState :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_codeDeployState = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
codeDeployState :: Maybe Text
$sel:codeDeployState:Observation' :: Observation -> Maybe Text
codeDeployState} -> Maybe Text
codeDeployState) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:codeDeployState:Observation' :: Maybe Text
codeDeployState = Maybe Text
a} :: Observation)

-- | The X-Ray request error percentage for this node.
observation_xRayErrorPercent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)
observation_xRayErrorPercent :: (Maybe Int -> f (Maybe Int)) -> Observation -> f Observation
observation_xRayErrorPercent = (Observation -> Maybe Int)
-> (Observation -> Maybe Int -> Observation)
-> Lens Observation Observation (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Int
xRayErrorPercent :: Maybe Int
$sel:xRayErrorPercent:Observation' :: Observation -> Maybe Int
xRayErrorPercent} -> Maybe Int
xRayErrorPercent) (\s :: Observation
s@Observation' {} Maybe Int
a -> Observation
s {$sel:xRayErrorPercent:Observation' :: Maybe Int
xRayErrorPercent = Maybe Int
a} :: Observation)

-- | The Amazon Resource Name (ARN) of the step function-based observation.
observation_statesArn :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_statesArn :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_statesArn = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
statesArn :: Maybe Text
$sel:statesArn:Observation' :: Observation -> Maybe Text
statesArn} -> Maybe Text
statesArn) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:statesArn:Observation' :: Maybe Text
statesArn = Maybe Text
a} :: Observation)

-- | The ID of the CloudWatch Event-based observation related to the detected
-- problem.
observation_cloudWatchEventId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_cloudWatchEventId :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_cloudWatchEventId = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
cloudWatchEventId :: Maybe Text
$sel:cloudWatchEventId:Observation' :: Observation -> Maybe Text
cloudWatchEventId} -> Maybe Text
cloudWatchEventId) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:cloudWatchEventId:Observation' :: Maybe Text
cloudWatchEventId = Maybe Text
a} :: Observation)

-- | The log text of the observation.
observation_logText :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_logText :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_logText = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
logText :: Maybe Text
$sel:logText:Observation' :: Observation -> Maybe Text
logText} -> Maybe Text
logText) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:logText:Observation' :: Maybe Text
logText = Maybe Text
a} :: Observation)

-- | The log filter of the observation.
observation_logFilter :: Lens.Lens' Observation (Prelude.Maybe LogFilter)
observation_logFilter :: (Maybe LogFilter -> f (Maybe LogFilter))
-> Observation -> f Observation
observation_logFilter = (Observation -> Maybe LogFilter)
-> (Observation -> Maybe LogFilter -> Observation)
-> Lens Observation Observation (Maybe LogFilter) (Maybe LogFilter)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe LogFilter
logFilter :: Maybe LogFilter
$sel:logFilter:Observation' :: Observation -> Maybe LogFilter
logFilter} -> Maybe LogFilter
logFilter) (\s :: Observation
s@Observation' {} Maybe LogFilter
a -> Observation
s {$sel:logFilter:Observation' :: Maybe LogFilter
logFilter = Maybe LogFilter
a} :: Observation)

-- | The namespace of the observation metric.
observation_metricNamespace :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_metricNamespace :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_metricNamespace = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
metricNamespace :: Maybe Text
$sel:metricNamespace:Observation' :: Observation -> Maybe Text
metricNamespace} -> Maybe Text
metricNamespace) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:metricNamespace:Observation' :: Maybe Text
metricNamespace = Maybe Text
a} :: Observation)

-- | The category of an RDS event.
observation_rdsEventCategories :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_rdsEventCategories :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_rdsEventCategories = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
rdsEventCategories :: Maybe Text
$sel:rdsEventCategories:Observation' :: Observation -> Maybe Text
rdsEventCategories} -> Maybe Text
rdsEventCategories) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:rdsEventCategories:Observation' :: Maybe Text
rdsEventCategories = Maybe Text
a} :: Observation)

-- | The type of the X-Ray node.
observation_xRayNodeType :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_xRayNodeType :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_xRayNodeType = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
xRayNodeType :: Maybe Text
$sel:xRayNodeType:Observation' :: Observation -> Maybe Text
xRayNodeType} -> Maybe Text
xRayNodeType) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:xRayNodeType:Observation' :: Maybe Text
xRayNodeType = Maybe Text
a} :: Observation)

-- | The time when the observation ended, in epoch seconds.
observation_endTime :: Lens.Lens' Observation (Prelude.Maybe Prelude.UTCTime)
observation_endTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> Observation -> f Observation
observation_endTime = (Observation -> Maybe POSIX)
-> (Observation -> Maybe POSIX -> Observation)
-> Lens Observation Observation (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:Observation' :: Observation -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: Observation
s@Observation' {} Maybe POSIX
a -> Observation
s {$sel:endTime:Observation' :: Maybe POSIX
endTime = Maybe POSIX
a} :: Observation) ((Maybe POSIX -> f (Maybe POSIX)) -> Observation -> f Observation)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> Observation
-> f Observation
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The input to the step function-based observation.
observation_statesInput :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_statesInput :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_statesInput = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
statesInput :: Maybe Text
$sel:statesInput:Observation' :: Observation -> Maybe Text
statesInput} -> Maybe Text
statesInput) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:statesInput:Observation' :: Maybe Text
statesInput = Maybe Text
a} :: Observation)

-- | The name of the X-Ray node.
observation_xRayNodeName :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_xRayNodeName :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_xRayNodeName = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
xRayNodeName :: Maybe Text
$sel:xRayNodeName:Observation' :: Observation -> Maybe Text
xRayNodeName} -> Maybe Text
xRayNodeName) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:xRayNodeName:Observation' :: Maybe Text
xRayNodeName = Maybe Text
a} :: Observation)

-- | The ID of the observation type.
observation_id :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_id :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_id = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
id :: Maybe Text
$sel:id:Observation' :: Observation -> Maybe Text
id} -> Maybe Text
id) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:id:Observation' :: Maybe Text
id = Maybe Text
a} :: Observation)

-- | The Amazon Resource Name (ARN) of the AWS Health Event-based
-- observation.
observation_healthEventArn :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_healthEventArn :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_healthEventArn = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
healthEventArn :: Maybe Text
$sel:healthEventArn:Observation' :: Observation -> Maybe Text
healthEventArn} -> Maybe Text
healthEventArn) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:healthEventArn:Observation' :: Maybe Text
healthEventArn = Maybe Text
a} :: Observation)

-- | The type of the AWS Health event, for example,
-- @AWS_EC2_POWER_CONNECTIVITY_ISSUE@.
observation_healthEventTypeCode :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_healthEventTypeCode :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_healthEventTypeCode = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
healthEventTypeCode :: Maybe Text
$sel:healthEventTypeCode:Observation' :: Observation -> Maybe Text
healthEventTypeCode} -> Maybe Text
healthEventTypeCode) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:healthEventTypeCode:Observation' :: Maybe Text
healthEventTypeCode = Maybe Text
a} :: Observation)

-- | The result of an EBS CloudWatch event, such as @failed@ or @succeeded@.
observation_ebsResult :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_ebsResult :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_ebsResult = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
ebsResult :: Maybe Text
$sel:ebsResult:Observation' :: Observation -> Maybe Text
ebsResult} -> Maybe Text
ebsResult) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:ebsResult:Observation' :: Maybe Text
ebsResult = Maybe Text
a} :: Observation)

-- | The detail type of the CloudWatch Event-based observation, for example,
-- @EC2 Instance State-change Notification@.
observation_cloudWatchEventDetailType :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_cloudWatchEventDetailType :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_cloudWatchEventDetailType = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
cloudWatchEventDetailType :: Maybe Text
$sel:cloudWatchEventDetailType:Observation' :: Observation -> Maybe Text
cloudWatchEventDetailType} -> Maybe Text
cloudWatchEventDetailType) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:cloudWatchEventDetailType:Observation' :: Maybe Text
cloudWatchEventDetailType = Maybe Text
a} :: Observation)

-- | The instance group to which the CodeDeploy instance belongs.
observation_codeDeployInstanceGroupId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_codeDeployInstanceGroupId :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_codeDeployInstanceGroupId = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
codeDeployInstanceGroupId :: Maybe Text
$sel:codeDeployInstanceGroupId:Observation' :: Observation -> Maybe Text
codeDeployInstanceGroupId} -> Maybe Text
codeDeployInstanceGroupId) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:codeDeployInstanceGroupId:Observation' :: Maybe Text
codeDeployInstanceGroupId = Maybe Text
a} :: Observation)

-- | The cause of an EBS CloudWatch event.
observation_ebsCause :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_ebsCause :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_ebsCause = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
ebsCause :: Maybe Text
$sel:ebsCause:Observation' :: Observation -> Maybe Text
ebsCause} -> Maybe Text
ebsCause) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:ebsCause:Observation' :: Maybe Text
ebsCause = Maybe Text
a} :: Observation)

-- | The type of EBS CloudWatch event, such as @createVolume@, @deleteVolume@
-- or @attachVolume@.
observation_ebsEvent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_ebsEvent :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_ebsEvent = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
ebsEvent :: Maybe Text
$sel:ebsEvent:Observation' :: Observation -> Maybe Text
ebsEvent} -> Maybe Text
ebsEvent) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:ebsEvent:Observation' :: Maybe Text
ebsEvent = Maybe Text
a} :: Observation)

-- | The request ID of an EBS CloudWatch event.
observation_ebsRequestId :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_ebsRequestId :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_ebsRequestId = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
ebsRequestId :: Maybe Text
$sel:ebsRequestId:Observation' :: Observation -> Maybe Text
ebsRequestId} -> Maybe Text
ebsRequestId) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:ebsRequestId:Observation' :: Maybe Text
ebsRequestId = Maybe Text
a} :: Observation)

-- | The X-Ray request fault percentage for this node.
observation_xRayFaultPercent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)
observation_xRayFaultPercent :: (Maybe Int -> f (Maybe Int)) -> Observation -> f Observation
observation_xRayFaultPercent = (Observation -> Maybe Int)
-> (Observation -> Maybe Int -> Observation)
-> Lens Observation Observation (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Int
xRayFaultPercent :: Maybe Int
$sel:xRayFaultPercent:Observation' :: Observation -> Maybe Int
xRayFaultPercent} -> Maybe Int
xRayFaultPercent) (\s :: Observation
s@Observation' {} Maybe Int
a -> Observation
s {$sel:xRayFaultPercent:Observation' :: Maybe Int
xRayFaultPercent = Maybe Int
a} :: Observation)

-- | The Amazon Resource Name (ARN) of the step function execution-based
-- observation.
observation_statesExecutionArn :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_statesExecutionArn :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_statesExecutionArn = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
statesExecutionArn :: Maybe Text
$sel:statesExecutionArn:Observation' :: Observation -> Maybe Text
statesExecutionArn} -> Maybe Text
statesExecutionArn) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:statesExecutionArn:Observation' :: Maybe Text
statesExecutionArn = Maybe Text
a} :: Observation)

-- | The timestamp in the CloudWatch Logs that specifies when the matched
-- line occurred.
observation_lineTime :: Lens.Lens' Observation (Prelude.Maybe Prelude.UTCTime)
observation_lineTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> Observation -> f Observation
observation_lineTime = (Observation -> Maybe POSIX)
-> (Observation -> Maybe POSIX -> Observation)
-> Lens Observation Observation (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe POSIX
lineTime :: Maybe POSIX
$sel:lineTime:Observation' :: Observation -> Maybe POSIX
lineTime} -> Maybe POSIX
lineTime) (\s :: Observation
s@Observation' {} Maybe POSIX
a -> Observation
s {$sel:lineTime:Observation' :: Maybe POSIX
lineTime = Maybe POSIX
a} :: Observation) ((Maybe POSIX -> f (Maybe POSIX)) -> Observation -> f Observation)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> Observation
-> f Observation
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The unit of the source observation metric.
observation_unit :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_unit :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_unit = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
unit :: Maybe Text
$sel:unit:Observation' :: Observation -> Maybe Text
unit} -> Maybe Text
unit) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:unit:Observation' :: Maybe Text
unit = Maybe Text
a} :: Observation)

-- | The X-Ray request throttle percentage for this node.
observation_xRayThrottlePercent :: Lens.Lens' Observation (Prelude.Maybe Prelude.Int)
observation_xRayThrottlePercent :: (Maybe Int -> f (Maybe Int)) -> Observation -> f Observation
observation_xRayThrottlePercent = (Observation -> Maybe Int)
-> (Observation -> Maybe Int -> Observation)
-> Lens Observation Observation (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Int
xRayThrottlePercent :: Maybe Int
$sel:xRayThrottlePercent:Observation' :: Observation -> Maybe Int
xRayThrottlePercent} -> Maybe Int
xRayThrottlePercent) (\s :: Observation
s@Observation' {} Maybe Int
a -> Observation
s {$sel:xRayThrottlePercent:Observation' :: Maybe Int
xRayThrottlePercent = Maybe Int
a} :: Observation)

-- | The service to which the AWS Health Event belongs, such as EC2.
observation_healthService :: Lens.Lens' Observation (Prelude.Maybe Prelude.Text)
observation_healthService :: (Maybe Text -> f (Maybe Text)) -> Observation -> f Observation
observation_healthService = (Observation -> Maybe Text)
-> (Observation -> Maybe Text -> Observation)
-> Lens Observation Observation (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Observation' {Maybe Text
healthService :: Maybe Text
$sel:healthService:Observation' :: Observation -> Maybe Text
healthService} -> Maybe Text
healthService) (\s :: Observation
s@Observation' {} Maybe Text
a -> Observation
s {$sel:healthService:Observation' :: Maybe Text
healthService = Maybe Text
a} :: Observation)

instance Core.FromJSON Observation where
  parseJSON :: Value -> Parser Observation
parseJSON =
    String
-> (Object -> Parser Observation) -> Value -> Parser Observation
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"Observation"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Text
-> Maybe CloudWatchEventSource
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe LogFilter
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Observation
Observation'
            (Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Integer
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Double
 -> Maybe Text
 -> Maybe CloudWatchEventSource
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe LogFilter
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CodeDeployApplication")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RdsEventMessage")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CodeDeployDeploymentId")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StartTime")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SourceType")
            Parser
  (Maybe Text
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SourceARN")
            Parser
  (Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"XRayRequestAverageLatency")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StatesStatus")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CodeDeployDeploymentGroup")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"HealthEventTypeCategory")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"XRayRequestCount")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"S3EventName")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MetricName")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Ec2State")
            Parser
  (Maybe Text
   -> Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Double
      -> Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LogGroup")
            Parser
  (Maybe Double
   -> Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Double)
-> Parser
     (Maybe Text
      -> Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Value")
            Parser
  (Maybe Text
   -> Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe CloudWatchEventSource
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"HealthEventDescription")
            Parser
  (Maybe CloudWatchEventSource
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe CloudWatchEventSource)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe CloudWatchEventSource)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CloudWatchEventSource")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CodeDeployState")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"XRayErrorPercent")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StatesArn")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CloudWatchEventId")
            Parser
  (Maybe Text
   -> Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe LogFilter
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LogText")
            Parser
  (Maybe LogFilter
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe LogFilter)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe LogFilter)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LogFilter")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MetricNamespace")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RdsEventCategories")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"XRayNodeType")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EndTime")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StatesInput")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"XRayNodeName")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Id")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"HealthEventArn")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"HealthEventTypeCode")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EbsResult")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CloudWatchEventDetailType")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CodeDeployInstanceGroupId")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EbsCause")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EbsEvent")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EbsRequestId")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"XRayFaultPercent")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Observation)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe Text -> Maybe Int -> Maybe Text -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StatesExecutionArn")
            Parser
  (Maybe POSIX
   -> Maybe Text -> Maybe Int -> Maybe Text -> Observation)
-> Parser (Maybe POSIX)
-> Parser (Maybe Text -> Maybe Int -> Maybe Text -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LineTime")
            Parser (Maybe Text -> Maybe Int -> Maybe Text -> Observation)
-> Parser (Maybe Text)
-> Parser (Maybe Int -> Maybe Text -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Unit")
            Parser (Maybe Int -> Maybe Text -> Observation)
-> Parser (Maybe Int) -> Parser (Maybe Text -> Observation)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"XRayThrottlePercent")
            Parser (Maybe Text -> Observation)
-> Parser (Maybe Text) -> Parser Observation
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"HealthService")
      )

instance Prelude.Hashable Observation

instance Prelude.NFData Observation