{-# 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.DevOpsGuru.Types.ProactiveOrganizationInsightSummary
-- 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.DevOpsGuru.Types.ProactiveOrganizationInsightSummary where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DevOpsGuru.Types.InsightSeverity
import Amazonka.DevOpsGuru.Types.InsightStatus
import Amazonka.DevOpsGuru.Types.InsightTimeRange
import Amazonka.DevOpsGuru.Types.PredictionTimeRange
import Amazonka.DevOpsGuru.Types.ResourceCollection
import Amazonka.DevOpsGuru.Types.ServiceCollection
import qualified Amazonka.Prelude as Prelude

-- | Details about a proactive insight. This object is returned by
-- @DescribeInsight@.
--
-- /See:/ 'newProactiveOrganizationInsightSummary' smart constructor.
data ProactiveOrganizationInsightSummary = ProactiveOrganizationInsightSummary'
  { -- | The ID of the Amazon Web Services account.
    ProactiveOrganizationInsightSummary -> Maybe Text
accountId :: Prelude.Maybe Prelude.Text,
    -- | The ID of the insight summary.
    ProactiveOrganizationInsightSummary -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
    ProactiveOrganizationInsightSummary -> Maybe InsightTimeRange
insightTimeRange :: Prelude.Maybe InsightTimeRange,
    -- | The name of the insight summary.
    ProactiveOrganizationInsightSummary -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The ID of the organizational unit.
    ProactiveOrganizationInsightSummary -> Maybe Text
organizationalUnitId :: Prelude.Maybe Prelude.Text,
    ProactiveOrganizationInsightSummary -> Maybe PredictionTimeRange
predictionTimeRange :: Prelude.Maybe PredictionTimeRange,
    ProactiveOrganizationInsightSummary -> Maybe ResourceCollection
resourceCollection :: Prelude.Maybe ResourceCollection,
    ProactiveOrganizationInsightSummary -> Maybe ServiceCollection
serviceCollection :: Prelude.Maybe ServiceCollection,
    -- | An array of severity values used to search for insights. For more
    -- information, see
    -- <https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities Understanding insight severities>
    -- in the /Amazon DevOps Guru User Guide/.
    ProactiveOrganizationInsightSummary -> Maybe InsightSeverity
severity :: Prelude.Maybe InsightSeverity,
    -- | An array of status values used to search for insights.
    ProactiveOrganizationInsightSummary -> Maybe InsightStatus
status :: Prelude.Maybe InsightStatus
  }
  deriving (ProactiveOrganizationInsightSummary
-> ProactiveOrganizationInsightSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProactiveOrganizationInsightSummary
-> ProactiveOrganizationInsightSummary -> Bool
$c/= :: ProactiveOrganizationInsightSummary
-> ProactiveOrganizationInsightSummary -> Bool
== :: ProactiveOrganizationInsightSummary
-> ProactiveOrganizationInsightSummary -> Bool
$c== :: ProactiveOrganizationInsightSummary
-> ProactiveOrganizationInsightSummary -> Bool
Prelude.Eq, ReadPrec [ProactiveOrganizationInsightSummary]
ReadPrec ProactiveOrganizationInsightSummary
Int -> ReadS ProactiveOrganizationInsightSummary
ReadS [ProactiveOrganizationInsightSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProactiveOrganizationInsightSummary]
$creadListPrec :: ReadPrec [ProactiveOrganizationInsightSummary]
readPrec :: ReadPrec ProactiveOrganizationInsightSummary
$creadPrec :: ReadPrec ProactiveOrganizationInsightSummary
readList :: ReadS [ProactiveOrganizationInsightSummary]
$creadList :: ReadS [ProactiveOrganizationInsightSummary]
readsPrec :: Int -> ReadS ProactiveOrganizationInsightSummary
$creadsPrec :: Int -> ReadS ProactiveOrganizationInsightSummary
Prelude.Read, Int -> ProactiveOrganizationInsightSummary -> ShowS
[ProactiveOrganizationInsightSummary] -> ShowS
ProactiveOrganizationInsightSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProactiveOrganizationInsightSummary] -> ShowS
$cshowList :: [ProactiveOrganizationInsightSummary] -> ShowS
show :: ProactiveOrganizationInsightSummary -> String
$cshow :: ProactiveOrganizationInsightSummary -> String
showsPrec :: Int -> ProactiveOrganizationInsightSummary -> ShowS
$cshowsPrec :: Int -> ProactiveOrganizationInsightSummary -> ShowS
Prelude.Show, forall x.
Rep ProactiveOrganizationInsightSummary x
-> ProactiveOrganizationInsightSummary
forall x.
ProactiveOrganizationInsightSummary
-> Rep ProactiveOrganizationInsightSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ProactiveOrganizationInsightSummary x
-> ProactiveOrganizationInsightSummary
$cfrom :: forall x.
ProactiveOrganizationInsightSummary
-> Rep ProactiveOrganizationInsightSummary x
Prelude.Generic)

