{-# 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.SageMaker.Types.MetricDatum 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.SageMaker.Types.AutoMLMetricEnum
import Amazonka.SageMaker.Types.AutoMLMetricExtendedEnum
import Amazonka.SageMaker.Types.MetricSetSource
data MetricDatum = MetricDatum'
{
MetricDatum -> Maybe AutoMLMetricEnum
metricName :: Prelude.Maybe AutoMLMetricEnum,
MetricDatum -> Maybe MetricSetSource
set :: Prelude.Maybe MetricSetSource,
MetricDatum -> Maybe AutoMLMetricExtendedEnum
standardMetricName :: Prelude.Maybe AutoMLMetricExtendedEnum,
MetricDatum -> Maybe Double
value :: Prelude.Maybe Prelude.Double
}
deriving (MetricDatum -> MetricDatum -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MetricDatum -> MetricDatum -> Bool
$c/= :: MetricDatum -> MetricDatum -> Bool
== :: MetricDatum -> MetricDatum -> Bool
$c== :: MetricDatum -> MetricDatum -> Bool
Prelude.Eq, ReadPrec [MetricDatum]
ReadPrec MetricDatum
Int -> ReadS MetricDatum
ReadS [MetricDatum]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MetricDatum]
$creadListPrec :: ReadPrec [MetricDatum]
readPrec :: ReadPrec MetricDatum
$creadPrec :: ReadPrec MetricDatum
readList :: ReadS [MetricDatum]
$creadList :: ReadS [MetricDatum]
readsPrec :: Int -> ReadS MetricDatum
$creadsPrec :: Int -> ReadS MetricDatum
Prelude.Read, Int -> MetricDatum -> ShowS
[MetricDatum] -> ShowS
MetricDatum -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MetricDatum] -> ShowS
$cshowList :: [MetricDatum] -> ShowS
show :: MetricDatum -> String
$cshow :: MetricDatum -> String
showsPrec :: Int -> MetricDatum -> ShowS
$cshowsPrec :: Int -> MetricDatum -> ShowS
Prelude.Show, forall x. Rep MetricDatum x -> MetricDatum
forall x. MetricDatum -> Rep MetricDatum x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MetricDatum x -> MetricDatum
$cfrom :: forall x. MetricDatum -> Rep MetricDatum x
Prelude.Generic)
newMetricDatum ::
MetricDatum
newMetricDatum :: MetricDatum
newMetricDatum =
MetricDatum'
{ $sel:metricName:MetricDatum' :: Maybe AutoMLMetricEnum
metricName = forall a. Maybe a
Prelude.Nothing,
$sel:set:MetricDatum' :: Maybe MetricSetSource
set = forall a. Maybe a
Prelude.Nothing,
$sel:standardMetricName:MetricDatum' :: Maybe AutoMLMetricExtendedEnum
standardMetricName = forall a. Maybe a
Prelude.Nothing,
$sel:value:MetricDatum' :: Maybe Double
value = forall a. Maybe a
Prelude.Nothing
}
metricDatum_metricName :: Lens.Lens' MetricDatum (Prelude.Maybe AutoMLMetricEnum)
metricDatum_metricName :: Lens' MetricDatum (Maybe AutoMLMetricEnum)
metricDatum_metricName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MetricDatum' {Maybe AutoMLMetricEnum
metricName :: Maybe AutoMLMetricEnum
$sel:metricName:MetricDatum' :: MetricDatum -> Maybe AutoMLMetricEnum
metricName} -> Maybe AutoMLMetricEnum
metricName) (\s :: MetricDatum
s@MetricDatum' {} Maybe AutoMLMetricEnum
a -> MetricDatum
s {$sel:metricName:MetricDatum' :: Maybe AutoMLMetricEnum
metricName = Maybe AutoMLMetricEnum
a} :: MetricDatum)
metricDatum_set :: Lens.Lens' MetricDatum (Prelude.Maybe MetricSetSource)
metricDatum_set :: Lens' MetricDatum (Maybe MetricSetSource)
metricDatum_set = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MetricDatum' {Maybe MetricSetSource
set :: Maybe MetricSetSource
$sel:set:MetricDatum' :: MetricDatum -> Maybe MetricSetSource
set} -> Maybe MetricSetSource
set) (\s :: MetricDatum
s@MetricDatum' {} Maybe MetricSetSource
a -> MetricDatum
s {$sel:set:MetricDatum' :: Maybe MetricSetSource
set = Maybe MetricSetSource
a} :: MetricDatum)
metricDatum_standardMetricName :: Lens.Lens' MetricDatum (Prelude.Maybe AutoMLMetricExtendedEnum)
metricDatum_standardMetricName :: Lens' MetricDatum (Maybe AutoMLMetricExtendedEnum)
metricDatum_standardMetricName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MetricDatum' {Maybe AutoMLMetricExtendedEnum
standardMetricName :: Maybe AutoMLMetricExtendedEnum
$sel:standardMetricName:MetricDatum' :: MetricDatum -> Maybe AutoMLMetricExtendedEnum
standardMetricName} -> Maybe AutoMLMetricExtendedEnum
standardMetricName) (\s :: MetricDatum
s@MetricDatum' {} Maybe AutoMLMetricExtendedEnum
a -> MetricDatum
s {$sel:standardMetricName:MetricDatum' :: Maybe AutoMLMetricExtendedEnum
standardMetricName = Maybe AutoMLMetricExtendedEnum
a} :: MetricDatum)
metricDatum_value :: Lens.Lens' MetricDatum (Prelude.Maybe Prelude.Double)
metricDatum_value :: Lens' MetricDatum (Maybe Double)
metricDatum_value = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\MetricDatum' {Maybe Double
value :: Maybe Double
$sel:value:MetricDatum' :: MetricDatum -> Maybe Double
value} -> Maybe Double
value) (\s :: MetricDatum
s@MetricDatum' {} Maybe Double
a -> MetricDatum
s {$sel:value:MetricDatum' :: Maybe Double
value = Maybe Double
a} :: MetricDatum)
instance Data.FromJSON MetricDatum where
parseJSON :: Value -> Parser MetricDatum
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"MetricDatum"
( \Object
x ->
Maybe AutoMLMetricEnum
-> Maybe MetricSetSource
-> Maybe AutoMLMetricExtendedEnum
-> Maybe Double
-> MetricDatum
MetricDatum'
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
"MetricName")
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
"Set")
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
"StandardMetricName")
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
"Value")
)
instance Prelude.Hashable MetricDatum where
hashWithSalt :: Int -> MetricDatum -> Int
hashWithSalt Int
_salt MetricDatum' {Maybe Double
Maybe AutoMLMetricEnum
Maybe AutoMLMetricExtendedEnum
Maybe MetricSetSource
value :: Maybe Double
standardMetricName :: Maybe AutoMLMetricExtendedEnum
set :: Maybe MetricSetSource
metricName :: Maybe AutoMLMetricEnum
$sel:value:MetricDatum' :: MetricDatum -> Maybe Double
$sel:standardMetricName:MetricDatum' :: MetricDatum -> Maybe AutoMLMetricExtendedEnum
$sel:set:MetricDatum' :: MetricDatum -> Maybe MetricSetSource
$sel:metricName:MetricDatum' :: MetricDatum -> Maybe AutoMLMetricEnum
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AutoMLMetricEnum
metricName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MetricSetSource
set
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AutoMLMetricExtendedEnum
standardMetricName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Double
value
instance Prelude.NFData MetricDatum where
rnf :: MetricDatum -> ()
rnf MetricDatum' {Maybe Double
Maybe AutoMLMetricEnum
Maybe AutoMLMetricExtendedEnum
Maybe MetricSetSource
value :: Maybe Double
standardMetricName :: Maybe AutoMLMetricExtendedEnum
set :: Maybe MetricSetSource
metricName :: Maybe AutoMLMetricEnum
$sel:value:MetricDatum' :: MetricDatum -> Maybe Double
$sel:standardMetricName:MetricDatum' :: MetricDatum -> Maybe AutoMLMetricExtendedEnum
$sel:set:MetricDatum' :: MetricDatum -> Maybe MetricSetSource
$sel:metricName:MetricDatum' :: MetricDatum -> Maybe AutoMLMetricEnum
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AutoMLMetricEnum
metricName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MetricSetSource
set
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AutoMLMetricExtendedEnum
standardMetricName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
value