{-# 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.SSM.Types.ResourceComplianceSummaryItem
-- 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.SSM.Types.ResourceComplianceSummaryItem where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SSM.Types.ComplianceExecutionSummary
import Amazonka.SSM.Types.ComplianceSeverity
import Amazonka.SSM.Types.ComplianceStatus
import Amazonka.SSM.Types.CompliantSummary
import Amazonka.SSM.Types.NonCompliantSummary

-- | Compliance summary information for a specific resource.
--
-- /See:/ 'newResourceComplianceSummaryItem' smart constructor.
data ResourceComplianceSummaryItem = ResourceComplianceSummaryItem'
  { -- | The compliance type.
    ResourceComplianceSummaryItem -> Maybe Text
complianceType :: Prelude.Maybe Prelude.Text,
    -- | A list of items that are compliant for the resource.
    ResourceComplianceSummaryItem -> Maybe CompliantSummary
compliantSummary :: Prelude.Maybe CompliantSummary,
    -- | Information about the execution.
    ResourceComplianceSummaryItem -> Maybe ComplianceExecutionSummary
executionSummary :: Prelude.Maybe ComplianceExecutionSummary,
    -- | A list of items that aren\'t compliant for the resource.
    ResourceComplianceSummaryItem -> Maybe NonCompliantSummary
nonCompliantSummary :: Prelude.Maybe NonCompliantSummary,
    -- | The highest severity item found for the resource. The resource is
    -- compliant for this item.
    ResourceComplianceSummaryItem -> Maybe ComplianceSeverity
overallSeverity :: Prelude.Maybe ComplianceSeverity,
    -- | The resource ID.
    ResourceComplianceSummaryItem -> Maybe Text
resourceId :: Prelude.Maybe Prelude.Text,
    -- | The resource type.
    ResourceComplianceSummaryItem -> Maybe Text
resourceType :: Prelude.Maybe Prelude.Text,
    -- | The compliance status for the resource.
    ResourceComplianceSummaryItem -> Maybe ComplianceStatus
status :: Prelude.Maybe ComplianceStatus
  }
  deriving (ResourceComplianceSummaryItem
-> ResourceComplianceSummaryItem -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceComplianceSummaryItem
-> ResourceComplianceSummaryItem -> Bool
$c/= :: ResourceComplianceSummaryItem
-> ResourceComplianceSummaryItem -> Bool
== :: ResourceComplianceSummaryItem
-> ResourceComplianceSummaryItem -> Bool
$c== :: ResourceComplianceSummaryItem
-> ResourceComplianceSummaryItem -> Bool
Prelude.Eq, ReadPrec [ResourceComplianceSummaryItem]
ReadPrec ResourceComplianceSummaryItem
Int -> ReadS ResourceComplianceSummaryItem
ReadS [ResourceComplianceSummaryItem]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResourceComplianceSummaryItem]
$creadListPrec :: ReadPrec [ResourceComplianceSummaryItem]
readPrec :: ReadPrec ResourceComplianceSummaryItem
$creadPrec :: ReadPrec ResourceComplianceSummaryItem
readList :: ReadS [ResourceComplianceSummaryItem]
$creadList :: ReadS [ResourceComplianceSummaryItem]
readsPrec :: Int -> ReadS ResourceComplianceSummaryItem
$creadsPrec :: Int -> ReadS ResourceComplianceSummaryItem
Prelude.Read, Int -> ResourceComplianceSummaryItem -> ShowS
[ResourceComplianceSummaryItem] -> ShowS
ResourceComplianceSummaryItem -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResourceComplianceSummaryItem] -> ShowS
$cshowList :: [ResourceComplianceSummaryItem] -> ShowS
show :: ResourceComplianceSummaryItem -> String
$cshow :: ResourceComplianceSummaryItem -> String
showsPrec :: Int -> ResourceComplianceSummaryItem -> ShowS
$cshowsPrec :: Int -> ResourceComplianceSummaryItem -> ShowS
Prelude.Show, forall x.
Rep ResourceComplianceSummaryItem x
-> ResourceComplianceSummaryItem
forall x.
ResourceComplianceSummaryItem
-> Rep ResourceComplianceSummaryItem x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ResourceComplianceSummaryItem x
-> ResourceComplianceSummaryItem
$cfrom :: forall x.
ResourceComplianceSummaryItem
-> Rep ResourceComplianceSummaryItem x
Prelude.Generic)