-- |
-- Create a value of 'ProactiveOrganizationInsightSummary' 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:
--
-- 'accountId', 'proactiveOrganizationInsightSummary_accountId' - The ID of the Amazon Web Services account.
--
-- 'id', 'proactiveOrganizationInsightSummary_id' - The ID of the insight summary.
--
-- 'insightTimeRange', 'proactiveOrganizationInsightSummary_insightTimeRange' - Undocumented member.
--
-- 'name', 'proactiveOrganizationInsightSummary_name' - The name of the insight summary.
--
-- 'organizationalUnitId', 'proactiveOrganizationInsightSummary_organizationalUnitId' - The ID of the organizational unit.
--
-- 'predictionTimeRange', 'proactiveOrganizationInsightSummary_predictionTimeRange' - Undocumented member.
--
-- 'resourceCollection', 'proactiveOrganizationInsightSummary_resourceCollection' - Undocumented member.
--
-- 'serviceCollection', 'proactiveOrganizationInsightSummary_serviceCollection' - Undocumented member.
--
-- 'severity', 'proactiveOrganizationInsightSummary_severity' - An array of severity values used to search for insights. For more
-- information, see
-- <https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities Understanding insight severities>
-- in the /Amazon DevOps Guru User Guide/.
--
-- 'status', 'proactiveOrganizationInsightSummary_status' - An array of status values used to search for insights.
newProactiveOrganizationInsightSummary ::
  ProactiveOrganizationInsightSummary
newProactiveOrganizationInsightSummary :: ProactiveOrganizationInsightSummary
newProactiveOrganizationInsightSummary =
  ProactiveOrganizationInsightSummary'
    { $sel:accountId:ProactiveOrganizationInsightSummary' :: Maybe Text
accountId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:id:ProactiveOrganizationInsightSummary' :: Maybe Text
id = forall a. Maybe a
Prelude.Nothing,
      $sel:insightTimeRange:ProactiveOrganizationInsightSummary' :: Maybe InsightTimeRange
insightTimeRange = forall a. Maybe a
Prelude.Nothing,
      $sel:name:ProactiveOrganizationInsightSummary' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:organizationalUnitId:ProactiveOrganizationInsightSummary' :: Maybe Text
organizationalUnitId = forall a. Maybe a
Prelude.Nothing,
      $sel:predictionTimeRange:ProactiveOrganizationInsightSummary' :: Maybe PredictionTimeRange
predictionTimeRange = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceCollection:ProactiveOrganizationInsightSummary' :: Maybe ResourceCollection
resourceCollection = forall a. Maybe a
Prelude.Nothing,
      $sel:serviceCollection:ProactiveOrganizationInsightSummary' :: Maybe ServiceCollection
serviceCollection = forall a. Maybe a
Prelude.Nothing,
      $sel:severity:ProactiveOrganizationInsightSummary' :: Maybe InsightSeverity
severity = forall a. Maybe a
Prelude.Nothing,
      $sel:status:ProactiveOrganizationInsightSummary' :: Maybe InsightStatus
status = forall a. Maybe a
Prelude.Nothing
    }

