{-# 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.IoT.Types.ActiveViolation
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.IoT.Types.ActiveViolation where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT.Types.Behavior
import Amazonka.IoT.Types.MetricValue
import Amazonka.IoT.Types.VerificationState
import Amazonka.IoT.Types.ViolationEventAdditionalInfo
import qualified Amazonka.Prelude as Prelude

-- | Information about an active Device Defender security profile behavior
-- violation.
--
-- /See:/ 'newActiveViolation' smart constructor.
data ActiveViolation = ActiveViolation'
  { -- | The behavior that is being violated.
    ActiveViolation -> Maybe Behavior
behavior :: Prelude.Maybe Behavior,
    -- | The time the most recent violation occurred.
    ActiveViolation -> Maybe POSIX
lastViolationTime :: Prelude.Maybe Data.POSIX,
    -- | The value of the metric (the measurement) that caused the most recent
    -- violation.
    ActiveViolation -> Maybe MetricValue
lastViolationValue :: Prelude.Maybe MetricValue,
    -- | The security profile with the behavior is in violation.
    ActiveViolation -> Maybe Text
securityProfileName :: Prelude.Maybe Prelude.Text,
    -- | The name of the thing responsible for the active violation.
    ActiveViolation -> Maybe Text
thingName :: Prelude.Maybe Prelude.Text,
    -- | The verification state of the violation (detect alarm).
    ActiveViolation -> Maybe VerificationState
verificationState :: Prelude.Maybe VerificationState,
    -- | The description of the verification state of the violation.
    ActiveViolation -> Maybe Text
verificationStateDescription :: Prelude.Maybe Prelude.Text,
    -- | The details of a violation event.
    ActiveViolation -> Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo :: Prelude.Maybe ViolationEventAdditionalInfo,
    -- | The ID of the active violation.
    ActiveViolation -> Maybe Text
violationId :: Prelude.Maybe Prelude.Text,
    -- | The time the violation started.
    ActiveViolation -> Maybe POSIX
violationStartTime :: Prelude.Maybe Data.POSIX
  }
  deriving (ActiveViolation -> ActiveViolation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ActiveViolation -> ActiveViolation -> Bool
$c/= :: ActiveViolation -> ActiveViolation -> Bool
== :: ActiveViolation -> ActiveViolation -> Bool
$c== :: ActiveViolation -> ActiveViolation -> Bool
Prelude.Eq, ReadPrec [ActiveViolation]
ReadPrec ActiveViolation
Int -> ReadS ActiveViolation
ReadS [ActiveViolation]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ActiveViolation]
$creadListPrec :: ReadPrec [ActiveViolation]
readPrec :: ReadPrec ActiveViolation
$creadPrec :: ReadPrec ActiveViolation
readList :: ReadS [ActiveViolation]
$creadList :: ReadS [ActiveViolation]
readsPrec :: Int -> ReadS ActiveViolation
$creadsPrec :: Int -> ReadS ActiveViolation
Prelude.Read, Int -> ActiveViolation -> ShowS
[ActiveViolation] -> ShowS
ActiveViolation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ActiveViolation] -> ShowS
$cshowList :: [ActiveViolation] -> ShowS
show :: ActiveViolation -> String
$cshow :: ActiveViolation -> String
showsPrec :: Int -> ActiveViolation -> ShowS
$cshowsPrec :: Int -> ActiveViolation -> ShowS
Prelude.Show, forall x. Rep ActiveViolation x -> ActiveViolation
forall x. ActiveViolation -> Rep ActiveViolation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ActiveViolation x -> ActiveViolation
$cfrom :: forall x. ActiveViolation -> Rep ActiveViolation x
Prelude.Generic)

-- |
-- Create a value of 'ActiveViolation' 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:
--
-- 'behavior', 'activeViolation_behavior' - The behavior that is being violated.
--
-- 'lastViolationTime', 'activeViolation_lastViolationTime' - The time the most recent violation occurred.
--
-- 'lastViolationValue', 'activeViolation_lastViolationValue' - The value of the metric (the measurement) that caused the most recent
-- violation.
--
-- 'securityProfileName', 'activeViolation_securityProfileName' - The security profile with the behavior is in violation.
--
-- 'thingName', 'activeViolation_thingName' - The name of the thing responsible for the active violation.
--
-- 'verificationState', 'activeViolation_verificationState' - The verification state of the violation (detect alarm).
--
-- 'verificationStateDescription', 'activeViolation_verificationStateDescription' - The description of the verification state of the violation.
--
-- 'violationEventAdditionalInfo', 'activeViolation_violationEventAdditionalInfo' - The details of a violation event.
--
-- 'violationId', 'activeViolation_violationId' - The ID of the active violation.
--
-- 'violationStartTime', 'activeViolation_violationStartTime' - The time the violation started.
newActiveViolation ::
  ActiveViolation
