{-# 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.PerformanceInsightsMetricsDetail where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DevOpsGuru.Types.PerformanceInsightsMetricQuery
import Amazonka.DevOpsGuru.Types.PerformanceInsightsReferenceData
import Amazonka.DevOpsGuru.Types.PerformanceInsightsStat
import qualified Amazonka.Prelude as Prelude
data PerformanceInsightsMetricsDetail = PerformanceInsightsMetricsDetail'
{
PerformanceInsightsMetricsDetail -> Maybe Text
metricDisplayName :: Prelude.Maybe Prelude.Text,
PerformanceInsightsMetricsDetail
-> Maybe PerformanceInsightsMetricQuery
metricQuery :: Prelude.Maybe PerformanceInsightsMetricQuery,
PerformanceInsightsMetricsDetail
-> Maybe [PerformanceInsightsReferenceData]
referenceData :: Prelude.Maybe [PerformanceInsightsReferenceData],
PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
statsAtAnomaly :: Prelude.Maybe [PerformanceInsightsStat],
PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
statsAtBaseline :: Prelude.Maybe [PerformanceInsightsStat],
PerformanceInsightsMetricsDetail -> Maybe Text
unit :: Prelude.Maybe Prelude.Text
}
deriving (PerformanceInsightsMetricsDetail
-> PerformanceInsightsMetricsDetail -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PerformanceInsightsMetricsDetail
-> PerformanceInsightsMetricsDetail -> Bool
$c/= :: PerformanceInsightsMetricsDetail
-> PerformanceInsightsMetricsDetail -> Bool
== :: PerformanceInsightsMetricsDetail
-> PerformanceInsightsMetricsDetail -> Bool
$c== :: PerformanceInsightsMetricsDetail
-> PerformanceInsightsMetricsDetail -> Bool
Prelude.Eq, ReadPrec [PerformanceInsightsMetricsDetail]
ReadPrec PerformanceInsightsMetricsDetail
Int -> ReadS PerformanceInsightsMetricsDetail
ReadS [PerformanceInsightsMetricsDetail]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PerformanceInsightsMetricsDetail]
$creadListPrec :: ReadPrec [PerformanceInsightsMetricsDetail]
readPrec :: ReadPrec PerformanceInsightsMetricsDetail
$creadPrec :: ReadPrec PerformanceInsightsMetricsDetail
readList :: ReadS [PerformanceInsightsMetricsDetail]
$creadList :: ReadS [PerformanceInsightsMetricsDetail]
readsPrec :: Int -> ReadS PerformanceInsightsMetricsDetail
$creadsPrec :: Int -> ReadS PerformanceInsightsMetricsDetail
Prelude.Read, Int -> PerformanceInsightsMetricsDetail -> ShowS
[PerformanceInsightsMetricsDetail] -> ShowS
PerformanceInsightsMetricsDetail -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PerformanceInsightsMetricsDetail] -> ShowS
$cshowList :: [PerformanceInsightsMetricsDetail] -> ShowS
show :: PerformanceInsightsMetricsDetail -> String
$cshow :: PerformanceInsightsMetricsDetail -> String
showsPrec :: Int -> PerformanceInsightsMetricsDetail -> ShowS
$cshowsPrec :: Int -> PerformanceInsightsMetricsDetail -> ShowS
Prelude.Show, forall x.
Rep PerformanceInsightsMetricsDetail x
-> PerformanceInsightsMetricsDetail
forall x.
PerformanceInsightsMetricsDetail
-> Rep PerformanceInsightsMetricsDetail x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PerformanceInsightsMetricsDetail x
-> PerformanceInsightsMetricsDetail
$cfrom :: forall x.
PerformanceInsightsMetricsDetail
-> Rep PerformanceInsightsMetricsDetail x
Prelude.Generic)
newPerformanceInsightsMetricsDetail ::
PerformanceInsightsMetricsDetail
newPerformanceInsightsMetricsDetail :: PerformanceInsightsMetricsDetail
newPerformanceInsightsMetricsDetail =
PerformanceInsightsMetricsDetail'
{ $sel:metricDisplayName:PerformanceInsightsMetricsDetail' :: Maybe Text
metricDisplayName =
forall a. Maybe a
Prelude.Nothing,
$sel:metricQuery:PerformanceInsightsMetricsDetail' :: Maybe PerformanceInsightsMetricQuery
metricQuery = forall a. Maybe a
Prelude.Nothing,
$sel:referenceData:PerformanceInsightsMetricsDetail' :: Maybe [PerformanceInsightsReferenceData]
referenceData = forall a. Maybe a
Prelude.Nothing,
$sel:statsAtAnomaly:PerformanceInsightsMetricsDetail' :: Maybe [PerformanceInsightsStat]
statsAtAnomaly = forall a. Maybe a
Prelude.Nothing,
$sel:statsAtBaseline:PerformanceInsightsMetricsDetail' :: Maybe [PerformanceInsightsStat]
statsAtBaseline = forall a. Maybe a
Prelude.Nothing,
$sel:unit:PerformanceInsightsMetricsDetail' :: Maybe Text
unit = forall a. Maybe a
Prelude.Nothing
}
performanceInsightsMetricsDetail_metricDisplayName :: Lens.Lens' PerformanceInsightsMetricsDetail (Prelude.Maybe Prelude.Text)
performanceInsightsMetricsDetail_metricDisplayName :: Lens' PerformanceInsightsMetricsDetail (Maybe Text)
performanceInsightsMetricsDetail_metricDisplayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PerformanceInsightsMetricsDetail' {Maybe Text
metricDisplayName :: Maybe Text
$sel:metricDisplayName:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe Text
metricDisplayName} -> Maybe Text
metricDisplayName) (\s :: PerformanceInsightsMetricsDetail
s@PerformanceInsightsMetricsDetail' {} Maybe Text
a -> PerformanceInsightsMetricsDetail
s {$sel:metricDisplayName:PerformanceInsightsMetricsDetail' :: Maybe Text
metricDisplayName = Maybe Text
a} :: PerformanceInsightsMetricsDetail)
performanceInsightsMetricsDetail_metricQuery :: Lens.Lens' PerformanceInsightsMetricsDetail (Prelude.Maybe PerformanceInsightsMetricQuery)
performanceInsightsMetricsDetail_metricQuery :: Lens'
PerformanceInsightsMetricsDetail
(Maybe PerformanceInsightsMetricQuery)
performanceInsightsMetricsDetail_metricQuery = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PerformanceInsightsMetricsDetail' {Maybe PerformanceInsightsMetricQuery
metricQuery :: Maybe PerformanceInsightsMetricQuery
$sel:metricQuery:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail
-> Maybe PerformanceInsightsMetricQuery
metricQuery} -> Maybe PerformanceInsightsMetricQuery
metricQuery) (\s :: PerformanceInsightsMetricsDetail
s@PerformanceInsightsMetricsDetail' {} Maybe PerformanceInsightsMetricQuery
a -> PerformanceInsightsMetricsDetail
s {$sel:metricQuery:PerformanceInsightsMetricsDetail' :: Maybe PerformanceInsightsMetricQuery
metricQuery = Maybe PerformanceInsightsMetricQuery
a} :: PerformanceInsightsMetricsDetail)
performanceInsightsMetricsDetail_referenceData :: Lens.Lens' PerformanceInsightsMetricsDetail (Prelude.Maybe [PerformanceInsightsReferenceData])
performanceInsightsMetricsDetail_referenceData :: Lens'
PerformanceInsightsMetricsDetail
(Maybe [PerformanceInsightsReferenceData])
performanceInsightsMetricsDetail_referenceData = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PerformanceInsightsMetricsDetail' {Maybe [PerformanceInsightsReferenceData]
referenceData :: Maybe [PerformanceInsightsReferenceData]
$sel:referenceData:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail
-> Maybe [PerformanceInsightsReferenceData]
referenceData} -> Maybe [PerformanceInsightsReferenceData]
referenceData) (\s :: PerformanceInsightsMetricsDetail
s@PerformanceInsightsMetricsDetail' {} Maybe [PerformanceInsightsReferenceData]
a -> PerformanceInsightsMetricsDetail
s {$sel:referenceData:PerformanceInsightsMetricsDetail' :: Maybe [PerformanceInsightsReferenceData]
referenceData = Maybe [PerformanceInsightsReferenceData]
a} :: PerformanceInsightsMetricsDetail) 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
performanceInsightsMetricsDetail_statsAtAnomaly :: Lens.Lens' PerformanceInsightsMetricsDetail (Prelude.Maybe [PerformanceInsightsStat])
performanceInsightsMetricsDetail_statsAtAnomaly :: Lens'
PerformanceInsightsMetricsDetail (Maybe [PerformanceInsightsStat])
performanceInsightsMetricsDetail_statsAtAnomaly = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PerformanceInsightsMetricsDetail' {Maybe [PerformanceInsightsStat]
statsAtAnomaly :: Maybe [PerformanceInsightsStat]
$sel:statsAtAnomaly:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
statsAtAnomaly} -> Maybe [PerformanceInsightsStat]
statsAtAnomaly) (\s :: PerformanceInsightsMetricsDetail
s@PerformanceInsightsMetricsDetail' {} Maybe [PerformanceInsightsStat]
a -> PerformanceInsightsMetricsDetail
s {$sel:statsAtAnomaly:PerformanceInsightsMetricsDetail' :: Maybe [PerformanceInsightsStat]
statsAtAnomaly = Maybe [PerformanceInsightsStat]
a} :: PerformanceInsightsMetricsDetail) 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
performanceInsightsMetricsDetail_statsAtBaseline :: Lens.Lens' PerformanceInsightsMetricsDetail (Prelude.Maybe [PerformanceInsightsStat])
performanceInsightsMetricsDetail_statsAtBaseline :: Lens'
PerformanceInsightsMetricsDetail (Maybe [PerformanceInsightsStat])
performanceInsightsMetricsDetail_statsAtBaseline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PerformanceInsightsMetricsDetail' {Maybe [PerformanceInsightsStat]
statsAtBaseline :: Maybe [PerformanceInsightsStat]
$sel:statsAtBaseline:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
statsAtBaseline} -> Maybe [PerformanceInsightsStat]
statsAtBaseline) (\s :: PerformanceInsightsMetricsDetail
s@PerformanceInsightsMetricsDetail' {} Maybe [PerformanceInsightsStat]
a -> PerformanceInsightsMetricsDetail
s {$sel:statsAtBaseline:PerformanceInsightsMetricsDetail' :: Maybe [PerformanceInsightsStat]
statsAtBaseline = Maybe [PerformanceInsightsStat]
a} :: PerformanceInsightsMetricsDetail) 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
performanceInsightsMetricsDetail_unit :: Lens.Lens' PerformanceInsightsMetricsDetail (Prelude.Maybe Prelude.Text)
performanceInsightsMetricsDetail_unit :: Lens' PerformanceInsightsMetricsDetail (Maybe Text)
performanceInsightsMetricsDetail_unit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PerformanceInsightsMetricsDetail' {Maybe Text
unit :: Maybe Text
$sel:unit:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe Text
unit} -> Maybe Text
unit) (\s :: PerformanceInsightsMetricsDetail
s@PerformanceInsightsMetricsDetail' {} Maybe Text
a -> PerformanceInsightsMetricsDetail
s {$sel:unit:PerformanceInsightsMetricsDetail' :: Maybe Text
unit = Maybe Text
a} :: PerformanceInsightsMetricsDetail)
instance
Data.FromJSON
PerformanceInsightsMetricsDetail
where
parseJSON :: Value -> Parser PerformanceInsightsMetricsDetail
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"PerformanceInsightsMetricsDetail"
( \Object
x ->
Maybe Text
-> Maybe PerformanceInsightsMetricQuery
-> Maybe [PerformanceInsightsReferenceData]
-> Maybe [PerformanceInsightsStat]
-> Maybe [PerformanceInsightsStat]
-> Maybe Text
-> PerformanceInsightsMetricsDetail
PerformanceInsightsMetricsDetail'
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
"MetricDisplayName")
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
"MetricQuery")
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
"ReferenceData" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
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
"StatsAtAnomaly" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
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
"StatsAtBaseline"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
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
"Unit")
)
instance
Prelude.Hashable
PerformanceInsightsMetricsDetail
where
hashWithSalt :: Int -> PerformanceInsightsMetricsDetail -> Int
hashWithSalt
Int
_salt
PerformanceInsightsMetricsDetail' {Maybe [PerformanceInsightsReferenceData]
Maybe [PerformanceInsightsStat]
Maybe Text
Maybe PerformanceInsightsMetricQuery
unit :: Maybe Text
statsAtBaseline :: Maybe [PerformanceInsightsStat]
statsAtAnomaly :: Maybe [PerformanceInsightsStat]
referenceData :: Maybe [PerformanceInsightsReferenceData]
metricQuery :: Maybe PerformanceInsightsMetricQuery
metricDisplayName :: Maybe Text
$sel:unit:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe Text
$sel:statsAtBaseline:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
$sel:statsAtAnomaly:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
$sel:referenceData:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail
-> Maybe [PerformanceInsightsReferenceData]
$sel:metricQuery:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail
-> Maybe PerformanceInsightsMetricQuery
$sel:metricDisplayName:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
metricDisplayName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PerformanceInsightsMetricQuery
metricQuery
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PerformanceInsightsReferenceData]
referenceData
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PerformanceInsightsStat]
statsAtAnomaly
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PerformanceInsightsStat]
statsAtBaseline
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
unit
instance
Prelude.NFData
PerformanceInsightsMetricsDetail
where
rnf :: PerformanceInsightsMetricsDetail -> ()
rnf PerformanceInsightsMetricsDetail' {Maybe [PerformanceInsightsReferenceData]
Maybe [PerformanceInsightsStat]
Maybe Text
Maybe PerformanceInsightsMetricQuery
unit :: Maybe Text
statsAtBaseline :: Maybe [PerformanceInsightsStat]
statsAtAnomaly :: Maybe [PerformanceInsightsStat]
referenceData :: Maybe [PerformanceInsightsReferenceData]
metricQuery :: Maybe PerformanceInsightsMetricQuery
metricDisplayName :: Maybe Text
$sel:unit:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe Text
$sel:statsAtBaseline:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
$sel:statsAtAnomaly:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe [PerformanceInsightsStat]
$sel:referenceData:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail
-> Maybe [PerformanceInsightsReferenceData]
$sel:metricQuery:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail
-> Maybe PerformanceInsightsMetricQuery
$sel:metricDisplayName:PerformanceInsightsMetricsDetail' :: PerformanceInsightsMetricsDetail -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
metricDisplayName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PerformanceInsightsMetricQuery
metricQuery
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PerformanceInsightsReferenceData]
referenceData
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PerformanceInsightsStat]
statsAtAnomaly
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PerformanceInsightsStat]
statsAtBaseline
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
unit