-- | The ID of the Amazon Web Services account.
proactiveOrganizationInsightSummary_accountId :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe Prelude.Text)
proactiveOrganizationInsightSummary_accountId :: Lens' ProactiveOrganizationInsightSummary (Maybe Text)
proactiveOrganizationInsightSummary_accountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe Text
accountId :: Maybe Text
$sel:accountId:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
accountId} -> Maybe Text
accountId) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe Text
a -> ProactiveOrganizationInsightSummary
s {$sel:accountId:ProactiveOrganizationInsightSummary' :: Maybe Text
accountId = Maybe Text
a} :: ProactiveOrganizationInsightSummary)

-- | The ID of the insight summary.
proactiveOrganizationInsightSummary_id :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe Prelude.Text)
proactiveOrganizationInsightSummary_id :: Lens' ProactiveOrganizationInsightSummary (Maybe Text)
proactiveOrganizationInsightSummary_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe Text
id :: Maybe Text
$sel:id:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
id} -> Maybe Text
id) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe Text
a -> ProactiveOrganizationInsightSummary
s {$sel:id:ProactiveOrganizationInsightSummary' :: Maybe Text
id = Maybe Text
a} :: ProactiveOrganizationInsightSummary)

-- | Undocumented member.
proactiveOrganizationInsightSummary_insightTimeRange :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe InsightTimeRange)
proactiveOrganizationInsightSummary_insightTimeRange :: Lens' ProactiveOrganizationInsightSummary (Maybe InsightTimeRange)
proactiveOrganizationInsightSummary_insightTimeRange = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe InsightTimeRange
insightTimeRange :: Maybe InsightTimeRange
$sel:insightTimeRange:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightTimeRange
insightTimeRange} -> Maybe InsightTimeRange
insightTimeRange) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe InsightTimeRange
a -> ProactiveOrganizationInsightSummary
s {$sel:insightTimeRange:ProactiveOrganizationInsightSummary' :: Maybe InsightTimeRange
insightTimeRange = Maybe InsightTimeRange
a} :: ProactiveOrganizationInsightSummary)

-- | The name of the insight summary.
proactiveOrganizationInsightSummary_name :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe Prelude.Text)
proactiveOrganizationInsightSummary_name :: Lens' ProactiveOrganizationInsightSummary (Maybe Text)
proactiveOrganizationInsightSummary_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe Text
name :: Maybe Text
$sel:name:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
name} -> Maybe Text
name) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe Text
a -> ProactiveOrganizationInsightSummary
s {$sel:name:ProactiveOrganizationInsightSummary' :: Maybe Text
name = Maybe Text
a} :: ProactiveOrganizationInsightSummary)

-- | The ID of the organizational unit.
proactiveOrganizationInsightSummary_organizationalUnitId :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe Prelude.Text)
proactiveOrganizationInsightSummary_organizationalUnitId :: Lens' ProactiveOrganizationInsightSummary (Maybe Text)
proactiveOrganizationInsightSummary_organizationalUnitId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe Text
organizationalUnitId :: Maybe Text
$sel:organizationalUnitId:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
organizationalUnitId} -> Maybe Text
organizationalUnitId) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe Text
a -> ProactiveOrganizationInsightSummary
s {$sel:organizationalUnitId:ProactiveOrganizationInsightSummary' :: Maybe Text
organizationalUnitId = Maybe Text
a} :: ProactiveOrganizationInsightSummary)

-- | Undocumented member.
proactiveOrganizationInsightSummary_predictionTimeRange :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe PredictionTimeRange)
proactiveOrganizationInsightSummary_predictionTimeRange :: Lens'
  ProactiveOrganizationInsightSummary (Maybe PredictionTimeRange)
