{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.SageMaker.Types.TrialComponentSummary
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SageMaker.Types.TrialComponentSummary 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.TrialComponentSource
import Amazonka.SageMaker.Types.TrialComponentStatus
import Amazonka.SageMaker.Types.UserContext

-- | A summary of the properties of a trial component. To get all the
-- properties, call the DescribeTrialComponent API and provide the
-- @TrialComponentName@.
--
-- /See:/ 'newTrialComponentSummary' smart constructor.
data TrialComponentSummary = TrialComponentSummary'
  { -- | Who created the trial component.
    TrialComponentSummary -> Maybe UserContext
createdBy :: Prelude.Maybe UserContext,
    -- | When the component was created.
    TrialComponentSummary -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | The name of the component as displayed. If @DisplayName@ isn\'t
    -- specified, @TrialComponentName@ is displayed.
    TrialComponentSummary -> Maybe Text
displayName :: Prelude.Maybe Prelude.Text,
    -- | When the component ended.
    TrialComponentSummary -> Maybe POSIX
endTime :: Prelude.Maybe Data.POSIX,
    -- | Who last modified the component.
    TrialComponentSummary -> Maybe UserContext
lastModifiedBy :: Prelude.Maybe UserContext,
    -- | When the component was last modified.
    TrialComponentSummary -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | When the component started.
    TrialComponentSummary -> Maybe POSIX
startTime :: Prelude.Maybe Data.POSIX,
    -- | The status of the component. States include:
    --
    -- -   InProgress
    --
    -- -   Completed
    --
    -- -   Failed
    TrialComponentSummary -> Maybe TrialComponentStatus
status :: Prelude.Maybe TrialComponentStatus,
    -- | The Amazon Resource Name (ARN) of the trial component.
    TrialComponentSummary -> Maybe Text
trialComponentArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the trial component.
    TrialComponentSummary -> Maybe Text
trialComponentName :: Prelude.Maybe Prelude.Text,
    TrialComponentSummary -> Maybe TrialComponentSource
trialComponentSource :: Prelude.Maybe TrialComponentSource
  }
  deriving (TrialComponentSummary -> TrialComponentSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TrialComponentSummary -> TrialComponentSummary -> Bool
$c/= :: TrialComponentSummary -> TrialComponentSummary -> Bool
== :: TrialComponentSummary -> TrialComponentSummary -> Bool
$c== :: TrialComponentSummary -> TrialComponentSummary -> Bool
Prelude.Eq, ReadPrec [TrialComponentSummary]
ReadPrec TrialComponentSummary
Int -> ReadS TrialComponentSummary
ReadS [TrialComponentSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TrialComponentSummary]
$creadListPrec :: ReadPrec [TrialComponentSummary]
readPrec :: ReadPrec TrialComponentSummary
$creadPrec :: ReadPrec TrialComponentSummary
readList :: ReadS [TrialComponentSummary]
$creadList :: ReadS [TrialComponentSummary]
readsPrec :: Int -> ReadS TrialComponentSummary
$creadsPrec :: Int -> ReadS TrialComponentSummary
Prelude.Read, Int -> TrialComponentSummary -> ShowS
[TrialComponentSummary] -> ShowS
TrialComponentSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TrialComponentSummary] -> ShowS
$cshowList :: [TrialComponentSummary] -> ShowS
show :: TrialComponentSummary -> String
$cshow :: TrialComponentSummary -> String
showsPrec :: Int -> TrialComponentSummary -> ShowS
$cshowsPrec :: Int -> TrialComponentSummary -> ShowS
Prelude.Show, forall x. Rep TrialComponentSummary x -> TrialComponentSummary
forall x. TrialComponentSummary -> Rep TrialComponentSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TrialComponentSummary x -> TrialComponentSummary
$cfrom :: forall x. TrialComponentSummary -> Rep TrialComponentSummary x
Prelude.Generic)