newActiveViolation :: ActiveViolation
newActiveViolation =
  ActiveViolation'
    { $sel:behavior:ActiveViolation' :: Maybe Behavior
behavior = forall a. Maybe a
Prelude.Nothing,
      $sel:lastViolationTime:ActiveViolation' :: Maybe POSIX
lastViolationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastViolationValue:ActiveViolation' :: Maybe MetricValue
lastViolationValue = forall a. Maybe a
Prelude.Nothing,
      $sel:securityProfileName:ActiveViolation' :: Maybe Text
securityProfileName = forall a. Maybe a
Prelude.Nothing,
      $sel:thingName:ActiveViolation' :: Maybe Text
thingName = forall a. Maybe a
Prelude.Nothing,
      $sel:verificationState:ActiveViolation' :: Maybe VerificationState
verificationState = forall a. Maybe a
Prelude.Nothing,
      $sel:verificationStateDescription:ActiveViolation' :: Maybe Text
verificationStateDescription = forall a. Maybe a
Prelude.Nothing,
      $sel:violationEventAdditionalInfo:ActiveViolation' :: Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo = forall a. Maybe a
Prelude.Nothing,
      $sel:violationId:ActiveViolation' :: Maybe Text
violationId = forall a. Maybe a
Prelude.Nothing,
      $sel:violationStartTime:ActiveViolation' :: Maybe POSIX
violationStartTime = forall a. Maybe a
Prelude.Nothing
    }

-- | The behavior that is being violated.
activeViolation_behavior :: Lens.Lens' ActiveViolation (Prelude.Maybe Behavior)
activeViolation_behavior :: Lens' ActiveViolation (Maybe Behavior)
activeViolation_behavior = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe Behavior
behavior :: Maybe Behavior
$sel:behavior:ActiveViolation' :: ActiveViolation -> Maybe Behavior
behavior} -> Maybe Behavior
behavior) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe Behavior
a -> ActiveViolation
s {$sel:behavior:ActiveViolation' :: Maybe Behavior
behavior = Maybe Behavior
a} :: ActiveViolation)

-- | The time the most recent violation occurred.
activeViolation_lastViolationTime :: Lens.Lens' ActiveViolation (Prelude.Maybe Prelude.UTCTime)
activeViolation_lastViolationTime :: Lens' ActiveViolation (Maybe UTCTime)
activeViolation_lastViolationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe POSIX
lastViolationTime :: Maybe POSIX
$sel:lastViolationTime:ActiveViolation' :: ActiveViolation -> Maybe POSIX
lastViolationTime} -> Maybe POSIX
lastViolationTime) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe POSIX
a -> ActiveViolation
s {$sel:lastViolationTime:ActiveViolation' :: Maybe POSIX
lastViolationTime = Maybe POSIX
a} :: ActiveViolation) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The value of the metric (the measurement) that caused the most recent
-- violation.
activeViolation_lastViolationValue :: Lens.Lens' ActiveViolation (Prelude.Maybe MetricValue)
activeViolation_lastViolationValue :: Lens' ActiveViolation (Maybe MetricValue)
activeViolation_lastViolationValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe MetricValue
lastViolationValue :: Maybe MetricValue
$sel:lastViolationValue:ActiveViolation' :: ActiveViolation -> Maybe MetricValue
lastViolationValue} -> Maybe MetricValue
lastViolationValue) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe MetricValue
a -> ActiveViolation
s {$sel:lastViolationValue:ActiveViolation' :: Maybe MetricValue
lastViolationValue = Maybe MetricValue
a} :: ActiveViolation)