-- |
-- Create a value of 'ResourceComplianceSummaryItem' 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:
--
-- 'complianceType', 'resourceComplianceSummaryItem_complianceType' - The compliance type.
--
-- 'compliantSummary', 'resourceComplianceSummaryItem_compliantSummary' - A list of items that are compliant for the resource.
--
-- 'executionSummary', 'resourceComplianceSummaryItem_executionSummary' - Information about the execution.
--
-- 'nonCompliantSummary', 'resourceComplianceSummaryItem_nonCompliantSummary' - A list of items that aren\'t compliant for the resource.
--
-- 'overallSeverity', 'resourceComplianceSummaryItem_overallSeverity' - The highest severity item found for the resource. The resource is
-- compliant for this item.
--
-- 'resourceId', 'resourceComplianceSummaryItem_resourceId' - The resource ID.
--
-- 'resourceType', 'resourceComplianceSummaryItem_resourceType' - The resource type.
--
-- 'status', 'resourceComplianceSummaryItem_status' - The compliance status for the resource.
newResourceComplianceSummaryItem ::
  ResourceComplianceSummaryItem
newResourceComplianceSummaryItem :: ResourceComplianceSummaryItem
newResourceComplianceSummaryItem =
  ResourceComplianceSummaryItem'
    { $sel:complianceType:ResourceComplianceSummaryItem' :: Maybe Text
complianceType =
        forall a. Maybe a
Prelude.Nothing,
      $sel:compliantSummary:ResourceComplianceSummaryItem' :: Maybe CompliantSummary
compliantSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:executionSummary:ResourceComplianceSummaryItem' :: Maybe ComplianceExecutionSummary
executionSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:nonCompliantSummary:ResourceComplianceSummaryItem' :: Maybe NonCompliantSummary
nonCompliantSummary = forall a. Maybe a
Prelude.Nothing,
      $sel:overallSeverity:ResourceComplianceSummaryItem' :: Maybe ComplianceSeverity
overallSeverity = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceId:ResourceComplianceSummaryItem' :: Maybe Text
resourceId = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceType:ResourceComplianceSummaryItem' :: Maybe Text
resourceType = forall a. Maybe a
Prelude.Nothing,
      $sel:status:ResourceComplianceSummaryItem' :: Maybe ComplianceStatus
status = forall a. Maybe a
Prelude.Nothing
    }

-- | The compliance type.
resourceComplianceSummaryItem_complianceType :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe Prelude.Text)
resourceComplianceSummaryItem_complianceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)
resourceComplianceSummaryItem_complianceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe Text
complianceType :: Maybe Text
$sel:complianceType:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
complianceType} -> Maybe Text
complianceType) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe Text
a -> ResourceComplianceSummaryItem
s {$sel:complianceType:ResourceComplianceSummaryItem' :: Maybe Text
complianceType = Maybe Text
a} :: ResourceComplianceSummaryItem)

-- | A list of items that are compliant for the resource.
resourceComplianceSummaryItem_compliantSummary :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe CompliantSummary)
resourceComplianceSummaryItem_compliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe CompliantSummary)
resourceComplianceSummaryItem_compliantSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe CompliantSummary
compliantSummary :: Maybe CompliantSummary
$sel:compliantSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe CompliantSummary
compliantSummary} -> Maybe CompliantSummary
compliantSummary) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe CompliantSummary
a -> ResourceComplianceSummaryItem
s {$sel:compliantSummary:ResourceComplianceSummaryItem' :: Maybe CompliantSummary
compliantSummary = Maybe CompliantSummary
a} :: ResourceComplianceSummaryItem)

