{-# 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 #-}
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
data ResourceComplianceSummaryItem = ResourceComplianceSummaryItem'
{
ResourceComplianceSummaryItem -> Maybe Text
complianceType :: Prelude.Maybe Prelude.Text,
ResourceComplianceSummaryItem -> Maybe CompliantSummary
compliantSummary :: Prelude.Maybe CompliantSummary,
ResourceComplianceSummaryItem -> Maybe ComplianceExecutionSummary
executionSummary :: Prelude.Maybe ComplianceExecutionSummary,
ResourceComplianceSummaryItem -> Maybe NonCompliantSummary
nonCompliantSummary :: Prelude.Maybe NonCompliantSummary,
ResourceComplianceSummaryItem -> Maybe ComplianceSeverity
overallSeverity :: Prelude.Maybe ComplianceSeverity,
ResourceComplianceSummaryItem -> Maybe Text
resourceId :: Prelude.Maybe Prelude.Text,
ResourceComplianceSummaryItem -> Maybe Text
resourceType :: Prelude.Maybe Prelude.Text,
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)
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
}
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)
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)
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)
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)
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)
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)
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)
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