-- |
-- Create a value of 'TrialComponentSummary' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'createdBy', 'trialComponentSummary_createdBy' - Who created the trial component.
--
-- 'creationTime', 'trialComponentSummary_creationTime' - When the component was created.
--
-- 'displayName', 'trialComponentSummary_displayName' - The name of the component as displayed. If @DisplayName@ isn\'t
-- specified, @TrialComponentName@ is displayed.
--
-- 'endTime', 'trialComponentSummary_endTime' - When the component ended.
--
-- 'lastModifiedBy', 'trialComponentSummary_lastModifiedBy' - Who last modified the component.
--
-- 'lastModifiedTime', 'trialComponentSummary_lastModifiedTime' - When the component was last modified.
--
-- 'startTime', 'trialComponentSummary_startTime' - When the component started.
--
-- 'status', 'trialComponentSummary_status' - The status of the component. States include:
--
-- -   InProgress
--
-- -   Completed
--
-- -   Failed
--
-- 'trialComponentArn', 'trialComponentSummary_trialComponentArn' - The Amazon Resource Name (ARN) of the trial component.
--
-- 'trialComponentName', 'trialComponentSummary_trialComponentName' - The name of the trial component.
--
-- 'trialComponentSource', 'trialComponentSummary_trialComponentSource' - Undocumented member.
newTrialComponentSummary ::
  TrialComponentSummary
newTrialComponentSummary :: TrialComponentSummary
newTrialComponentSummary =
  TrialComponentSummary'
    { $sel:createdBy:TrialComponentSummary' :: Maybe UserContext
createdBy = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:TrialComponentSummary' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:displayName:TrialComponentSummary' :: Maybe Text
displayName = forall a. Maybe a
Prelude.Nothing,
      $sel:endTime:TrialComponentSummary' :: Maybe POSIX
endTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:TrialComponentSummary' :: Maybe UserContext
lastModifiedBy = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:TrialComponentSummary' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:startTime:TrialComponentSummary' :: Maybe POSIX
startTime = forall a. Maybe a
Prelude.Nothing,
      $sel:status:TrialComponentSummary' :: Maybe TrialComponentStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:trialComponentArn:TrialComponentSummary' :: Maybe Text
trialComponentArn = forall a. Maybe a
Prelude.Nothing,
      $sel:trialComponentName:TrialComponentSummary' :: Maybe Text
trialComponentName = forall a. Maybe a
Prelude.Nothing,
      $sel:trialComponentSource:TrialComponentSummary' :: Maybe TrialComponentSource
trialComponentSource = forall a. Maybe a
Prelude.Nothing
    }

-- | Who created the trial component.
trialComponentSummary_createdBy :: Lens.Lens' TrialComponentSummary (Prelude.Maybe UserContext)
trialComponentSummary_createdBy :: Lens' TrialComponentSummary (Maybe UserContext)
trialComponentSummary_createdBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe UserContext
createdBy :: Maybe UserContext
$sel:createdBy:TrialComponentSummary' :: TrialComponentSummary -> Maybe UserContext
createdBy} -> Maybe UserContext
createdBy) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe UserContext
a -> TrialComponentSummary
s {$sel:createdBy:TrialComponentSummary' :: Maybe UserContext
createdBy = Maybe UserContext
a} :: TrialComponentSummary)

-- | When the component was created.
trialComponentSummary_creationTime :: Lens.Lens' TrialComponentSummary (Prelude.Maybe Prelude.UTCTime)
trialComponentSummary_creationTime :: Lens' TrialComponentSummary (Maybe UTCTime)
trialComponentSummary_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe POSIX
a -> TrialComponentSummary
s {$sel:creationTime:TrialComponentSummary' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: TrialComponentSummary) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The name of the component as displayed. If @DisplayName@ isn\'t
-- specified, @TrialComponentName@ is displayed.
trialComponentSummary_displayName :: Lens.Lens' TrialComponentSummary (Prelude.Maybe Prelude.Text)
trialComponentSummary_displayName :: Lens' TrialComponentSummary (Maybe Text)
trialComponentSummary_displayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe Text
displayName :: Maybe Text
$sel:displayName:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
displayName} -> Maybe Text
displayName) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe Text
a -> TrialComponentSummary
s {$sel:displayName:TrialComponentSummary' :: Maybe Text
displayName = Maybe Text
a} :: TrialComponentSummary)

-- | When the component ended.
trialComponentSummary_endTime :: Lens.Lens' TrialComponentSummary (Prelude.Maybe Prelude.UTCTime)
trialComponentSummary_endTime :: Lens' TrialComponentSummary (Maybe UTCTime)
trialComponentSummary_endTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe POSIX
a -> TrialComponentSummary
s {$sel:endTime:TrialComponentSummary' :: Maybe POSIX
endTime = Maybe POSIX
a} :: TrialComponentSummary) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Who last modified the component.
trialComponentSummary_lastModifiedBy :: Lens.Lens' TrialComponentSummary (Prelude.Maybe UserContext)
trialComponentSummary_lastModifiedBy :: Lens' TrialComponentSummary (Maybe UserContext)
trialComponentSummary_lastModifiedBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe UserContext
lastModifiedBy :: Maybe UserContext
$sel:lastModifiedBy:TrialComponentSummary' :: TrialComponentSummary -> Maybe UserContext
lastModifiedBy} -> Maybe UserContext
lastModifiedBy) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe UserContext
a -> TrialComponentSummary
s {$sel:lastModifiedBy:TrialComponentSummary' :: Maybe UserContext
lastModifiedBy = Maybe UserContext
a} :: TrialComponentSummary)

-- | When the component was last modified.
trialComponentSummary_lastModifiedTime :: Lens.Lens' TrialComponentSummary (Prelude.Maybe Prelude.UTCTime)
trialComponentSummary_lastModifiedTime :: Lens' TrialComponentSummary (Maybe UTCTime)
trialComponentSummary_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe POSIX
a -> TrialComponentSummary
s {$sel:lastModifiedTime:TrialComponentSummary' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: TrialComponentSummary) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | When the component started.
trialComponentSummary_startTime :: Lens.Lens' TrialComponentSummary (Prelude.Maybe Prelude.UTCTime)
trialComponentSummary_startTime :: Lens' TrialComponentSummary (Maybe UTCTime)
trialComponentSummary_startTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe POSIX
a -> TrialComponentSummary
s {$sel:startTime:TrialComponentSummary' :: Maybe POSIX
startTime = Maybe POSIX
a} :: TrialComponentSummary) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The status of the component. States include:
--
-- -   InProgress
--
-- -   Completed
--
-- -   Failed
trialComponentSummary_status :: Lens.Lens' TrialComponentSummary (Prelude.Maybe TrialComponentStatus)
trialComponentSummary_status :: Lens' TrialComponentSummary (Maybe TrialComponentStatus)
trialComponentSummary_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe TrialComponentStatus
status :: Maybe TrialComponentStatus
$sel:status:TrialComponentSummary' :: TrialComponentSummary -> Maybe TrialComponentStatus
status} -> Maybe TrialComponentStatus
status) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe TrialComponentStatus
a -> TrialComponentSummary
s {$sel:status:TrialComponentSummary' :: Maybe TrialComponentStatus
status = Maybe TrialComponentStatus
a} :: TrialComponentSummary)

-- | The Amazon Resource Name (ARN) of the trial component.
trialComponentSummary_trialComponentArn :: Lens.Lens' TrialComponentSummary (Prelude.Maybe Prelude.Text)
trialComponentSummary_trialComponentArn :: Lens' TrialComponentSummary (Maybe Text)
trialComponentSummary_trialComponentArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe Text
trialComponentArn :: Maybe Text
$sel:trialComponentArn:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
trialComponentArn} -> Maybe Text
trialComponentArn) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe Text
a -> TrialComponentSummary
s {$sel:trialComponentArn:TrialComponentSummary' :: Maybe Text
trialComponentArn = Maybe Text
a} :: TrialComponentSummary)

-- | The name of the trial component.
trialComponentSummary_trialComponentName :: Lens.Lens' TrialComponentSummary (Prelude.Maybe Prelude.Text)
trialComponentSummary_trialComponentName :: Lens' TrialComponentSummary (Maybe Text)
trialComponentSummary_trialComponentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe Text
trialComponentName :: Maybe Text
$sel:trialComponentName:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
trialComponentName} -> Maybe Text
trialComponentName) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe Text
a -> TrialComponentSummary
s {$sel:trialComponentName:TrialComponentSummary' :: Maybe Text
trialComponentName = Maybe Text
a} :: TrialComponentSummary)

-- | Undocumented member.
trialComponentSummary_trialComponentSource :: Lens.Lens' TrialComponentSummary (Prelude.Maybe TrialComponentSource)
trialComponentSummary_trialComponentSource :: Lens' TrialComponentSummary (Maybe TrialComponentSource)
trialComponentSummary_trialComponentSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TrialComponentSummary' {Maybe TrialComponentSource
trialComponentSource :: Maybe TrialComponentSource
$sel:trialComponentSource:TrialComponentSummary' :: TrialComponentSummary -> Maybe TrialComponentSource
trialComponentSource} -> Maybe TrialComponentSource
trialComponentSource) (\s :: TrialComponentSummary
s@TrialComponentSummary' {} Maybe TrialComponentSource
a -> TrialComponentSummary
s {$sel:trialComponentSource:TrialComponentSummary' :: Maybe TrialComponentSource
trialComponentSource = Maybe TrialComponentSource
a} :: TrialComponentSummary)

instance Data.FromJSON TrialComponentSummary where
  parseJSON :: Value -> Parser TrialComponentSummary
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"TrialComponentSummary"
      ( \Object
x ->
          Maybe UserContext
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe UserContext
-> Maybe POSIX
-> Maybe POSIX
-> Maybe TrialComponentStatus
-> Maybe Text
-> Maybe Text
-> Maybe TrialComponentSource
-> TrialComponentSummary
TrialComponentSummary'
            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
"CreatedBy")
            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
"CreationTime")
            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
"DisplayName")
            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
"EndTime")
            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
"LastModifiedBy")
            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
"LastModifiedTime")
            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
"StartTime")
            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
"Status")
            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
"TrialComponentArn")
            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
"TrialComponentName")
            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
"TrialComponentSource")
      )

instance Prelude.Hashable TrialComponentSummary where
  hashWithSalt :: Int -> TrialComponentSummary -> Int
hashWithSalt Int
_salt TrialComponentSummary' {Maybe Text
Maybe POSIX
Maybe TrialComponentSource
Maybe TrialComponentStatus
Maybe UserContext
trialComponentSource :: Maybe TrialComponentSource
trialComponentName :: Maybe Text
trialComponentArn :: Maybe Text
status :: Maybe TrialComponentStatus
startTime :: Maybe POSIX
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
endTime :: Maybe POSIX
displayName :: Maybe Text
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:trialComponentSource:TrialComponentSummary' :: TrialComponentSummary -> Maybe TrialComponentSource
$sel:trialComponentName:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
$sel:trialComponentArn:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
$sel:status:TrialComponentSummary' :: TrialComponentSummary -> Maybe TrialComponentStatus
$sel:startTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:lastModifiedTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:lastModifiedBy:TrialComponentSummary' :: TrialComponentSummary -> Maybe UserContext
$sel:endTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:displayName:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
$sel:creationTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:createdBy:TrialComponentSummary' :: TrialComponentSummary -> Maybe UserContext
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserContext
createdBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
creationTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
displayName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
endTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserContext
lastModifiedBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastModifiedTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
startTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrialComponentStatus
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
trialComponentArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
trialComponentName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrialComponentSource
trialComponentSource

instance Prelude.NFData TrialComponentSummary where
  rnf :: TrialComponentSummary -> ()
rnf TrialComponentSummary' {Maybe Text
Maybe POSIX
Maybe TrialComponentSource
Maybe TrialComponentStatus
Maybe UserContext
trialComponentSource :: Maybe TrialComponentSource
trialComponentName :: Maybe Text
trialComponentArn :: Maybe Text
status :: Maybe TrialComponentStatus
startTime :: Maybe POSIX
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
endTime :: Maybe POSIX
displayName :: Maybe Text
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:trialComponentSource:TrialComponentSummary' :: TrialComponentSummary -> Maybe TrialComponentSource
$sel:trialComponentName:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
$sel:trialComponentArn:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
$sel:status:TrialComponentSummary' :: TrialComponentSummary -> Maybe TrialComponentStatus
$sel:startTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:lastModifiedTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:lastModifiedBy:TrialComponentSummary' :: TrialComponentSummary -> Maybe UserContext
$sel:endTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:displayName:TrialComponentSummary' :: TrialComponentSummary -> Maybe Text
$sel:creationTime:TrialComponentSummary' :: TrialComponentSummary -> Maybe POSIX
$sel:createdBy:TrialComponentSummary' :: TrialComponentSummary -> Maybe UserContext
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe UserContext
createdBy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
displayName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
endTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UserContext
lastModifiedBy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
startTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrialComponentStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
trialComponentArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
trialComponentName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrialComponentSource
trialComponentSource