-- | Information about the execution.
resourceComplianceSummaryItem_executionSummary :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe ComplianceExecutionSummary)
resourceComplianceSummaryItem_executionSummary :: Lens'
  ResourceComplianceSummaryItem (Maybe ComplianceExecutionSummary)
resourceComplianceSummaryItem_executionSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe ComplianceExecutionSummary
executionSummary :: Maybe ComplianceExecutionSummary
$sel:executionSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceExecutionSummary
executionSummary} -> Maybe ComplianceExecutionSummary
executionSummary) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe ComplianceExecutionSummary
a -> ResourceComplianceSummaryItem
s {$sel:executionSummary:ResourceComplianceSummaryItem' :: Maybe ComplianceExecutionSummary
executionSummary = Maybe ComplianceExecutionSummary
a} :: ResourceComplianceSummaryItem)

-- | A list of items that aren\'t compliant for the resource.
resourceComplianceSummaryItem_nonCompliantSummary :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe NonCompliantSummary)
resourceComplianceSummaryItem_nonCompliantSummary :: Lens' ResourceComplianceSummaryItem (Maybe NonCompliantSummary)
resourceComplianceSummaryItem_nonCompliantSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe NonCompliantSummary
nonCompliantSummary :: Maybe NonCompliantSummary
$sel:nonCompliantSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe NonCompliantSummary
nonCompliantSummary} -> Maybe NonCompliantSummary
nonCompliantSummary) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe NonCompliantSummary
a -> ResourceComplianceSummaryItem
s {$sel:nonCompliantSummary:ResourceComplianceSummaryItem' :: Maybe NonCompliantSummary
nonCompliantSummary = Maybe NonCompliantSummary
a} :: ResourceComplianceSummaryItem)

-- | The highest severity item found for the resource. The resource is
-- compliant for this item.
resourceComplianceSummaryItem_overallSeverity :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe ComplianceSeverity)
resourceComplianceSummaryItem_overallSeverity :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceSeverity)
resourceComplianceSummaryItem_overallSeverity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe ComplianceSeverity
overallSeverity :: Maybe ComplianceSeverity
$sel:overallSeverity:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceSeverity
overallSeverity} -> Maybe ComplianceSeverity
overallSeverity) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe ComplianceSeverity
a -> ResourceComplianceSummaryItem
s {$sel:overallSeverity:ResourceComplianceSummaryItem' :: Maybe ComplianceSeverity
overallSeverity = Maybe ComplianceSeverity
a} :: ResourceComplianceSummaryItem)

-- | The resource ID.
resourceComplianceSummaryItem_resourceId :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe Prelude.Text)
resourceComplianceSummaryItem_resourceId :: Lens' ResourceComplianceSummaryItem (Maybe Text)
resourceComplianceSummaryItem_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe Text
resourceId :: Maybe Text
$sel:resourceId:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
resourceId} -> Maybe Text
resourceId) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe Text
a -> ResourceComplianceSummaryItem
s {$sel:resourceId:ResourceComplianceSummaryItem' :: Maybe Text
resourceId = Maybe Text
a} :: ResourceComplianceSummaryItem)

-- | The resource type.
resourceComplianceSummaryItem_resourceType :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe Prelude.Text)
resourceComplianceSummaryItem_resourceType :: Lens' ResourceComplianceSummaryItem (Maybe Text)
resourceComplianceSummaryItem_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe Text
resourceType :: Maybe Text
$sel:resourceType:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
resourceType} -> Maybe Text
resourceType) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe Text
a -> ResourceComplianceSummaryItem
s {$sel:resourceType:ResourceComplianceSummaryItem' :: Maybe Text
resourceType = Maybe Text
a} :: ResourceComplianceSummaryItem)

