{-# 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.DetectMitigationActionsTaskSummary -- 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.DetectMitigationActionsTaskSummary 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.DetectMitigationActionsTaskStatistics import Amazonka.IoT.Types.DetectMitigationActionsTaskStatus import Amazonka.IoT.Types.DetectMitigationActionsTaskTarget import Amazonka.IoT.Types.MitigationAction import Amazonka.IoT.Types.ViolationEventOccurrenceRange import qualified Amazonka.Prelude as Prelude -- | The summary of the mitigation action tasks. -- -- /See:/ 'newDetectMitigationActionsTaskSummary' smart constructor. data DetectMitigationActionsTaskSummary = DetectMitigationActionsTaskSummary' { -- | The definition of the actions. actionsDefinition :: Prelude.Maybe [MitigationAction], -- | Includes only active violations. onlyActiveViolationsIncluded :: Prelude.Maybe Prelude.Bool, -- | Includes suppressed alerts. suppressedAlertsIncluded :: Prelude.Maybe Prelude.Bool, -- | Specifies the ML Detect findings to which the mitigation actions are -- applied. target :: Prelude.Maybe DetectMitigationActionsTaskTarget, -- | The date the task ended. taskEndTime :: Prelude.Maybe Data.POSIX, -- | The unique identifier of the task. taskId :: Prelude.Maybe Prelude.Text, -- | The date the task started. taskStartTime :: Prelude.Maybe Data.POSIX, -- | The statistics of a mitigation action task. taskStatistics :: Prelude.Maybe DetectMitigationActionsTaskStatistics, -- | The status of the task. taskStatus :: Prelude.Maybe DetectMitigationActionsTaskStatus, -- | Specifies the time period of which violation events occurred between. violationEventOccurrenceRange :: Prelude.Maybe ViolationEventOccurrenceRange } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DetectMitigationActionsTaskSummary' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'actionsDefinition', 'detectMitigationActionsTaskSummary_actionsDefinition' - The definition of the actions. -- -- 'onlyActiveViolationsIncluded', 'detectMitigationActionsTaskSummary_onlyActiveViolationsIncluded' - Includes only active violations. -- -- 'suppressedAlertsIncluded', 'detectMitigationActionsTaskSummary_suppressedAlertsIncluded' - Includes suppressed alerts. -- -- 'target', 'detectMitigationActionsTaskSummary_target' - Specifies the ML Detect findings to which the mitigation actions are -- applied. -- -- 'taskEndTime', 'detectMitigationActionsTaskSummary_taskEndTime' - The date the task ended. -- -- 'taskId', 'detectMitigationActionsTaskSummary_taskId' - The unique identifier of the task. -- -- 'taskStartTime', 'detectMitigationActionsTaskSummary_taskStartTime' - The date the task started. -- -- 'taskStatistics', 'detectMitigationActionsTaskSummary_taskStatistics' - The statistics of a mitigation action task. -- -- 'taskStatus', 'detectMitigationActionsTaskSummary_taskStatus' - The status of the task. -- -- 'violationEventOccurrenceRange', 'detectMitigationActionsTaskSummary_violationEventOccurrenceRange' - Specifies the time period of which violation events occurred between. newDetectMitigationActionsTaskSummary :: DetectMitigationActionsTaskSummary newDetectMitigationActionsTaskSummary = DetectMitigationActionsTaskSummary' { actionsDefinition = Prelude.Nothing, onlyActiveViolationsIncluded = Prelude.Nothing, suppressedAlertsIncluded = Prelude.Nothing, target = Prelude.Nothing, taskEndTime = Prelude.Nothing, taskId = Prelude.Nothing, taskStartTime = Prelude.Nothing, taskStatistics = Prelude.Nothing, taskStatus = Prelude.Nothing, violationEventOccurrenceRange = Prelude.Nothing } -- | The definition of the actions. detectMitigationActionsTaskSummary_actionsDefinition :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe [MitigationAction]) detectMitigationActionsTaskSummary_actionsDefinition = Lens.lens (\DetectMitigationActionsTaskSummary' {actionsDefinition} -> actionsDefinition) (\s@DetectMitigationActionsTaskSummary' {} a -> s {actionsDefinition = a} :: DetectMitigationActionsTaskSummary) Prelude.. Lens.mapping Lens.coerced -- | Includes only active violations. detectMitigationActionsTaskSummary_onlyActiveViolationsIncluded :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe Prelude.Bool) detectMitigationActionsTaskSummary_onlyActiveViolationsIncluded = Lens.lens (\DetectMitigationActionsTaskSummary' {onlyActiveViolationsIncluded} -> onlyActiveViolationsIncluded) (\s@DetectMitigationActionsTaskSummary' {} a -> s {onlyActiveViolationsIncluded = a} :: DetectMitigationActionsTaskSummary) -- | Includes suppressed alerts. detectMitigationActionsTaskSummary_suppressedAlertsIncluded :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe Prelude.Bool) detectMitigationActionsTaskSummary_suppressedAlertsIncluded = Lens.lens (\DetectMitigationActionsTaskSummary' {suppressedAlertsIncluded} -> suppressedAlertsIncluded) (\s@DetectMitigationActionsTaskSummary' {} a -> s {suppressedAlertsIncluded = a} :: DetectMitigationActionsTaskSummary) -- | Specifies the ML Detect findings to which the mitigation actions are -- applied. detectMitigationActionsTaskSummary_target :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe DetectMitigationActionsTaskTarget) detectMitigationActionsTaskSummary_target = Lens.lens (\DetectMitigationActionsTaskSummary' {target} -> target) (\s@DetectMitigationActionsTaskSummary' {} a -> s {target = a} :: DetectMitigationActionsTaskSummary) -- | The date the task ended. detectMitigationActionsTaskSummary_taskEndTime :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe Prelude.UTCTime) detectMitigationActionsTaskSummary_taskEndTime = Lens.lens (\DetectMitigationActionsTaskSummary' {taskEndTime} -> taskEndTime) (\s@DetectMitigationActionsTaskSummary' {} a -> s {taskEndTime = a} :: DetectMitigationActionsTaskSummary) Prelude.. Lens.mapping Data._Time -- | The unique identifier of the task. detectMitigationActionsTaskSummary_taskId :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe Prelude.Text) detectMitigationActionsTaskSummary_taskId = Lens.lens (\DetectMitigationActionsTaskSummary' {taskId} -> taskId) (\s@DetectMitigationActionsTaskSummary' {} a -> s {taskId = a} :: DetectMitigationActionsTaskSummary) -- | The date the task started. detectMitigationActionsTaskSummary_taskStartTime :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe Prelude.UTCTime) detectMitigationActionsTaskSummary_taskStartTime = Lens.lens (\DetectMitigationActionsTaskSummary' {taskStartTime} -> taskStartTime) (\s@DetectMitigationActionsTaskSummary' {} a -> s {taskStartTime = a} :: DetectMitigationActionsTaskSummary) Prelude.. Lens.mapping Data._Time -- | The statistics of a mitigation action task. detectMitigationActionsTaskSummary_taskStatistics :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe DetectMitigationActionsTaskStatistics) detectMitigationActionsTaskSummary_taskStatistics = Lens.lens (\DetectMitigationActionsTaskSummary' {taskStatistics} -> taskStatistics) (\s@DetectMitigationActionsTaskSummary' {} a -> s {taskStatistics = a} :: DetectMitigationActionsTaskSummary) -- | The status of the task. detectMitigationActionsTaskSummary_taskStatus :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe DetectMitigationActionsTaskStatus) detectMitigationActionsTaskSummary_taskStatus = Lens.lens (\DetectMitigationActionsTaskSummary' {taskStatus} -> taskStatus) (\s@DetectMitigationActionsTaskSummary' {} a -> s {taskStatus = a} :: DetectMitigationActionsTaskSummary) -- | Specifies the time period of which violation events occurred between. detectMitigationActionsTaskSummary_violationEventOccurrenceRange :: Lens.Lens' DetectMitigationActionsTaskSummary (Prelude.Maybe ViolationEventOccurrenceRange) detectMitigationActionsTaskSummary_violationEventOccurrenceRange = Lens.lens (\DetectMitigationActionsTaskSummary' {violationEventOccurrenceRange} -> violationEventOccurrenceRange) (\s@DetectMitigationActionsTaskSummary' {} a -> s {violationEventOccurrenceRange = a} :: DetectMitigationActionsTaskSummary) instance Data.FromJSON DetectMitigationActionsTaskSummary where parseJSON = Data.withObject "DetectMitigationActionsTaskSummary" ( \x -> DetectMitigationActionsTaskSummary' Prelude.<$> ( x Data..:? "actionsDefinition" Data..!= Prelude.mempty ) Prelude.<*> (x Data..:? "onlyActiveViolationsIncluded") Prelude.<*> (x Data..:? "suppressedAlertsIncluded") Prelude.<*> (x Data..:? "target") Prelude.<*> (x Data..:? "taskEndTime") Prelude.<*> (x Data..:? "taskId") Prelude.<*> (x Data..:? "taskStartTime") Prelude.<*> (x Data..:? "taskStatistics") Prelude.<*> (x Data..:? "taskStatus") Prelude.<*> (x Data..:? "violationEventOccurrenceRange") ) instance Prelude.Hashable DetectMitigationActionsTaskSummary where hashWithSalt _salt DetectMitigationActionsTaskSummary' {..} = _salt `Prelude.hashWithSalt` actionsDefinition `Prelude.hashWithSalt` onlyActiveViolationsIncluded `Prelude.hashWithSalt` suppressedAlertsIncluded `Prelude.hashWithSalt` target `Prelude.hashWithSalt` taskEndTime `Prelude.hashWithSalt` taskId `Prelude.hashWithSalt` taskStartTime `Prelude.hashWithSalt` taskStatistics `Prelude.hashWithSalt` taskStatus `Prelude.hashWithSalt` violationEventOccurrenceRange instance Prelude.NFData DetectMitigationActionsTaskSummary where rnf DetectMitigationActionsTaskSummary' {..} = Prelude.rnf actionsDefinition `Prelude.seq` Prelude.rnf onlyActiveViolationsIncluded `Prelude.seq` Prelude.rnf suppressedAlertsIncluded `Prelude.seq` Prelude.rnf target `Prelude.seq` Prelude.rnf taskEndTime `Prelude.seq` Prelude.rnf taskId `Prelude.seq` Prelude.rnf taskStartTime `Prelude.seq` Prelude.rnf taskStatistics `Prelude.seq` Prelude.rnf taskStatus `Prelude.seq` Prelude.rnf violationEventOccurrenceRange