{-# 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.ImageLayerAggregation 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.ImageLayerSortBy
import Amazonka.Inspector2.Types.SortOrder
import Amazonka.Inspector2.Types.StringFilter
import qualified Amazonka.Prelude as Prelude
data ImageLayerAggregation = ImageLayerAggregation'
{
ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
layerHashes :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
repositories :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
resourceIds :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
ImageLayerAggregation -> Maybe ImageLayerSortBy
sortBy :: Prelude.Maybe ImageLayerSortBy,
ImageLayerAggregation -> Maybe SortOrder
sortOrder :: Prelude.Maybe SortOrder
}
deriving (ImageLayerAggregation -> ImageLayerAggregation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageLayerAggregation -> ImageLayerAggregation -> Bool
$c/= :: ImageLayerAggregation -> ImageLayerAggregation -> Bool
== :: ImageLayerAggregation -> ImageLayerAggregation -> Bool
$c== :: ImageLayerAggregation -> ImageLayerAggregation -> Bool
Prelude.Eq, ReadPrec [ImageLayerAggregation]
ReadPrec ImageLayerAggregation
Int -> ReadS ImageLayerAggregation
ReadS [ImageLayerAggregation]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ImageLayerAggregation]
$creadListPrec :: ReadPrec [ImageLayerAggregation]
readPrec :: ReadPrec ImageLayerAggregation
$creadPrec :: ReadPrec ImageLayerAggregation
readList :: ReadS [ImageLayerAggregation]
$creadList :: ReadS [ImageLayerAggregation]
readsPrec :: Int -> ReadS ImageLayerAggregation
$creadsPrec :: Int -> ReadS ImageLayerAggregation
Prelude.Read, Int -> ImageLayerAggregation -> ShowS
[ImageLayerAggregation] -> ShowS
ImageLayerAggregation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImageLayerAggregation] -> ShowS
$cshowList :: [ImageLayerAggregation] -> ShowS
show :: ImageLayerAggregation -> String
$cshow :: ImageLayerAggregation -> String
showsPrec :: Int -> ImageLayerAggregation -> ShowS
$cshowsPrec :: Int -> ImageLayerAggregation -> ShowS
Prelude.Show, forall x. Rep ImageLayerAggregation x -> ImageLayerAggregation
forall x. ImageLayerAggregation -> Rep ImageLayerAggregation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ImageLayerAggregation x -> ImageLayerAggregation
$cfrom :: forall x. ImageLayerAggregation -> Rep ImageLayerAggregation x
Prelude.Generic)
newImageLayerAggregation ::
ImageLayerAggregation
newImageLayerAggregation :: ImageLayerAggregation
newImageLayerAggregation =
ImageLayerAggregation'
{ $sel:layerHashes:ImageLayerAggregation' :: Maybe (NonEmpty StringFilter)
layerHashes =
forall a. Maybe a
Prelude.Nothing,
$sel:repositories:ImageLayerAggregation' :: Maybe (NonEmpty StringFilter)
repositories = forall a. Maybe a
Prelude.Nothing,
$sel:resourceIds:ImageLayerAggregation' :: Maybe (NonEmpty StringFilter)
resourceIds = forall a. Maybe a
Prelude.Nothing,
$sel:sortBy:ImageLayerAggregation' :: Maybe ImageLayerSortBy
sortBy = forall a. Maybe a
Prelude.Nothing,
$sel:sortOrder:ImageLayerAggregation' :: Maybe SortOrder
sortOrder = forall a. Maybe a
Prelude.Nothing
}
imageLayerAggregation_layerHashes :: Lens.Lens' ImageLayerAggregation (Prelude.Maybe (Prelude.NonEmpty StringFilter))
imageLayerAggregation_layerHashes :: Lens' ImageLayerAggregation (Maybe (NonEmpty StringFilter))
imageLayerAggregation_layerHashes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImageLayerAggregation' {Maybe (NonEmpty StringFilter)
layerHashes :: Maybe (NonEmpty StringFilter)
$sel:layerHashes:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
layerHashes} -> Maybe (NonEmpty StringFilter)
layerHashes) (\s :: ImageLayerAggregation
s@ImageLayerAggregation' {} Maybe (NonEmpty StringFilter)
a -> ImageLayerAggregation
s {$sel:layerHashes:ImageLayerAggregation' :: Maybe (NonEmpty StringFilter)
layerHashes = Maybe (NonEmpty StringFilter)
a} :: ImageLayerAggregation) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
imageLayerAggregation_repositories :: Lens.Lens' ImageLayerAggregation (Prelude.Maybe (Prelude.NonEmpty StringFilter))
imageLayerAggregation_repositories :: Lens' ImageLayerAggregation (Maybe (NonEmpty StringFilter))
imageLayerAggregation_repositories = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImageLayerAggregation' {Maybe (NonEmpty StringFilter)
repositories :: Maybe (NonEmpty StringFilter)
$sel:repositories:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
repositories} -> Maybe (NonEmpty StringFilter)
repositories) (\s :: ImageLayerAggregation
s@ImageLayerAggregation' {} Maybe (NonEmpty StringFilter)
a -> ImageLayerAggregation
s {$sel:repositories:ImageLayerAggregation' :: Maybe (NonEmpty StringFilter)
repositories = Maybe (NonEmpty StringFilter)
a} :: ImageLayerAggregation) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
imageLayerAggregation_resourceIds :: Lens.Lens' ImageLayerAggregation (Prelude.Maybe (Prelude.NonEmpty StringFilter))
imageLayerAggregation_resourceIds :: Lens' ImageLayerAggregation (Maybe (NonEmpty StringFilter))
imageLayerAggregation_resourceIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImageLayerAggregation' {Maybe (NonEmpty StringFilter)
resourceIds :: Maybe (NonEmpty StringFilter)
$sel:resourceIds:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
resourceIds} -> Maybe (NonEmpty StringFilter)
resourceIds) (\s :: ImageLayerAggregation
s@ImageLayerAggregation' {} Maybe (NonEmpty StringFilter)
a -> ImageLayerAggregation
s {$sel:resourceIds:ImageLayerAggregation' :: Maybe (NonEmpty StringFilter)
resourceIds = Maybe (NonEmpty StringFilter)
a} :: ImageLayerAggregation) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
imageLayerAggregation_sortBy :: Lens.Lens' ImageLayerAggregation (Prelude.Maybe ImageLayerSortBy)
imageLayerAggregation_sortBy :: Lens' ImageLayerAggregation (Maybe ImageLayerSortBy)
imageLayerAggregation_sortBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImageLayerAggregation' {Maybe ImageLayerSortBy
sortBy :: Maybe ImageLayerSortBy
$sel:sortBy:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe ImageLayerSortBy
sortBy} -> Maybe ImageLayerSortBy
sortBy) (\s :: ImageLayerAggregation
s@ImageLayerAggregation' {} Maybe ImageLayerSortBy
a -> ImageLayerAggregation
s {$sel:sortBy:ImageLayerAggregation' :: Maybe ImageLayerSortBy
sortBy = Maybe ImageLayerSortBy
a} :: ImageLayerAggregation)
imageLayerAggregation_sortOrder :: Lens.Lens' ImageLayerAggregation (Prelude.Maybe SortOrder)
imageLayerAggregation_sortOrder :: Lens' ImageLayerAggregation (Maybe SortOrder)
imageLayerAggregation_sortOrder = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ImageLayerAggregation' {Maybe SortOrder
sortOrder :: Maybe SortOrder
$sel:sortOrder:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe SortOrder
sortOrder} -> Maybe SortOrder
sortOrder) (\s :: ImageLayerAggregation
s@ImageLayerAggregation' {} Maybe SortOrder
a -> ImageLayerAggregation
s {$sel:sortOrder:ImageLayerAggregation' :: Maybe SortOrder
sortOrder = Maybe SortOrder
a} :: ImageLayerAggregation)
instance Prelude.Hashable ImageLayerAggregation where
hashWithSalt :: Int -> ImageLayerAggregation -> Int
hashWithSalt Int
_salt ImageLayerAggregation' {Maybe (NonEmpty StringFilter)
Maybe ImageLayerSortBy
Maybe SortOrder
sortOrder :: Maybe SortOrder
sortBy :: Maybe ImageLayerSortBy
resourceIds :: Maybe (NonEmpty StringFilter)
repositories :: Maybe (NonEmpty StringFilter)
layerHashes :: Maybe (NonEmpty StringFilter)
$sel:sortOrder:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe SortOrder
$sel:sortBy:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe ImageLayerSortBy
$sel:resourceIds:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
$sel:repositories:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
$sel:layerHashes:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
layerHashes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
repositories
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
resourceIds
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ImageLayerSortBy
sortBy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SortOrder
sortOrder
instance Prelude.NFData ImageLayerAggregation where
rnf :: ImageLayerAggregation -> ()
rnf ImageLayerAggregation' {Maybe (NonEmpty StringFilter)
Maybe ImageLayerSortBy
Maybe SortOrder
sortOrder :: Maybe SortOrder
sortBy :: Maybe ImageLayerSortBy
resourceIds :: Maybe (NonEmpty StringFilter)
repositories :: Maybe (NonEmpty StringFilter)
layerHashes :: Maybe (NonEmpty StringFilter)
$sel:sortOrder:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe SortOrder
$sel:sortBy:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe ImageLayerSortBy
$sel:resourceIds:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
$sel:repositories:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
$sel:layerHashes:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
layerHashes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
repositories
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
resourceIds
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ImageLayerSortBy
sortBy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SortOrder
sortOrder
instance Data.ToJSON ImageLayerAggregation where
toJSON :: ImageLayerAggregation -> Value
toJSON ImageLayerAggregation' {Maybe (NonEmpty StringFilter)
Maybe ImageLayerSortBy
Maybe SortOrder
sortOrder :: Maybe SortOrder
sortBy :: Maybe ImageLayerSortBy
resourceIds :: Maybe (NonEmpty StringFilter)
repositories :: Maybe (NonEmpty StringFilter)
layerHashes :: Maybe (NonEmpty StringFilter)
$sel:sortOrder:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe SortOrder
$sel:sortBy:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe ImageLayerSortBy
$sel:resourceIds:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
$sel:repositories:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
$sel:layerHashes:ImageLayerAggregation' :: ImageLayerAggregation -> Maybe (NonEmpty StringFilter)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"layerHashes" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
layerHashes,
(Key
"repositories" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
repositories,
(Key
"resourceIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
resourceIds,
(Key
"sortBy" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ImageLayerSortBy
sortBy,
(Key
"sortOrder" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SortOrder
sortOrder
]
)