{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# 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.DescribeTrial
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Provides a list of a trial\'s properties.
module Amazonka.SageMaker.DescribeTrial
  ( -- * Creating a Request
    DescribeTrial (..),
    newDescribeTrial,

    -- * Request Lenses
    describeTrial_trialName,

    -- * Destructuring the Response
    DescribeTrialResponse (..),
    newDescribeTrialResponse,

    -- * Response Lenses
    describeTrialResponse_createdBy,
    describeTrialResponse_creationTime,
    describeTrialResponse_displayName,
    describeTrialResponse_experimentName,
    describeTrialResponse_lastModifiedBy,
    describeTrialResponse_lastModifiedTime,
    describeTrialResponse_metadataProperties,
    describeTrialResponse_source,
    describeTrialResponse_trialArn,
    describeTrialResponse_trialName,
    describeTrialResponse_httpStatus,
  )
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SageMaker.Types

-- | /See:/ 'newDescribeTrial' smart constructor.
data DescribeTrial = DescribeTrial'
  { -- | The name of the trial to describe.
    DescribeTrial -> Text
trialName :: Prelude.Text
  }
  deriving (DescribeTrial -> DescribeTrial -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTrial -> DescribeTrial -> Bool
$c/= :: DescribeTrial -> DescribeTrial -> Bool
== :: DescribeTrial -> DescribeTrial -> Bool
$c== :: DescribeTrial -> DescribeTrial -> Bool
Prelude.Eq, ReadPrec [DescribeTrial]
ReadPrec DescribeTrial
Int -> ReadS DescribeTrial
ReadS [DescribeTrial]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTrial]
$creadListPrec :: ReadPrec [DescribeTrial]
readPrec :: ReadPrec DescribeTrial
$creadPrec :: ReadPrec DescribeTrial
readList :: ReadS [DescribeTrial]
$creadList :: ReadS [DescribeTrial]
readsPrec :: Int -> ReadS DescribeTrial
$creadsPrec :: Int -> ReadS DescribeTrial
Prelude.Read, Int -> DescribeTrial -> ShowS
[DescribeTrial] -> ShowS
DescribeTrial -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTrial] -> ShowS
$cshowList :: [DescribeTrial] -> ShowS
show :: DescribeTrial -> String
$cshow :: DescribeTrial -> String
showsPrec :: Int -> DescribeTrial -> ShowS
$cshowsPrec :: Int -> DescribeTrial -> ShowS
Prelude.Show, forall x. Rep DescribeTrial x -> DescribeTrial
forall x. DescribeTrial -> Rep DescribeTrial x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeTrial x -> DescribeTrial
$cfrom :: forall x. DescribeTrial -> Rep DescribeTrial x
Prelude.Generic)

-- |
-- Create a value of 'DescribeTrial' 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:
--
-- 'trialName', 'describeTrial_trialName' - The name of the trial to describe.
newDescribeTrial ::
  -- | 'trialName'
  Prelude.Text ->
  DescribeTrial
newDescribeTrial :: Text -> DescribeTrial
newDescribeTrial Text
pTrialName_ =
  DescribeTrial' {$sel:trialName:DescribeTrial' :: Text
trialName = Text
pTrialName_}

-- | The name of the trial to describe.
describeTrial_trialName :: Lens.Lens' DescribeTrial Prelude.Text
describeTrial_trialName :: Lens' DescribeTrial Text
describeTrial_trialName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrial' {Text
trialName :: Text
$sel:trialName:DescribeTrial' :: DescribeTrial -> Text
trialName} -> Text
trialName) (\s :: DescribeTrial
s@DescribeTrial' {} Text
a -> DescribeTrial
s {$sel:trialName:DescribeTrial' :: Text
trialName = Text
a} :: DescribeTrial)

instance Core.AWSRequest DescribeTrial where
  type
    AWSResponse DescribeTrial =
      DescribeTrialResponse
  request :: (Service -> Service) -> DescribeTrial -> Request DescribeTrial
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeTrial
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeTrial)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe UserContext
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe UserContext
-> Maybe POSIX
-> Maybe MetadataProperties
-> Maybe TrialSource
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeTrialResponse
DescribeTrialResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"ExperimentName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"MetadataProperties")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Source")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"TrialArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"TrialName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeTrial where
  hashWithSalt :: Int -> DescribeTrial -> Int