-- | The security profile with the behavior is in violation.
activeViolation_securityProfileName :: Lens.Lens' ActiveViolation (Prelude.Maybe Prelude.Text)
activeViolation_securityProfileName :: Lens' ActiveViolation (Maybe Text)
activeViolation_securityProfileName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe Text
securityProfileName :: Maybe Text
$sel:securityProfileName:ActiveViolation' :: ActiveViolation -> Maybe Text
securityProfileName} -> Maybe Text
securityProfileName) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe Text
a -> ActiveViolation
s {$sel:securityProfileName:ActiveViolation' :: Maybe Text
securityProfileName = Maybe Text
a} :: ActiveViolation)

-- | The name of the thing responsible for the active violation.
activeViolation_thingName :: Lens.Lens' ActiveViolation (Prelude.Maybe Prelude.Text)
activeViolation_thingName :: Lens' ActiveViolation (Maybe Text)
activeViolation_thingName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe Text
thingName :: Maybe Text
$sel:thingName:ActiveViolation' :: ActiveViolation -> Maybe Text
thingName} -> Maybe Text
thingName) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe Text
a -> ActiveViolation
s {$sel:thingName:ActiveViolation' :: Maybe Text
thingName = Maybe Text
a} :: ActiveViolation)

-- | The verification state of the violation (detect alarm).
activeViolation_verificationState :: Lens.Lens' ActiveViolation (Prelude.Maybe VerificationState)
activeViolation_verificationState :: Lens' ActiveViolation (Maybe VerificationState)
activeViolation_verificationState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe VerificationState
verificationState :: Maybe VerificationState
$sel:verificationState:ActiveViolation' :: ActiveViolation -> Maybe VerificationState
verificationState} -> Maybe VerificationState
verificationState) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe VerificationState
a -> ActiveViolation
s {$sel:verificationState:ActiveViolation' :: Maybe VerificationState
verificationState = Maybe VerificationState
a} :: ActiveViolation)

-- | The description of the verification state of the violation.
activeViolation_verificationStateDescription :: Lens.Lens' ActiveViolation (Prelude.Maybe Prelude.Text)
activeViolation_verificationStateDescription :: Lens' ActiveViolation (Maybe Text)
activeViolation_verificationStateDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe Text
verificationStateDescription :: Maybe Text
$sel:verificationStateDescription:ActiveViolation' :: ActiveViolation -> Maybe Text
verificationStateDescription} -> Maybe Text
verificationStateDescription) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe Text
a -> ActiveViolation
s {$sel:verificationStateDescription:ActiveViolation' :: Maybe Text
verificationStateDescription = Maybe Text
a} :: ActiveViolation)

-- | The details of a violation event.
activeViolation_violationEventAdditionalInfo :: Lens.Lens' ActiveViolation (Prelude.Maybe ViolationEventAdditionalInfo)
activeViolation_violationEventAdditionalInfo :: Lens' ActiveViolation (Maybe ViolationEventAdditionalInfo)
activeViolation_violationEventAdditionalInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo :: Maybe ViolationEventAdditionalInfo
$sel:violationEventAdditionalInfo:ActiveViolation' :: ActiveViolation -> Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo} -> Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe ViolationEventAdditionalInfo
a -> ActiveViolation
s {$sel:violationEventAdditionalInfo:ActiveViolation' :: Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo = Maybe ViolationEventAdditionalInfo
a} :: ActiveViolation)

-- | The ID of the active violation.
activeViolation_violationId :: Lens.Lens' ActiveViolation (Prelude.Maybe Prelude.Text)
activeViolation_violationId :: Lens' ActiveViolation (Maybe Text)
activeViolation_violationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe Text
violationId :: Maybe Text
$sel:violationId:ActiveViolation' :: ActiveViolation -> Maybe Text
violationId} -> Maybe Text
violationId) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe Text
a -> ActiveViolation
s {$sel:violationId:ActiveViolation' :: Maybe Text
violationId = Maybe Text
a} :: ActiveViolation)