proactiveOrganizationInsightSummary_predictionTimeRange = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe PredictionTimeRange
predictionTimeRange :: Maybe PredictionTimeRange
$sel:predictionTimeRange:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe PredictionTimeRange
predictionTimeRange} -> Maybe PredictionTimeRange
predictionTimeRange) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe PredictionTimeRange
a -> ProactiveOrganizationInsightSummary
s {$sel:predictionTimeRange:ProactiveOrganizationInsightSummary' :: Maybe PredictionTimeRange
predictionTimeRange = Maybe PredictionTimeRange
a} :: ProactiveOrganizationInsightSummary)

-- | Undocumented member.
proactiveOrganizationInsightSummary_resourceCollection :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe ResourceCollection)
proactiveOrganizationInsightSummary_resourceCollection :: Lens'
  ProactiveOrganizationInsightSummary (Maybe ResourceCollection)
proactiveOrganizationInsightSummary_resourceCollection = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe ResourceCollection
resourceCollection :: Maybe ResourceCollection
$sel:resourceCollection:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe ResourceCollection
resourceCollection} -> Maybe ResourceCollection
resourceCollection) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe ResourceCollection
a -> ProactiveOrganizationInsightSummary
s {$sel:resourceCollection:ProactiveOrganizationInsightSummary' :: Maybe ResourceCollection
resourceCollection = Maybe ResourceCollection
a} :: ProactiveOrganizationInsightSummary)

-- | Undocumented member.
proactiveOrganizationInsightSummary_serviceCollection :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe ServiceCollection)
proactiveOrganizationInsightSummary_serviceCollection :: Lens' ProactiveOrganizationInsightSummary (Maybe ServiceCollection)
proactiveOrganizationInsightSummary_serviceCollection = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe ServiceCollection
serviceCollection :: Maybe ServiceCollection
$sel:serviceCollection:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe ServiceCollection
serviceCollection} -> Maybe ServiceCollection
serviceCollection) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe ServiceCollection
a -> ProactiveOrganizationInsightSummary
s {$sel:serviceCollection:ProactiveOrganizationInsightSummary' :: Maybe ServiceCollection
serviceCollection = Maybe ServiceCollection
a} :: ProactiveOrganizationInsightSummary)

-- | An array of severity values used to search for insights. For more
-- information, see
-- <https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities Understanding insight severities>
-- in the /Amazon DevOps Guru User Guide/.
proactiveOrganizationInsightSummary_severity :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe InsightSeverity)
proactiveOrganizationInsightSummary_severity :: Lens' ProactiveOrganizationInsightSummary (Maybe InsightSeverity)
proactiveOrganizationInsightSummary_severity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe InsightSeverity
severity :: Maybe InsightSeverity
$sel:severity:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightSeverity
severity} -> Maybe InsightSeverity
severity) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe InsightSeverity
a -> ProactiveOrganizationInsightSummary
s {$sel:severity:ProactiveOrganizationInsightSummary' :: Maybe InsightSeverity
severity = Maybe InsightSeverity
a} :: ProactiveOrganizationInsightSummary)

-- | An array of status values used to search for insights.
proactiveOrganizationInsightSummary_status :: Lens.Lens' ProactiveOrganizationInsightSummary (Prelude.Maybe InsightStatus)
proactiveOrganizationInsightSummary_status :: Lens' ProactiveOrganizationInsightSummary (Maybe InsightStatus)
proactiveOrganizationInsightSummary_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProactiveOrganizationInsightSummary' {Maybe InsightStatus
status :: Maybe InsightStatus
$sel:status:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightStatus
status} -> Maybe InsightStatus
status) (\s :: ProactiveOrganizationInsightSummary
s@ProactiveOrganizationInsightSummary' {} Maybe InsightStatus
a -> ProactiveOrganizationInsightSummary
s {$sel:status:ProactiveOrganizationInsightSummary' :: Maybe InsightStatus
status = Maybe InsightStatus
a} :: ProactiveOrganizationInsightSummary)

