{-# 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.DevOpsGuru.Types.SearchInsightsFilters where
import qualified Amazonka.Core as Core
import Amazonka.DevOpsGuru.Types.InsightSeverity
import Amazonka.DevOpsGuru.Types.InsightStatus
import Amazonka.DevOpsGuru.Types.ResourceCollection
import Amazonka.DevOpsGuru.Types.ServiceCollection
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
data SearchInsightsFilters = SearchInsightsFilters'
{ SearchInsightsFilters -> Maybe ResourceCollection
resourceCollection :: Prelude.Maybe ResourceCollection,
SearchInsightsFilters -> Maybe [InsightStatus]
statuses :: Prelude.Maybe [InsightStatus],
SearchInsightsFilters -> Maybe [InsightSeverity]
severities :: Prelude.Maybe [InsightSeverity],
SearchInsightsFilters -> Maybe ServiceCollection
serviceCollection :: Prelude.Maybe ServiceCollection
}
deriving (SearchInsightsFilters -> SearchInsightsFilters -> Bool
(SearchInsightsFilters -> SearchInsightsFilters -> Bool)
-> (SearchInsightsFilters -> SearchInsightsFilters -> Bool)
-> Eq SearchInsightsFilters
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SearchInsightsFilters -> SearchInsightsFilters -> Bool
$c/= :: SearchInsightsFilters -> SearchInsightsFilters -> Bool
== :: SearchInsightsFilters -> SearchInsightsFilters -> Bool
$c== :: SearchInsightsFilters -> SearchInsightsFilters -> Bool
Prelude.Eq, ReadPrec [SearchInsightsFilters]
ReadPrec SearchInsightsFilters
Int -> ReadS SearchInsightsFilters
ReadS [SearchInsightsFilters]
(Int -> ReadS SearchInsightsFilters)
-> ReadS [SearchInsightsFilters]
-> ReadPrec SearchInsightsFilters
-> ReadPrec [SearchInsightsFilters]
-> Read SearchInsightsFilters
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SearchInsightsFilters]
$creadListPrec :: ReadPrec [SearchInsightsFilters]
readPrec :: ReadPrec SearchInsightsFilters
$creadPrec :: ReadPrec SearchInsightsFilters
readList :: ReadS [SearchInsightsFilters]
$creadList :: ReadS [SearchInsightsFilters]
readsPrec :: Int -> ReadS SearchInsightsFilters
$creadsPrec :: Int -> ReadS SearchInsightsFilters
Prelude.Read, Int -> SearchInsightsFilters -> ShowS
[SearchInsightsFilters] -> ShowS
SearchInsightsFilters -> String
(Int -> SearchInsightsFilters -> ShowS)
-> (SearchInsightsFilters -> String)
-> ([SearchInsightsFilters] -> ShowS)
-> Show SearchInsightsFilters
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SearchInsightsFilters] -> ShowS
$cshowList :: [SearchInsightsFilters] -> ShowS
show :: SearchInsightsFilters -> String
$cshow :: SearchInsightsFilters -> String
showsPrec :: Int -> SearchInsightsFilters -> ShowS
$cshowsPrec :: Int -> SearchInsightsFilters -> ShowS
Prelude.Show, (forall x. SearchInsightsFilters -> Rep SearchInsightsFilters x)
-> (forall x. Rep SearchInsightsFilters x -> SearchInsightsFilters)
-> Generic SearchInsightsFilters
forall x. Rep SearchInsightsFilters x -> SearchInsightsFilters
forall x. SearchInsightsFilters -> Rep SearchInsightsFilters x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SearchInsightsFilters x -> SearchInsightsFilters
$cfrom :: forall x. SearchInsightsFilters -> Rep SearchInsightsFilters x
Prelude.Generic)
newSearchInsightsFilters ::
SearchInsightsFilters
newSearchInsightsFilters :: SearchInsightsFilters
newSearchInsightsFilters =
SearchInsightsFilters' :: Maybe ResourceCollection
-> Maybe [InsightStatus]
-> Maybe [InsightSeverity]
-> Maybe ServiceCollection
-> SearchInsightsFilters
SearchInsightsFilters'
{ $sel:resourceCollection:SearchInsightsFilters' :: Maybe ResourceCollection
resourceCollection =
Maybe ResourceCollection
forall a. Maybe a
Prelude.Nothing,
$sel:statuses:SearchInsightsFilters' :: Maybe [InsightStatus]
statuses = Maybe [InsightStatus]
forall a. Maybe a
Prelude.Nothing,
$sel:severities:SearchInsightsFilters' :: Maybe [InsightSeverity]
severities = Maybe [InsightSeverity]
forall a. Maybe a
Prelude.Nothing,
$sel:serviceCollection:SearchInsightsFilters' :: Maybe ServiceCollection
serviceCollection = Maybe ServiceCollection
forall a. Maybe a
Prelude.Nothing
}
searchInsightsFilters_resourceCollection :: Lens.Lens' SearchInsightsFilters (Prelude.Maybe ResourceCollection)
searchInsightsFilters_resourceCollection :: (Maybe ResourceCollection -> f (Maybe ResourceCollection))
-> SearchInsightsFilters -> f SearchInsightsFilters
searchInsightsFilters_resourceCollection = (SearchInsightsFilters -> Maybe ResourceCollection)
-> (SearchInsightsFilters
-> Maybe ResourceCollection -> SearchInsightsFilters)
-> Lens
SearchInsightsFilters
SearchInsightsFilters
(Maybe ResourceCollection)
(Maybe ResourceCollection)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchInsightsFilters' {Maybe ResourceCollection
resourceCollection :: Maybe ResourceCollection
$sel:resourceCollection:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe ResourceCollection
resourceCollection} -> Maybe ResourceCollection
resourceCollection) (\s :: SearchInsightsFilters
s@SearchInsightsFilters' {} Maybe ResourceCollection
a -> SearchInsightsFilters
s {$sel:resourceCollection:SearchInsightsFilters' :: Maybe ResourceCollection
resourceCollection = Maybe ResourceCollection
a} :: SearchInsightsFilters)
searchInsightsFilters_statuses :: Lens.Lens' SearchInsightsFilters (Prelude.Maybe [InsightStatus])
searchInsightsFilters_statuses :: (Maybe [InsightStatus] -> f (Maybe [InsightStatus]))
-> SearchInsightsFilters -> f SearchInsightsFilters
searchInsightsFilters_statuses = (SearchInsightsFilters -> Maybe [InsightStatus])
-> (SearchInsightsFilters
-> Maybe [InsightStatus] -> SearchInsightsFilters)
-> Lens
SearchInsightsFilters
SearchInsightsFilters
(Maybe [InsightStatus])
(Maybe [InsightStatus])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchInsightsFilters' {Maybe [InsightStatus]
statuses :: Maybe [InsightStatus]
$sel:statuses:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe [InsightStatus]
statuses} -> Maybe [InsightStatus]
statuses) (\s :: SearchInsightsFilters
s@SearchInsightsFilters' {} Maybe [InsightStatus]
a -> SearchInsightsFilters
s {$sel:statuses:SearchInsightsFilters' :: Maybe [InsightStatus]
statuses = Maybe [InsightStatus]
a} :: SearchInsightsFilters) ((Maybe [InsightStatus] -> f (Maybe [InsightStatus]))
-> SearchInsightsFilters -> f SearchInsightsFilters)
-> ((Maybe [InsightStatus] -> f (Maybe [InsightStatus]))
-> Maybe [InsightStatus] -> f (Maybe [InsightStatus]))
-> (Maybe [InsightStatus] -> f (Maybe [InsightStatus]))
-> SearchInsightsFilters
-> f SearchInsightsFilters
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
[InsightStatus] [InsightStatus] [InsightStatus] [InsightStatus]
-> Iso
(Maybe [InsightStatus])
(Maybe [InsightStatus])
(Maybe [InsightStatus])
(Maybe [InsightStatus])
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 AnIso
[InsightStatus] [InsightStatus] [InsightStatus] [InsightStatus]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
searchInsightsFilters_severities :: Lens.Lens' SearchInsightsFilters (Prelude.Maybe [InsightSeverity])
searchInsightsFilters_severities :: (Maybe [InsightSeverity] -> f (Maybe [InsightSeverity]))
-> SearchInsightsFilters -> f SearchInsightsFilters
searchInsightsFilters_severities = (SearchInsightsFilters -> Maybe [InsightSeverity])
-> (SearchInsightsFilters
-> Maybe [InsightSeverity] -> SearchInsightsFilters)
-> Lens
SearchInsightsFilters
SearchInsightsFilters
(Maybe [InsightSeverity])
(Maybe [InsightSeverity])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchInsightsFilters' {Maybe [InsightSeverity]
severities :: Maybe [InsightSeverity]
$sel:severities:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe [InsightSeverity]
severities} -> Maybe [InsightSeverity]
severities) (\s :: SearchInsightsFilters
s@SearchInsightsFilters' {} Maybe [InsightSeverity]
a -> SearchInsightsFilters
s {$sel:severities:SearchInsightsFilters' :: Maybe [InsightSeverity]
severities = Maybe [InsightSeverity]
a} :: SearchInsightsFilters) ((Maybe [InsightSeverity] -> f (Maybe [InsightSeverity]))
-> SearchInsightsFilters -> f SearchInsightsFilters)
-> ((Maybe [InsightSeverity] -> f (Maybe [InsightSeverity]))
-> Maybe [InsightSeverity] -> f (Maybe [InsightSeverity]))
-> (Maybe [InsightSeverity] -> f (Maybe [InsightSeverity]))
-> SearchInsightsFilters
-> f SearchInsightsFilters
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
[InsightSeverity]
[InsightSeverity]
[InsightSeverity]
[InsightSeverity]
-> Iso
(Maybe [InsightSeverity])
(Maybe [InsightSeverity])
(Maybe [InsightSeverity])
(Maybe [InsightSeverity])
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 AnIso
[InsightSeverity]
[InsightSeverity]
[InsightSeverity]
[InsightSeverity]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
searchInsightsFilters_serviceCollection :: Lens.Lens' SearchInsightsFilters (Prelude.Maybe ServiceCollection)
searchInsightsFilters_serviceCollection :: (Maybe ServiceCollection -> f (Maybe ServiceCollection))
-> SearchInsightsFilters -> f SearchInsightsFilters
searchInsightsFilters_serviceCollection = (SearchInsightsFilters -> Maybe ServiceCollection)
-> (SearchInsightsFilters
-> Maybe ServiceCollection -> SearchInsightsFilters)
-> Lens
SearchInsightsFilters
SearchInsightsFilters
(Maybe ServiceCollection)
(Maybe ServiceCollection)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SearchInsightsFilters' {Maybe ServiceCollection
serviceCollection :: Maybe ServiceCollection
$sel:serviceCollection:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe ServiceCollection
serviceCollection} -> Maybe ServiceCollection
serviceCollection) (\s :: SearchInsightsFilters
s@SearchInsightsFilters' {} Maybe ServiceCollection
a -> SearchInsightsFilters
s {$sel:serviceCollection:SearchInsightsFilters' :: Maybe ServiceCollection
serviceCollection = Maybe ServiceCollection
a} :: SearchInsightsFilters)
instance Prelude.Hashable SearchInsightsFilters
instance Prelude.NFData SearchInsightsFilters
instance Core.ToJSON SearchInsightsFilters where
toJSON :: SearchInsightsFilters -> Value
toJSON SearchInsightsFilters' {Maybe [InsightSeverity]
Maybe [InsightStatus]
Maybe ResourceCollection
Maybe ServiceCollection
serviceCollection :: Maybe ServiceCollection
severities :: Maybe [InsightSeverity]
statuses :: Maybe [InsightStatus]
resourceCollection :: Maybe ResourceCollection
$sel:serviceCollection:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe ServiceCollection
$sel:severities:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe [InsightSeverity]
$sel:statuses:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe [InsightStatus]
$sel:resourceCollection:SearchInsightsFilters' :: SearchInsightsFilters -> Maybe ResourceCollection
..} =
[Pair] -> Value
Core.object
( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Text
"ResourceCollection" Text -> ResourceCollection -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ResourceCollection -> Pair)
-> Maybe ResourceCollection -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ResourceCollection
resourceCollection,
(Text
"Statuses" Text -> [InsightStatus] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([InsightStatus] -> Pair) -> Maybe [InsightStatus] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [InsightStatus]
statuses,
(Text
"Severities" Text -> [InsightSeverity] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([InsightSeverity] -> Pair)
-> Maybe [InsightSeverity] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [InsightSeverity]
severities,
(Text
"ServiceCollection" Text -> ServiceCollection -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
(ServiceCollection -> Pair)
-> Maybe ServiceCollection -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ServiceCollection
serviceCollection
]
)