hashWithSalt Int
_salt DescribeTrial' {Text
trialName :: Text
$sel:trialName:DescribeTrial' :: DescribeTrial -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
trialName

instance Prelude.NFData DescribeTrial where
  rnf :: DescribeTrial -> ()
rnf DescribeTrial' {Text
trialName :: Text
$sel:trialName:DescribeTrial' :: DescribeTrial -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
trialName

instance Data.ToHeaders DescribeTrial where
  toHeaders :: DescribeTrial -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"SageMaker.DescribeTrial" :: Prelude.ByteString),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribeTrial where
  toJSON :: DescribeTrial -> Value
toJSON DescribeTrial' {Text
trialName :: Text
$sel:trialName:DescribeTrial' :: DescribeTrial -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"TrialName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
trialName)]
      )

instance Data.ToPath DescribeTrial where
  toPath :: DescribeTrial -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribeTrial where
  toQuery :: DescribeTrial -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeTrialResponse' smart constructor.
data DescribeTrialResponse = DescribeTrialResponse'
  { -- | Who created the trial.
    DescribeTrialResponse -> Maybe UserContext
createdBy :: Prelude.Maybe UserContext,
    -- | When the trial was created.
    DescribeTrialResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | The name of the trial as displayed. If @DisplayName@ isn\'t specified,
    -- @TrialName@ is displayed.
    DescribeTrialResponse -> Maybe Text
displayName :: Prelude.Maybe Prelude.Text,
    -- | The name of the experiment the trial is part of.
    DescribeTrialResponse -> Maybe Text
experimentName :: Prelude.Maybe Prelude.Text,
    -- | Who last modified the trial.
    DescribeTrialResponse -> Maybe UserContext
lastModifiedBy :: Prelude.Maybe UserContext,
    -- | When the trial was last modified.
    DescribeTrialResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    DescribeTrialResponse -> Maybe MetadataProperties
metadataProperties :: Prelude.Maybe MetadataProperties,
    -- | The Amazon Resource Name (ARN) of the source and, optionally, the job
    -- type.
    DescribeTrialResponse -> Maybe TrialSource
source :: Prelude.Maybe TrialSource,
    -- | The Amazon Resource Name (ARN) of the trial.
    DescribeTrialResponse -> Maybe Text
trialArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the trial.
    DescribeTrialResponse -> Maybe Text
trialName :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeTrialResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeTrialResponse -> DescribeTrialResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTrialResponse -> DescribeTrialResponse -> Bool
$c/= :: DescribeTrialResponse -> DescribeTrialResponse -> Bool
== :: DescribeTrialResponse -> DescribeTrialResponse -> Bool
$c== :: DescribeTrialResponse -> DescribeTrialResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTrialResponse]
ReadPrec DescribeTrialResponse
Int -> ReadS DescribeTrialResponse
ReadS [DescribeTrialResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTrialResponse]
$creadListPrec :: ReadPrec [DescribeTrialResponse]
readPrec :: ReadPrec DescribeTrialResponse
$creadPrec :: ReadPrec DescribeTrialResponse
readList :: ReadS [DescribeTrialResponse]
$creadList :: ReadS [DescribeTrialResponse]
readsPrec :: Int -> ReadS DescribeTrialResponse
$creadsPrec :: Int -> ReadS DescribeTrialResponse
Prelude.Read, Int -> DescribeTrialResponse -> ShowS
[DescribeTrialResponse] -> ShowS
DescribeTrialResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTrialResponse] -> ShowS
$cshowList :: [DescribeTrialResponse] -> ShowS
show :: DescribeTrialResponse -> String
$cshow :: DescribeTrialResponse -> String
showsPrec :: Int -> DescribeTrialResponse -> ShowS
$cshowsPrec :: Int -> DescribeTrialResponse -> ShowS
Prelude.Show, forall x. Rep DescribeTrialResponse x -> DescribeTrialResponse
forall x. DescribeTrialResponse -> Rep DescribeTrialResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeTrialResponse x -> DescribeTrialResponse
$cfrom :: forall x. DescribeTrialResponse -> Rep DescribeTrialResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeTrialResponse' 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', 'describeTrialResponse_createdBy' - Who created the trial.
--
-- 'creationTime', 'describeTrialResponse_creationTime' - When the trial was created.
--
-- 'displayName', 'describeTrialResponse_displayName' - The name of the trial as displayed. If @DisplayName@ isn\'t specified,
-- @TrialName@ is displayed.
--
-- 'experimentName', 'describeTrialResponse_experimentName' - The name of the experiment the trial is part of.
--
-- 'lastModifiedBy', 'describeTrialResponse_lastModifiedBy' - Who last modified the trial.
--
-- 'lastModifiedTime', 'describeTrialResponse_lastModifiedTime' - When the trial was last modified.
--
-- 'metadataProperties', 'describeTrialResponse_metadataProperties' - Undocumented member.
--
-- 'source', 'describeTrialResponse_source' - The Amazon Resource Name (ARN) of the source and, optionally, the job
-- type.
--
-- 'trialArn', 'describeTrialResponse_trialArn' - The Amazon Resource Name (ARN) of the trial.
--
-- 'trialName', 'describeTrialResponse_trialName' - The name of the trial.
--
-- 'httpStatus', 'describeTrialResponse_httpStatus' - The response's http status code.
newDescribeTrialResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeTrialResponse
newDescribeTrialResponse :: Int -> DescribeTrialResponse
newDescribeTrialResponse Int
pHttpStatus_ =
  DescribeTrialResponse'
    { $sel:createdBy:DescribeTrialResponse' :: Maybe UserContext
createdBy = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:DescribeTrialResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:displayName:DescribeTrialResponse' :: Maybe Text
displayName = forall a. Maybe a
Prelude.Nothing,
      $sel:experimentName:DescribeTrialResponse' :: Maybe Text
experimentName = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:DescribeTrialResponse' :: Maybe UserContext
lastModifiedBy = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribeTrialResponse' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:metadataProperties:DescribeTrialResponse' :: Maybe MetadataProperties
metadataProperties = forall a. Maybe a
Prelude.Nothing,
      $sel:source:DescribeTrialResponse' :: Maybe TrialSource
source = forall a. Maybe a
Prelude.Nothing,
      $sel:trialArn:DescribeTrialResponse' :: Maybe Text
trialArn = forall a. Maybe a
Prelude.Nothing,
      $sel:trialName:DescribeTrialResponse' :: Maybe Text
trialName = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeTrialResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

-- | When the trial was created.
describeTrialResponse_creationTime :: Lens.Lens' DescribeTrialResponse (Prelude.Maybe Prelude.UTCTime)
describeTrialResponse_creationTime :: Lens' DescribeTrialResponse (Maybe UTCTime)
describeTrialResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribeTrialResponse
s@DescribeTrialResponse' {} Maybe POSIX
a -> DescribeTrialResponse
s {$sel:creationTime:DescribeTrialResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribeTrialResponse) 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 trial as displayed. If @DisplayName@ isn\'t specified,
-- @TrialName@ is displayed.
describeTrialResponse_displayName :: Lens.Lens' DescribeTrialResponse (Prelude.Maybe Prelude.Text)
describeTrialResponse_displayName :: Lens' DescribeTrialResponse (Maybe Text)
describeTrialResponse_displayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialResponse' {Maybe Text
displayName :: Maybe Text
$sel:displayName:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe Text
displayName} -> Maybe Text
displayName) (\s :: DescribeTrialResponse
s@DescribeTrialResponse' {} Maybe Text
a -> DescribeTrialResponse
s {$sel:displayName:DescribeTrialResponse' :: Maybe Text
displayName = Maybe Text
a} :: DescribeTrialResponse)