-- | The compliance status for the resource.
resourceComplianceSummaryItem_status :: Lens.Lens' ResourceComplianceSummaryItem (Prelude.Maybe ComplianceStatus)
resourceComplianceSummaryItem_status :: Lens' ResourceComplianceSummaryItem (Maybe ComplianceStatus)
resourceComplianceSummaryItem_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceComplianceSummaryItem' {Maybe ComplianceStatus
status :: Maybe ComplianceStatus
$sel:status:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceStatus
status} -> Maybe ComplianceStatus
status) (\s :: ResourceComplianceSummaryItem
s@ResourceComplianceSummaryItem' {} Maybe ComplianceStatus
a -> ResourceComplianceSummaryItem
s {$sel:status:ResourceComplianceSummaryItem' :: Maybe ComplianceStatus
status = Maybe ComplianceStatus
a} :: ResourceComplianceSummaryItem)

instance Data.FromJSON ResourceComplianceSummaryItem where
  parseJSON :: Value -> Parser ResourceComplianceSummaryItem
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ResourceComplianceSummaryItem"
      ( \Object
x ->
          Maybe Text
-> Maybe CompliantSummary
-> Maybe ComplianceExecutionSummary
-> Maybe NonCompliantSummary
-> Maybe ComplianceSeverity
-> Maybe Text
-> Maybe Text
-> Maybe ComplianceStatus
-> ResourceComplianceSummaryItem
ResourceComplianceSummaryItem'
            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
"ComplianceType")
            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
"CompliantSummary")
            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
"ExecutionSummary")
            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
"NonCompliantSummary")
            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
"OverallSeverity")
            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
"ResourceId")
            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
"ResourceType")
            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
    ResourceComplianceSummaryItem
  where
  hashWithSalt :: Int -> ResourceComplianceSummaryItem -> Int
hashWithSalt Int
_salt ResourceComplianceSummaryItem' {Maybe Text
Maybe ComplianceExecutionSummary
Maybe ComplianceSeverity
Maybe ComplianceStatus
Maybe NonCompliantSummary
Maybe CompliantSummary
status :: Maybe ComplianceStatus
resourceType :: Maybe Text
resourceId :: Maybe Text
overallSeverity :: Maybe ComplianceSeverity
nonCompliantSummary :: Maybe NonCompliantSummary
executionSummary :: Maybe ComplianceExecutionSummary
compliantSummary :: Maybe CompliantSummary
complianceType :: Maybe Text
$sel:status:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceStatus
$sel:resourceType:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
$sel:resourceId:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
$sel:overallSeverity:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceSeverity
$sel:nonCompliantSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe NonCompliantSummary
$sel:executionSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceExecutionSummary
$sel:compliantSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe CompliantSummary
$sel:complianceType:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
complianceType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CompliantSummary
compliantSummary
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ComplianceExecutionSummary
executionSummary
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NonCompliantSummary
nonCompliantSummary
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ComplianceSeverity
overallSeverity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
resourceId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
resourceType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ComplianceStatus
status

instance Prelude.NFData ResourceComplianceSummaryItem where
  rnf :: ResourceComplianceSummaryItem -> ()
rnf ResourceComplianceSummaryItem' {Maybe Text
Maybe ComplianceExecutionSummary
Maybe ComplianceSeverity
Maybe ComplianceStatus
Maybe NonCompliantSummary
Maybe CompliantSummary
status :: Maybe ComplianceStatus
resourceType :: Maybe Text
resourceId :: Maybe Text
overallSeverity :: Maybe ComplianceSeverity
nonCompliantSummary :: Maybe NonCompliantSummary
executionSummary :: Maybe ComplianceExecutionSummary
compliantSummary :: Maybe CompliantSummary
complianceType :: Maybe Text
$sel:status:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceStatus
$sel:resourceType:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
$sel:resourceId:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
$sel:overallSeverity:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceSeverity
$sel:nonCompliantSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe NonCompliantSummary
$sel:executionSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe ComplianceExecutionSummary
$sel:compliantSummary:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe CompliantSummary
$sel:complianceType:ResourceComplianceSummaryItem' :: ResourceComplianceSummaryItem -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
complianceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CompliantSummary
compliantSummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ComplianceExecutionSummary
executionSummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe NonCompliantSummary
nonCompliantSummary
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ComplianceSeverity
overallSeverity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ComplianceStatus
status