instance
  Data.FromJSON
    ProactiveOrganizationInsightSummary
  where
  parseJSON :: Value -> Parser ProactiveOrganizationInsightSummary
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ProactiveOrganizationInsightSummary"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe InsightTimeRange
-> Maybe Text
-> Maybe Text
-> Maybe PredictionTimeRange
-> Maybe ResourceCollection
-> Maybe ServiceCollection
-> Maybe InsightSeverity
-> Maybe InsightStatus
-> ProactiveOrganizationInsightSummary
ProactiveOrganizationInsightSummary'
            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
"AccountId")
            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
"Id")
            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
"InsightTimeRange")
            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
"Name")
            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
"OrganizationalUnitId")
            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
"PredictionTimeRange")
            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
"ResourceCollection")
            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
"ServiceCollection")
            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
"Severity")
            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
"Status")
      )

instance
  Prelude.Hashable
    ProactiveOrganizationInsightSummary
  where
  hashWithSalt :: Int -> ProactiveOrganizationInsightSummary -> Int
hashWithSalt
    Int
_salt
    ProactiveOrganizationInsightSummary' {Maybe Text
Maybe InsightSeverity
Maybe InsightStatus
Maybe InsightTimeRange
Maybe PredictionTimeRange
Maybe ServiceCollection
Maybe ResourceCollection
status :: Maybe InsightStatus
severity :: Maybe InsightSeverity
serviceCollection :: Maybe ServiceCollection
resourceCollection :: Maybe ResourceCollection
predictionTimeRange :: Maybe PredictionTimeRange
organizationalUnitId :: Maybe Text
name :: Maybe Text
insightTimeRange :: Maybe InsightTimeRange
id :: Maybe Text
accountId :: Maybe Text
$sel:status:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightStatus
$sel:severity:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightSeverity
$sel:serviceCollection:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe ServiceCollection
$sel:resourceCollection:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe ResourceCollection
$sel:predictionTimeRange:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe PredictionTimeRange
$sel:organizationalUnitId:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
$sel:name:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
$sel:insightTimeRange:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightTimeRange
$sel:id:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
$sel:accountId:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
accountId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
id
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InsightTimeRange
insightTimeRange
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
organizationalUnitId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PredictionTimeRange
predictionTimeRange
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ResourceCollection
resourceCollection
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServiceCollection
serviceCollection
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InsightSeverity
severity
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe InsightStatus
status

instance
  Prelude.NFData
    ProactiveOrganizationInsightSummary
  where
  rnf :: ProactiveOrganizationInsightSummary -> ()
rnf ProactiveOrganizationInsightSummary' {Maybe Text
Maybe InsightSeverity
Maybe InsightStatus
Maybe InsightTimeRange
Maybe PredictionTimeRange
Maybe ServiceCollection
Maybe ResourceCollection
status :: Maybe InsightStatus
severity :: Maybe InsightSeverity
serviceCollection :: Maybe ServiceCollection
resourceCollection :: Maybe ResourceCollection
predictionTimeRange :: Maybe PredictionTimeRange
organizationalUnitId :: Maybe Text
name :: Maybe Text
insightTimeRange :: Maybe InsightTimeRange
id :: Maybe Text
accountId :: Maybe Text
$sel:status:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightStatus
$sel:severity:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightSeverity
$sel:serviceCollection:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe ServiceCollection
$sel:resourceCollection:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe ResourceCollection
$sel:predictionTimeRange:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe PredictionTimeRange
$sel:organizationalUnitId:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
$sel:name:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
$sel:insightTimeRange:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe InsightTimeRange
$sel:id:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
$sel:accountId:ProactiveOrganizationInsightSummary' :: ProactiveOrganizationInsightSummary -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
accountId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
id
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InsightTimeRange
insightTimeRange
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
organizationalUnitId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PredictionTimeRange
predictionTimeRange
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResourceCollection
resourceCollection
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ServiceCollection
serviceCollection
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InsightSeverity
severity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe InsightStatus
status