{-# 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.Inspector2.Types.ResourceScanMetadata where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Inspector2.Types.Ec2Metadata
import Amazonka.Inspector2.Types.EcrContainerImageMetadata
import Amazonka.Inspector2.Types.EcrRepositoryMetadata
import Amazonka.Inspector2.Types.LambdaFunctionMetadata
import qualified Amazonka.Prelude as Prelude
data ResourceScanMetadata = ResourceScanMetadata'
{
ResourceScanMetadata -> Maybe Ec2Metadata
ec2 :: Prelude.Maybe Ec2Metadata,
ResourceScanMetadata -> Maybe EcrContainerImageMetadata
ecrImage :: Prelude.Maybe EcrContainerImageMetadata,
ResourceScanMetadata -> Maybe EcrRepositoryMetadata
ecrRepository :: Prelude.Maybe EcrRepositoryMetadata,
ResourceScanMetadata -> Maybe LambdaFunctionMetadata
lambdaFunction :: Prelude.Maybe LambdaFunctionMetadata
}
deriving (ResourceScanMetadata -> ResourceScanMetadata -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceScanMetadata -> ResourceScanMetadata -> Bool
$c/= :: ResourceScanMetadata -> ResourceScanMetadata -> Bool
== :: ResourceScanMetadata -> ResourceScanMetadata -> Bool
$c== :: ResourceScanMetadata -> ResourceScanMetadata -> Bool
Prelude.Eq, ReadPrec [ResourceScanMetadata]
ReadPrec ResourceScanMetadata
Int -> ReadS ResourceScanMetadata
ReadS [ResourceScanMetadata]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResourceScanMetadata]
$creadListPrec :: ReadPrec [ResourceScanMetadata]
readPrec :: ReadPrec ResourceScanMetadata
$creadPrec :: ReadPrec ResourceScanMetadata
readList :: ReadS [ResourceScanMetadata]
$creadList :: ReadS [ResourceScanMetadata]
readsPrec :: Int -> ReadS ResourceScanMetadata
$creadsPrec :: Int -> ReadS ResourceScanMetadata
Prelude.Read, Int -> ResourceScanMetadata -> ShowS
[ResourceScanMetadata] -> ShowS
ResourceScanMetadata -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResourceScanMetadata] -> ShowS
$cshowList :: [ResourceScanMetadata] -> ShowS
show :: ResourceScanMetadata -> String
$cshow :: ResourceScanMetadata -> String
showsPrec :: Int -> ResourceScanMetadata -> ShowS
$cshowsPrec :: Int -> ResourceScanMetadata -> ShowS
Prelude.Show, forall x. Rep ResourceScanMetadata x -> ResourceScanMetadata
forall x. ResourceScanMetadata -> Rep ResourceScanMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ResourceScanMetadata x -> ResourceScanMetadata
$cfrom :: forall x. ResourceScanMetadata -> Rep ResourceScanMetadata x
Prelude.Generic)
newResourceScanMetadata ::
ResourceScanMetadata
newResourceScanMetadata :: ResourceScanMetadata
newResourceScanMetadata =
ResourceScanMetadata'
{ $sel:ec2:ResourceScanMetadata' :: Maybe Ec2Metadata
ec2 = forall a. Maybe a
Prelude.Nothing,
$sel:ecrImage:ResourceScanMetadata' :: Maybe EcrContainerImageMetadata
ecrImage = forall a. Maybe a
Prelude.Nothing,
$sel:ecrRepository:ResourceScanMetadata' :: Maybe EcrRepositoryMetadata
ecrRepository = forall a. Maybe a
Prelude.Nothing,
$sel:lambdaFunction:ResourceScanMetadata' :: Maybe LambdaFunctionMetadata
lambdaFunction = forall a. Maybe a
Prelude.Nothing
}
resourceScanMetadata_ec2 :: Lens.Lens' ResourceScanMetadata (Prelude.Maybe Ec2Metadata)
resourceScanMetadata_ec2 :: Lens' ResourceScanMetadata (Maybe Ec2Metadata)
resourceScanMetadata_ec2 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceScanMetadata' {Maybe Ec2Metadata
ec2 :: Maybe Ec2Metadata
$sel:ec2:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe Ec2Metadata
ec2} -> Maybe Ec2Metadata
ec2) (\s :: ResourceScanMetadata
s@ResourceScanMetadata' {} Maybe Ec2Metadata
a -> ResourceScanMetadata
s {$sel:ec2:ResourceScanMetadata' :: Maybe Ec2Metadata
ec2 = Maybe Ec2Metadata
a} :: ResourceScanMetadata)
resourceScanMetadata_ecrImage :: Lens.Lens' ResourceScanMetadata (Prelude.Maybe EcrContainerImageMetadata)
resourceScanMetadata_ecrImage :: Lens' ResourceScanMetadata (Maybe EcrContainerImageMetadata)
resourceScanMetadata_ecrImage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceScanMetadata' {Maybe EcrContainerImageMetadata
ecrImage :: Maybe EcrContainerImageMetadata
$sel:ecrImage:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe EcrContainerImageMetadata
ecrImage} -> Maybe EcrContainerImageMetadata
ecrImage) (\s :: ResourceScanMetadata
s@ResourceScanMetadata' {} Maybe EcrContainerImageMetadata
a -> ResourceScanMetadata
s {$sel:ecrImage:ResourceScanMetadata' :: Maybe EcrContainerImageMetadata
ecrImage = Maybe EcrContainerImageMetadata
a} :: ResourceScanMetadata)
resourceScanMetadata_ecrRepository :: Lens.Lens' ResourceScanMetadata (Prelude.Maybe EcrRepositoryMetadata)
resourceScanMetadata_ecrRepository :: Lens' ResourceScanMetadata (Maybe EcrRepositoryMetadata)
resourceScanMetadata_ecrRepository = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceScanMetadata' {Maybe EcrRepositoryMetadata
ecrRepository :: Maybe EcrRepositoryMetadata
$sel:ecrRepository:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe EcrRepositoryMetadata
ecrRepository} -> Maybe EcrRepositoryMetadata
ecrRepository) (\s :: ResourceScanMetadata
s@ResourceScanMetadata' {} Maybe EcrRepositoryMetadata
a -> ResourceScanMetadata
s {$sel:ecrRepository:ResourceScanMetadata' :: Maybe EcrRepositoryMetadata
ecrRepository = Maybe EcrRepositoryMetadata
a} :: ResourceScanMetadata)
resourceScanMetadata_lambdaFunction :: Lens.Lens' ResourceScanMetadata (Prelude.Maybe LambdaFunctionMetadata)
resourceScanMetadata_lambdaFunction :: Lens' ResourceScanMetadata (Maybe LambdaFunctionMetadata)
resourceScanMetadata_lambdaFunction = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceScanMetadata' {Maybe LambdaFunctionMetadata
lambdaFunction :: Maybe LambdaFunctionMetadata
$sel:lambdaFunction:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe LambdaFunctionMetadata
lambdaFunction} -> Maybe LambdaFunctionMetadata
lambdaFunction) (\s :: ResourceScanMetadata
s@ResourceScanMetadata' {} Maybe LambdaFunctionMetadata
a -> ResourceScanMetadata
s {$sel:lambdaFunction:ResourceScanMetadata' :: Maybe LambdaFunctionMetadata
lambdaFunction = Maybe LambdaFunctionMetadata
a} :: ResourceScanMetadata)
instance Data.FromJSON ResourceScanMetadata where
parseJSON :: Value -> Parser ResourceScanMetadata
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ResourceScanMetadata"
( \Object
x ->
Maybe Ec2Metadata
-> Maybe EcrContainerImageMetadata
-> Maybe EcrRepositoryMetadata
-> Maybe LambdaFunctionMetadata
-> ResourceScanMetadata
ResourceScanMetadata'
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
"ec2")
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
"ecrImage")
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
"ecrRepository")
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
"lambdaFunction")
)
instance Prelude.Hashable ResourceScanMetadata where
hashWithSalt :: Int -> ResourceScanMetadata -> Int
hashWithSalt Int
_salt ResourceScanMetadata' {Maybe Ec2Metadata
Maybe EcrContainerImageMetadata
Maybe EcrRepositoryMetadata
Maybe LambdaFunctionMetadata
lambdaFunction :: Maybe LambdaFunctionMetadata
ecrRepository :: Maybe EcrRepositoryMetadata
ecrImage :: Maybe EcrContainerImageMetadata
ec2 :: Maybe Ec2Metadata
$sel:lambdaFunction:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe LambdaFunctionMetadata
$sel:ecrRepository:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe EcrRepositoryMetadata
$sel:ecrImage:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe EcrContainerImageMetadata
$sel:ec2:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe Ec2Metadata
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Ec2Metadata
ec2
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EcrContainerImageMetadata
ecrImage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EcrRepositoryMetadata
ecrRepository
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LambdaFunctionMetadata
lambdaFunction
instance Prelude.NFData ResourceScanMetadata where
rnf :: ResourceScanMetadata -> ()
rnf ResourceScanMetadata' {Maybe Ec2Metadata
Maybe EcrContainerImageMetadata
Maybe EcrRepositoryMetadata
Maybe LambdaFunctionMetadata
lambdaFunction :: Maybe LambdaFunctionMetadata
ecrRepository :: Maybe EcrRepositoryMetadata
ecrImage :: Maybe EcrContainerImageMetadata
ec2 :: Maybe Ec2Metadata
$sel:lambdaFunction:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe LambdaFunctionMetadata
$sel:ecrRepository:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe EcrRepositoryMetadata
$sel:ecrImage:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe EcrContainerImageMetadata
$sel:ec2:ResourceScanMetadata' :: ResourceScanMetadata -> Maybe Ec2Metadata
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Ec2Metadata
ec2
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EcrContainerImageMetadata
ecrImage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EcrRepositoryMetadata
ecrRepository
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LambdaFunctionMetadata
lambdaFunction