-- | The name of the experiment the trial is part of.
describeTrialResponse_experimentName :: Lens.Lens' DescribeTrialResponse (Prelude.Maybe Prelude.Text)
describeTrialResponse_experimentName :: Lens' DescribeTrialResponse (Maybe Text)
describeTrialResponse_experimentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialResponse' {Maybe Text
experimentName :: Maybe Text
$sel:experimentName:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe Text
experimentName} -> Maybe Text
experimentName) (\s :: DescribeTrialResponse
s@DescribeTrialResponse' {} Maybe Text
a -> DescribeTrialResponse
s {$sel:experimentName:DescribeTrialResponse' :: Maybe Text
experimentName = Maybe Text
a} :: DescribeTrialResponse)

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

-- | When the trial was last modified.
describeTrialResponse_lastModifiedTime :: Lens.Lens' DescribeTrialResponse (Prelude.Maybe Prelude.UTCTime)
describeTrialResponse_lastModifiedTime :: Lens' DescribeTrialResponse (Maybe UTCTime)
describeTrialResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeTrialResponse
s@DescribeTrialResponse' {} Maybe POSIX
a -> DescribeTrialResponse
s {$sel:lastModifiedTime:DescribeTrialResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeTrialResponse) 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

-- | Undocumented member.
describeTrialResponse_metadataProperties :: Lens.Lens' DescribeTrialResponse (Prelude.Maybe MetadataProperties)
describeTrialResponse_metadataProperties :: Lens' DescribeTrialResponse (Maybe MetadataProperties)
describeTrialResponse_metadataProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialResponse' {Maybe MetadataProperties
metadataProperties :: Maybe MetadataProperties
$sel:metadataProperties:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe MetadataProperties
metadataProperties} -> Maybe MetadataProperties
metadataProperties) (\s :: DescribeTrialResponse
s@DescribeTrialResponse' {} Maybe MetadataProperties
a -> DescribeTrialResponse
s {$sel:metadataProperties:DescribeTrialResponse' :: Maybe MetadataProperties
metadataProperties = Maybe MetadataProperties
a} :: DescribeTrialResponse)