-- | The time the violation started.
activeViolation_violationStartTime :: Lens.Lens' ActiveViolation (Prelude.Maybe Prelude.UTCTime)
activeViolation_violationStartTime :: Lens' ActiveViolation (Maybe UTCTime)
activeViolation_violationStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ActiveViolation' {Maybe POSIX
violationStartTime :: Maybe POSIX
$sel:violationStartTime:ActiveViolation' :: ActiveViolation -> Maybe POSIX
violationStartTime} -> Maybe POSIX
violationStartTime) (\s :: ActiveViolation
s@ActiveViolation' {} Maybe POSIX
a -> ActiveViolation
s {$sel:violationStartTime:ActiveViolation' :: Maybe POSIX
violationStartTime = Maybe POSIX
a} :: ActiveViolation) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance Data.FromJSON ActiveViolation where
  parseJSON :: Value -> Parser ActiveViolation
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ActiveViolation"
      ( \Object
x ->
          Maybe Behavior
-> Maybe POSIX
-> Maybe MetricValue
-> Maybe Text
-> Maybe Text
-> Maybe VerificationState
-> Maybe Text
-> Maybe ViolationEventAdditionalInfo
-> Maybe Text
-> Maybe POSIX
-> ActiveViolation
ActiveViolation'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"behavior")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastViolationTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastViolationValue")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"securityProfileName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"thingName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"verificationState")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"verificationStateDescription")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"violationEventAdditionalInfo")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"violationId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"violationStartTime")
      )

instance Prelude.Hashable ActiveViolation where
  hashWithSalt :: Int -> ActiveViolation -> Int
hashWithSalt Int
_salt ActiveViolation' {Maybe Text
Maybe POSIX
Maybe MetricValue
Maybe Behavior
Maybe VerificationState
Maybe ViolationEventAdditionalInfo
violationStartTime :: Maybe POSIX
violationId :: Maybe Text
violationEventAdditionalInfo :: Maybe ViolationEventAdditionalInfo
verificationStateDescription :: Maybe Text
verificationState :: Maybe VerificationState
thingName :: Maybe Text
securityProfileName :: Maybe Text
lastViolationValue :: Maybe MetricValue
lastViolationTime :: Maybe POSIX
behavior :: Maybe Behavior
$sel:violationStartTime:ActiveViolation' :: ActiveViolation -> Maybe POSIX
$sel:violationId:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:violationEventAdditionalInfo:ActiveViolation' :: ActiveViolation -> Maybe ViolationEventAdditionalInfo
$sel:verificationStateDescription:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:verificationState:ActiveViolation' :: ActiveViolation -> Maybe VerificationState
$sel:thingName:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:securityProfileName:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:lastViolationValue:ActiveViolation' :: ActiveViolation -> Maybe MetricValue
$sel:lastViolationTime:ActiveViolation' :: ActiveViolation -> Maybe POSIX
$sel:behavior:ActiveViolation' :: ActiveViolation -> Maybe Behavior
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Behavior
behavior
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastViolationTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MetricValue
lastViolationValue
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
securityProfileName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
thingName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VerificationState
verificationState
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
verificationStateDescription
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
violationId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
violationStartTime

instance Prelude.NFData ActiveViolation where
  rnf :: ActiveViolation -> ()
rnf ActiveViolation' {Maybe Text
Maybe POSIX
Maybe MetricValue
Maybe Behavior
Maybe VerificationState
Maybe ViolationEventAdditionalInfo
violationStartTime :: Maybe POSIX
violationId :: Maybe Text
violationEventAdditionalInfo :: Maybe ViolationEventAdditionalInfo
verificationStateDescription :: Maybe Text
verificationState :: Maybe VerificationState
thingName :: Maybe Text
securityProfileName :: Maybe Text
lastViolationValue :: Maybe MetricValue
lastViolationTime :: Maybe POSIX
behavior :: Maybe Behavior
$sel:violationStartTime:ActiveViolation' :: ActiveViolation -> Maybe POSIX
$sel:violationId:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:violationEventAdditionalInfo:ActiveViolation' :: ActiveViolation -> Maybe ViolationEventAdditionalInfo
$sel:verificationStateDescription:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:verificationState:ActiveViolation' :: ActiveViolation -> Maybe VerificationState
$sel:thingName:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:securityProfileName:ActiveViolation' :: ActiveViolation -> Maybe Text
$sel:lastViolationValue:ActiveViolation' :: ActiveViolation -> Maybe MetricValue
$sel:lastViolationTime:ActiveViolation' :: ActiveViolation -> Maybe POSIX
$sel:behavior:ActiveViolation' :: ActiveViolation -> Maybe Behavior
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Behavior
behavior
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastViolationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MetricValue
lastViolationValue
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
securityProfileName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
thingName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VerificationState
verificationState
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
verificationStateDescription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ViolationEventAdditionalInfo
violationEventAdditionalInfo
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
violationId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
violationStartTime