-- | The Amazon Resource Name (ARN) of the source and, optionally, the job
-- type.
describeTrialResponse_source :: Lens.Lens' DescribeTrialResponse (Prelude.Maybe TrialSource)
describeTrialResponse_source :: Lens' DescribeTrialResponse (Maybe TrialSource)
describeTrialResponse_source = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialResponse' {Maybe TrialSource
source :: Maybe TrialSource
$sel:source:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe TrialSource
source} -> Maybe TrialSource
source) (\s :: DescribeTrialResponse
s@DescribeTrialResponse' {} Maybe TrialSource
a -> DescribeTrialResponse
s {$sel:source:DescribeTrialResponse' :: Maybe TrialSource
source = Maybe TrialSource
a} :: DescribeTrialResponse)

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

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

-- | The response's http status code.
describeTrialResponse_httpStatus :: Lens.Lens' DescribeTrialResponse Prelude.Int
describeTrialResponse_httpStatus :: Lens' DescribeTrialResponse Int
describeTrialResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTrialResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeTrialResponse' :: DescribeTrialResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeTrialResponse
s@DescribeTrialResponse' {} Int
a -> DescribeTrialResponse
s {$sel:httpStatus:DescribeTrialResponse' :: Int
httpStatus = Int
a} :: DescribeTrialResponse)

instance Prelude.NFData DescribeTrialResponse where
  rnf :: DescribeTrialResponse -> ()
rnf DescribeTrialResponse' {Int
Maybe Text
Maybe POSIX
Maybe MetadataProperties
Maybe TrialSource
Maybe UserContext
httpStatus :: Int
trialName :: Maybe Text
trialArn :: Maybe Text
source :: Maybe TrialSource
metadataProperties :: Maybe MetadataProperties
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
experimentName :: Maybe Text
displayName :: Maybe Text
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:httpStatus:DescribeTrialResponse' :: DescribeTrialResponse -> Int
$sel:trialName:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe Text
$sel:trialArn:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe Text
$sel:source:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe TrialSource
$sel:metadataProperties:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe MetadataProperties
$sel:lastModifiedTime:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe POSIX
$sel:lastModifiedBy:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe UserContext
$sel:experimentName:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe Text
$sel:displayName:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe Text
$sel:creationTime:DescribeTrialResponse' :: DescribeTrialResponse -> Maybe POSIX
$sel:createdBy:DescribeTrialResponse' :: DescribeTrialResponse -> 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 Text
experimentName
      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 MetadataProperties
metadataProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrialSource
source
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
trialArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
trialName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus